|
@@ -5,6 +5,7 @@ import cn.iocoder.yudao.module.bpm.api.task.dto.BpmProcessInstanceCreateReqDTO;
|
|
|
import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.instance.BpmProcessInstanceCancelReqVO;
|
|
import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.instance.BpmProcessInstanceCancelReqVO;
|
|
|
import cn.iocoder.yudao.module.bpm.dal.dataobject.business.BpmBusinessFormDO;
|
|
import cn.iocoder.yudao.module.bpm.dal.dataobject.business.BpmBusinessFormDO;
|
|
|
import cn.iocoder.yudao.module.bpm.dal.mysql.business.BpmBusinessFormMapper;
|
|
import cn.iocoder.yudao.module.bpm.dal.mysql.business.BpmBusinessFormMapper;
|
|
|
|
|
+import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceStatusEnum;
|
|
|
import cn.iocoder.yudao.module.bpm.framework.flowable.core.enums.BpmnVariableConstants;
|
|
import cn.iocoder.yudao.module.bpm.framework.flowable.core.enums.BpmnVariableConstants;
|
|
|
import cn.iocoder.yudao.module.bpm.framework.flowable.core.util.FlowableUtils;
|
|
import cn.iocoder.yudao.module.bpm.framework.flowable.core.util.FlowableUtils;
|
|
|
import cn.iocoder.yudao.module.bpm.service.task.BpmProcessInstanceCopyService;
|
|
import cn.iocoder.yudao.module.bpm.service.task.BpmProcessInstanceCopyService;
|
|
@@ -119,11 +120,17 @@ public class BpmProcessInstanceApiImpl implements BpmProcessInstanceApi {
|
|
|
if (processInstanceId == null || processInstanceId.isEmpty()) {
|
|
if (processInstanceId == null || processInstanceId.isEmpty()) {
|
|
|
return Boolean.FALSE;
|
|
return Boolean.FALSE;
|
|
|
}
|
|
}
|
|
|
|
|
+ String deleteReason = reason == null ? "" : reason;
|
|
|
|
|
+ if (processInstanceService.getProcessInstance(processInstanceId) != null) {
|
|
|
|
|
+ runtimeService.setVariable(processInstanceId, BpmnVariableConstants.PROCESS_INSTANCE_VARIABLE_STATUS,
|
|
|
|
|
+ BpmProcessInstanceStatusEnum.CANCEL.getStatus());
|
|
|
|
|
+ runtimeService.setVariable(processInstanceId, BpmnVariableConstants.PROCESS_INSTANCE_VARIABLE_REASON, deleteReason);
|
|
|
|
|
+ runtimeService.deleteProcessInstance(processInstanceId, deleteReason);
|
|
|
|
|
+ }
|
|
|
processInstanceCopyService.deleteProcessInstanceCopy(processInstanceId);
|
|
processInstanceCopyService.deleteProcessInstanceCopy(processInstanceId);
|
|
|
notifyMessageSendApi.deleteByPkMessage(processInstanceId);
|
|
notifyMessageSendApi.deleteByPkMessage(processInstanceId);
|
|
|
businessFormMapper.delete(new LambdaQueryWrapperX<BpmBusinessFormDO>()
|
|
businessFormMapper.delete(new LambdaQueryWrapperX<BpmBusinessFormDO>()
|
|
|
.eq(BpmBusinessFormDO::getProcessInstanceId, processInstanceId));
|
|
.eq(BpmBusinessFormDO::getProcessInstanceId, processInstanceId));
|
|
|
- runtimeService.deleteProcessInstance(processInstanceId, reason == null ? "" : reason);
|
|
|
|
|
historyService.deleteHistoricProcessInstance(processInstanceId);
|
|
historyService.deleteHistoricProcessInstance(processInstanceId);
|
|
|
return Boolean.TRUE;
|
|
return Boolean.TRUE;
|
|
|
}
|
|
}
|