OA工作流开发使用说明
OA工作流引擎使用说明
1. xml配置约束条件:
第一步都为step =1
创建的initial actionId =100
否决的common actionId=200
结束的actionId = 999
2. 业务表配置约束:
业务表中增加 wfid 为工作流编号;
3. 在业务功能的grid界面中加上:
window.gn = "HYAP";
window.gnId = "HYAP_ID";
window.gn是业务表的表名
window.gnId是业务表的关键字段名(暂时先考虑一个关键字段的情况)
4. 在业务功能的grid界面的buttonarea的p最前面加上按钮: <button id = "wfbtn" onclick="openwfbtn()">流程处理</button>
以及在script中加上对应的函数:
function openwfbtn(){
if ($("#dataGrid_hyap").read("wfid")==""){ jAlert("请先选择一条记录!"); return; } window.dataset = $("#dataGrid_hyap"); lhgdialog.opendlg( '流程处理', getDialogPath()+'workflowbtn.jsp', 320, 200, true, true,'dlgwfbtn');
}
5.在业务功能的dialog浏览页面中的ready.function中增加如下语句: if (main.state=="edit"){
} dialog.crebtn( 'workflow', '流程处理', openwfbtn);
6.在业务功能的bean类中:
import uranus.oa.workflow.*;
7.目前采用的方式是业务数据保存即创建的形式,因此在bean中insert的之后,加上如下方法创建工作流:
WorkflowNorm.initidalizeworkflow("hy_apply",this.getUser_Id(), conn, "HYAP",
"HYAP_ID", (String)newRow.get("HYAP_ID "))
""内对应各业务表情况。
8.在配置的xml之后请需要自己写post-function,来处理通过之后,业务的具体处理。
9.注意,无论是业务功能的grid页面还是dialog页面,我们都规定在<head>导入如下: <jsp:include page="inc.jsp" flush="true" />
10.删除业务数据的时候,我们规定只有在step=1的时候才能删除,所以我们在用删除的onclick事件写成如此: <button onclick="JavaScript: checkstep($('#dataGrid_hyap'),deleteHYAP);">删除</button>
其中deleteHYAP是之前写的delete方法而$('#dataGrid_hyap')是你业务界面中的业务table。
11.Xml配置的字定义规范:
1)首先在提交的action中加上pre-function如下:
<action id="1" name="提交会议申请">
<pre-functions>
<function type="class">
<arg
name="http://doc.guandang.net">uranus.oa.workflow.Util</arg>
<arg name="method">get owner</arg>
</function>
</pre-functions>
<results>
<unconditional-result old-status="Finished"
status="Underway" step="2" owner="${owner}"/>
</results>
</action>
2)在initial-actions后面定义common-actions全局action做否定动作,如下:
<common-actions>
<action id="200" name="否决">
<results>
<unconditional-result old-status="Finished" status="Finished" step="3" owner="${Caller}">
<post-functions>
<function type="class">
<arg
name="http://doc.guandang.net">uranus.oa.workflow.Util</arg>
<arg name="method">reject over</arg>
</function>
</post-functions>
</unconditional-result>
</results> </action>
</common-actions>
那么在在步骤中可以如此调用:
<common-action id="200" />
当然post-funtion和pre-function 需要自己根据自己的业务实际情况做安排。
3)在action的post-function中写上业务处理方法,比如用车申请同意回更改车辆状态,会议申请通过后,给会议对象电子邮件提醒等等。注意post-function是写在result中的可以看上面2)中的common-function的用法。
4)另外提交人的如果要范围选择,比如要在部门主管中选一人进行提交那么可以配置在workflowactionuser.xml文件中。如下配置:
<workflowaction>
<item wfname="hy_apply" action="1" value="select user_id , user_name from users where 1=1 " />
<item wfname="hy_apply" action="11" value="select user_id , user_name from users where user_id in ('021','002','001') " />
<item wfname="hy_apply" action="12" value="select user_id , user_name from users where user_id ='001' " />
</workflowaction>
需要工作流的定义name和action的id。
5)约束条件:
<restrict-to>
<conditions type="AND">
<condition type="class">
<arg
name="http://doc.guandang.net">uranus.oa.workflow.CustomCondition</arg>
<arg name="method">check now owner</arg> </condition> </conditions>
</restrict-to>
在不是撤消的action的pre-funtion前面,复制以个内容。
如果此步是撤消,那么restrict如下配置:
<restrict-to>
<conditions type="AND">
<condition type="class">
<arg
name="http://doc.guandang.net">uranus.oa.workflow.CustomCondition</arg>
<arg name="method">check last caller</arg> </condition>
</conditions>
</restrict-to>
6)配置中.action的name必须规范,比如退回和撤消动作,name中都要包括退回、撤消字眼。
7)撤消和退回的时候,在pre-funtion中如下书写获得撤消步骤的处理人owner
<pre-functions>
<function type="class"> <arg name="http://doc.guandang.net"><!-- 这个class是扩展的 uranus.oa.workflow.StepOwner </arg> <arg name="st …… 此处隐藏:4100字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [法律文档]苏教版七年级语文下册第五单元教学设计
- [法律文档]向市委巡视组进点汇报材料
- [法律文档]绵阳市2018年高三物理上学期第二次月考
- [法律文档]浅析如何解决当代中国“新三座大山”的
- [法律文档]延安北过境线大桥工程防洪评价报告 -
- [法律文档]激活生成元素让数学课堂充满生机
- [法律文档]2014年春学期九年级5月教学质量检测语
- [法律文档]放射科标准及各项计1
- [法律文档]2012年广州化学中考试题和答案(原版)
- [法律文档]地球物理勘查规范
- [法律文档]《12系列建筑标准设计图集》目录
- [法律文档]2018年宁波市专技人员继续教育公需课-
- [法律文档]工会委员会工作职责
- [法律文档]2014新版外研社九年级英语上册课文(完
- [法律文档]《阅微草堂笔记》部分篇目赏析
- [法律文档]尔雅军事理论2018课后答案(南开版)
- [法律文档]储竣-13827 黑娃山沟大开挖穿越说明书
- [法律文档]《产品设计》教学大纲及课程简介
- [法律文档]电动吊篮专项施工方案 - 图文
- [法律文档]实木地板和复合地板的比较
- 探析如何提高电力系统中PLC的可靠性
- 用Excel函数快速实现体能测试成绩统计
- 教师招聘考试重点分析:班主任工作常识
- 高三历史选修一《历史上重大改革回眸》
- 2013年中山市部分职位(工种)人力资源视
- 2015年中国水溶性蛋白市场年度调研报告
- 原地踏步走与立定教学设计
- 何家弘法律英语课件_第十二课
- 海信冰箱经销商大会——齐俊强副总经理
- 犯罪心理学讲座
- 初中英语作文病句和错句修改范例
- 虚拟化群集部署计划及操作流程
- 焊接板式塔顶冷凝器设计
- 浅析语文教学中
- 结构力学——6位移法
- 天正建筑CAD制图技巧
- 中华人民共和国财政部令第57号——注册
- 赢在企业文化展厅设计的起跑线上
- 2013版物理一轮精品复习学案:实验6
- 直隶总督署简介




