fix: 政策课题入会参会驳回后删除OA代办

This commit is contained in:
wxyclub
2023-12-15 16:01:19 +08:00
parent 43f9b40b52
commit 4b42ab6800
8 changed files with 151 additions and 5 deletions
@@ -1,6 +1,7 @@
package com.ydw.bat.wkflow.listener.policyResearchGroupAttendMeeting;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName;
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew;
@@ -8,6 +9,7 @@ import com.ydw.bat.wkflow.business_main.datas.entity.Datas;
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.IDatasService;
import com.ydw.bat.wkflow.business_oa.webService.service.WebServiceOAService;
import com.ydw.bat.wkflow.util.SpringContextUtil;
import org.activiti.engine.ActivitiException;
import org.activiti.engine.delegate.DelegateTask;
@@ -29,6 +31,9 @@ public class InspectorApprovalAfter implements TaskListener {
//流程信息
IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class);
// OA接口
WebServiceOAService webServiceOAService = SpringContextUtil.getBean(WebServiceOAService.class);
//根据流程id找到流程信息
QueryWrapper<Datas> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId());
@@ -50,6 +55,13 @@ public class InspectorApprovalAfter implements TaskListener {
if (StringUtils.isNotBlank(object.getString("presidentId"))) {
delegateTask.setVariable("presidentId", object.getString("presidentId"));
nextUserList.add(object.getString("presidentId"));
List completedInspectorIdList = new ArrayList<>();
List completedInspectorIdList1 = delegateTask.getVariable("completedInspectorIdList", List.class);
if (completedInspectorIdList1 != null && !completedInspectorIdList1.isEmpty()) {
completedInspectorIdList.addAll(completedInspectorIdList1);
}
completedInspectorIdList.add(delegateTask.getAssignee());
delegateTask.setVariable("completedInspectorIdList",completedInspectorIdList);
taskInfo = "批准";
} else {
throw new ActivitiException("1#2公司副总不存在,请配置相关人员");
@@ -64,6 +76,27 @@ public class InspectorApprovalAfter implements TaskListener {
} else {
throw new ActivitiException("1#2起草人不存在,请配置相关人员");
}
// 驳回后,把其他审批人的代办转为已办
List inspectorIdList = new ArrayList(delegateTask.getVariable("inspectorIdList", List.class));
if (!inspectorIdList.isEmpty()) {
List completedInspectorIdList = delegateTask.getVariable("completedInspectorIdList", List.class);
if (completedInspectorIdList != null && !completedInspectorIdList.isEmpty()) {
inspectorIdList.removeAll(completedInspectorIdList);
}
inspectorIdList.remove(delegateTask.getAssignee());
}
if (!inspectorIdList.isEmpty()) {
LambdaQueryWrapper<BusProcessNew> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(BusProcessNew::getPId, delegateTask.getProcessInstanceId());
wrapper.eq(BusProcessNew::getTaskInfo, delegateTask.getName());
wrapper.in(BusProcessNew::getUserId, inspectorIdList);
List<BusProcessNew> list = busBean.list(wrapper);
if (list != null && !list.isEmpty()) {
for (BusProcessNew busProcessNew : list) {
webServiceOAService.deleteOAByMandatory(busProcessNew.getId(), busProcessNew.getUserId());
}
}
}
}
// 存储当前节点意见
@@ -1,6 +1,7 @@
package com.ydw.bat.wkflow.listener.policyResearchGroupAttendMeeting;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName;
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew;
@@ -8,6 +9,7 @@ import com.ydw.bat.wkflow.business_main.datas.entity.Datas;
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.IDatasService;
import com.ydw.bat.wkflow.business_oa.webService.service.WebServiceOAService;
import com.ydw.bat.wkflow.util.SpringContextUtil;
import org.activiti.engine.ActivitiException;
import org.activiti.engine.delegate.DelegateTask;
@@ -31,6 +33,9 @@ public class MinisterApprovalAfter implements TaskListener {
// 流程信息
IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class);
//OA接口
WebServiceOAService webServiceOAService = SpringContextUtil.getBean(WebServiceOAService.class);
// 根据流程id找到流程信息
QueryWrapper<Datas> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId());
@@ -52,6 +57,13 @@ public class MinisterApprovalAfter implements TaskListener {
List<String> inspectorIdList = Arrays.asList(object.getString("inspectorId").split(","));
delegateTask.setVariable("inspectorIdList", inspectorIdList);
nextUserList.addAll(inspectorIdList);
List completedMinisterIdList = new ArrayList<>();
List completedMinisterIdList1 = delegateTask.getVariable("completedMinisterIdList", List.class);
if (completedMinisterIdList1 != null && !completedMinisterIdList1.isEmpty()) {
completedMinisterIdList.addAll(completedMinisterIdList1);
}
completedMinisterIdList.add(delegateTask.getAssignee());
delegateTask.setVariable("completedMinisterIdList",completedMinisterIdList);
} else {
throw new ActivitiException("1#2法规认证部副总监不存在,请配置相关人员");
}
@@ -64,6 +76,27 @@ public class MinisterApprovalAfter implements TaskListener {
} else {
throw new ActivitiException("1#2起草人不存在,请配置相关人员");
}
// 驳回后,把其他审批人的代办转为已办
List ministerIdList = new ArrayList<>(delegateTask.getVariable("ministerIdList", List.class));
if (!ministerIdList.isEmpty()) {
List completedMinisterIdList = delegateTask.getVariable("completedMinisterIdList", List.class);
if (completedMinisterIdList != null && !completedMinisterIdList.isEmpty()) {
ministerIdList.removeAll(completedMinisterIdList);
}
ministerIdList.remove(delegateTask.getAssignee());
}
if (!ministerIdList.isEmpty()) {
LambdaQueryWrapper<BusProcessNew> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(BusProcessNew::getPId, delegateTask.getProcessInstanceId());
wrapper.eq(BusProcessNew::getTaskInfo, delegateTask.getName());
wrapper.in(BusProcessNew::getUserId, ministerIdList);
List<BusProcessNew> list = busBean.list(wrapper);
if (list != null && !list.isEmpty()) {
for (BusProcessNew busProcessNew : list) {
webServiceOAService.deleteOAByMandatory(busProcessNew.getId(), busProcessNew.getUserId());
}
}
}
}
// 存储当前节点意见
@@ -41,7 +41,12 @@ public class PRGAMStartAfter implements TaskListener {
List<String> nextUserList = new ArrayList<>();
if(StringUtils.isNotBlank(object.getString("ministerId"))){
List<String> ministerIdList = Arrays.asList(object.getString("ministerId").split(","));
// 配置审核人员
delegateTask.setVariable("ministerIdList",ministerIdList);
// 初始化已审核人员
delegateTask.setVariable("completedMinisterIdList",new ArrayList<String>());
// 初始化已审定人员
delegateTask.setVariable("completedInspectorIdList",new ArrayList<String>());
nextUserList.addAll(ministerIdList);
} else {
throw new ActivitiException("1#2法规认证部部长不存在,请配置相关人员");
@@ -43,7 +43,12 @@ public class RevisionInformationAfter implements TaskListener {
if (StringUtils.isNotBlank(object.getString("ministerId"))) {
List<String> ministerIdList = Arrays.asList(object.getString("ministerId").split(","));
// 配置审核人员
delegateTask.setVariable("ministerIdList",ministerIdList);
// 初始化已审核人员
delegateTask.setVariable("completedMinisterIdList",new ArrayList<String>());
// 初始化已审定人员
delegateTask.setVariable("completedInspectorIdList",new ArrayList<String>());
nextUserList.addAll(ministerIdList);
} else {
throw new ActivitiException("1#2法规认证部部长不存在,请配置相关人员");
@@ -1,6 +1,7 @@
package com.ydw.bat.wkflow.listener.policyResearchGroupEnrollment;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName;
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew;
@@ -8,6 +9,7 @@ import com.ydw.bat.wkflow.business_main.datas.entity.Datas;
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.IDatasService;
import com.ydw.bat.wkflow.business_oa.webService.service.WebServiceOAService;
import com.ydw.bat.wkflow.util.SpringContextUtil;
import org.activiti.engine.ActivitiException;
import org.activiti.engine.delegate.DelegateTask;
@@ -29,6 +31,9 @@ public class PRGEInspectorApprovalAfter implements TaskListener {
//流程信息
IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class);
// OA接口
WebServiceOAService webServiceOAService = SpringContextUtil.getBean(WebServiceOAService.class);
//根据流程id找到流程信息
QueryWrapper<Datas> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId());
@@ -49,6 +54,13 @@ public class PRGEInspectorApprovalAfter implements TaskListener {
if (StringUtils.isNotBlank(object.getString("presidentId"))) {
delegateTask.setVariable("presidentId", object.getString("presidentId"));
nextUserList.add(object.getString("presidentId"));
List completedInspectorIdList1 = delegateTask.getVariable("completedInspectorIdList", List.class);
List completedInspectorIdList = new ArrayList<>();
if (completedInspectorIdList1 != null && !completedInspectorIdList1.isEmpty()) {
completedInspectorIdList.addAll(completedInspectorIdList1);
}
completedInspectorIdList.add(delegateTask.getAssignee());
delegateTask.setVariable("completedInspectorIdList",completedInspectorIdList);
} else {
throw new ActivitiException("1#2公司副总不存在,请配置相关人员");
}
@@ -61,6 +73,27 @@ public class PRGEInspectorApprovalAfter implements TaskListener {
} else {
throw new ActivitiException("1#2起草人不存在,请配置相关人员");
}
// 驳回后,把其他审批人的代办转为已办
List inspectorIdList = new ArrayList(delegateTask.getVariable("inspectorIdList", List.class));
if (!inspectorIdList.isEmpty()) {
List completedInspectorIdList = delegateTask.getVariable("completedInspectorIdList", List.class);
if (completedInspectorIdList != null && !completedInspectorIdList.isEmpty()) {
inspectorIdList.removeAll(completedInspectorIdList);
}
inspectorIdList.remove(delegateTask.getAssignee());
}
if (!inspectorIdList.isEmpty()) {
LambdaQueryWrapper<BusProcessNew> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(BusProcessNew::getPId, delegateTask.getProcessInstanceId());
wrapper.eq(BusProcessNew::getTaskInfo, delegateTask.getName());
wrapper.in(BusProcessNew::getUserId, inspectorIdList);
List<BusProcessNew> list = busBean.list(wrapper);
if (list != null && !list.isEmpty()) {
for (BusProcessNew busProcessNew : list) {
webServiceOAService.deleteOAByMandatory(busProcessNew.getId(), busProcessNew.getUserId());
}
}
}
}
// 存储当前节点意见
@@ -9,15 +9,14 @@ import com.ydw.bat.wkflow.business_main.datas.entity.Datas;
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.IDatasService;
import com.ydw.bat.wkflow.business_oa.webService.service.WebServiceOAService;
import com.ydw.bat.wkflow.util.SpringContextUtil;
import org.activiti.engine.ActivitiException;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
import org.apache.commons.lang.StringUtils;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.*;
/**
* 政策课题入会审核后
@@ -32,6 +31,9 @@ public class PRGEMinisterConfirmAfter implements TaskListener {
//流程信息
IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class);
//OA接口
WebServiceOAService webServiceOAService = SpringContextUtil.getBean(WebServiceOAService.class);
//根据流程id找到流程信息
QueryWrapper<Datas> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId());
@@ -55,6 +57,13 @@ public class PRGEMinisterConfirmAfter implements TaskListener {
List<String> inspectorIdList = Arrays.asList(object.getString("inspectorId").split(","));
delegateTask.setVariable("inspectorIdList",inspectorIdList);
nextUserList.addAll(inspectorIdList);
List completedMinisterIdList1 = delegateTask.getVariable("completedMinisterIdList", List.class);
List completedMinisterIdList = new ArrayList<>();
if (completedMinisterIdList1 != null && !completedMinisterIdList1.isEmpty()) {
completedMinisterIdList.addAll(completedMinisterIdList1);
}
completedMinisterIdList.add(delegateTask.getAssignee());
delegateTask.setVariable("completedMinisterIdList",completedMinisterIdList);
taskInfo = "审定";
} else {
throw new ActivitiException("1#2法规认证部副总监不存在,请配置相关人员");
@@ -69,7 +78,27 @@ public class PRGEMinisterConfirmAfter implements TaskListener {
} else {
throw new ActivitiException("1#2起草人不存在,请配置相关人员");
}
// 驳回后,把其他审批人的代办转为已办
List ministerIdList = new ArrayList<>(delegateTask.getVariable("ministerIdList", List.class));
if (!ministerIdList.isEmpty()) {
List completedMinisterIdList = delegateTask.getVariable("completedMinisterIdList", List.class);
if (completedMinisterIdList != null && !completedMinisterIdList.isEmpty()) {
ministerIdList.removeAll(completedMinisterIdList);
}
ministerIdList.remove(delegateTask.getAssignee());
}
if (!ministerIdList.isEmpty()) {
LambdaQueryWrapper<BusProcessNew> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(BusProcessNew::getPId, delegateTask.getProcessInstanceId());
wrapper.eq(BusProcessNew::getTaskInfo, delegateTask.getName());
wrapper.in(BusProcessNew::getUserId, ministerIdList);
List<BusProcessNew> list = busBean.list(wrapper);
if (list != null && !list.isEmpty()) {
for (BusProcessNew busProcessNew : list) {
webServiceOAService.deleteOAByMandatory(busProcessNew.getId(), busProcessNew.getUserId());
}
}
}
}
// 存储当前节点意见
@@ -1,7 +1,6 @@
package com.ydw.bat.wkflow.listener.policyResearchGroupEnrollment;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName;
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew;
@@ -43,7 +42,12 @@ public class PRGEStartAfter implements TaskListener {
List<String> nextUserList = new ArrayList<>();
if(StringUtils.isNotBlank(object.getString("ministerId"))){
List<String> ministerIdList = Arrays.asList(object.getString("ministerId").split(","));
// 配置审核人员
delegateTask.setVariable("ministerIdList",ministerIdList);
// 初始化已审核人员
delegateTask.setVariable("completedMinisterIdList",new ArrayList<String>());
// 初始化已审定人员
delegateTask.setVariable("completedInspectorIdList",new ArrayList<String>());
nextUserList.addAll(ministerIdList);
} else {
throw new ActivitiException("1#2法规认证部部长不存在,请配置相关人员");
@@ -44,6 +44,10 @@ public class RevisionInformationAfter implements TaskListener {
delegateTask.setVariable("approvalOpinion", 0);
List<String> ministerIdList = Arrays.asList(object.getString("ministerId").split(","));
delegateTask.setVariable("ministerIdList",ministerIdList);
// 初始化已审核人员
delegateTask.setVariable("completedMinisterIdList",new ArrayList<String>());
// 初始化已审定人员
delegateTask.setVariable("completedInspectorIdList",new ArrayList<String>());
nextUserList.addAll(ministerIdList);
} else {
throw new ActivitiException("1#2法规认证部部长不存在,请配置相关人员");