Commit 3ad7df1f by 王志超

feat: 终止变更无需填写取消原因

parent 3cc96765
Pipeline #86989 passed with stages
in 1 minute 34 seconds
......@@ -980,15 +980,19 @@ public class ChangeFlowBiz {
// 构建提交内容
Map<String, Object> subFlowContent = buildFlowContent(FlowOperationTypeEnum.REFUSE);
// 流转子工单到结束节点
String subFlowCancelNodeId = flowService.submitFlow(subFlowRecord.getSubFlowId(), subFlowDataDTO, uid,
ChangeFlowEnum.CHANGE_SUB_FLOW.getTopoId(), JSON.toJSONString(subFlowContent), false,
// 流转子工单到结束节点,使用 paramMap 方式,type=2 表示取消
Map<String, Object> cancelParamMap = new HashMap<>();
cancelParamMap.put("type", FlowTransitionType.TYPE_CANCEL);
String subFlowCancelNodeId = flowService.submitFlowWithParamMap(subFlowRecord.getSubFlowId(), subFlowDataDTO, uid,
ChangeFlowEnum.CHANGE_SUB_FLOW.getTopoId(), JSON.toJSONString(subFlowContent), cancelParamMap,
FlowxOperationEnum.CANCEL.getName(), "主工单取消,取消行动工单", subFlowRecord.getCreateTime());
// 更新子工单状态为已取消
subFlowRecord.setSubFlowNode(subFlowCancelNodeId);
subFlowRecord.setStatus(ChangeSubFlowStatusEnum.CANCELLED.getStatus());
subFlowRecord.setCancelReason("主工单取消:" + cancelReason);
// 处理 cancelReason 为 null 的情况(终止变更时可能为 null)
String cancelReasonText = StringUtils.isNotBlank(cancelReason) ? cancelReason : "";
subFlowRecord.setCancelReason("主工单取消:" + cancelReasonText);
subFlowRecord.setUpdateTime(DateUtils.getCurrentTime());
changeSubFlowRecordService.update(subFlowRecord);
......
......@@ -476,9 +476,11 @@ public class ChangeSubFlowBiz {
private String handleSubFlowFinish(ChangeSubFlowRecord subFlowRecord, ChangeSubFlowSubmitReq req,
FlowDataDTO flowDataDTO, String uid, Object content, ChangeResultEnum resultStatus,
String oldNodeId, String oldNodeName) {
// 提交子单流程到结束节点
String endNodeId = flowService.submitFlow(subFlowRecord.getSubFlowId(), flowDataDTO, uid,
ChangeFlowEnum.CHANGE_SUB_FLOW.getTopoId(), JSON.toJSONString(content), true,
// 提交子单流程到结束节点,使用 paramMap 方式,type=1 表示通过
Map<String, Object> finishParamMap = new HashMap<>();
finishParamMap.put("type", FlowTransitionType.TYPE_APPROVED);
String endNodeId = flowService.submitFlowWithParamMap(subFlowRecord.getSubFlowId(), flowDataDTO, uid,
ChangeFlowEnum.CHANGE_SUB_FLOW.getTopoId(), JSON.toJSONString(content), finishParamMap,
FlowxOperationEnum.SUBMIT.getName(), "提交执行结果", subFlowRecord.getCreateTime());
// 更新子单状态为FINISHED
......@@ -517,9 +519,11 @@ public class ChangeSubFlowBiz {
// 2. 保存取消原因
subFlowRecord.setCancelReason(req.getCancelReason());
// 3. 提交子单流程到结束节点
String cancelNodeId = flowService.submitFlow(subFlowRecord.getSubFlowId(), flowDataDTO, uid,
ChangeFlowEnum.CHANGE_SUB_FLOW.getTopoId(), JSON.toJSONString(content), true,
// 3. 提交子单流程到结束节点,使用 paramMap 方式,type=1 表示通过
Map<String, Object> cancelParamMap = new HashMap<>();
cancelParamMap.put("type", FlowTransitionType.TYPE_APPROVED);
String cancelNodeId = flowService.submitFlowWithParamMap(subFlowRecord.getSubFlowId(), flowDataDTO, uid,
ChangeFlowEnum.CHANGE_SUB_FLOW.getTopoId(), JSON.toJSONString(content), cancelParamMap,
FlowxOperationEnum.SUBMIT.getName(), "取消工单", subFlowRecord.getCreateTime());
// 5. 更新子单状态为CANCELLED
......
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