workflow例子Word格式.docx
《workflow例子Word格式.docx》由会员分享,可在线阅读,更多相关《workflow例子Word格式.docx(17页珍藏版)》请在冰豆网上搜索。
![workflow例子Word格式.docx](https://file1.bdocx.com/fileroot1/2023-2/4/ebf57f06-a582-4bf7-bdfc-4308daf8b7c8/ebf57f06-a582-4bf7-bdfc-4308daf8b7c81.gif)
提交申请"
部门经理审批"
9.
/task>
10.
11.
manager"
113,141,114,52"
12.
61,167:
-36,62"
部门经理驳回"
cancel"
13.
-51,-8"
部门经理审批通过"
金额判断"
14.
15.
16.
decision
expr="
#{money&
gt;
=5000?
'
&
=5000元'
:
lt;
5000元'
}"
17.
301,205,48,48"
18.
-20,-2"
=5000元"
总经理审批"
19.
-18,-13"
5000元"
财务拨款"
20.
/decision>
21.
22.
end
190,407,48,48"
end"
23.
end-cancel
37,374,48,48"
24.
25.
ceo"
150,286,100,52"
26.
-41,-6"
总经理审批通过"
27.
-17,-12"
总经理驳回"
28.
29.
30.
finance"
345,325,92,52"
31.
-26,-6"
完成拨款"
32.
33.<
/process>
xmlversion="
encoding="
processname="
xmlns="
<
startg="
name="
transitiong="
to="
/>
taskassignee="
g="
decisionexpr="
endg="
end-cancelg="
测试代码:
Java代码
1./**
2.
*
CopyRight
(C)
2006-2009
yeyong
@author
yy
@project
JbpmExamples
@version
1.0
@mail
yy629_86
at
163
dot
com
@date
2009-9-9
下午3:
12:
13
@description
*/
10.package
loan;
12.import
java.util.HashMap;
13.import
java.util.List;
14.import
java.util.Map;
16.import
org.jbpm.api.ProcessInstance;
17.import
org.jbpm.api.history.HistoryProcessInstance;
18.import
org.jbpm.api.task.Task;
19.import
org.jbpm.test.JbpmTestCase;
21./**
24.public
class
LoanTest
extends
JbpmTestCase
{
String
deploymentId;
@Override
protected
void
setUp()
throws
Exception
super.setUp();
deploymentId
=
repositoryService.createDeployment().addResourceFromClasspath("
loan/loan.jpdl.xml"
)
.deploy();
}
33.
34.
35.
tearDown()
36.
repositoryService.deleteDeploymentCascade(deploymentId);
37.
super.tearDown();
38.
39.
40.
/**
41.
测试用例
42.
p>
43.
张三
申请4000元,
部门经理驳回
44.
45.
public
test4000ButManagerDisapprove()
46.
curUser
"
Zhang
San"
;
47.
ProcessInstance
pi
startLoanProcess(curUser);
48.
piId
pi.getId();
49.
filloutApplication(piId,
curUser,
4000);
50.
51.
52.
managerApprove(piId,
false,
最近资金紧张,暂不同意."
);
//
部门经理不同意
53.
54.
executionService.findProcessInstanceById(piId);
55.
assertNull(pi);
流程结束
56.
57.
HistoryProcessInstance
hpi
getHistoryProcessInstanceByProcessInstanceId(piId);
58.
assertEquals(hpi.getState(),
流程结束状态是cancel
取消
59.
60.
61.
62.
63.
64.
李四
申请4000元,部门经理同意
65.
66.
test4000AndManagerApprove()
67.
Li
si"
68.
69.
70.
71.
72.
73.
true,
同意."
部门经理同意
74.
75.
76.
assertNotNull(pi);
流程未结束
77.
assertNotNull(pi.findActiveExecutionIn("
));
财务拨款处于活动状态
78.
79.
80.
earmark(piId,
piId);
拨款
81.
82.
83.
//流程结束
84.
85.
86.
ended"
流程结束状态是ended,
正常结束
87.
88.
89.
90.
91.
92.
王五
申请6000元,部门经理驳回
93.
94.
test6000ButManagerDisapprove()
95.
Wang
Wu"
96.
97.
98.
6000);
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
赵六
申请6000元,部门经理同意,总经理驳回
114.
115.
test6000AndManagerApproveButCeoDisapprove()
116.
Zhao
Liu"
117.
118.
119.
120.
121.
122.
同意.
123.
124.
125.
126.
127.
128.
ceoApprove(piId,
不同意.等资金周转过来再说吧"
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
孙七
申请6000元,部门经理同意,总经理也同意
141.
142.
test6000AndManagerApproveAdnCeoApprove()
143.
Sun
Qi"
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
用户发起借款申请
173.
174.
@param
userId
175.
@return
176.
177.
startLoanProcess(String
user)
178.
Map<
String,
Object>
variables
new
HashMap<
();
179.
variables.put("
proposer"
user);
180.
return
executionService.startProcessInstanceByKey("
variables);
181.
182.
183.
184.
填写借款申请
185.
186.
piId
187.
user
188.
money
189.
190.
filloutApplication(String
piId,
user,
double
money)
191.
List<
Task>
tasks
taskService.findPersonalTasks(user);
192.
Task
filloutTask
null;
193.
for
(Task
tasks)
194.
if
(task.getExecutionId().equals(piId))
195.
task;
196.
break;
197.
198.
199.
assertNotNull(filloutTask);
200.
201.
money"
money);
202.
executionService.setVariables(piId,
203.
taskSpleteTask(filloutTask.getId());
204.
205.
206.
207.
经理审批
208.
209.
210.