Commit b471dc55c38815cc14a83345aeb84ae111a51fce

Authored by Lesan
1 parent e14716a3

fix: 存在子流程情况下的取消逻辑优化

yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/task/BpmReasonEnum.java
... ... @@ -18,7 +18,7 @@ public enum BpmReasonEnum {
18 18 REJECT_TASK("审批不通过任务,原因:{}"), // 场景:用户审批不通过任务。修改文案时,需要注意 isRejectReason 方法
19 19 CANCEL_PROCESS_INSTANCE_BY_START_USER("用户主动取消流程,原因:{}"), // 场景:用户主动取消流程
20 20 CANCEL_PROCESS_INSTANCE_BY_ADMIN("管理员【{}】取消流程,原因:{}"), // 场景:管理员取消流程
21   - CANCEL_CHILD_PROCESS_INSTANCE_BY_MAIN_PROCESS("子流程自动取消,原因:子流程已取消"),
  21 + CANCEL_CHILD_PROCESS_INSTANCE_BY_MAIN_PROCESS("子流程自动取消,原因:主流程已取消"),
22 22  
23 23 // ========== 流程任务的独有原因 ==========
24 24  
... ...
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmProcessInstanceServiceImpl.java
... ... @@ -853,10 +853,7 @@ public class BpmProcessInstanceServiceImpl implements BpmProcessInstanceService
853 853 BpmProcessInstanceStatusEnum.CANCEL.getStatus());
854 854 runtimeService.setVariable(id, BpmnVariableConstants.PROCESS_INSTANCE_VARIABLE_REASON, reason);
855 855  
856   - // 2. 结束流程
857   - taskService.moveTaskToEnd(id, reason);
858   -
859   - // 3. 取消所有子流程
  856 + // 2. 取消所有子流程
860 857 List<ProcessInstance> subProcessInstances = runtimeService.createProcessInstanceQuery()
861 858 .superProcessInstanceId(id)
862 859 .list();
... ... @@ -864,6 +861,9 @@ public class BpmProcessInstanceServiceImpl implements BpmProcessInstanceService
864 861 updateProcessInstanceCancel(processInstance.getProcessInstanceId(),
865 862 BpmReasonEnum.CANCEL_CHILD_PROCESS_INSTANCE_BY_MAIN_PROCESS.getReason());
866 863 });
  864 +
  865 + // 3. 结束流程
  866 + taskService.moveTaskToEnd(id, reason);
867 867 }
868 868  
869 869 @Override
... ...