Commit 4070d10c authored by Rensq's avatar Rensq

危险作业取消流程优化

parent 3a3296d2
...@@ -67,6 +67,7 @@ import org.apache.xmlbeans.XmlOptions; ...@@ -67,6 +67,7 @@ import org.apache.xmlbeans.XmlOptions;
import org.flowable.bpmn.model.BpmnModel; import org.flowable.bpmn.model.BpmnModel;
import org.flowable.bpmn.model.EndEvent; import org.flowable.bpmn.model.EndEvent;
import org.flowable.bpmn.model.Process; import org.flowable.bpmn.model.Process;
import org.flowable.common.engine.api.FlowableObjectNotFoundException;
import org.flowable.common.engine.impl.identity.Authentication; import org.flowable.common.engine.impl.identity.Authentication;
import org.flowable.engine.RepositoryService; import org.flowable.engine.RepositoryService;
import org.flowable.engine.RuntimeService; import org.flowable.engine.RuntimeService;
...@@ -1021,6 +1022,7 @@ public class THazardWorkPlanServiceImpl extends SuperServiceImpl<THazardWorkPlan ...@@ -1021,6 +1022,7 @@ public class THazardWorkPlanServiceImpl extends SuperServiceImpl<THazardWorkPlan
@Override @Override
@Transactional(rollbackFor = Exception.class)
public void cancelProcess(CompleteTask completeTask) { public void cancelProcess(CompleteTask completeTask) {
THazardWorkPlan byId = this.getById(completeTask.getBizId()); THazardWorkPlan byId = this.getById(completeTask.getBizId());
Map<String, Object> vars = completeTask.getVars(); Map<String, Object> vars = completeTask.getVars();
...@@ -1029,8 +1031,12 @@ public class THazardWorkPlanServiceImpl extends SuperServiceImpl<THazardWorkPlan ...@@ -1029,8 +1031,12 @@ public class THazardWorkPlanServiceImpl extends SuperServiceImpl<THazardWorkPlan
opinion = (String) vars.get("opinion"); opinion = (String) vars.get("opinion");
} }
//关闭主流程数据 //关闭主流程数据
try {
runtimeService.deleteProcessInstance(byId.getProcessId(), opinion); runtimeService.deleteProcessInstance(byId.getProcessId(), opinion);
ruTaskService.stopProcess(byId.getProcessId()); ruTaskService.stopProcess(byId.getProcessId());
}catch (FlowableObjectNotFoundException e) {
log.error(e.getMessage());
}
cancelChildTasks(completeTask); cancelChildTasks(completeTask);
THazardWorkPlan tHazardWorkPlan = new THazardWorkPlan(); THazardWorkPlan tHazardWorkPlan = new THazardWorkPlan();
tHazardWorkPlan.setId(completeTask.getBizId()); tHazardWorkPlan.setId(completeTask.getBizId());
......
...@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; ...@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.xiaoymin.knife4j.core.util.StrUtil; import com.github.xiaoymin.knife4j.core.util.StrUtil;
import com.testor.common.core.exception.ServiceException;
import com.testor.common.core.utils.StringUtils; import com.testor.common.core.utils.StringUtils;
import com.testor.module.hazard.model.enums.WorkPlanStatusEnum; import com.testor.module.hazard.model.enums.WorkPlanStatusEnum;
import com.testor.module.wf.dao.RuTaskDao; import com.testor.module.wf.dao.RuTaskDao;
...@@ -40,6 +41,7 @@ import org.flowable.task.api.Task; ...@@ -40,6 +41,7 @@ import org.flowable.task.api.Task;
import com.tongtech.tfw.workflow.apis.task.model.dto.*; import com.tongtech.tfw.workflow.apis.task.model.dto.*;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -256,12 +258,13 @@ public class RuTaskServiceImpl implements RuTaskService { ...@@ -256,12 +258,13 @@ public class RuTaskServiceImpl implements RuTaskService {
} }
@Override @Override
@Transactional(rollbackFor = Exception.class)
public void stopProcess(String processInstanceId) { public void stopProcess(String processInstanceId) {
String loginUserId = ContextUtils.getLoginUserId(); String loginUserId = ContextUtils.getLoginUserId();
List<Task> taskList = taskService.createTaskQuery().processInstanceId(processInstanceId).list(); List<Task> taskList = taskService.createTaskQuery().processInstanceId(processInstanceId).list();
if (CollectionUtils.isEmpty(taskList)) { if (CollectionUtils.isEmpty(taskList)) {
throw new RuntimeException("流程未启动或已执行完成,取消申请失败"); throw new ServiceException("流程未启动或已执行完成,取消申请失败");
} }
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery() ProcessInstance processInstance = runtimeService.createProcessInstanceQuery()
......
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