Commit 4070d10c authored by Rensq's avatar Rensq

危险作业取消流程优化

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