锁定老帖子 主题:我和ibm workflow不得不说的故事
精华帖 (0) :: 良好帖 (1) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-09-13
近断时间因为中大医疗网项目医疗咨询需求的变更,需要能够灵活为医疗咨询的流程做控制。这里主要是审核流程,ibm项目组经过探讨。。觉得使用workflow能够应流程的变更导致需求的变更。。所以导致兄弟我前两个星期来实在够呛。
第一期关于流程配置
insert into T_PROCESS_STATE_CONFIG(id,templatename,version,stateid,statecontent) values('1008','consultation','1.1','S10', '<start sid="S10" name="医疗咨询申请" path="apply" needComment="false"> <transition name="本院医务科审批/department manager approve" returnBack="false" to="S20"/> </start>'); insert into T_PROCESS_STATE_CONFIG(id,templatename,version,stateid,statecontent) values('1009','consultation','1.1','S20', '<state sid="S20" name="本院医务科审批" path="deptManagerApprove" needComment="true"> <task name="本院医务科审批查询任务" tid="deptManagerAssignment" advisable="false" behavior="claim"> <assignment type="hospitalUserAssignment"> <arg name="role">D71B61A702724E679ABCB6F32F6D4F01</arg> <arg name="department">$draftDept</arg> </assignment> </task> <transition name="外院医务科审批/return back" returnBack="false" to="S30"/> <transition name="拒绝流程结束/return back" returnBack="false" to="SE"/> </state>'); insert into T_PROCESS_STATE_CONFIG(id,templatename,version,stateid,statecontent) values('1010','consultation','1.1','S30', '<state sid="S30" name="外院医务科审批" path="deptManagerApprove" needComment="true"> <task name="外院医务科审批查询任务" tid="deptManagerAssignment" advisable="false" behavior="all-wait"> <assignment type="hospitalUserAssignment"> <arg name="role">D71B61A702724E679ABCB6F32F6D4F01</arg> <arg name="department">$departmentArray</arg> </assignment> </task> <transition name="审批结束/return back" returnBack="false" to="SE/> </state>'); insert into T_PROCESS_STATE_CONFIG(id,templatename,version,stateid,statecontent) values('1011','consultation','1.1','SE', '<end sid="SE" name="同意流程结束"> </end>');
说明: state标签:流程状态配置根元素,属性说明:sid(当前流程状态) name(流程状态名称) path(保留字) needComment(是否需要评论)
task 标签: 任务标签,属性说明: name(任务名称) tid(保留字) advisable(保留字) behavior(任务模式,有两种,分别是all-wait(等待模式,是指必须等待所有流程处理人处理完毕后,流程才会跳到下一个状态)和chain(竞争模式,是指当前审批人中如果有一个人对这个流程作出处理了,其他人的流程处理权限就取消,流程会跳到下一个状态))
task 子标签assignment标签: 流程处理人找查逻辑Bean,由当前项目使用workflow者提供,主要用来查找用户,以便将流程处理分配到被指定的用户 , 属性说明: type(当前项目spring配置里的流程处理人找查逻辑Bean注入的id)
task 子标签assignment 子标签 arg :方法所属参数 ,属性说明: name(ioc方式名称注入)
transition标签:流程跳转定义 ,属性说明: name(跳转名称) , returnBack(保留字) , to(跳转到那个流程状态)
end 标签: 流程结束定义, 属性说明: sid(当前流程状态。写死为SE) name(标签名)
总结:workflow定义流程状态码必须存在S10起点 SE终点。而中间是我们自定义的流程状态码。每个状态码对应一个对于流程的描述。例如医生对某个转检申请的审批流程。。就是 S10(流程起草,流程跳转到S20处理) -> S20(医务生审批,审批同意,流程结束,如果不同意,转到S25来返回给起草者修改,而不是直接跳到SE) -> SE(流程结束,可以定义结束后的动作)。
附上workflow某个项目里的应该PPT,方便大家查看实现效果
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-10-31
InBev工作流操作手册0313.rar (2.2 MB)
下载次数: 59 -------- 下载这么多次都没人支持 我支持你 LZ |
|
返回顶楼 | |
发表时间:2009-11-01
把SQL原子操作和XML流程文件放在一起,是否会增加流程系统的复杂度和数据耦合度呢?
|
|
返回顶楼 | |
发表时间:2009-11-19
呵。。我N年都没复大家。。不好意思
|
|
返回顶楼 | |
发表时间:2009-11-19
yangy608 写道 InBev工作流操作手册0313.rar (2.2 MB)
下载次数: 59 -------- 下载这么多次都没人支持 我支持你 LZ 多谢这位兄弟的支持 |
|
返回顶楼 | |
发表时间:2009-11-19
comsci 写道 把SQL原子操作和XML流程文件放在一起,是否会增加流程系统的复杂度和数据耦合度呢?
能说明白一些吗? |
|
返回顶楼 | |
浏览 4180 次