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