Commit 78799462 by 王志超

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

parent 3ad7df1f
Pipeline #86994 passed with stages
in 1 minute 21 seconds
......@@ -890,7 +890,7 @@ public class ChangeFlowBiz {
log.info("[cancel] flowId:{}, nextNodeId:{}, operationType:{}", flowId, nextNodeId, operationType);
// 填充更新数据
changeRecord.setFlowNode(nextNodeId);
changeRecord.setState(ChangeStatusEnum.CANCEL.getStatus());
changeRecord.setState(ChangeStatusEnum.CANCELLED.getStatus());
changeRecord.setCancelReason(req.getCancelReason());
changeRecord.setUpdateTime(DateUtils.getCurrentTime());
......@@ -900,7 +900,7 @@ public class ChangeFlowBiz {
// 立即更新主工单状态,确保状态正确,不被后续邮件服务阻塞
Boolean updateResult = changeFlowService.updateRecord(changeRecord);
log.info("[cancel] 主工单状态已更新,flowId:{}, state:{}, updateResult:{}", flowId,
ChangeStatusEnum.CANCEL.getStatus(), updateResult);
ChangeStatusEnum.CANCELLED.getStatus(), updateResult);
try {
Map<String, Object> cancelMap = new HashMap<>();
......@@ -990,9 +990,14 @@ public class ChangeFlowBiz {
// 更新子工单状态为已取消
subFlowRecord.setSubFlowNode(subFlowCancelNodeId);
subFlowRecord.setStatus(ChangeSubFlowStatusEnum.CANCELLED.getStatus());
// 处理 cancelReason 为 null 的情况(终止变更时可能为 null)
String cancelReasonText = StringUtils.isNotBlank(cancelReason) ? cancelReason : "";
subFlowRecord.setCancelReason("主工单取消:" + cancelReasonText);
// 判断主单是取消还是终止:有 cancelReason 是取消,没有是终止
if (StringUtils.isNotBlank(cancelReason)) {
// 主工单取消:显示"变更工单取消:取消原因"
subFlowRecord.setCancelReason("主工单取消:" + cancelReason);
} else {
// 主工单终止
subFlowRecord.setCancelReason("");
}
subFlowRecord.setUpdateTime(DateUtils.getCurrentTime());
changeSubFlowRecordService.update(subFlowRecord);
......
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