工作流Activiti的学习总结(八)Activiti自动执行的应用
??工作流activiti自动执行任务的开发应用?
工作流模拟某公司请假流程情景如下:
?? 1.开发人员请假流程,如果开发人员请假,如果请假天数小于3天,组长批准,人事批准即可请假。
?? 2.如果请假大约三天,需要项目经理或者产品经理批准,并且项目总监批准
???
?模拟自动审批:
??? 只需要启动一个流程实例,它会自动执行到结束。这种情况下,你不需要关注流
?? 程的执行进度,而只需要把精力集中在每个结点的处理逻辑(通常是简单或者复杂的商业逻辑)上。
?
流程设计图如下:
?
?
?
?
流程配置文件AutoExecuteTask.bpmn20.xml如下:
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
我传递到后台的
String vacationApproved = request.getParameter("vacationApproved");
vacationApproved 是字符串 “true”,
可是流程文件中审批请假的这个用户任务后的这个分支节点的输入条件要求的表达式是
${vacationApproved}
流程文件片段如下
<sequenceFlow id="flow3" sourceRef="requestApprovedDecision" targetRef="sendApprovalMail">
<conditionExpression xsi:type="tFormalExpression">${vacationApproved}</conditionExpression>
</sequenceFlow>
看意思是要求vacationApproved是布尔类型的,可这个变量
是请假审批人提交表单的一个数据,这个数据只能是字符串型的,因为
formService 这个服务类提交用户任务表单的方法是
void submitTaskFormData(String taskId, Map<String, String>
properties);
只能传递字符串。
现在的问题就是我传递字符串过去后台报错说 返回值是字符串“true”,不是boolean 类型的,可是我也不能直接传递一个boolean 类型的过去呀,因为api 不允许。
怎么办?
请教了!
我传递到后台的
String vacationApproved = request.getParameter("vacationApproved");
vacationApproved 是字符串 “true”,
可是流程文件中审批请假的这个用户任务后的这个分支节点的输入条件要求的表达式是
${vacationApproved}
流程文件片段如下
<sequenceFlow id="flow3" sourceRef="requestApprovedDecision" targetRef="sendApprovalMail">
<conditionExpression xsi:type="tFormalExpression">${vacationApproved}</conditionExpression>
</sequenceFlow>
看意思是要求vacationApproved是布尔类型的,可这个变量
是请假审批人提交表单的一个数据,这个数据只能是字符串型的,因为
formService 这个服务类提交用户任务表单的方法是
void submitTaskFormData(String taskId, Map<String, String>
properties);
只能传递字符串。
现在的问题就是我传递字符串过去后台报错说 返回值是字符串“true”,不是boolean 类型的,可是我也不能直接传递一个boolean 类型的过去呀,因为api 不允许。
怎么办?
请教了!
你页面下拉框获取的"true"为字符串需要你转换为boolean值,明白吗?