fix: 81834 年度制修订计划(标准化发起)(部所联络人汇总)不同审批人驳回后,数据合并了
This commit is contained in:
+40
@@ -0,0 +1,40 @@
|
||||
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 lombok.extern.slf4j.Slf4j;
|
||||
import org.activiti.engine.delegate.DelegateTask;
|
||||
import org.activiti.engine.delegate.TaskListener;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author: Mzaxd
|
||||
* @Date: 2023/10/10 14:14
|
||||
*/
|
||||
@Slf4j
|
||||
@Component("contactUserDistributeCreateListener")
|
||||
public class ContactUserDistributeCreateListener implements TaskListener {
|
||||
|
||||
@Resource
|
||||
private ProcessEsAnnualInitServiceImpl annualInitService;
|
||||
|
||||
/**
|
||||
* 流程结束之后需要把数据存入企标计划数据库
|
||||
*
|
||||
* @param delegateTask task
|
||||
*/
|
||||
@Override
|
||||
public void notify(DelegateTask delegateTask) {
|
||||
String executionId = delegateTask.getExecutionId();
|
||||
String contactUser = (String) delegateTask.getVariable("contactUser");
|
||||
LambdaQueryWrapper<ProcessEsAnnualInit> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(ProcessEsAnnualInit::getContactUser, contactUser);
|
||||
List<ProcessEsAnnualInit> list = annualInitService.list(wrapper);
|
||||
list.forEach(l -> l.setExecutionId(executionId));
|
||||
annualInitService.updateBatchById(list);
|
||||
}
|
||||
}
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
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 lombok.extern.slf4j.Slf4j;
|
||||
import org.activiti.engine.delegate.DelegateTask;
|
||||
import org.activiti.engine.delegate.TaskListener;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author: Mzaxd
|
||||
* @Date: 2023/10/10 14:14
|
||||
*/
|
||||
@Slf4j
|
||||
@Component("mainDraftLeaderDistributeCreateListener")
|
||||
public class MainDraftLeaderDistributeCreateListener implements TaskListener {
|
||||
|
||||
@Resource
|
||||
private ProcessEsAnnualInitServiceImpl annualInitService;
|
||||
|
||||
/**
|
||||
* 流程结束之后需要把数据存入企标计划数据库
|
||||
*
|
||||
* @param delegateTask task
|
||||
*/
|
||||
@Override
|
||||
public void notify(DelegateTask delegateTask) {
|
||||
String executionId = delegateTask.getExecutionId();
|
||||
String approvalUser = (String) delegateTask.getVariable("approvalUser");
|
||||
LambdaQueryWrapper<ProcessEsAnnualInit> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(ProcessEsAnnualInit::getApprovalUser, approvalUser);
|
||||
List<ProcessEsAnnualInit> list = annualInitService.list(wrapper);
|
||||
list.forEach(l -> l.setExecutionId(executionId));
|
||||
annualInitService.updateBatchById(list);
|
||||
}
|
||||
}
|
||||
+24
-45
@@ -25,7 +25,6 @@ import com.jero.modules.activiti.process.fb.service.IProcessHandleService;
|
||||
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
|
||||
import com.jero.modules.activiti.service.ProcessAllService;
|
||||
import com.jero.modules.activiti.service.ProcessNodeLinkService;
|
||||
import com.jero.modules.activiti.service.ProcessNodeService;
|
||||
import com.jero.modules.activiti.util.ExcelUtils;
|
||||
import com.jero.modules.laws.common.util.ImportUtil;
|
||||
import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard;
|
||||
@@ -74,9 +73,6 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
|
||||
@Resource
|
||||
private ActFlowCommonService actFlowCommonService;
|
||||
|
||||
@Resource
|
||||
private ProcessNodeService processNodeService;
|
||||
|
||||
@Resource
|
||||
private ProcessNodeLinkService processNodeLinkService;
|
||||
|
||||
@@ -247,33 +243,20 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
|
||||
LambdaQueryWrapper<ProcessEsAnnualInit> wrapper = new LambdaQueryWrapper<>();
|
||||
Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
|
||||
String taskName = task.getName();
|
||||
String contactUser = (String) runtimeService.getVariable(executionId, "contactUser");
|
||||
String approvalUser = (String) runtimeService.getVariable(executionId, "approvalUser");
|
||||
switch (taskName) {
|
||||
case CONTACT_USER_SELECT:
|
||||
wrapper.eq(ProcessEsAnnualInit::getContactUser, userId);
|
||||
break;
|
||||
case MAIN_DRAFT_LEADER_APPROVAL_DISTRIBUTE:
|
||||
wrapper.eq(ProcessEsAnnualInit::getContactUser, contactUser);
|
||||
wrapper.eq(ProcessEsAnnualInit::getApprovalUser, userId);
|
||||
case CONTACT_USER_COLLECT:
|
||||
case MAIN_DRAFT_LEADER_APPROVAL:
|
||||
wrapper.eq(ProcessEsAnnualInit::getExecutionId, executionId);
|
||||
break;
|
||||
case CONTACT_USER_EDIT:
|
||||
wrapper.eq(ProcessEsAnnualInit::getContactUser, contactUser);
|
||||
wrapper.eq(ProcessEsAnnualInit::getRejectFlag, YesOrNoEnum.YES.getValue());
|
||||
wrapper.eq(ProcessEsAnnualInit::getExecutionId, executionId);
|
||||
break;
|
||||
case MAIN_DRAFT_WRITE:
|
||||
wrapper.eq(ProcessEsAnnualInit::getContactUser, contactUser);
|
||||
wrapper.eq(ProcessEsAnnualInit::getPrcMainDraftUser, userId);
|
||||
break;
|
||||
case CONTACT_USER_COLLECT:
|
||||
wrapper.eq(ProcessEsAnnualInit::getContactUser, userId);
|
||||
wrapper.eq(ProcessEsAnnualInit::getExecutionId, executionId);
|
||||
break;
|
||||
case MAIN_DRAFT_LEADER_APPROVAL:
|
||||
wrapper.eq(ProcessEsAnnualInit::getContactUser, contactUser);
|
||||
wrapper.eq(ProcessEsAnnualInit::getApprovalUser, userId);
|
||||
wrapper.eq(ProcessEsAnnualInit::getExecutionId, executionId);
|
||||
break;
|
||||
case STANDARD_ENGINEER_COLLECT:
|
||||
// do nothing now
|
||||
break;
|
||||
@@ -287,7 +270,6 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
|
||||
@Override
|
||||
public void approvalProcess(AnnualInitDataVO annualInitData, boolean pass) {
|
||||
CommonVO commonVO = annualInitData.getCommonVO();
|
||||
Map<String, Object> flowUser = annualInitData.getFlowUser();
|
||||
String taskId = commonVO.getTaskId();
|
||||
// 获取task
|
||||
if (StrUtil.isBlank(taskId) || !actFlowCommonService.taskExists(taskId)) {
|
||||
@@ -306,12 +288,13 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
|
||||
wrapper.eq(ProcessEsAnnualInit::getDelFlag, YesOrNoEnum.NO.getValue());
|
||||
updateWrapper.eq(ProcessEsAnnualInit::getProcessInstanceId, processInstanceId);
|
||||
updateWrapper.eq(ProcessEsAnnualInit::getDelFlag, YesOrNoEnum.NO.getValue());
|
||||
String contactUser = (String) runtimeService.getVariable(executionId, "contactUser");
|
||||
String approvalUser = (String) runtimeService.getVariable(executionId, "approvalUser");
|
||||
// 获取当前流程
|
||||
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(processInstanceId).singleResult();
|
||||
String processDefinitionId = processInstance.getProcessDefinitionId();
|
||||
Map<String, Object> userMap = new HashMap<>();
|
||||
AnnualInitDataVO handleData = this.getHandleData(taskId);
|
||||
List<ProcessEsAnnualInit> dbDataList = handleData.getDataList();
|
||||
String curUserId = UserUtils.getUserId();
|
||||
switch (taskName) {
|
||||
case STANDARD_ENGINEER_INIT:
|
||||
|
||||
@@ -331,9 +314,7 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
|
||||
saveOrUpdateBatch(dataList);
|
||||
} else {
|
||||
// 找到所有被驳回的数据,发起新流程
|
||||
wrapper.eq(ProcessEsAnnualInit::getContactUser, userId);
|
||||
List<ProcessEsAnnualInit> list = list(wrapper);
|
||||
annualInitData.setDataList(list);
|
||||
annualInitData.setDataList(dbDataList);
|
||||
this.restartProcess(annualInitData, taskId);
|
||||
}
|
||||
break;
|
||||
@@ -353,11 +334,11 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
|
||||
processNodeLinkService.incrementSaveNodeUserLink(processDefinitionId, processInstanceId, userMap);
|
||||
} else {
|
||||
// 找到对应数据,然后设置驳回标志位
|
||||
updateWrapper.eq(ProcessEsAnnualInit::getContactUser, contactUser);
|
||||
updateWrapper.eq(ProcessEsAnnualInit::getApprovalUser, approvalUser);
|
||||
updateWrapper.set(ProcessEsAnnualInit::getRejectFlag, YesOrNoEnum.YES.getValue());
|
||||
update(updateWrapper);
|
||||
dbDataList.forEach(d -> d.setRejectFlag(YesOrNoEnum.YES.getValue()));
|
||||
updateBatchById(dbDataList);
|
||||
}
|
||||
// 转办
|
||||
runtimeService.setVariableLocal(executionId, "approvalUser", curUserId);
|
||||
break;
|
||||
case CONTACT_USER_EDIT:
|
||||
dataList = annualInitData.getDataList();
|
||||
@@ -372,11 +353,11 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
|
||||
processNodeLinkService.incrementSaveNodeUserLink(processDefinitionId, processInstanceId, userMap);
|
||||
} else {
|
||||
// 找到所有被驳回的数据,发起新流程
|
||||
wrapper.eq(ProcessEsAnnualInit::getContactUser, userId);
|
||||
List<ProcessEsAnnualInit> list = list(wrapper);
|
||||
annualInitData.setDataList(list);
|
||||
annualInitData.setDataList(dbDataList);
|
||||
this.restartProcess(annualInitData, taskId);
|
||||
}
|
||||
// 转办
|
||||
runtimeService.setVariableLocal(executionId, "contactUser", curUserId);
|
||||
break;
|
||||
case MAIN_DRAFT_WRITE:
|
||||
dataList = annualInitData.getDataList();
|
||||
@@ -393,24 +374,22 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
|
||||
break;
|
||||
case CONTACT_USER_COLLECT:
|
||||
dataList = annualInitData.getDataList();
|
||||
dataList.forEach(d -> d.setExecutionId(executionId));
|
||||
saveOrUpdateBatch(dataList);
|
||||
// 转办
|
||||
runtimeService.setVariableLocal(executionId, "contactUser", curUserId);
|
||||
break;
|
||||
case MAIN_DRAFT_LEADER_APPROVAL:
|
||||
dataList = annualInitData.getDataList();
|
||||
// 如果不驳回
|
||||
if (pass) {
|
||||
updateWrapper.eq(ProcessEsAnnualInit::getContactUser, contactUser);
|
||||
updateWrapper.eq(ProcessEsAnnualInit::getApprovalUser, approvalUser);
|
||||
updateWrapper.set(ProcessEsAnnualInit::getRejectFlag, YesOrNoEnum.NO.getValue());
|
||||
updateWrapper.set(ProcessEsAnnualInit::getExecutionId, executionId);
|
||||
update(updateWrapper);
|
||||
dbDataList.forEach(d -> d.setRejectFlag(YesOrNoEnum.NO.getValue()));
|
||||
} else {
|
||||
updateWrapper.eq(ProcessEsAnnualInit::getContactUser, contactUser);
|
||||
updateWrapper.eq(ProcessEsAnnualInit::getApprovalUser, approvalUser);
|
||||
updateWrapper.set(ProcessEsAnnualInit::getRejectFlag, YesOrNoEnum.YES.getValue());
|
||||
updateWrapper.set(ProcessEsAnnualInit::getExecutionId, executionId);
|
||||
update(updateWrapper);
|
||||
dbDataList.forEach(d -> d.setRejectFlag(YesOrNoEnum.YES.getValue()));
|
||||
}
|
||||
dbDataList.forEach(d -> d.setExecutionId(executionId));
|
||||
updateBatchById(dbDataList);
|
||||
// 转办
|
||||
runtimeService.setVariableLocal(executionId, "approvalUser", curUserId);
|
||||
break;
|
||||
case STANDARD_ENGINEER_COLLECT:
|
||||
// 根据流程ID删除所有数据后新增
|
||||
|
||||
Reference in New Issue
Block a user