From d7c40f4e7263de4a6721e29f803d49a62968066b Mon Sep 17 00:00:00 2001 From: lijiarao Date: Fri, 2 Feb 2024 14:36:44 +0800 Subject: [PATCH] =?UTF-8?q?fix=2081381=20=E6=B3=95=E8=A7=84=E5=90=88?= =?UTF-8?q?=E8=A7=84=E8=AF=84=E4=BC=B0=E6=B5=81=E7=A8=8B-=E5=85=A8?= =?UTF-8?q?=E9=83=A8=E4=B8=8D=E6=B6=89=E5=8F=8A=E7=9A=84=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E9=A9=B3=E5=9B=9E=EF=BC=8C=E9=A9=B3=E5=9B=9E=E8=8A=82=E7=82=B9?= =?UTF-8?q?=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../listener/MyGlobalEventListener.java | 3 ++ .../service/ProcessProjectAssessService.java | 5 ++- .../ProcessProjectStandardService.java | 35 +++++++++++++------ 3 files changed, 29 insertions(+), 14 deletions(-) diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/listener/MyGlobalEventListener.java b/laws-modules/src/main/java/com/jero/modules/activiti/listener/MyGlobalEventListener.java index 51c5d03b..e77f7a11 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/listener/MyGlobalEventListener.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/listener/MyGlobalEventListener.java @@ -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); diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/projectassess/service/ProcessProjectAssessService.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/projectassess/service/ProcessProjectAssessService.java index c6919bce..86438917 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/projectassess/service/ProcessProjectAssessService.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/projectassess/service/ProcessProjectAssessService.java @@ -1007,11 +1007,10 @@ public class ProcessProjectAssessService extends ServiceImpl 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 { diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/projectstandard/service/ProcessProjectStandardService.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/projectstandard/service/ProcessProjectStandardService.java index a5b339cb..3de5dd65 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/projectstandard/service/ProcessProjectStandardService.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/projectstandard/service/ProcessProjectStandardService.java @@ -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 termList = termMapper.getByModuleOwnerAutoComplete(projectId, assignee, executionParentId); - List designEngineerIds = termList.stream() - .map(ProcessProjectStandardTerm::getDesignEngineer) - .distinct() - .collect(Collectors.toList()); - ThreadLocalUtil.put(ProcessProjectAssessCommon.EXECUTION_ID,executionParentId); Map 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 termList = termMapper.getByModuleOwnerAutoComplete(projectId, assignee, executionParentId); + List 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(); + } /**