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.process.fb.vo.ProcessInfoVO;
|
||||||
import com.jero.modules.activiti.service.ProcessAllService;
|
import com.jero.modules.activiti.service.ProcessAllService;
|
||||||
import com.jero.modules.activiti.service.ProcessNodeLinkService;
|
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.activiti.util.ExcelUtils;
|
||||||
import com.jero.modules.laws.common.util.ImportUtil;
|
import com.jero.modules.laws.common.util.ImportUtil;
|
||||||
import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard;
|
import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard;
|
||||||
@@ -74,9 +73,6 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
|
|||||||
@Resource
|
@Resource
|
||||||
private ActFlowCommonService actFlowCommonService;
|
private ActFlowCommonService actFlowCommonService;
|
||||||
|
|
||||||
@Resource
|
|
||||||
private ProcessNodeService processNodeService;
|
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private ProcessNodeLinkService processNodeLinkService;
|
private ProcessNodeLinkService processNodeLinkService;
|
||||||
|
|
||||||
@@ -247,33 +243,20 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
|
|||||||
LambdaQueryWrapper<ProcessEsAnnualInit> wrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<ProcessEsAnnualInit> wrapper = new LambdaQueryWrapper<>();
|
||||||
Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
|
Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
|
||||||
String taskName = task.getName();
|
String taskName = task.getName();
|
||||||
String contactUser = (String) runtimeService.getVariable(executionId, "contactUser");
|
|
||||||
String approvalUser = (String) runtimeService.getVariable(executionId, "approvalUser");
|
|
||||||
switch (taskName) {
|
switch (taskName) {
|
||||||
case CONTACT_USER_SELECT:
|
case CONTACT_USER_SELECT:
|
||||||
wrapper.eq(ProcessEsAnnualInit::getContactUser, userId);
|
|
||||||
break;
|
|
||||||
case MAIN_DRAFT_LEADER_APPROVAL_DISTRIBUTE:
|
case MAIN_DRAFT_LEADER_APPROVAL_DISTRIBUTE:
|
||||||
wrapper.eq(ProcessEsAnnualInit::getContactUser, contactUser);
|
case CONTACT_USER_COLLECT:
|
||||||
wrapper.eq(ProcessEsAnnualInit::getApprovalUser, userId);
|
case MAIN_DRAFT_LEADER_APPROVAL:
|
||||||
|
wrapper.eq(ProcessEsAnnualInit::getExecutionId, executionId);
|
||||||
break;
|
break;
|
||||||
case CONTACT_USER_EDIT:
|
case CONTACT_USER_EDIT:
|
||||||
wrapper.eq(ProcessEsAnnualInit::getContactUser, contactUser);
|
|
||||||
wrapper.eq(ProcessEsAnnualInit::getRejectFlag, YesOrNoEnum.YES.getValue());
|
wrapper.eq(ProcessEsAnnualInit::getRejectFlag, YesOrNoEnum.YES.getValue());
|
||||||
|
wrapper.eq(ProcessEsAnnualInit::getExecutionId, executionId);
|
||||||
break;
|
break;
|
||||||
case MAIN_DRAFT_WRITE:
|
case MAIN_DRAFT_WRITE:
|
||||||
wrapper.eq(ProcessEsAnnualInit::getContactUser, contactUser);
|
|
||||||
wrapper.eq(ProcessEsAnnualInit::getPrcMainDraftUser, userId);
|
wrapper.eq(ProcessEsAnnualInit::getPrcMainDraftUser, userId);
|
||||||
break;
|
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:
|
case STANDARD_ENGINEER_COLLECT:
|
||||||
// do nothing now
|
// do nothing now
|
||||||
break;
|
break;
|
||||||
@@ -287,7 +270,6 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
|
|||||||
@Override
|
@Override
|
||||||
public void approvalProcess(AnnualInitDataVO annualInitData, boolean pass) {
|
public void approvalProcess(AnnualInitDataVO annualInitData, boolean pass) {
|
||||||
CommonVO commonVO = annualInitData.getCommonVO();
|
CommonVO commonVO = annualInitData.getCommonVO();
|
||||||
Map<String, Object> flowUser = annualInitData.getFlowUser();
|
|
||||||
String taskId = commonVO.getTaskId();
|
String taskId = commonVO.getTaskId();
|
||||||
// 获取task
|
// 获取task
|
||||||
if (StrUtil.isBlank(taskId) || !actFlowCommonService.taskExists(taskId)) {
|
if (StrUtil.isBlank(taskId) || !actFlowCommonService.taskExists(taskId)) {
|
||||||
@@ -306,12 +288,13 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
|
|||||||
wrapper.eq(ProcessEsAnnualInit::getDelFlag, YesOrNoEnum.NO.getValue());
|
wrapper.eq(ProcessEsAnnualInit::getDelFlag, YesOrNoEnum.NO.getValue());
|
||||||
updateWrapper.eq(ProcessEsAnnualInit::getProcessInstanceId, processInstanceId);
|
updateWrapper.eq(ProcessEsAnnualInit::getProcessInstanceId, processInstanceId);
|
||||||
updateWrapper.eq(ProcessEsAnnualInit::getDelFlag, YesOrNoEnum.NO.getValue());
|
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();
|
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(processInstanceId).singleResult();
|
||||||
String processDefinitionId = processInstance.getProcessDefinitionId();
|
String processDefinitionId = processInstance.getProcessDefinitionId();
|
||||||
Map<String, Object> userMap = new HashMap<>();
|
Map<String, Object> userMap = new HashMap<>();
|
||||||
|
AnnualInitDataVO handleData = this.getHandleData(taskId);
|
||||||
|
List<ProcessEsAnnualInit> dbDataList = handleData.getDataList();
|
||||||
|
String curUserId = UserUtils.getUserId();
|
||||||
switch (taskName) {
|
switch (taskName) {
|
||||||
case STANDARD_ENGINEER_INIT:
|
case STANDARD_ENGINEER_INIT:
|
||||||
|
|
||||||
@@ -331,9 +314,7 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
|
|||||||
saveOrUpdateBatch(dataList);
|
saveOrUpdateBatch(dataList);
|
||||||
} else {
|
} else {
|
||||||
// 找到所有被驳回的数据,发起新流程
|
// 找到所有被驳回的数据,发起新流程
|
||||||
wrapper.eq(ProcessEsAnnualInit::getContactUser, userId);
|
annualInitData.setDataList(dbDataList);
|
||||||
List<ProcessEsAnnualInit> list = list(wrapper);
|
|
||||||
annualInitData.setDataList(list);
|
|
||||||
this.restartProcess(annualInitData, taskId);
|
this.restartProcess(annualInitData, taskId);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -353,11 +334,11 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
|
|||||||
processNodeLinkService.incrementSaveNodeUserLink(processDefinitionId, processInstanceId, userMap);
|
processNodeLinkService.incrementSaveNodeUserLink(processDefinitionId, processInstanceId, userMap);
|
||||||
} else {
|
} else {
|
||||||
// 找到对应数据,然后设置驳回标志位
|
// 找到对应数据,然后设置驳回标志位
|
||||||
updateWrapper.eq(ProcessEsAnnualInit::getContactUser, contactUser);
|
dbDataList.forEach(d -> d.setRejectFlag(YesOrNoEnum.YES.getValue()));
|
||||||
updateWrapper.eq(ProcessEsAnnualInit::getApprovalUser, approvalUser);
|
updateBatchById(dbDataList);
|
||||||
updateWrapper.set(ProcessEsAnnualInit::getRejectFlag, YesOrNoEnum.YES.getValue());
|
|
||||||
update(updateWrapper);
|
|
||||||
}
|
}
|
||||||
|
// 转办
|
||||||
|
runtimeService.setVariableLocal(executionId, "approvalUser", curUserId);
|
||||||
break;
|
break;
|
||||||
case CONTACT_USER_EDIT:
|
case CONTACT_USER_EDIT:
|
||||||
dataList = annualInitData.getDataList();
|
dataList = annualInitData.getDataList();
|
||||||
@@ -372,11 +353,11 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
|
|||||||
processNodeLinkService.incrementSaveNodeUserLink(processDefinitionId, processInstanceId, userMap);
|
processNodeLinkService.incrementSaveNodeUserLink(processDefinitionId, processInstanceId, userMap);
|
||||||
} else {
|
} else {
|
||||||
// 找到所有被驳回的数据,发起新流程
|
// 找到所有被驳回的数据,发起新流程
|
||||||
wrapper.eq(ProcessEsAnnualInit::getContactUser, userId);
|
annualInitData.setDataList(dbDataList);
|
||||||
List<ProcessEsAnnualInit> list = list(wrapper);
|
|
||||||
annualInitData.setDataList(list);
|
|
||||||
this.restartProcess(annualInitData, taskId);
|
this.restartProcess(annualInitData, taskId);
|
||||||
}
|
}
|
||||||
|
// 转办
|
||||||
|
runtimeService.setVariableLocal(executionId, "contactUser", curUserId);
|
||||||
break;
|
break;
|
||||||
case MAIN_DRAFT_WRITE:
|
case MAIN_DRAFT_WRITE:
|
||||||
dataList = annualInitData.getDataList();
|
dataList = annualInitData.getDataList();
|
||||||
@@ -393,24 +374,22 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
|
|||||||
break;
|
break;
|
||||||
case CONTACT_USER_COLLECT:
|
case CONTACT_USER_COLLECT:
|
||||||
dataList = annualInitData.getDataList();
|
dataList = annualInitData.getDataList();
|
||||||
|
dataList.forEach(d -> d.setExecutionId(executionId));
|
||||||
saveOrUpdateBatch(dataList);
|
saveOrUpdateBatch(dataList);
|
||||||
|
// 转办
|
||||||
|
runtimeService.setVariableLocal(executionId, "contactUser", curUserId);
|
||||||
break;
|
break;
|
||||||
case MAIN_DRAFT_LEADER_APPROVAL:
|
case MAIN_DRAFT_LEADER_APPROVAL:
|
||||||
dataList = annualInitData.getDataList();
|
|
||||||
// 如果不驳回
|
// 如果不驳回
|
||||||
if (pass) {
|
if (pass) {
|
||||||
updateWrapper.eq(ProcessEsAnnualInit::getContactUser, contactUser);
|
dbDataList.forEach(d -> d.setRejectFlag(YesOrNoEnum.NO.getValue()));
|
||||||
updateWrapper.eq(ProcessEsAnnualInit::getApprovalUser, approvalUser);
|
|
||||||
updateWrapper.set(ProcessEsAnnualInit::getRejectFlag, YesOrNoEnum.NO.getValue());
|
|
||||||
updateWrapper.set(ProcessEsAnnualInit::getExecutionId, executionId);
|
|
||||||
update(updateWrapper);
|
|
||||||
} else {
|
} else {
|
||||||
updateWrapper.eq(ProcessEsAnnualInit::getContactUser, contactUser);
|
dbDataList.forEach(d -> d.setRejectFlag(YesOrNoEnum.YES.getValue()));
|
||||||
updateWrapper.eq(ProcessEsAnnualInit::getApprovalUser, approvalUser);
|
|
||||||
updateWrapper.set(ProcessEsAnnualInit::getRejectFlag, YesOrNoEnum.YES.getValue());
|
|
||||||
updateWrapper.set(ProcessEsAnnualInit::getExecutionId, executionId);
|
|
||||||
update(updateWrapper);
|
|
||||||
}
|
}
|
||||||
|
dbDataList.forEach(d -> d.setExecutionId(executionId));
|
||||||
|
updateBatchById(dbDataList);
|
||||||
|
// 转办
|
||||||
|
runtimeService.setVariableLocal(executionId, "approvalUser", curUserId);
|
||||||
break;
|
break;
|
||||||
case STANDARD_ENGINEER_COLLECT:
|
case STANDARD_ENGINEER_COLLECT:
|
||||||
// 根据流程ID删除所有数据后新增
|
// 根据流程ID删除所有数据后新增
|
||||||
|
|||||||
Reference in New Issue
Block a user