Browse Source

流程相关

huangjn 2 years ago
parent
commit
02a57ef84b

+ 4 - 0
blade-ops-api/blade-flow-api/src/main/java/org/springblade/flow/core/entity/BladeFlow.java

@@ -36,6 +36,10 @@ public class BladeFlow implements Serializable {
 	 * 任务编号
 	 */
 	private String taskId;
+	/**
+	 * 任务处理人
+	 */
+	private String taskUser;
 	/**
 	 * 任务名称
 	 */

+ 2 - 0
blade-ops/blade-flow/src/main/java/org/springblade/flow/business/service/impl/FlowBusinessServiceImpl.java

@@ -263,6 +263,8 @@ public class FlowBusinessServiceImpl implements FlowBusinessService {
 			variables = Kv.create();
 		}
 		variables.put(ProcessConstant.PASS_KEY, flow.isPass());
+		//完成任务时,如果传入taskUser这个key,就是指定下一处理人
+		variables.put("taskUser", flow.getTaskUser());
 		// 完成任务
 		taskService.complete(taskId, variables);
 		return true;

+ 3 - 0
blade-service/blade-desk/src/main/java/org/springblade/desk/service/impl/LeaveServiceImpl.java

@@ -59,8 +59,11 @@ public class LeaveServiceImpl extends BaseServiceImpl<LeaveMapper, ProcessLeave>
 			save(leave);
 			// 启动流程
 			Kv variables = Kv.create()
+				//申请人
 				.set(ProcessConstant.TASK_VARIABLE_CREATE_USER, AuthUtil.getUserName())
+				//下一步流程审批人
 				.set("taskUser", TaskUtil.getTaskUser(leave.getTaskUser()))
+				//这个key属于条件判断的key,可以各自流程自定义也可以每种流程唯一
 				.set("days", DateUtil.between(leave.getStartTime(), leave.getEndTime()).toDays());
 			R<BladeFlow> result = flowClient.startProcessInstanceById(leave.getProcessDefinitionId(), FlowUtil.getBusinessKey(businessTable, String.valueOf(leave.getId())), variables);
 			if (result.isSuccess()) {