diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/listener/MainDraftWriteCreateListener.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/listener/MainDraftWriteCreateListener.java new file mode 100644 index 00000000..2cc4bb19 --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/listener/MainDraftWriteCreateListener.java @@ -0,0 +1,31 @@ +package com.jero.modules.activiti.process.esAnnualInit.listener; + +import com.jero.modules.activiti.util.ThreadLocalUtil; +import lombok.extern.slf4j.Slf4j; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import org.springframework.stereotype.Component; + + + +/** + * @author: Mzaxd + * @Date: 2023/10/10 14:14 + */ +@Slf4j +@Component("mainDraftWriteCreateListener") +public class MainDraftWriteCreateListener implements TaskListener { + + + /** + * 流程结束之后需要把数据存入企标计划数据库 + * + * @param delegateTask task + */ + @Override + public void notify(DelegateTask delegateTask) { + String parentExecutionId = (String) ThreadLocalUtil.get("parentExecutionId"); + delegateTask.setVariableLocal("parentExecutionId", parentExecutionId); + ThreadLocalUtil.remove(); + } +} diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/service/impl/ProcessEsAnnualInitServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/service/impl/ProcessEsAnnualInitServiceImpl.java index 6c3feb06..0b594236 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/service/impl/ProcessEsAnnualInitServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/service/impl/ProcessEsAnnualInitServiceImpl.java @@ -27,6 +27,7 @@ import com.jero.modules.activiti.service.ProcessAllService; import com.jero.modules.activiti.service.ProcessApprovalRecordService; import com.jero.modules.activiti.service.ProcessNodeLinkService; import com.jero.modules.activiti.util.ExcelUtils; +import com.jero.modules.activiti.util.ThreadLocalUtil; import com.jero.modules.laws.common.util.ImportUtil; import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard; import com.jero.modules.laws.standard.service.ILawsEnterpriseStandardService; @@ -196,10 +197,6 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl setVariables(AnnualInitDataVO annualInitData) { Map actVariables = new HashMap<>(); Map flowUser = annualInitData.getFlowUser(); @@ -254,6 +251,7 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl wrapper = new LambdaQueryWrapper<>(); Task task = taskService.createTaskQuery().taskId(taskId).singleResult(); String taskName = task.getName(); + String parentExecutionId = (String) taskService.getVariableLocal(taskId, "parentExecutionId"); switch (taskName) { case CONTACT_USER_SELECT: case MAIN_DRAFT_LEADER_APPROVAL_DISTRIBUTE: @@ -267,6 +265,7 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl dbDataList = handleData.getDataList(); String curUserId = UserUtils.getUserId(); + String contactUser = (String) runtimeService.getVariableLocal(executionId, "contactUser"); switch (taskName) { case STANDARD_ENGINEER_INIT: @@ -340,12 +340,17 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl data.setExecutionId(executionId)); saveOrUpdateBatch(dataList); taskService.setVariable(taskId, "mainDraftUserList", mainDraftUserSet); + ThreadLocalUtil.put("parentExecutionId", executionId); // 保存人员 userMap.put("mainDraftUserList", String.join(",", mainDraftUserSet)); processNodeLinkService.incrementSaveNodeUserLink(processDefinitionId, processInstanceId, userMap); } else { // 找到对应数据,然后设置驳回标志位 dbDataList.forEach(d -> d.setRejectFlag(YesOrNoEnum.YES.getValue())); + runtimeService.setVariable(executionId, "contactEditUser", contactUser); + // 保存人员 + userMap.put("contactEditUser", contactUser); + processNodeLinkService.incrementSaveNodeUserLink(processDefinitionId, processInstanceId, userMap); updateBatchById(dbDataList); } // 转办