Commit a678e98a by 王志超

feat: 子工单不在审核部分,自动跳过审核

parent 2266f77a
Pipeline #86533 passed with stages
in 1 minute 38 seconds
...@@ -225,14 +225,14 @@ public class ChangeSubFlowBiz { ...@@ -225,14 +225,14 @@ public class ChangeSubFlowBiz {
String nextNodeId = flowService.submitFlow(subFlowId, flowDataDTO, uid, String nextNodeId = flowService.submitFlow(subFlowId, flowDataDTO, uid,
ChangeFlowEnum.CHANGE_SUB_FLOW.getTopoId(), JSON.toJSONString(content), true, ChangeFlowEnum.CHANGE_SUB_FLOW.getTopoId(), JSON.toJSONString(content), true,
FlowxOperationEnum.SUBMIT.getName(), "提交工单", subFlowRecord.getCreateTime()); FlowxOperationEnum.SUBMIT.getName(), "提交工单", subFlowRecord.getCreateTime());
// 更新行动工单节点ID
subFlowRecord.setSubFlowNode(nextNodeId);
subFlowRecord.setStatus(ChangeSubFlowStatusEnum.WAIT_APPROVE_ACTION_PLAN.getStatus());
subFlowRecord.setUpdateTime(DateUtils.getCurrentTime());
// 检查是否需要审批 // 检查是否需要审批
if (needApprove(expectedDepartment)) { if (needApprove(expectedDepartment)) {
// 需要审批:设置上级领导为审批人 // 需要审批:设置上级领导为审批人,停留在审批节点
subFlowRecord.setSubFlowNode(nextNodeId);
subFlowRecord.setStatus(ChangeSubFlowStatusEnum.WAIT_APPROVE_ACTION_PLAN.getStatus());
subFlowRecord.setUpdateTime(DateUtils.getCurrentTime());
String execUserEmail = subFlowRecord.getChangeExecUserEmail(); String execUserEmail = subFlowRecord.getChangeExecUserEmail();
if (StringUtils.isBlank(execUserEmail)) { if (StringUtils.isBlank(execUserEmail)) {
throw ExceptionFactory.createBiz(ResponseCode.BAD_REQUEST, "行动人邮箱不能为空"); throw ExceptionFactory.createBiz(ResponseCode.BAD_REQUEST, "行动人邮箱不能为空");
...@@ -249,22 +249,22 @@ public class ChangeSubFlowBiz { ...@@ -249,22 +249,22 @@ public class ChangeSubFlowBiz {
log.info("[checkUpdateAndSubmit] 子单流转完成 <<< subFlowId:{}, 原节点:{}-{}, 新节点:{}-审批行动方案", log.info("[checkUpdateAndSubmit] 子单流转完成 <<< subFlowId:{}, 原节点:{}-{}, 新节点:{}-审批行动方案",
subFlowId, oldNodeId, oldNodeName, nextNodeId); subFlowId, oldNodeId, oldNodeName, nextNodeId);
return nextNodeId; return nextNodeId;
} else {
// 不需要审批,自动提交到下一节点(审批人保持为行动人自己)
log.info("[CHANGE_SUB_FLOW_START] 部门[{}]不需要审批,自动跳过审批", expectedDepartment);
String autoNextNodeId = flowService.submitFlow(subFlowId, flowDataDTO, uid,
ChangeFlowEnum.CHANGE_SUB_FLOW.getTopoId(), JSON.toJSONString(content), true,
FlowxOperationEnum.SUBMIT.getName(), "自动审批通过", subFlowRecord.getCreateTime());
subFlowRecord.setSubFlowNode(autoNextNodeId);
subFlowRecord.setStatus(ChangeSubFlowStatusEnum.WAIT_APPROVE_CHANGE_PLAN.getStatus());
subFlowRecord.setUpdateTime(DateUtils.getCurrentTime());
changeSubFlowRecordService.update(subFlowRecord);
// todo:非名单中部门无需审批,行动人确认提交后邮件同步负责人上级对应变更信息
log.info("[checkUpdateAndSubmit] 子单流转完成 <<< subFlowId:{}, 原节点:{}-{}, 新节点:{}-审批变更方案 (自动跳过审批)",
subFlowId, oldNodeId, oldNodeName, autoNextNodeId);
return autoNextNodeId;
} }
// 不需要审批,自动提交到下一节点(审批人保持为行动人自己)
log.info("[CHANGE_SUB_FLOW_START] 部门[{}]不需要审批,自动跳过审批", expectedDepartment);
String autoNextNodeId = flowService.submitFlow(subFlowId, flowDataDTO, uid,
ChangeFlowEnum.CHANGE_SUB_FLOW.getTopoId(), JSON.toJSONString(content), true,
FlowxOperationEnum.SUBMIT.getName(), "自动审批通过", subFlowRecord.getCreateTime());
subFlowRecord.setSubFlowNode(autoNextNodeId);
subFlowRecord.setStatus(ChangeSubFlowStatusEnum.WAIT_APPROVE_CHANGE_PLAN.getStatus());
subFlowRecord.setUpdateTime(DateUtils.getCurrentTime());
changeSubFlowRecordService.update(subFlowRecord);
// todo:非名单中部门无需审批,行动人确认提交后邮件同步负责人上级对应变更信息
log.info("[checkUpdateAndSubmit] 子单流转完成 <<< subFlowId:{}, 原节点:{}-{}, 新节点:{}-审批变更方案 (自动跳过审批)",
subFlowId, oldNodeId, oldNodeName, autoNextNodeId);
return autoNextNodeId;
case CHANGE_SUB_FLOW_SUBMIT: case CHANGE_SUB_FLOW_SUBMIT:
// 审批行动方案节点 // 审批行动方案节点
Boolean approved = changeSubFlowSubmitReq.getApproved(); Boolean approved = changeSubFlowSubmitReq.getApproved();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment