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

This commit is contained in:
2024-02-07 17:59:18 +08:00
parent fec7454cb5
commit 6ca2e3c7cc
2 changed files with 40 additions and 4 deletions
@@ -0,0 +1,31 @@
package com.jero.modules.activiti.process.esAnnualInit.listener;
import com.jero.modules.activiti.util.ThreadLocalUtil;
import lombok.extern.slf4j.Slf4j;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
import org.springframework.stereotype.Component;
/**
* @author: Mzaxd
* @Date: 2023/10/10 14:14
*/
@Slf4j
@Component("mainDraftWriteCreateListener")
public class MainDraftWriteCreateListener implements TaskListener {
/**
* 流程结束之后需要把数据存入企标计划数据库
*
* @param delegateTask task
*/
@Override
public void notify(DelegateTask delegateTask) {
String parentExecutionId = (String) ThreadLocalUtil.get("parentExecutionId");
delegateTask.setVariableLocal("parentExecutionId", parentExecutionId);
ThreadLocalUtil.remove();
}
}
@@ -27,6 +27,7 @@ import com.jero.modules.activiti.service.ProcessAllService;
import com.jero.modules.activiti.service.ProcessApprovalRecordService;
import com.jero.modules.activiti.service.ProcessNodeLinkService;
import com.jero.modules.activiti.util.ExcelUtils;
import com.jero.modules.activiti.util.ThreadLocalUtil;
import com.jero.modules.laws.common.util.ImportUtil;
import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard;
import com.jero.modules.laws.standard.service.ILawsEnterpriseStandardService;
@@ -196,10 +197,6 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
actFlowCommonService.saveFirstNodeDraft(commonVO, ProcessTypeEnum.ES_ANNUAL_INIT, annualInitData);
}
public void startRunTask(AnnualInitDataVO annualInitData) {
// do nothing now
}
public Map<String, Object> setVariables(AnnualInitDataVO annualInitData) {
Map<String, Object> actVariables = new HashMap<>();
Map<String, Object> flowUser = annualInitData.getFlowUser();
@@ -254,6 +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");
switch (taskName) {
case CONTACT_USER_SELECT:
case MAIN_DRAFT_LEADER_APPROVAL_DISTRIBUTE:
@@ -267,6 +265,7 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
break;
case MAIN_DRAFT_WRITE:
wrapper.eq(ProcessEsAnnualInit::getPrcMainDraftUser, userId);
wrapper.eq(ProcessEsAnnualInit::getExecutionId, parentExecutionId);
break;
case STANDARD_ENGINEER_COLLECT:
// do nothing now
@@ -306,6 +305,7 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
AnnualInitDataVO handleData = this.getHandleData(taskId);
List<ProcessEsAnnualInit> dbDataList = handleData.getDataList();
String curUserId = UserUtils.getUserId();
String contactUser = (String) runtimeService.getVariableLocal(executionId, "contactUser");
switch (taskName) {
case STANDARD_ENGINEER_INIT:
@@ -340,12 +340,17 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
dataList.forEach(data -> data.setExecutionId(executionId));
saveOrUpdateBatch(dataList);
taskService.setVariable(taskId, "mainDraftUserList", mainDraftUserSet);
ThreadLocalUtil.put("parentExecutionId", executionId);
// 保存人员
userMap.put("mainDraftUserList", String.join(",", mainDraftUserSet));
processNodeLinkService.incrementSaveNodeUserLink(processDefinitionId, processInstanceId, userMap);
} else {
// 找到对应数据,然后设置驳回标志位
dbDataList.forEach(d -> d.setRejectFlag(YesOrNoEnum.YES.getValue()));
runtimeService.setVariable(executionId, "contactEditUser", contactUser);
// 保存人员
userMap.put("contactEditUser", contactUser);
processNodeLinkService.incrementSaveNodeUserLink(processDefinitionId, processInstanceId, userMap);
updateBatchById(dbDataList);
}
// 转办