fix: 企标制修订-技术标准批准节点改为多人处理节点
This commit is contained in:
@@ -26,6 +26,7 @@ import org.apache.tomcat.util.digester.ArrayStack;
|
|||||||
|
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 发起企标制修订流程后
|
* 发起企标制修订流程后
|
||||||
@@ -369,15 +370,34 @@ public class BLApplicantAfter implements TaskListener{
|
|||||||
|
|
||||||
// 批准
|
// 批准
|
||||||
String zhrUserId = json.getString("zhrUserId");
|
String zhrUserId = json.getString("zhrUserId");
|
||||||
BusProcessHistory pzBph = new BusProcessHistory();
|
List<String> zhrUserIdList = Arrays.stream(zhrUserId.split(",")).filter(StringUtils::isNotBlank).collect(Collectors.toList());
|
||||||
pzBph.setActiProcInstId(delegateTask.getProcessInstanceId());
|
if (CollectionUtils.isNotEmpty(qcUserIdList)) {
|
||||||
pzBph.setUserId(zhrUserId);
|
// 批准节点父节点信息
|
||||||
pzBph.setTaskKey(BussLibraryNodeKeyEnum.BUSS_LIBRARY11.getValue());
|
BusProcessHistory pzPBph = new BusProcessHistory();
|
||||||
pzBph.setFlowType(FlowTypeEnum.QBZXD_JSBZ.getValue());
|
String pzPBphId = UUID.randomUUID().toString();
|
||||||
pzBph.setOrderNum(BussLibraryNodeKeyEnum.BUSS_LIBRARY11.getOrderNum());
|
pzPBph.setId(pzPBphId);
|
||||||
pzBph.setIsSub("2");
|
pzPBph.setActiProcInstId(delegateTask.getProcessInstanceId());
|
||||||
pzBph.setIsMany("2");
|
pzPBph.setTaskKey(BussLibraryNodeKeyEnum.BUSS_LIBRARY11.getValue());
|
||||||
bphList.add(pzBph);
|
pzPBph.setFlowType(FlowTypeEnum.QBZXD_JSBZ.getValue());
|
||||||
|
pzPBph.setOrderNum(BussLibraryNodeKeyEnum.BUSS_LIBRARY11.getOrderNum());
|
||||||
|
pzPBph.setIsSub("2");
|
||||||
|
pzPBph.setIsMany("1");
|
||||||
|
bphList.add(pzPBph);
|
||||||
|
|
||||||
|
for (String eachZhrUserId : zhrUserIdList) {
|
||||||
|
// 批准子节点信息
|
||||||
|
BusProcessHistory pzBph = new BusProcessHistory();
|
||||||
|
pzBph.setActiProcInstId(delegateTask.getProcessInstanceId());
|
||||||
|
pzBph.setUserId(eachZhrUserId);
|
||||||
|
pzBph.setTaskKey(BussLibraryNodeKeyEnum.BUSS_LIBRARY11.getValue());
|
||||||
|
pzBph.setFlowType(FlowTypeEnum.QBZXD_JSBZ.getValue());
|
||||||
|
pzBph.setOrderNum(BussLibraryNodeKeyEnum.BUSS_LIBRARY11.getOrderNum());
|
||||||
|
pzBph.setIsSub("2");
|
||||||
|
pzBph.setIsMany("1");
|
||||||
|
pzBph.setManyPId(pzPBphId);
|
||||||
|
bphList.add(pzBph);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 培训
|
// 培训
|
||||||
String pxUserId = json.getString("pxUserId");
|
String pxUserId = json.getString("pxUserId");
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
package com.ydw.bat.wkflow.listener.bussLibrary;
|
package com.ydw.bat.wkflow.listener.bussLibrary;
|
||||||
|
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessHistory;
|
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessHistory;
|
||||||
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName;
|
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName;
|
||||||
@@ -15,13 +14,18 @@ import com.ydw.bat.wkflow.util.SpringContextUtil;
|
|||||||
import com.ydw.bat.wkflow.util.enums.BussLibraryNodeKeyEnum;
|
import com.ydw.bat.wkflow.util.enums.BussLibraryNodeKeyEnum;
|
||||||
import com.ydw.bat.wkflow.util.enums.FlowTypeEnum;
|
import com.ydw.bat.wkflow.util.enums.FlowTypeEnum;
|
||||||
import org.activiti.engine.ActivitiException;
|
import org.activiti.engine.ActivitiException;
|
||||||
|
import org.activiti.engine.RepositoryService;
|
||||||
import org.activiti.engine.delegate.DelegateTask;
|
import org.activiti.engine.delegate.DelegateTask;
|
||||||
import org.activiti.engine.delegate.TaskListener;
|
import org.activiti.engine.delegate.TaskListener;
|
||||||
|
import org.activiti.engine.repository.ProcessDefinition;
|
||||||
import org.apache.commons.collections4.CollectionUtils;
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
import org.apache.commons.lang.StringUtils;
|
import org.apache.commons.lang.StringUtils;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.UUID;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 专委会副主任/起草单位中心主任审定后
|
* 专委会副主任/起草单位中心主任审定后
|
||||||
@@ -29,6 +33,11 @@ import java.util.List;
|
|||||||
public class BussLibrary10After implements TaskListener{
|
public class BussLibrary10After implements TaskListener{
|
||||||
@Override
|
@Override
|
||||||
public void notify(DelegateTask delegateTask) {
|
public void notify(DelegateTask delegateTask) {
|
||||||
|
RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class);
|
||||||
|
// 获取当前流程的流程定义
|
||||||
|
ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery()
|
||||||
|
.processDefinitionId(delegateTask.getProcessDefinitionId())
|
||||||
|
.singleResult();
|
||||||
IDatasService datasService = SpringContextUtil.getBean(IDatasService.class);
|
IDatasService datasService = SpringContextUtil.getBean(IDatasService.class);
|
||||||
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
|
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
|
||||||
IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class);
|
IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class);
|
||||||
@@ -70,10 +79,16 @@ public class BussLibrary10After implements TaskListener{
|
|||||||
|
|
||||||
if(StringUtils.isNotBlank(approvalOpinion)){
|
if(StringUtils.isNotBlank(approvalOpinion)){
|
||||||
if ("0".equalsIgnoreCase(approvalOpinion)) {
|
if ("0".equalsIgnoreCase(approvalOpinion)) {
|
||||||
if(StringUtils.isNotBlank(object.getString("zhrUserId"))){
|
String zhrUserId = object.getString("zhrUserId");
|
||||||
|
if(StringUtils.isNotBlank(zhrUserId)){
|
||||||
delegateTask.setVariable("zhrUserId",object.getString("zhrUserId"));
|
List<String> zhrUserIdList = Arrays.stream(zhrUserId.split(",")).filter(StringUtils::isNotBlank).collect(Collectors.toList());
|
||||||
nextUserList.add(object.getString("zhrUserId"));
|
// 对旧数据做兼容,如果流程定义版本低于13则是旧数据,批准节点是单人处理,之后的版本是多人处理
|
||||||
|
if (processDefinition.getVersion() <= 13) {
|
||||||
|
delegateTask.setVariable("zhrUserId",zhrUserIdList.get(0));
|
||||||
|
} else {
|
||||||
|
delegateTask.setVariable("zhrUserId",zhrUserIdList);
|
||||||
|
}
|
||||||
|
nextUserList.addAll(zhrUserIdList);
|
||||||
|
|
||||||
// BussUtils.approvalFunc2(delegateTask, object, prcName, nextUserList);
|
// BussUtils.approvalFunc2(delegateTask, object, prcName, nextUserList);
|
||||||
BussUtils.approvalFunc3(delegateTask, object, prcName, nextUserList);
|
BussUtils.approvalFunc3(delegateTask, object, prcName, nextUserList);
|
||||||
@@ -104,43 +119,90 @@ public class BussLibrary10After implements TaskListener{
|
|||||||
}else {
|
}else {
|
||||||
throw new ActivitiException("1#2 提交OR驳回参数不存在");
|
throw new ActivitiException("1#2 提交OR驳回参数不存在");
|
||||||
}
|
}
|
||||||
this.addBusProcessHistory(object,delegateTask);
|
this.addBusProcessHistory(object,delegateTask, processDefinition);
|
||||||
}
|
}
|
||||||
|
|
||||||
private String verifyObj(String str){
|
private String verifyObj(String str){
|
||||||
return (str == null || str.equals("")) ? "" : str;
|
return (str == null || str.equals("")) ? "" : str;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addBusProcessHistory(JSONObject json,DelegateTask delegateTask) {
|
public void addBusProcessHistory(JSONObject json,DelegateTask delegateTask, ProcessDefinition processDefinition) {
|
||||||
IBusProcessHistoryService bphService = SpringContextUtil.getBean(IBusProcessHistoryService.class);
|
IBusProcessHistoryService bphService = SpringContextUtil.getBean(IBusProcessHistoryService.class);
|
||||||
|
|
||||||
Integer fzrFlag = (Integer) delegateTask.getVariable("fzrFlag");
|
Integer fzrFlag = (Integer) delegateTask.getVariable("fzrFlag");
|
||||||
if (fzrFlag == 0) {
|
if (fzrFlag == 0) {
|
||||||
String zhrUserId = json.getString("zhrUserId");
|
String zhrUserId = json.getString("zhrUserId");
|
||||||
// 如果存在 批准 节点的数据,taskId为空。 不用添加,否则需要添加。
|
List<String> zhrUserIdList = Arrays.stream(zhrUserId.split(",")).filter(StringUtils::isNotBlank).collect(Collectors.toList());
|
||||||
QueryWrapper<BusProcessHistory> bphQueryWrap = new QueryWrapper<>();
|
// 对旧数据做兼容,如果流程定义版本低于13则是旧数据,批准节点是单人处理,之后的版本是多人处理
|
||||||
bphQueryWrap.lambda().eq(BusProcessHistory::getActiProcInstId, delegateTask.getProcessInstanceId());
|
if (processDefinition.getVersion() <= 13) {
|
||||||
bphQueryWrap.lambda().eq(BusProcessHistory::getUserId, zhrUserId);
|
// 如果存在 批准 节点的数据,taskId为空。 不用添加,否则需要添加。
|
||||||
bphQueryWrap.lambda().eq(BusProcessHistory::getTaskKey, BussLibraryNodeKeyEnum.BUSS_LIBRARY11.getValue());
|
QueryWrapper<BusProcessHistory> bphQueryWrap = new QueryWrapper<>();
|
||||||
bphQueryWrap.lambda().isNull(BusProcessHistory::getTaskId);
|
bphQueryWrap.lambda().eq(BusProcessHistory::getActiProcInstId, delegateTask.getProcessInstanceId());
|
||||||
|
bphQueryWrap.lambda().eq(BusProcessHistory::getUserId, zhrUserId);
|
||||||
|
bphQueryWrap.lambda().eq(BusProcessHistory::getTaskKey, BussLibraryNodeKeyEnum.BUSS_LIBRARY11.getValue());
|
||||||
|
bphQueryWrap.lambda().isNull(BusProcessHistory::getTaskId);
|
||||||
|
|
||||||
List<BusProcessHistory> busProcessHistoryList = bphService.list(bphQueryWrap);
|
List<BusProcessHistory> busProcessHistoryList = bphService.list(bphQueryWrap);
|
||||||
if (CollectionUtils.isEmpty(busProcessHistoryList)) {
|
if (CollectionUtils.isEmpty(busProcessHistoryList)) {
|
||||||
List<BusProcessHistory> bphList = new ArrayList<>();
|
List<BusProcessHistory> bphList = new ArrayList<>();
|
||||||
// 批准
|
// 批准
|
||||||
BusProcessHistory pzBph = new BusProcessHistory();
|
BusProcessHistory pzBph = new BusProcessHistory();
|
||||||
pzBph.setActiProcInstId(delegateTask.getProcessInstanceId());
|
pzBph.setActiProcInstId(delegateTask.getProcessInstanceId());
|
||||||
pzBph.setUserId(zhrUserId);
|
pzBph.setUserId(zhrUserId);
|
||||||
pzBph.setTaskKey(BussLibraryNodeKeyEnum.BUSS_LIBRARY11.getValue());
|
pzBph.setTaskKey(BussLibraryNodeKeyEnum.BUSS_LIBRARY11.getValue());
|
||||||
pzBph.setFlowType(FlowTypeEnum.QBZXD_JSBZ.getValue());
|
pzBph.setFlowType(FlowTypeEnum.QBZXD_JSBZ.getValue());
|
||||||
pzBph.setIsSub("2");
|
pzBph.setIsSub("2");
|
||||||
pzBph.setIsMany("2");
|
pzBph.setIsMany("2");
|
||||||
int orderNum = bphService.getMaxOrderNum(delegateTask.getProcessInstanceId(), BussLibraryNodeKeyEnum.BUSS_LIBRARY10.getValue());
|
int orderNum = bphService.getMaxOrderNum(delegateTask.getProcessInstanceId(), BussLibraryNodeKeyEnum.BUSS_LIBRARY10.getValue());
|
||||||
pzBph.setOrderNum(orderNum + 1);
|
pzBph.setOrderNum(orderNum + 1);
|
||||||
bphList.add(pzBph);
|
bphList.add(pzBph);
|
||||||
|
|
||||||
bphService.insertBatch(bphList);
|
bphService.insertBatch(bphList);
|
||||||
bphService.updateOrderNum(delegateTask.getProcessInstanceId(), orderNum + 1, bphList.size());
|
bphService.updateOrderNum(delegateTask.getProcessInstanceId(), orderNum + 1, bphList.size());
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (CollectionUtils.isNotEmpty(zhrUserIdList)) {
|
||||||
|
List<BusProcessHistory> bphList = new ArrayList<>();
|
||||||
|
int orderNum = bphService.getMaxOrderNum(delegateTask.getProcessInstanceId(),BussLibraryNodeKeyEnum.BUSS_LIBRARY10.getValue());
|
||||||
|
String pzPBphId = UUID.randomUUID().toString();
|
||||||
|
for (String userId : zhrUserIdList) {
|
||||||
|
QueryWrapper<BusProcessHistory> bphQueryWrap = new QueryWrapper<>();
|
||||||
|
bphQueryWrap.lambda().eq(BusProcessHistory::getActiProcInstId,delegateTask.getProcessInstanceId());
|
||||||
|
bphQueryWrap.lambda().eq(BusProcessHistory::getUserId,userId);
|
||||||
|
bphQueryWrap.lambda().eq(BusProcessHistory::getTaskKey, BussLibraryNodeKeyEnum.BUSS_LIBRARY11.getValue());
|
||||||
|
bphQueryWrap.lambda().isNull(BusProcessHistory::getTaskId);
|
||||||
|
List<BusProcessHistory> busProcessHistoryList = bphService.list(bphQueryWrap);
|
||||||
|
if (CollectionUtils.isEmpty(busProcessHistoryList)) {
|
||||||
|
BusProcessHistory pzBph = new BusProcessHistory();
|
||||||
|
pzBph.setActiProcInstId(delegateTask.getProcessInstanceId());
|
||||||
|
pzBph.setUserId(userId);
|
||||||
|
pzBph.setTaskKey(BussLibraryNodeKeyEnum.BUSS_LIBRARY11.getValue());
|
||||||
|
pzBph.setFlowType(FlowTypeEnum.QBZXD_JSBZ.getValue());
|
||||||
|
pzBph.setOrderNum(BussLibraryNodeKeyEnum.BUSS_LIBRARY11.getOrderNum());
|
||||||
|
pzBph.setIsSub("2");
|
||||||
|
pzBph.setIsMany("1");
|
||||||
|
pzBph.setManyPId(pzPBphId);
|
||||||
|
pzBph.setOrderNum(orderNum + 1);
|
||||||
|
bphList.add(pzBph);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (CollectionUtils.isNotEmpty(bphList)) {
|
||||||
|
BusProcessHistory pzPBph = new BusProcessHistory();
|
||||||
|
pzPBph.setId(pzPBphId);
|
||||||
|
pzPBph.setActiProcInstId(delegateTask.getProcessInstanceId());
|
||||||
|
pzPBph.setTaskKey(BussLibraryNodeKeyEnum.BUSS_LIBRARY11.getValue());
|
||||||
|
pzPBph.setFlowType(FlowTypeEnum.QBZXD_JSBZ.getValue());
|
||||||
|
pzPBph.setOrderNum(BussLibraryNodeKeyEnum.BUSS_LIBRARY11.getOrderNum());
|
||||||
|
pzPBph.setIsSub("2");
|
||||||
|
pzPBph.setIsMany("1");
|
||||||
|
pzPBph.setOrderNum(orderNum + 1);
|
||||||
|
bphList.add(pzPBph);
|
||||||
|
|
||||||
|
bphService.insertBatch(bphList);
|
||||||
|
bphService.updateOrderNum(delegateTask.getProcessInstanceId(),orderNum + 1,bphList.size());
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else if (fzrFlag == 1) {
|
} else if (fzrFlag == 1) {
|
||||||
String cxdUserId = (String) delegateTask.getVariable("cxdUserId");
|
String cxdUserId = (String) delegateTask.getVariable("cxdUserId");
|
||||||
|
|||||||
@@ -11,17 +11,22 @@ import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessHistoryService;
|
|||||||
import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNameService;
|
import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNameService;
|
||||||
import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService;
|
import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService;
|
||||||
import com.ydw.bat.wkflow.business_main.datas.service.IDatasService;
|
import com.ydw.bat.wkflow.business_main.datas.service.IDatasService;
|
||||||
|
import com.ydw.bat.wkflow.business_oa.webService.service.WebServiceOAService;
|
||||||
import com.ydw.bat.wkflow.util.SpringContextUtil;
|
import com.ydw.bat.wkflow.util.SpringContextUtil;
|
||||||
import com.ydw.bat.wkflow.util.enums.BussLibraryNodeKeyEnum;
|
import com.ydw.bat.wkflow.util.enums.BussLibraryNodeKeyEnum;
|
||||||
import com.ydw.bat.wkflow.util.enums.FlowTypeEnum;
|
import com.ydw.bat.wkflow.util.enums.FlowTypeEnum;
|
||||||
import org.activiti.engine.ActivitiException;
|
import org.activiti.engine.ActivitiException;
|
||||||
|
import org.activiti.engine.HistoryService;
|
||||||
import org.activiti.engine.delegate.DelegateTask;
|
import org.activiti.engine.delegate.DelegateTask;
|
||||||
import org.activiti.engine.delegate.TaskListener;
|
import org.activiti.engine.delegate.TaskListener;
|
||||||
|
import org.activiti.engine.history.HistoricTaskInstance;
|
||||||
import org.apache.commons.collections4.CollectionUtils;
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
import org.apache.commons.lang.StringUtils;
|
import org.apache.commons.lang.StringUtils;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 专委会主任/总院院长或主管副院长批准后
|
* 专委会主任/总院院长或主管副院长批准后
|
||||||
@@ -32,6 +37,7 @@ public class BussLibrary11After implements TaskListener{
|
|||||||
IDatasService datasService = SpringContextUtil.getBean(IDatasService.class);
|
IDatasService datasService = SpringContextUtil.getBean(IDatasService.class);
|
||||||
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
|
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
|
||||||
IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class);
|
IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class);
|
||||||
|
WebServiceOAService webServiceOAService = SpringContextUtil.getBean(WebServiceOAService.class);
|
||||||
|
|
||||||
QueryWrapper<Datas> queryWrapper = new QueryWrapper<>();
|
QueryWrapper<Datas> queryWrapper = new QueryWrapper<>();
|
||||||
queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId());
|
queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId());
|
||||||
@@ -75,13 +81,76 @@ public class BussLibrary11After implements TaskListener{
|
|||||||
delegateTask.setVariable("pxUserId",object.getString("pxUserId"));
|
delegateTask.setVariable("pxUserId",object.getString("pxUserId"));
|
||||||
nextUserList.add(object.getString("pxUserId"));
|
nextUserList.add(object.getString("pxUserId"));
|
||||||
|
|
||||||
// BussUtils.approvalFunc2(delegateTask, object, prcName, nextUserList);
|
// 存储当前节点意见
|
||||||
BussUtils.approvalFunc3(delegateTask, object, prcName, nextUserList);
|
LambdaQueryWrapper<BusProcessNew> queryWrapper1 = new LambdaQueryWrapper<>();
|
||||||
|
queryWrapper1.eq(BusProcessNew::getTaskId,delegateTask.getId());
|
||||||
|
List<BusProcessNew> list = busBean.list(queryWrapper1);
|
||||||
|
if (list.isEmpty()) {
|
||||||
|
throw new ActivitiException("流程实例不存在");
|
||||||
|
}
|
||||||
|
// 当前节点
|
||||||
|
BusProcessNew busProcessNew = list.get(0);
|
||||||
|
busProcessNew.setCommitText(object.getString("commentText"));
|
||||||
|
busProcessNew.setTaskId(delegateTask.getId());
|
||||||
|
busProcessNew.setTaskInfo(delegateTask.getName());
|
||||||
|
busBean.saveOrUpdate(busProcessNew);
|
||||||
|
|
||||||
|
// 下一个节点
|
||||||
|
try {
|
||||||
|
Integer nrOfCompletedInstances = delegateTask.getVariable("nrOfCompletedInstances", Integer.class);
|
||||||
|
if (nrOfCompletedInstances == 0) {
|
||||||
|
for (String nextUser : nextUserList) {
|
||||||
|
BusProcessNew busProcessNewNext = new BusProcessNew();
|
||||||
|
busProcessNewNext.setMsgType("clause");
|
||||||
|
busProcessNewNext.setPId(delegateTask.getProcessInstanceId());
|
||||||
|
busProcessNewNext.setMesg(object.toJSONString());
|
||||||
|
busProcessNewNext.setFinishFlag("0");
|
||||||
|
busProcessNewNext.setUserId(nextUser);
|
||||||
|
busProcessNewNext.setPrcName(prcName);
|
||||||
|
busBean.save(busProcessNewNext);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (NullPointerException e) {
|
||||||
|
// 对旧数据做兼容,旧流程是单人处理节点没有 nrOfCompletedInstances
|
||||||
|
for (String nextUser : nextUserList) {
|
||||||
|
BusProcessNew busProcessNewNext = new BusProcessNew();
|
||||||
|
busProcessNewNext.setMsgType("clause");
|
||||||
|
busProcessNewNext.setPId(delegateTask.getProcessInstanceId());
|
||||||
|
busProcessNewNext.setMesg(object.toJSONString());
|
||||||
|
busProcessNewNext.setFinishFlag("0");
|
||||||
|
busProcessNewNext.setUserId(nextUser);
|
||||||
|
busProcessNewNext.setPrcName(prcName);
|
||||||
|
busBean.save(busProcessNewNext);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
delegateTask.setVariable("zrFlag", 0);
|
delegateTask.setVariable("zrFlag", 0);
|
||||||
}else {
|
}else {
|
||||||
throw new ActivitiException("1#2主起草人用户参数不存在,请配置相关用户");
|
throw new ActivitiException("1#2主起草人用户参数不存在,请配置相关用户");
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
HistoryService historyService = SpringContextUtil.getBean(HistoryService.class);
|
||||||
|
|
||||||
|
// 改为多人处理节点后需要驳回需要删除未完成人员的待办OA
|
||||||
|
List<HistoricTaskInstance> historicTaskInstanceList = historyService.createHistoricTaskInstanceQuery()
|
||||||
|
.processInstanceId(delegateTask.getProcessInstanceId())
|
||||||
|
.taskDefinitionKey(delegateTask.getTaskDefinitionKey())
|
||||||
|
.unfinished()
|
||||||
|
.list();
|
||||||
|
List<String> unFinishedTaskIdList = historicTaskInstanceList.stream()
|
||||||
|
.map(HistoricTaskInstance::getId)
|
||||||
|
.filter(taskId -> !Objects.equals(taskId, delegateTask.getId()))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
if (CollectionUtils.isNotEmpty(unFinishedTaskIdList)) {
|
||||||
|
LambdaQueryWrapper<BusProcessNew> wrapper = new LambdaQueryWrapper<>();
|
||||||
|
wrapper.eq(BusProcessNew::getPId, delegateTask.getProcessInstanceId());
|
||||||
|
wrapper.in(BusProcessNew::getTaskId, unFinishedTaskIdList);
|
||||||
|
List<BusProcessNew> busProcessNewList = busBean.list(wrapper);
|
||||||
|
for (BusProcessNew busProcessNew : busProcessNewList) {
|
||||||
|
webServiceOAService.deleteOAByMandatory(busProcessNew.getId(), busProcessNew.getUserId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if(StringUtils.isNotBlank(object.getString("xdUserId"))) {
|
if(StringUtils.isNotBlank(object.getString("xdUserId"))) {
|
||||||
// 驳回节点数据
|
// 驳回节点数据
|
||||||
BusProcessNew busProcessNew = new BusProcessNew();
|
BusProcessNew busProcessNew = new BusProcessNew();
|
||||||
|
|||||||
Reference in New Issue
Block a user