- skyvsdream
- 等级: 初级会员

- 性别:

- 文章: 1
- 积分: 5
- 来自: 中国.昆明

|
一个关于工作流的小系统
这是一个工作流的小系统,用在一个公司的内部电子工单处理,还没通过验收,客户又提了些改进的需求。负责的那两个同事过两天要出差,我们的部门经理把这个小系统交给我改进和维护。我今天看了哈,工作流程和改进需求,不是很复杂,由于以前不是用工作流引擎做的,我想把它改成用jbpm来实现。我也是刚开始学习jbpm,把它写下来,和网友交流,分享,希望得到大家的指点。
工单处理流程如图:

流程定义如图:

流程定义的xml文件如下:
xml 代码
- xml version="1.0" encoding="UTF-8"?>
-
- <process-definition xmlns="urn:jbpm.org:jpdl-3.1" name="innerP">
- <start-state name="IP_Start">
- <transition name="" to="IP_Request">transition>
- start-state>
- <task-node name="IP_Request">
-
- <task name="Task_WriteRequest">task>
- <transition name="" to="M_decision">transition>
- task-node>
- <decision name="M_decision">
- <transition name="" to="M_Auditing">transition>
- decision>
- <task-node name="M_Auditing">
-
- <task>task>
-
- <transition name="NO_pass" to="IP_Request">transition>
-
- <transition name="Pass" to="B_specificResponsibility">transition>
- task-node>
- <task-node name="B_specificResponsibility">
-
-
- <transition name="Disposal" to="IP_end">transition>
-
- <transition name="M_Disposal" to="M_specific">transition>
-
- <transition name="B_Disposal" to="O_Branch">transition>
- task-node>
-
- <task-node name="O_Branch">
-
- <transition name="T_BM" to="M_specific">transition>
-
- <transition name="T_Branch" to="IP_end">transition>
- task-node>
-
- <task-node name="M_specific">
-
- <transition name="T_Mspecific" to="IP_end">transition>
-
- <transition name="member" to="Member_S">transition>
- task-node>
-
- <task-node name="Member_S">
- <transition name="" to="IP_end">transition>
- task-node>
-
- <end-state name="IP_end">end-state>
- process-definition>
由于刚开始学习使用,我现在有两点疑问:结束状态前面是不是应该使用join,我见过几个例子都使用了join;开始的地方不是可以不用decision。希望能得到圈子里朋友的指点和帮助,我自己也会实践。把实践的结果和心得写下来和大家分享。
声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
| 返回顶楼 |
|
|
- cskysnew
- 等级: 初级会员

- 性别:

- 文章: 42
- 积分: 32
- 来自: 青岛

|
按照楼主的流程图来看,应该不需要join,操作完成之后直接跳转至结束就行了。
|
| 返回顶楼 |
|
|
- sylhit
- 等级: 初级会员

- 文章: 2
- 积分: 2

|
表现层准备用什么实现呢
|
| 返回顶楼 |
|
|
- leng_cn
- 等级: 初级会员

- 性别:

- 文章: 5
- 积分: 14
- 来自: 北京

|
我们做的一个项目中有工单管理这一块,我在想用上工作流,应该和你的类似,能不能给点建议性的东东了
|
| 返回顶楼 |
|
|
- dolphin_ygj
- 等级: 初级会员

- 性别:

- 文章: 18
- 积分: 58
- 来自: 上海

|
join必须和fork一起使用的,主要是从fork开始会变成两个分枝,同时并行两个流程,最后两个流程在join汇合,才能走入下面的节点task。
如 一个拍卖流程图

在流程进入 sale 时,将分成两个流程分枝,一个是送货,一个是付款帐单,两个流程各自独立。
如果送货流程先完成 receive item 节点任务,那么它必须等待付款流程完成send money 节点任务,这时整个流程才能进入下一个任务。这种情况下用fork与join共同实现这样的场景。
|
| 返回顶楼 |
|
|
- dolphin_ygj
- 等级: 初级会员

- 性别:

- 文章: 18
- 积分: 58
- 来自: 上海

|
流程图:

流程定义文件:
xml 代码
- <?xml version="1.0" encoding="UTF-8"?>
- <process-definition xmlns="" name="sale">
- <start-state name="start">
- <transition name="" to="拍卖"/>
- </start-state>
- <end-state name="end1"/>
- <task-node name="拍卖">
- <transition name="" to="fork1"/>
- </task-node>
- <fork name="fork1">
- <transition name="运送" to="发货"/>
- <transition name="帐单" to="付款"/>
- </fork>
- <join name="join1">
- <transition name="交易完成" to="end1"/>
- </join>
- <task-node name="发货">
- <transition name="" to="货物验收"/>
- </task-node>
- <task-node name="货物验收">
- <transition name="" to="join1"/>
- </task-node>
- <task-node name="付款">
- <transition name="" to="货款验收"/>
- </task-node>
- <task-node name="货款验收">
- <transition name="" to="join1"/>
- </task-node>
- </process-definition>
|
| 返回顶楼 |
|
|
- dolphin_ygj
- 等级: 初级会员

- 性别:

- 文章: 18
- 积分: 58
- 来自: 上海

|
skyvsdream 写道:
一个关于工作流的小系统
这是一个工作流的小系统,用在一个公司的内部电子工单处理,还没通过验收,客户又提了些改进的需求。负责的那两个同事过两天要出差,我们的部门经理把这个小系统交给我改进和维护。我今天看了哈,工作流程和改进需求,不是很复杂,由于以前不是用工作流引擎做的,我想把它改成用jbpm来实现。我也是刚开始学习jbpm,把它写下来,和网友交流,分享,希望得到大家的指点。
由于刚开始学习使用,我现在有两点疑问:结束状态前面是不是应该使用join,我见过几个例子都使用了join;开始的地方不是可以不用decision。希望能得到圈子里朋友的指点和帮助,我自己也会实践。把实践的结果和心得写下来和大家分享。
在明白join与fork的用法后,就知道了你的这个流程是不需要join的。 :)明白了吧
|
| 返回顶楼 |
|
|
- 差沙
- 等级:


- 性别:

- 文章: 310
- 积分: 792

|
如果有一个分支到达End的时候,整个流程结束。那么不用join,也可以使用join,然后配置不用等其他分支到达。
如果需要所有倒达才结束,需要join。
建议还是加上。
|
| 返回顶楼 |
|
|
- lizhaosuper
- 等级: 初级会员

- 性别:

- 文章: 12
- 积分: 0
- 来自: 黄冈市

|
对了问一下你们的工作用的是什么引擎进行解析的啊
|
| 返回顶楼 |
|
|
- 01071405
- 等级: 初级会员

- 性别:

- 文章: 18
- 积分: 0
- 来自: 南京

|
我现在也在做工作流的东西,可惜没有什么资料,看的都是英文的,不知道各位大侠有没有中文的详细资料,或者已经开发好的例子可以给我参考参考,我的邮箱01071405@163.com,希望大家多多交流
|
| 返回顶楼 |
|
|