fix: 年度制修订两个分支的数据被合并

This commit is contained in:
2024-02-20 11:16:24 +08:00
parent c1adbfc9f4
commit 03bb49538c
2 changed files with 5 additions and 0 deletions
@@ -3,6 +3,7 @@ package com.jero.modules.activiti.process.esAnnualInit.listener;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
@@ -29,12 +30,15 @@ public class MainDraftLeaderDistributeCreateListener implements TaskListener {
*/
@Override
public void notify(DelegateTask delegateTask) {
String contactExecutionId = (String) ThreadLocalUtil.get("contactExecutionId");
String executionId = delegateTask.getExecutionId();
String approvalUser = (String) delegateTask.getVariable("approvalUser");
LambdaQueryWrapper<ProcessEsAnnualInit> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(ProcessEsAnnualInit::getApprovalUser, approvalUser);
wrapper.eq(ProcessEsAnnualInit::getExecutionId, contactExecutionId);
List<ProcessEsAnnualInit> list = annualInitService.list(wrapper);
list.forEach(l -> l.setExecutionId(executionId));
annualInitService.updateBatchById(list);
ThreadLocalUtil.remove();
}
}
@@ -323,6 +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);
} else {
// 找到所有被驳回的数据,发起新流程
annualInitData.setDataList(dbDataList);