Commit a240240c by 王志超

feat: 行动工单流程流转枚举改为常量

parent 47221b88
Pipeline #86541 passed with stages
in 1 minute 34 seconds
......@@ -17,6 +17,7 @@ import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import com.netease.mail.yanxuan.change.common.enums.*;
import com.netease.mail.yanxuan.change.common.constants.FlowTransitionType;
import com.netease.mail.yanxuan.change.dal.meta.model.vo.*;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
......@@ -723,9 +724,9 @@ public class ChangeFlowBiz {
String mainFlowNodeId;
if (mainFlowApproved) {
// 审批通过:流转到下一节点(type=1)
// 审批通过:流转到下一节点
log.info("[{}] 审批通过,flowId:{}", node.getName(), flowId);
mainFlowParamMap.put("type", 1);
mainFlowParamMap.put("type", FlowTransitionType.TYPE_APPROVED);
mainFlowNodeId = flowService.submitFlowWithParamMap(flowId.toString(), flowDataDTO, uid,
ChangeFlowEnum.NEW_CHANGE_FLOW.getTopoId(), JSON.toJSONString(content), mainFlowParamMap,
......@@ -739,10 +740,10 @@ public class ChangeFlowBiz {
log.info("[checkUpdateAndSubmit] 主工单流转完成,flowId:{}, 审批节点:{}, 新节点:{}, 审批结果:通过",
flowId, node.getName(), mainFlowNodeId);
} else {
// 审批不通过:回退到确认变更方案节点(type=3)
// 审批不通过:回退到确认变更方案节点
// todo: 实现审批不通过的逻辑(拒绝原因、状态更新、邮件通知等)
log.warn("[{}] 审批不通过,flowId:{}", node.getName(), flowId);
mainFlowParamMap.put("type", 3);
mainFlowParamMap.put("type", FlowTransitionType.TYPE_BACK_TO_CONFIRM_PLAN);
mainFlowNodeId = flowService.submitFlowWithParamMap(flowId.toString(), flowDataDTO, uid,
ChangeFlowEnum.NEW_CHANGE_FLOW.getTopoId(), JSON.toJSONString(content), mainFlowParamMap,
......@@ -1642,9 +1643,9 @@ public class ChangeFlowBiz {
content.put("updateTime", System.currentTimeMillis());
content.put(CommonConstants.FLOW_OPERATION_KEY, FlowOperationTypeEnum.PASS.getValue());
// 使用paramMap控制流转方向(type=1表示所有子单审批通过)
// 使用paramMap控制流转方向(所有子单审批通过)
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("type", 1);
paramMap.put("type", FlowTransitionType.TYPE_APPROVED);
// 流转主工单到部门负责人审批节点
String ownerApproveNodeId = flowService.submitFlowWithParamMap(flowId.toString(), flowDataDTO, uid,
......
......@@ -16,6 +16,7 @@ import com.netease.mail.yanxuan.change.common.bean.CommonConstants;
import com.netease.mail.yanxuan.change.biz.util.PageUtils;
import com.netease.mail.yanxuan.change.common.bean.RequestLocalBean;
import com.netease.mail.yanxuan.change.common.bean.ResponseCode;
import com.netease.mail.yanxuan.change.common.constants.FlowTransitionType;
import com.netease.mail.yanxuan.change.common.enums.ChangeFlowEnum;
import com.netease.mail.yanxuan.change.common.enums.ChangeResultEnum;
import com.netease.mail.yanxuan.change.common.enums.ChangeSubFlowStatusEnum;
......@@ -227,7 +228,7 @@ public class ChangeSubFlowBiz {
if (needApprove(expectedDepartment)) {
// 需要审批:流转到审批行动方案节点,设置上级领导为审批人
log.info("[CHANGE_SUB_FLOW_START] 部门[{}]需要审批,等待上级审批", expectedDepartment);
paramMap.put("type", 1);
paramMap.put("type", FlowTransitionType.TYPE_APPROVED);
// 提交到审批行动方案节点
nextNodeId = flowService.submitFlowWithParamMap(subFlowId, flowDataDTO, uid,
......@@ -256,7 +257,7 @@ public class ChangeSubFlowBiz {
} else {
// 不需要审批:直接跳到审批变更方案节点,审批人保持为行动人自己
log.info("[CHANGE_SUB_FLOW_START] 部门[{}]不需要审批,自动跳过审批", expectedDepartment);
paramMap.put("type", 2);
paramMap.put("type", FlowTransitionType.TYPE_REJECTED);
// 提交到审批变更方案节点
nextNodeId = flowService.submitFlowWithParamMap(subFlowId, flowDataDTO, uid,
......@@ -293,9 +294,9 @@ public class ChangeSubFlowBiz {
log.info("[CHANGE_SUB_FLOW_SUBMIT] 审批不通过,subFlowId:{}, rejectReason:{}", subFlowId, rejectReason);
}
// 使用paramMap控制流转方向(type=1通过,type=2不通过)
// 使用paramMap控制流转方向(通过/不通过)
Map<String, Object> approveParamMap = new HashMap<>();
approveParamMap.put("type", approved ? 1 : 2);
approveParamMap.put("type", approved ? FlowTransitionType.TYPE_APPROVED : FlowTransitionType.TYPE_REJECTED);
String remark = approved ? "审批通过" : "审批不通过";
String approveNodeId = flowService.submitFlowWithParamMap(subFlowId, flowDataDTO, uid,
......@@ -328,7 +329,7 @@ public class ChangeSubFlowBiz {
if (execApproved) {
// 审批通过:流转到提交执行结果节点
log.info("[CHANGE_SUB_FLOW_EXE] 审批通过,subFlowId:{}", subFlowId);
execParamMap.put("type", 1);
execParamMap.put("type", FlowTransitionType.TYPE_APPROVED);
// 提交到提交执行结果节点
execNodeId = flowService.submitFlowWithParamMap(subFlowId, flowDataDTO, uid,
......@@ -357,7 +358,7 @@ public class ChangeSubFlowBiz {
}
subFlowRecord.setRejectReason(execRejectReason);
log.info("[CHANGE_SUB_FLOW_EXE] 审批不通过,subFlowId:{}, rejectReason:{}", subFlowId, execRejectReason);
execParamMap.put("type", 2);
execParamMap.put("type", FlowTransitionType.TYPE_REJECTED);
// 提交到确认行动方案节点
execNodeId = flowService.submitFlowWithParamMap(subFlowId, flowDataDTO, uid,
......
package com.netease.mail.yanxuan.change.common.constants;
/**
* 工单流转类型常量
* 用于 paramMap 中的 type 参数,控制 topo 图的流转方向
*
* @Author AI Assistant
* @Date 2025/01/04
*/
public class FlowTransitionType {
/**
* 类型1:审批通过/前进到下一节点/需要审批
*/
public static final Integer TYPE_APPROVED = 1;
/**
* 类型2:审批不通过/回退/不需要审批(跳过)
*/
public static final Integer TYPE_REJECTED = 2;
/**
* 类型3:回退到确认变更方案节点(主单审批不通过专用)
*/
public static final Integer TYPE_BACK_TO_CONFIRM_PLAN = 3;
private FlowTransitionType() {
// 工具类,禁止实例化
}
}
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