..
This commit is contained in:
@@ -3,7 +3,6 @@ package com.budwk.app.flow.controller;
|
||||
import cn.dev33.satoken.annotation.SaCheckLogin;
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.lang.Dict;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.budwk.app.base.result.Result;
|
||||
import com.budwk.app.base.vo.LabelValueVO;
|
||||
@@ -18,8 +17,8 @@ import com.budwk.app.flow.entity.ProcessDefine;
|
||||
import com.budwk.app.flow.entity.ProcessInstance;
|
||||
import com.budwk.app.flow.entity.ProcessTask;
|
||||
import com.budwk.app.flow.enums.ProcessEventTypeEnum;
|
||||
import com.budwk.app.flow.enums.ProcessSubmitTypeEnum;
|
||||
import com.budwk.app.flow.enums.ProcessTaskStateEnum;
|
||||
import com.budwk.app.flow.service.FlowCommonService;
|
||||
import com.budwk.app.flow.vo.HighLightVO;
|
||||
import com.budwk.app.flow.vo.ProcessInstanceVO;
|
||||
import com.budwk.app.flow.vo.ProcessTaskVO;
|
||||
@@ -49,6 +48,8 @@ public class FlowCommonController {
|
||||
private FlowEngine flowEngine;
|
||||
@Inject
|
||||
private Dao dao;
|
||||
@Inject
|
||||
private FlowCommonService flowCommonService;
|
||||
|
||||
@At("/approval/form")
|
||||
@SaCheckLogin
|
||||
@@ -235,46 +236,47 @@ public class FlowCommonController {
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
public Result executeTask(@Param("data") String param) {
|
||||
Dict args = Json.fromJson(Dict.class, param);
|
||||
Long processTaskId = args.getLong(FlowConst.PROCESS_TASK_ID_KEY);
|
||||
String operator = SecurityUtil.getUserId();
|
||||
args.remove(FlowConst.PROCESS_TASK_ID_KEY);
|
||||
Integer submitType = args.getInt(FlowConst.SUBMIT_TYPE);
|
||||
if (submitType == null) {
|
||||
submitType = ProcessSubmitTypeEnum.AGREE.getCode();
|
||||
}
|
||||
args.put(FlowConst.SUBMIT_TYPE, submitType);
|
||||
|
||||
// 设置办理人信息到表单参数
|
||||
args.put(FlowConst.TASK_FORM_DATA_PREFIX + "userName", SecurityUtil.getUserUsername());
|
||||
args.put(FlowConst.TASK_FORM_DATA_PREFIX + "loginName", SecurityUtil.getUserLoginname());
|
||||
args.put(FlowConst.TASK_FORM_DATA_PREFIX + "unitId", SecurityUtil.getUnitId());
|
||||
args.put(FlowConst.TASK_FORM_DATA_PREFIX + "unitName", SecurityUtil.getUnitId());
|
||||
args.put(FlowConst.TASK_FORM_DATA_PREFIX + "unionId", SecurityUtil.getUnionId());
|
||||
|
||||
if (ObjectUtil.equals(submitType, ProcessSubmitTypeEnum.ROLLBACK.getCode())) {
|
||||
// 退回上一个节点
|
||||
flowEngine.executeAndJumpTask(processTaskId, operator, args, null);
|
||||
} else if (ObjectUtil.equals(submitType, ProcessSubmitTypeEnum.REJECT.getCode())) {
|
||||
// 拒绝,跳转到结束节点
|
||||
flowEngine.executeAndJumpToEnd(processTaskId, operator, args);
|
||||
} else if (ObjectUtil.equals(submitType, ProcessSubmitTypeEnum.JUMP.getCode())) {
|
||||
// 跳转到指定节点
|
||||
String taskName = args.getStr(FlowConst.TASK_NAME);
|
||||
flowEngine.executeAndJumpTask(processTaskId, operator, args, taskName);
|
||||
} else if (ObjectUtil.equals(submitType, ProcessSubmitTypeEnum.ROLLBACK_TO_OPERATOR.getCode())) {
|
||||
// 退回发起人
|
||||
flowEngine.executeAndJumpToFirstTaskNode(processTaskId, operator, args);
|
||||
} else if (ObjectUtil.equals(submitType, ProcessSubmitTypeEnum.COUNTERSIGN_DISAGREE.getCode())) {
|
||||
// 会签不同意,追加不同意标识
|
||||
args.put(FlowConst.COUNTERSIGN_DISAGREE_FLAG, 1);
|
||||
flowEngine.executeProcessTask(processTaskId, operator, args);
|
||||
} else if (ObjectUtil.equals(submitType, ProcessSubmitTypeEnum.RE_APPLY.getCode())) {
|
||||
// 重新提交
|
||||
flowEngine.executeProcessTask(processTaskId, operator, args);
|
||||
} else {
|
||||
// 默认执行
|
||||
flowEngine.executeProcessTask(processTaskId, operator, args);
|
||||
}
|
||||
// Long processTaskId = args.getLong(FlowConst.PROCESS_TASK_ID_KEY);
|
||||
// String operator = SecurityUtil.getUserId();
|
||||
// args.remove(FlowConst.PROCESS_TASK_ID_KEY);
|
||||
// Integer submitType = args.getInt(FlowConst.SUBMIT_TYPE);
|
||||
// if (submitType == null) {
|
||||
// submitType = ProcessSubmitTypeEnum.AGREE.getCode();
|
||||
// }
|
||||
// args.put(FlowConst.SUBMIT_TYPE, submitType);
|
||||
//
|
||||
// // 设置办理人信息到表单参数
|
||||
// args.put(FlowConst.TASK_FORM_DATA_PREFIX + "userName", SecurityUtil.getUserUsername());
|
||||
// args.put(FlowConst.TASK_FORM_DATA_PREFIX + "loginName", SecurityUtil.getUserLoginname());
|
||||
// args.put(FlowConst.TASK_FORM_DATA_PREFIX + "unitId", SecurityUtil.getUnitId());
|
||||
// args.put(FlowConst.TASK_FORM_DATA_PREFIX + "unitName", SecurityUtil.getUnitId());
|
||||
// args.put(FlowConst.TASK_FORM_DATA_PREFIX + "unionId", SecurityUtil.getUnionId());
|
||||
//
|
||||
// if (ObjectUtil.equals(submitType, ProcessSubmitTypeEnum.ROLLBACK.getCode())) {
|
||||
// // 退回上一个节点
|
||||
// flowEngine.executeAndJumpTask(processTaskId, operator, args, null);
|
||||
// } else if (ObjectUtil.equals(submitType, ProcessSubmitTypeEnum.REJECT.getCode())) {
|
||||
// // 拒绝,跳转到结束节点
|
||||
// flowEngine.executeAndJumpToEnd(processTaskId, operator, args);
|
||||
// } else if (ObjectUtil.equals(submitType, ProcessSubmitTypeEnum.JUMP.getCode())) {
|
||||
// // 跳转到指定节点
|
||||
// String taskName = args.getStr(FlowConst.TASK_NAME);
|
||||
// flowEngine.executeAndJumpTask(processTaskId, operator, args, taskName);
|
||||
// } else if (ObjectUtil.equals(submitType, ProcessSubmitTypeEnum.ROLLBACK_TO_OPERATOR.getCode())) {
|
||||
// // 退回发起人
|
||||
// flowEngine.executeAndJumpToFirstTaskNode(processTaskId, operator, args);
|
||||
// } else if (ObjectUtil.equals(submitType, ProcessSubmitTypeEnum.COUNTERSIGN_DISAGREE.getCode())) {
|
||||
// // 会签不同意,追加不同意标识
|
||||
// args.put(FlowConst.COUNTERSIGN_DISAGREE_FLAG, 1);
|
||||
// flowEngine.executeProcessTask(processTaskId, operator, args);
|
||||
// } else if (ObjectUtil.equals(submitType, ProcessSubmitTypeEnum.RE_APPLY.getCode())) {
|
||||
// // 重新提交
|
||||
// flowEngine.executeProcessTask(processTaskId, operator, args);
|
||||
// } else {
|
||||
// // 默认执行
|
||||
// flowEngine.executeProcessTask(processTaskId, operator, args);
|
||||
// }
|
||||
flowCommonService.executeTask(args);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,65 @@
|
||||
package com.budwk.app.flow.service;
|
||||
|
||||
import cn.hutool.core.lang.Dict;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.budwk.app.flow.constant.FlowConst;
|
||||
import com.budwk.app.flow.engine.FlowEngine;
|
||||
import com.budwk.app.flow.enums.ProcessSubmitTypeEnum;
|
||||
import com.budwk.app.web.commons.auth.utils.SecurityUtil;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
|
||||
@IocBean
|
||||
public class FlowCommonService {
|
||||
|
||||
@Inject
|
||||
private FlowEngine flowEngine;
|
||||
|
||||
/**
|
||||
* 执行任务
|
||||
* @param args
|
||||
*/
|
||||
public void executeTask(Dict args){
|
||||
Long processTaskId = args.getLong(FlowConst.PROCESS_TASK_ID_KEY);
|
||||
String operator = SecurityUtil.getUserId();
|
||||
args.remove(FlowConst.PROCESS_TASK_ID_KEY);
|
||||
Integer submitType = args.getInt(FlowConst.SUBMIT_TYPE);
|
||||
if (submitType == null) {
|
||||
submitType = ProcessSubmitTypeEnum.AGREE.getCode();
|
||||
}
|
||||
args.put(FlowConst.SUBMIT_TYPE, submitType);
|
||||
|
||||
// 设置办理人信息到表单参数
|
||||
args.put(FlowConst.TASK_FORM_DATA_PREFIX + "userName", SecurityUtil.getUserUsername());
|
||||
args.put(FlowConst.TASK_FORM_DATA_PREFIX + "loginName", SecurityUtil.getUserLoginname());
|
||||
args.put(FlowConst.TASK_FORM_DATA_PREFIX + "unitId", SecurityUtil.getUnitId());
|
||||
args.put(FlowConst.TASK_FORM_DATA_PREFIX + "unitName", SecurityUtil.getUnitId());
|
||||
args.put(FlowConst.TASK_FORM_DATA_PREFIX + "unionId", SecurityUtil.getUnionId());
|
||||
|
||||
if (ObjectUtil.equals(submitType, ProcessSubmitTypeEnum.ROLLBACK.getCode())) {
|
||||
// 退回上一个节点
|
||||
flowEngine.executeAndJumpTask(processTaskId, operator, args, null);
|
||||
} else if (ObjectUtil.equals(submitType, ProcessSubmitTypeEnum.REJECT.getCode())) {
|
||||
// 拒绝,跳转到结束节点
|
||||
flowEngine.executeAndJumpToEnd(processTaskId, operator, args);
|
||||
} else if (ObjectUtil.equals(submitType, ProcessSubmitTypeEnum.JUMP.getCode())) {
|
||||
// 跳转到指定节点
|
||||
String taskName = args.getStr(FlowConst.TASK_NAME);
|
||||
flowEngine.executeAndJumpTask(processTaskId, operator, args, taskName);
|
||||
} else if (ObjectUtil.equals(submitType, ProcessSubmitTypeEnum.ROLLBACK_TO_OPERATOR.getCode())) {
|
||||
// 退回发起人
|
||||
flowEngine.executeAndJumpToFirstTaskNode(processTaskId, operator, args);
|
||||
} else if (ObjectUtil.equals(submitType, ProcessSubmitTypeEnum.COUNTERSIGN_DISAGREE.getCode())) {
|
||||
// 会签不同意,追加不同意标识
|
||||
args.put(FlowConst.COUNTERSIGN_DISAGREE_FLAG, 1);
|
||||
flowEngine.executeProcessTask(processTaskId, operator, args);
|
||||
} else if (ObjectUtil.equals(submitType, ProcessSubmitTypeEnum.RE_APPLY.getCode())) {
|
||||
// 重新提交
|
||||
flowEngine.executeProcessTask(processTaskId, operator, args);
|
||||
} else {
|
||||
// 默认执行
|
||||
flowEngine.executeProcessTask(processTaskId, operator, args);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user