fix: 标准化发起流程主起草人填写信息节点丢数据BUG
This commit is contained in:
+9
-3
@@ -2,10 +2,14 @@ package com.jero.modules.activiti.process.esAnnualInit.listener;
|
||||
|
||||
import com.jero.modules.activiti.util.ThreadLocalUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.activiti.engine.RuntimeService;
|
||||
import org.activiti.engine.TaskService;
|
||||
import org.activiti.engine.delegate.DelegateTask;
|
||||
import org.activiti.engine.delegate.TaskListener;
|
||||
import org.activiti.engine.runtime.Execution;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
|
||||
/**
|
||||
@@ -16,6 +20,9 @@ import org.springframework.stereotype.Component;
|
||||
@Component("mainDraftWriteCreateListener")
|
||||
public class MainDraftWriteCreateListener implements TaskListener {
|
||||
|
||||
@Resource
|
||||
private TaskService taskService;
|
||||
|
||||
|
||||
/**
|
||||
* 流程结束之后需要把数据存入企标计划数据库
|
||||
@@ -24,8 +31,7 @@ public class MainDraftWriteCreateListener implements TaskListener {
|
||||
*/
|
||||
@Override
|
||||
public void notify(DelegateTask delegateTask) {
|
||||
String parentExecutionId = (String) ThreadLocalUtil.get("parentExecutionId");
|
||||
delegateTask.setVariableLocal("parentExecutionId", parentExecutionId);
|
||||
ThreadLocalUtil.remove();
|
||||
String parentExecutionId = (String) taskService.getVariable(delegateTask.getId(), "parentExecutionId");
|
||||
delegateTask.setVariable("parentExecutionId", parentExecutionId);
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -251,7 +251,7 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
|
||||
LambdaQueryWrapper<ProcessEsAnnualInit> wrapper = new LambdaQueryWrapper<>();
|
||||
Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
|
||||
String taskName = task.getName();
|
||||
String parentExecutionId = (String) taskService.getVariableLocal(taskId, "parentExecutionId");
|
||||
String parentExecutionId = (String) taskService.getVariable(taskId, "parentExecutionId");
|
||||
switch (taskName) {
|
||||
case CONTACT_USER_SELECT:
|
||||
case MAIN_DRAFT_LEADER_APPROVAL_DISTRIBUTE:
|
||||
@@ -341,7 +341,7 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
|
||||
dataList.forEach(data -> data.setExecutionId(executionId));
|
||||
saveOrUpdateBatch(dataList);
|
||||
taskService.setVariable(taskId, "mainDraftUserList", mainDraftUserSet);
|
||||
ThreadLocalUtil.put("parentExecutionId", executionId);
|
||||
taskService.setVariable(taskId, "parentExecutionId", executionId);
|
||||
// 保存人员
|
||||
userMap.put("mainDraftUserList", String.join(",", mainDraftUserSet));
|
||||
processNodeLinkService.incrementSaveNodeUserLink(processDefinitionId, processInstanceId, userMap);
|
||||
|
||||
Reference in New Issue
Block a user