fix: 81873 年度制修订计划(标准化发起)--不同的主起草单位主管级领导审批下发,相同的主起草人填写信息,第2个处理的待办数据合并了
This commit is contained in:
+31
@@ -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();
|
||||
}
|
||||
}
|
||||
+9
-4
@@ -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);
|
||||
}
|
||||
// 转办
|
||||
|
||||
Reference in New Issue
Block a user