fix: 81873 年度制修订计划(标准化发起)--不同的主起草单位主管级领导审批下发,相同的主起草人填写信息,第2个处理的待办数据合并了

This commit is contained in:
2024-02-22 17:02:18 +08:00
parent 32f44760ce
commit 04208ff900
2 changed files with 6 additions and 3 deletions
@@ -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<ProcessEsAnnualInit> wrapper = new LambdaQueryWrapper<>();
@@ -39,6 +43,5 @@ public class MainDraftLeaderDistributeCreateListener implements TaskListener {
List<ProcessEsAnnualInit> list = annualInitService.list(wrapper);
list.forEach(l -> l.setExecutionId(executionId));
annualInitService.updateBatchById(list);
ThreadLocalUtil.remove();
}
}
@@ -323,7 +323,7 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
processNodeLinkService.incrementSaveNodeUserLink(processDefinitionId, processInstanceId, userMap);
dataList.forEach(data -> data.setExecutionId(executionId));
saveOrUpdateBatch(dataList);
ThreadLocalUtil.put("contactExecutionId", executionId);
taskService.setVariable(taskId, "contactExecutionId", executionId);
} else {
// 找到所有被驳回的数据,发起新流程
annualInitData.setDataList(dbDataList);