diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esRevision/listener/AdviceCreateListener.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esRevision/listener/AdviceCreateListener.java new file mode 100644 index 00000000..9eb65997 --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esRevision/listener/AdviceCreateListener.java @@ -0,0 +1,29 @@ +package com.jero.modules.activiti.process.esRevision.listener; + +import lombok.extern.slf4j.Slf4j; +import org.activiti.engine.TaskService; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; + + +/** + * @author: Mzaxd + * @Date: 2023/10/10 14:14 + */ +@Slf4j +@Component("adviceCreateListener") +public class AdviceCreateListener implements TaskListener { + + @Resource + private TaskService taskService; + + + @Override + public void notify(DelegateTask delegateTask) { + String parentExecutionId = (String) taskService.getVariable(delegateTask.getId(), "contactExecutionId"); + delegateTask.setVariable(delegateTask.getExecutionId() + "-ContactExecutionId", parentExecutionId); + } +} diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esRevision/service/impl/EsRevisionServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esRevision/service/impl/EsRevisionServiceImpl.java index 2842cba3..be7a3eeb 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esRevision/service/impl/EsRevisionServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esRevision/service/impl/EsRevisionServiceImpl.java @@ -361,6 +361,7 @@ public class EsRevisionServiceImpl extends ServiceImpl contactWrapper = new LambdaQueryWrapper<>(); + advicesWrapper.eq(EsRevisionAdvice::getExecutionId, executionId); contactWrapper.eq(LawsContactManage::getContactId, userId); List list = contactManageService.list(contactWrapper); if (list != null && !list.isEmpty()) { @@ -519,7 +520,7 @@ public class EsRevisionServiceImpl extends ServiceImpl adviceUserList = Arrays.asList(workGroup.split(",")); runtimeService.setVariable(executionId, "adviceUserList", adviceUserList); runtimeService.setVariable(executionId, executionId + "-adviceDeadline", data.getAdviceDeadline()); - runtimeService.setVariable(executionId, contactUser + "-ExecutionId", executionId); + runtimeService.setVariable(executionId, "contactExecutionId", executionId); userMap.put("adviceUserList", workGroup); processNodeLinkService.incrementSaveNodeUserLink(processDefinitionId, processInstanceId, userMap); // 设置截止时间 @@ -530,7 +531,7 @@ public class EsRevisionServiceImpl extends ServiceImpl advice.setCreateUserId(userId)); advices.forEach(advice -> advice.setProcessInstanceId(processInstanceId)); - String contactUserExecutionId = (String) runtimeService.getVariable(executionId, contactUser + "-ExecutionId"); + String contactUserExecutionId = (String) runtimeService.getVariable(executionId, executionId + "-ContactExecutionId"); advices.forEach(advice -> advice.setExecutionId(contactUserExecutionId)); adviceService.saveBatch(advices); break;