fix 81381 法规合规评估流程-全部不涉及的数据驳回,驳回节点错误

This commit is contained in:
lijiarao
2024-02-02 14:36:58 +08:00
parent a5e8fe0c8f
commit d7c40f4e72
3 changed files with 29 additions and 14 deletions
@@ -109,6 +109,7 @@ public class MyGlobalEventListener implements ActivitiEventListener {
log.info("===================任务创建事件===================");
ActivitiEntityEventImpl activitiEntityEvent = (ActivitiEntityEventImpl) event;
TaskEntity delegateTask = (TaskEntity) activitiEntityEvent.getEntity();
ExecutionEntity execution = delegateTask.getExecution();
//任务创建时,清除pass
delegateTask.removeVariable("pass");
//流程审批信息
@@ -119,6 +120,7 @@ public class MyGlobalEventListener implements ActivitiEventListener {
log.info("taskEntity.getAssignee() = " + delegateTask.getAssignee());
log.info("taskEntity.getIdentityLinks() = " + delegateTask.getIdentityLinks());
log.info("taskEntity.getVariables() = " + delegateTask.getVariables());
log.info("execution.getActivityId() = " + execution.getActivityId());
String id = delegateTask.getId();
String name = delegateTask.getName();
@@ -173,6 +175,7 @@ public class MyGlobalEventListener implements ActivitiEventListener {
log.info("name = " + delegateTask.getName());
log.info("taskEntity.getAssignee() = " + delegateTask.getAssignee());
log.info("taskEntity.getIdentityLinks() = " + delegateTask.getIdentityLinks());
log.info("execution.getActivityId() = " + execution.getActivityId());
log.info("taskEntity.getVariables() = " + delegateTask.getVariables());
//流程审批信息转办
ProcessApprovalRecordService recordService = SpringContextUtil.getBean(ProcessApprovalRecordService.class);
@@ -1007,11 +1007,10 @@ public class ProcessProjectAssessService extends ServiceImpl<ProcessProjectAsses
//delegateTask.setVariableLocal(ProcessProjectAssessCommon.EXECUTION_ID,parentExecutionId);
delegateTask.setFormKey(parentExecutionId);
if ("123".equals(delegateTask.getAssignee())) {
runtimeService.setVariable(delegateTask.getExecutionId(),ProcessProjectAssessCommon.SKIP,true);
if (!delegateTask.getName().contains("自动")) {
Map<String, Object> variables = new HashMap<>();
variables.put(ProcessProjectAssessCommon.SKIP, true);
variables.put(ProcessProjectAssessCommon.PASS, false);
//variables.put(ProcessProjectAssessCommon.SKIP, true);
variables.put(ProcessProjectAssessCommon.PASS, true);
taskService.complete(delegateTask.getId(), variables);
}
}else {
@@ -50,7 +50,9 @@ import com.jero.modules.projectLibrary.service.ILawsSpecialProjectLibraryService
import com.jero.modules.projectLibrary.vo.DecompositionOrderSourceVO;
import com.jero.modules.split.entity.SarFileSplitInfoEO;
import com.jero.modules.split.service.ISarFileSplitInfoService;
import org.activiti.engine.RuntimeService;
import org.activiti.engine.TaskService;
import org.activiti.engine.delegate.DelegateExecution;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.task.Task;
import org.apache.commons.lang3.StringUtils;
@@ -66,6 +68,8 @@ import javax.annotation.Resource;
import java.util.*;
import java.util.stream.Collectors;
import static org.apache.tools.ant.taskdefs.SetPermissions.NonPosixMode.pass;
/**
*
*@author liJiaRao
@@ -84,6 +88,8 @@ public class ProcessProjectStandardService extends ServiceImpl<ProcessProjectSta
@Resource
private ISysBaseAPI sysBaseAPI;
@Resource
private RuntimeService runtimeService;
@Resource
private TaskService taskService;
@Resource
private IProcessHandleService processHandleService;
@@ -1041,20 +1047,27 @@ public class ProcessProjectStandardService extends ServiceImpl<ProcessProjectSta
public void autoComplete(DelegateTask delegateTask) {
String assignee = delegateTask.getAssignee();
String executionParentId = delegateTask.getFormKey();
String processInstanceId = delegateTask.getProcessInstanceId();
ProcessAll processAll = processAllService.getByProcessInstanceId(processInstanceId);
String projectId = processAll.getProjectId();
List<ProcessProjectStandardTerm> termList = termMapper.getByModuleOwnerAutoComplete(projectId, assignee, executionParentId);
List<String> designEngineerIds = termList.stream()
.map(ProcessProjectStandardTerm::getDesignEngineer)
.distinct()
.collect(Collectors.toList());
ThreadLocalUtil.put(ProcessProjectAssessCommon.EXECUTION_ID,executionParentId);
Map<String, Object> variables = new HashMap<>();
variables.put(ProcessProjectStandardCommon.DESIGN_ENGINEER_LIST, designEngineerIds);
if ("123".equals(assignee)){
DelegateExecution execution = delegateTask.getExecution();
runtimeService.setVariable(execution.getId(), ProcessProjectAssessCommon.SKIP, true);
variables.put(ProcessProjectAssessCommon.SKIP, true);
}else {
String executionParentId = delegateTask.getFormKey();
String processInstanceId = delegateTask.getProcessInstanceId();
ProcessAll processAll = processAllService.getByProcessInstanceId(processInstanceId);
String projectId = processAll.getProjectId();
List<ProcessProjectStandardTerm> termList = termMapper.getByModuleOwnerAutoComplete(projectId, assignee, executionParentId);
List<String> designEngineerIds = termList.stream()
.map(ProcessProjectStandardTerm::getDesignEngineer)
.distinct()
.collect(Collectors.toList());
ThreadLocalUtil.put(ProcessProjectAssessCommon.EXECUTION_ID,executionParentId);
variables.put(ProcessProjectStandardCommon.DESIGN_ENGINEER_LIST, designEngineerIds);
}
taskService.complete(delegateTask.getId(),variables);
ThreadLocalUtil.remove();
}
/**