diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/listener/MainDraftLeaderDistributeCreateListener.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/listener/MainDraftLeaderDistributeCreateListener.java index 48f5149a..2ba7df09 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/listener/MainDraftLeaderDistributeCreateListener.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/listener/MainDraftLeaderDistributeCreateListener.java @@ -5,6 +5,7 @@ import com.jero.modules.activiti.process.esAnnualInit.entity.ProcessEsAnnualInit import com.jero.modules.activiti.process.esAnnualInit.service.impl.ProcessEsAnnualInitServiceImpl; import com.jero.modules.activiti.util.ThreadLocalUtil; 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; @@ -23,6 +24,9 @@ public class MainDraftLeaderDistributeCreateListener implements TaskListener { @Resource private ProcessEsAnnualInitServiceImpl annualInitService; + @Resource + private TaskService taskService; + /** * 流程结束之后需要把数据存入企标计划数据库 * @@ -30,7 +34,7 @@ public class MainDraftLeaderDistributeCreateListener implements TaskListener { */ @Override public void notify(DelegateTask delegateTask) { - String contactExecutionId = (String) ThreadLocalUtil.get("contactExecutionId"); + String contactExecutionId = (String) taskService.getVariable(delegateTask.getId(), "contactExecutionId"); String executionId = delegateTask.getExecutionId(); String approvalUser = (String) delegateTask.getVariable("approvalUser"); LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); @@ -39,6 +43,5 @@ public class MainDraftLeaderDistributeCreateListener implements TaskListener { List list = annualInitService.list(wrapper); list.forEach(l -> l.setExecutionId(executionId)); annualInitService.updateBatchById(list); - 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 80b58f11..be516b56 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 @@ -323,7 +323,7 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl data.setExecutionId(executionId)); saveOrUpdateBatch(dataList); - ThreadLocalUtil.put("contactExecutionId", executionId); + taskService.setVariable(taskId, "contactExecutionId", executionId); } else { // 找到所有被驳回的数据,发起新流程 annualInitData.setDataList(dbDataList);