diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/AutoStartAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/AutoStartAfter.java new file mode 100644 index 00000000..a8232b8a --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/AutoStartAfter.java @@ -0,0 +1,89 @@ +package com.ydw.bat.wkflow.listener.StandardAfterMeetProcess; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_auth.LawsUserInfoService; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +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.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.List; + +/** + * chargeVerify - 入会人员所在部门负责人审核 + */ +public class AutoStartAfter implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); + //流程节点信息 + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + //流程信息 + IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class); + + LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.class); + + //根据流程id找到流程信息 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); + Datas datas = datasService.getOne(queryWrapper); + + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + delegateTask.setVariable("objectJson",object); + List nextUserList = new ArrayList(); + + if(StringUtils.isNotBlank(object.getString("member"))) { + nextUserList.add(object.getString("member")); + delegateTask.setVariable("member", nextUserList); + } + + + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + delegateTask.setVariable("createUser", user); + String username = object.getString("prcCreateUserName"); + delegateTask.setVariable("createUserName", username); + String standName = object.getString("listName"); + delegateTask.setVariable("listName", standName); + String prcName = ""; + +// prcName = standName + "-标准化活动申请入会流程-挑选入会代表"; + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("13"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + if (nextUserList != null && !nextUserList.isEmpty()) { + for (String nextUser : nextUserList) { + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); +// busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(nextUser); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/AutoStartBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/AutoStartBefore.java new file mode 100644 index 00000000..4b178638 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/AutoStartBefore.java @@ -0,0 +1,35 @@ +package com.ydw.bat.wkflow.listener.StandardAfterMeetProcess; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.util.List; + +public class AutoStartBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + + String link = "bzqdfbStep2?prcType=13"; + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink(link); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + }} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/DirectorVerifyAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/DirectorVerifyAfter.java new file mode 100644 index 00000000..aa7042c4 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/DirectorVerifyAfter.java @@ -0,0 +1,111 @@ +package com.ydw.bat.wkflow.listener.StandardAfterMeetProcess; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_auth.LawsUserInfoService; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +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.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.List; + +/** + * chargeVerify - 入会人员所在部门负责人审核 + */ +public class DirectorVerifyAfter implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); + //流程节点信息 + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + //流程信息 + IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class); + + LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.class); + + //根据流程id找到流程信息 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); + Datas datas = datasService.getOne(queryWrapper); + + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + delegateTask.setVariable("objectJson",object); + List nextUserList = new ArrayList(); + + if("1".equals(object.getString("passFlag"))){ + delegateTask.setVariable("pass",1); + //TODO 流程结束 入库操作待写 + }else{ + delegateTask.setVariable("pass",0); + + if(StringUtils.isNotBlank(object.getString("member"))) { + nextUserList.add(object.getString("member")); + delegateTask.setVariable("member", nextUserList); + } + } + +// 存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if (!list.isEmpty()) { + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + + + + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + delegateTask.setVariable("createUser", user); + String username = object.getString("prcCreateUserName"); + delegateTask.setVariable("createUserName", username); + String standName = object.getString("listName"); + delegateTask.setVariable("listName", standName); + String prcName = ""; + +// prcName = standName + "-标准化活动申请入会流程-挑选入会代表"; + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("13"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + if (nextUserList != null && !nextUserList.isEmpty()) { + for (String nextUser : nextUserList) { + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); +// busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(nextUser); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/DirectorVerifyBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/DirectorVerifyBefore.java new file mode 100644 index 00000000..fe4d6e86 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/DirectorVerifyBefore.java @@ -0,0 +1,35 @@ +package com.ydw.bat.wkflow.listener.StandardAfterMeetProcess; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.util.List; + +public class DirectorVerifyBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + + String link = "bzqdfbStep2?prcType=13"; + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink(link); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + }} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/MemberUploadInfoAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/MemberUploadInfoAfter.java new file mode 100644 index 00000000..8e7d5378 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/MemberUploadInfoAfter.java @@ -0,0 +1,90 @@ +package com.ydw.bat.wkflow.listener.StandardAfterMeetProcess; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_auth.LawsUserInfoService; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +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.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.List; + +/** + * chargeVerify - 入会人员所在部门负责人审核 + */ +public class MemberUploadInfoAfter implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); + //流程节点信息 + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + //流程信息 + IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class); + + LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.class); + + //根据流程id找到流程信息 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); + Datas datas = datasService.getOne(queryWrapper); + + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + delegateTask.setVariable("objectJson",object); + List nextUserList = new ArrayList(); + + + if(StringUtils.isNotBlank(object.getString("director"))) { + nextUserList.add(object.getString("director")); + delegateTask.setVariable("director", nextUserList); + } + + + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + delegateTask.setVariable("createUser", user); + String username = object.getString("prcCreateUserName"); + delegateTask.setVariable("createUserName", username); + String standName = object.getString("listName"); + delegateTask.setVariable("listName", standName); + String prcName = ""; + +// prcName = standName + "-标准化活动申请入会流程-挑选入会代表"; + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("13"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + if (nextUserList != null && !nextUserList.isEmpty()) { + for (String nextUser : nextUserList) { + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); +// busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(nextUser); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/MemberUploadInfoBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/MemberUploadInfoBefore.java new file mode 100644 index 00000000..c65c239c --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/MemberUploadInfoBefore.java @@ -0,0 +1,35 @@ +package com.ydw.bat.wkflow.listener.StandardAfterMeetProcess; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.util.List; + +public class MemberUploadInfoBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + + String link = "bzqdfbStep2?prcType=13"; + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink(link); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + }} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/ChargeVerifyAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/ChargeVerifyAfter.java new file mode 100644 index 00000000..d2db1bd5 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/ChargeVerifyAfter.java @@ -0,0 +1,155 @@ +package com.ydw.bat.wkflow.listener.StandardMeetProcess; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_auth.LawsUserInfoService; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +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.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.List; + +/** + * chargeVerify - 入会人员所在部门负责人审核 + */ +public class ChargeVerifyAfter implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); + //流程节点信息 + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + //流程信息 + IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class); + + LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.class); + + //根据流程id找到流程信息 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); + Datas datas = datasService.getOne(queryWrapper); + + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + delegateTask.setVariable("objectJson",object); + List nextUserList = new ArrayList(); + + + + Integer count = 0; + + if(null == delegateTask.getVariable("chargePassCount")){ + delegateTask.setVariable("chargePassCount",count); + } + JSONArray objects = new JSONArray(); + if(null == delegateTask.getVariable("chargePassList")) { + delegateTask.setVariable("chargePassList", objects); + } + // 审批 + //防止重复审批同一对象 + List idList = new ArrayList<>(); + if(null == delegateTask.getVariable("chargeIdList")){ + delegateTask.setVariable("chargeIdList", idList); + } + int rat = 0; + idList = delegateTask.getVariable("chargeIdList",List.class); + if(!idList.isEmpty()){ + for(String a : idList){ + if(a.equals(object.getString("member"))){ + rat = 1; + break; + } + } + } + if(rat == 0){ + if("1".equals(object.getString("passFlag"))){//通过 + + idList.add(object.getString("member")); + delegateTask.setVariable("chargeIdList",idList); + + delegateTask.setVariable("pass2",1);//排他通道 + count = delegateTask.getVariable("chargePassCount",Integer.class); + delegateTask.setVariable("chargePassCount",count + 1); + objects = delegateTask.getVariable("chargePassList",JSONArray.class); + objects.add(object); + delegateTask.setVariable("chargePassList",objects); + System.out.println(delegateTask.getVariable("chargePassList")); + if(delegateTask.getVariable("memberCount", Integer.class).equals(delegateTask.getVariable("chargePassCount", Integer.class))){ + if(StringUtils.isNotBlank(object.getString("engineerSum"))) { + nextUserList.add(object.getString("engineerSum")); + delegateTask.setVariable("engineerSum", nextUserList); + }//下一节点 + } + }else{ + delegateTask.setVariable("pass2",0);//排他通道 + if(StringUtils.isNotBlank(object.getString("member"))) { + nextUserList.add(object.getString("member")); + delegateTask.setVariable("member", nextUserList); + }//驳回重写 + } + }else{ + throw new ActivitiException("审批过了"); + } +// 存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if (!list.isEmpty()) { + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + + + + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + delegateTask.setVariable("createUser", user); + String username = object.getString("prcCreateUserName"); + delegateTask.setVariable("createUserName", username); + String standName = object.getString("listName"); + delegateTask.setVariable("listName", standName); + String prcName = ""; + +// prcName = standName + "-标准化活动申请入会流程-挑选入会代表"; + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("12"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + if (nextUserList != null && !nextUserList.isEmpty()) { + for (String nextUser : nextUserList) { + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(objects.toJSONString()); +// busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(nextUser); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/ChargeVerifyBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/ChargeVerifyBefore.java new file mode 100644 index 00000000..f05ca90c --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/ChargeVerifyBefore.java @@ -0,0 +1,37 @@ +package com.ydw.bat.wkflow.listener.StandardMeetProcess; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.util.List; + +public class ChargeVerifyBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + + String link = "bzqdfbStep2?prcType=12"; + + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink(link); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/DirectorChooseAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/DirectorChooseAfter.java new file mode 100644 index 00000000..44b46fe9 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/DirectorChooseAfter.java @@ -0,0 +1,139 @@ +package com.ydw.bat.wkflow.listener.StandardMeetProcess; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_auth.LawsUserInfoService; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +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.listener.standardApplyMeetProcess.Kev; +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 java.util.ArrayList; +import java.util.List; + +/** + * DirectorChoose - 技术委员会分委会主任/入会代表所在中心主任提名入会代表 + */ +public class DirectorChooseAfter implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); + //流程节点信息 + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + //流程信息 + IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class); + + LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.class); + + //根据流程id找到流程信息 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); + Datas datas = datasService.getOne(queryWrapper); + + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + delegateTask.setVariable("objectJson",object); + + List nextUserList = new ArrayList(); + System.out.println("后置搭建完成"); + //如果 他是通过 passFlag==1 + List passMemberList = new ArrayList<>(); + if(null == delegateTask.getVariable("memberList")){ + delegateTask.setVariable("memberList", passMemberList); + } + + //防止重复审批同一对象 + List idList = new ArrayList<>(); + if(null == delegateTask.getVariable("memberIdList")){ + delegateTask.setVariable("memberIdList", idList); + } + int rat = 0; + idList = delegateTask.getVariable("memberIdList",List.class); + if(!idList.isEmpty()){ + for(String a : idList){ + if(a.equals(object.getString("memberId"))){ + rat = 1; + break; + } + } + } + idList.add(object.getString("memberId")); + delegateTask.setVariable("memberIdList",idList); + + if(rat == 0){ + if("1".equals(object.getString("passFlag"))) { + + nextUserList.add(object.getString("memberId")); + if (null!=delegateTask.getVariable("memberList")) { + List middle=delegateTask.getVariable("memberList",List.class); + middle.addAll(nextUserList); + delegateTask.setVariable("memberList",middle); + }else { + delegateTask.setVariable("memberList",nextUserList); + } + delegateTask.setVariable("memberCount",delegateTask.getVariable("memberList",List.class).size()); + }else{ + //TODO 如果所有人未通过,则结束流程 + } + }else{ + throw new ActivitiException("此对象已经审批过了"); + } + + + // 存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if (!list.isEmpty()) { + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + delegateTask.setVariable("createUser", user); + String username = object.getString("prcCreateUserName"); + delegateTask.setVariable("createUserName", username); + String standName = object.getString("listName"); + delegateTask.setVariable("listName", standName); + String prcName = ""; + + prcName = standName + "-标准化活动申请入会流程-挑选入会代表"; + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("12"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + if (nextUserList != null && !nextUserList.isEmpty()) { + for (String nextUser : nextUserList) { + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(nextUser); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/DirectorChooseBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/DirectorChooseBefore.java new file mode 100644 index 00000000..c8d7e44d --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/DirectorChooseBefore.java @@ -0,0 +1,35 @@ +package com.ydw.bat.wkflow.listener.StandardMeetProcess; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.util.List; + +public class DirectorChooseBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + + String link = "bzqdfbStep2?prcType=12"; + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink(link); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + }} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/EngineerReviseAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/EngineerReviseAfter.java new file mode 100644 index 00000000..f08bb2c5 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/EngineerReviseAfter.java @@ -0,0 +1,86 @@ +package com.ydw.bat.wkflow.listener.StandardMeetProcess; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_auth.LawsUserInfoService; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +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.util.SpringContextUtil; +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.List; + +/** + * EngineerRevise - 标准法规工程师汇总修订 + */ +public class EngineerReviseAfter implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); + //流程节点信息 + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + //流程信息 + IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class); + + LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.class); + + //根据流程id找到流程信息 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); + Datas datas = datasService.getOne(queryWrapper); + + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + delegateTask.setVariable("objectJson",object); + + List nextUserList = new ArrayList(); + + if (StringUtils.isNotBlank(object.getString("leader"))) { + nextUserList.add(object.getString("leader")); + delegateTask.setVariable("leader", nextUserList); + } + + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + delegateTask.setVariable("createUser", user); + String username = object.getString("prcCreateUserName"); + delegateTask.setVariable("createUserName", username); + String standName = object.getString("listName"); + delegateTask.setVariable("listName", standName); + String prcName = ""; + + prcName = standName + "-标准化活动申请入会流程-挑选入会代表"; + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("12"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + if (nextUserList != null && !nextUserList.isEmpty()) { + for (String nextUser : nextUserList) { + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(nextUser); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/EngineerReviseBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/EngineerReviseBefore.java new file mode 100644 index 00000000..4ac43fc2 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/EngineerReviseBefore.java @@ -0,0 +1,35 @@ +package com.ydw.bat.wkflow.listener.StandardMeetProcess; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.util.List; + +public class EngineerReviseBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + + String link = "bzqdfbStep2?prcType=12"; + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink(link); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + }} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/EngineerReviseDoneAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/EngineerReviseDoneAfter.java new file mode 100644 index 00000000..767a5019 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/EngineerReviseDoneAfter.java @@ -0,0 +1,90 @@ +package com.ydw.bat.wkflow.listener.StandardMeetProcess; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_auth.LawsUserInfoService; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +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.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * EngineerReviseDone - 标准法规工程师汇总修订 + */ +public class EngineerReviseDoneAfter implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); + //流程节点信息 + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + //流程信息 + IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class); + + LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.class); + + //根据流程id找到流程信息 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); + Datas datas = datasService.getOne(queryWrapper); + + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + delegateTask.setVariable("objectJson",object); + + List nextUserList = new ArrayList(); + + + //TODO 流程结束,汇总 + + + + + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("prcCreateUser"); + delegateTask.setVariable("createUser", user); + String username = object.getString("prcCreateUserName"); + delegateTask.setVariable("createUserName", username); + String standName = object.getString("listName"); + delegateTask.setVariable("listName", standName); + String prcName = ""; + + prcName = standName + "-标准化活动申请入会流程-挑选入会代表"; + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("12"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + if (nextUserList != null && !nextUserList.isEmpty()) { + for (String nextUser : nextUserList) { + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(nextUser); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/EngineerReviseDoneBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/EngineerReviseDoneBefore.java new file mode 100644 index 00000000..39876635 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/EngineerReviseDoneBefore.java @@ -0,0 +1,35 @@ +package com.ydw.bat.wkflow.listener.StandardMeetProcess; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.util.List; + +public class EngineerReviseDoneBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + + String link = "bzqdfbStep2?prcType=12"; + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink(link); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + }} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/LeaderVerifyAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/LeaderVerifyAfter.java new file mode 100644 index 00000000..1012feb9 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/LeaderVerifyAfter.java @@ -0,0 +1,120 @@ +package com.ydw.bat.wkflow.listener.StandardMeetProcess; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_auth.LawsUserInfoService; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +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.util.SpringContextUtil; +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; + +/** + * LeaderVerify - 标准法规部主管领导审核 + */ +public class LeaderVerifyAfter implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); + //流程节点信息 + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + //流程信息 + IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class); + + LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.class); + + //根据流程id找到流程信息 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); + Datas datas = datasService.getOne(queryWrapper); + + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + delegateTask.setVariable("objectJson",object); + + List nextUserList = new ArrayList(); + + if("1".equals(object.getString("passFlag"))) {//通过 + delegateTask.setVariable("pass3",1); + if(StringUtils.isNotBlank(object.getString("manageDepartmentList"))) { + + if (object.getString("manageDepartmentList").contains(",")) { + nextUserList = Arrays.asList(object.getString("manageDepartmentList").split(",")); + } else { + nextUserList.add(object.getString("manageDepartmentList")); + } + // 配置多实例 + delegateTask.setVariable("manageDepartmentList", nextUserList); + delegateTask.setVariable("manageDepartmentCount",nextUserList.size()); + + } + }else{ + delegateTask.setVariable("pass3",0); + + //若有通过参数重新指定代理人,则更换代理人,否则使用之前节点设定的原有代理人 + if(StringUtils.isNotBlank(object.getString("engineerSum"))) { + nextUserList.add(object.getString("engineerSum")); + delegateTask.setVariable("engineerSum", nextUserList); + } + } + // 存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if (!list.isEmpty()) { + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + + + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + delegateTask.setVariable("createUser", user); + String username = object.getString("prcCreateUserName"); + delegateTask.setVariable("createUserName", username); + String standName = object.getString("listName"); + delegateTask.setVariable("listName", standName); + String prcName = ""; + + prcName = standName + "-标准化活动申请入会流程-挑选入会代表"; + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("12"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + if (nextUserList != null && !nextUserList.isEmpty()) { + for (String nextUser : nextUserList) { + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(nextUser); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/LeaderVerifyBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/LeaderVerifyBefore.java new file mode 100644 index 00000000..41e2fd77 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/LeaderVerifyBefore.java @@ -0,0 +1,35 @@ +package com.ydw.bat.wkflow.listener.StandardMeetProcess; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.util.List; + +public class LeaderVerifyBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + + String link = "bzqdfbStep2?prcType=12"; + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink(link); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + }} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/ManageSignAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/ManageSignAfter.java new file mode 100644 index 00000000..6372a0c8 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/ManageSignAfter.java @@ -0,0 +1,142 @@ +package com.ydw.bat.wkflow.listener.StandardMeetProcess; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_auth.LawsUserInfoService; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +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.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.List; + +/** + * ManageSign - 费用管理部门会签 + */ +public class ManageSignAfter implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); + //流程节点信息 + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + //流程信息 + IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class); + + LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.class); + + //根据流程id找到流程信息 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); + Datas datas = datasService.getOne(queryWrapper); + + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + delegateTask.setVariable("objectJson",object); + + List nextUserList = new ArrayList(); + Integer count = 0; + if(null == delegateTask.getVariable("managePassCount")){ + delegateTask.setVariable("managePassCount",count); + } + + //防止重复审批同一对象 + List idList = new ArrayList<>(); + if(null == delegateTask.getVariable("manageIdList")){ + delegateTask.setVariable("manageIdList", idList); + } + int rat = 0; + idList = delegateTask.getVariable("manageIdList",List.class); + if(!idList.isEmpty()){ + for(String a : idList){ + if(a.equals(object.getString("manageDepartment"))){ + rat = 1; + break; + } + } + } + idList.add(object.getString("manageDepartment")); + delegateTask.setVariable("manageIdList",idList); + if(rat == 0){ + if("1".equals(object.getString("passFlag"))) {//通过 + + count = delegateTask.getVariable("managePassCount",Integer.class); + count++; + delegateTask.setVariable("managePassCount",count); + if(delegateTask.getVariable("manageDepartmentCount", Integer.class).equals(delegateTask.getVariable("managePassCount", Integer.class))){ + if(StringUtils.isNotBlank(object.getString("president"))) { + nextUserList.add(object.getString("president")); + delegateTask.setVariable("president", nextUserList); + } + delegateTask.setVariable("pass4",1); + } + + }else{ + delegateTask.setVariable("pass4",0); + + delegateTask.removeVariable("manageIdList"); + if(StringUtils.isNotBlank(object.getString("engineerSum"))) { + nextUserList.add(object.getString("engineerSum")); + delegateTask.setVariable("engineerSum", nextUserList); + } + } + }else{ + throw new ActivitiException("此对象已经审批过了"); + } +// 存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if (!list.isEmpty()) { + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + delegateTask.setVariable("createUser", user); + String username = object.getString("prcCreateUserName"); + delegateTask.setVariable("createUserName", username); + String standName = object.getString("listName"); + delegateTask.setVariable("listName", standName); + String prcName = ""; + + prcName = standName + "-标准化活动申请入会流程-挑选入会代表"; + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("12"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + if (nextUserList != null && !nextUserList.isEmpty()) { + for (String nextUser : nextUserList) { + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(nextUser); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/ManageSignBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/ManageSignBefore.java new file mode 100644 index 00000000..0b28f2de --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/ManageSignBefore.java @@ -0,0 +1,35 @@ +package com.ydw.bat.wkflow.listener.StandardMeetProcess; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.util.List; + +public class ManageSignBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + + String link = "bzqdfbStep2?prcType=12"; + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink(link); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + }} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/PresidentVerifyAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/PresidentVerifyAfter.java new file mode 100644 index 00000000..eed4002b --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/PresidentVerifyAfter.java @@ -0,0 +1,110 @@ +package com.ydw.bat.wkflow.listener.StandardMeetProcess; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_auth.LawsUserInfoService; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +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.util.SpringContextUtil; +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.List; + +/** + * PresidentVerify - 技术委员会常务副主任/总院院长审定 + */ +public class PresidentVerifyAfter implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); + //流程节点信息 + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + //流程信息 + IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class); + + LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.class); + + //根据流程id找到流程信息 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); + Datas datas = datasService.getOne(queryWrapper); + + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + delegateTask.setVariable("objectJson",object); + + List nextUserList = new ArrayList(); + + // 入会申请信息重新封装 + if("1".equals(object.getString("passFlag"))) {//通过 + delegateTask.setVariable("pass5",1); + if(StringUtils.isNotBlank(object.getString("engineerSumDone"))) { + nextUserList.add(object.getString("engineerSumDone")); + delegateTask.setVariable("engineerSumDone", nextUserList); + } + + }else{ + delegateTask.setVariable("pass5",0); + if(StringUtils.isNotBlank(object.getString("engineerSum"))) { + nextUserList.add(object.getString("engineerSum")); + delegateTask.setVariable("engineerSum", nextUserList); + } + } + // 存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if (!list.isEmpty()) { + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + delegateTask.setVariable("createUser", user); + String username = object.getString("prcCreateUserName"); + delegateTask.setVariable("createUserName", username); + String standName = object.getString("listName"); + delegateTask.setVariable("listName", standName); + String prcName = ""; + + prcName = standName + "-标准化活动申请入会流程-挑选入会代表"; + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("12"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + if (nextUserList != null && !nextUserList.isEmpty()) { + for (String nextUser : nextUserList) { + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(nextUser); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/PresidentVerifyBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/PresidentVerifyBefore.java new file mode 100644 index 00000000..fe9a1b58 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/PresidentVerifyBefore.java @@ -0,0 +1,35 @@ +package com.ydw.bat.wkflow.listener.StandardMeetProcess; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.util.List; + +public class PresidentVerifyBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + + String link = "bzqdfbStep2?prcType=12"; + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink(link); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + }} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/WriteMaterialAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/WriteMaterialAfter.java new file mode 100644 index 00000000..a8b41cbe --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/WriteMaterialAfter.java @@ -0,0 +1,98 @@ +package com.ydw.bat.wkflow.listener.StandardMeetProcess; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_auth.LawsUserInfoService; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +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.util.SpringContextUtil; +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; + +/** + * WriteMasterial - 标准法规工程师填写入会资料 + */ +public class WriteMaterialAfter implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); + //流程节点信息 + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + //流程信息 + IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class); + + LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.class); + + //根据流程id找到流程信息 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); + Datas datas = datasService.getOne(queryWrapper); + + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + delegateTask.setVariable("objectJson",object); + + List nextUserList = new ArrayList(); + + // 入会申请信息重新封装 + if(StringUtils.isNotBlank(object.getString("directorList"))) { + + if (object.getString("directorList").contains(",")) { + nextUserList = Arrays.asList(object.getString("directorList").split(",")); + } else { + nextUserList.add(object.getString("directorList")); + } + // 配置多实例 + delegateTask.setVariable("directorList", nextUserList); + } + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + delegateTask.setVariable("createUser", user); + String username = object.getString("prcCreateUserName"); + delegateTask.setVariable("createUserName", username); + String standName = object.getString("listName"); + delegateTask.setVariable("listName", standName); + String prcName = ""; + + prcName = standName + "-标准化活动申请入会流程-挑选入会代表"; + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("12"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + if (nextUserList != null && !nextUserList.isEmpty()) { + for (String nextUser : nextUserList) { + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause");//资源类型--条款 + busProcessNewNext.setPId(delegateTask.getProcessInstanceId());//流程实例Id + busProcessNewNext.setMesg(object.toJSONString());//信息 + busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey());//节点信息 + busProcessNewNext.setFinishFlag("0");//完成注记 + busProcessNewNext.setTaskInfo(delegateTask.getName());//节点信息 + busProcessNewNext.setUserId(nextUser);//处理人 + busProcessNewNext.setPrcName(prcName);//流程名 + busBean.save(busProcessNewNext); + System.out.println("---------------------user1--------------"); + System.out.println("处理人:" + nextUser); + System.out.println("流程名:" + prcName); + System.out.println("节点信息:" + delegateTask.getName()); + } + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/WriteMaterialBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/WriteMaterialBefore.java new file mode 100644 index 00000000..02b43cd3 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/WriteMaterialBefore.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.StandardMeetProcess; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.util.List; + +public class WriteMaterialBefore implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + + String link = "bzqdfbStep2?prcType=12"; + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink(link); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + }} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/WriteMemberInfoAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/WriteMemberInfoAfter.java new file mode 100644 index 00000000..d1263b6d --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/WriteMemberInfoAfter.java @@ -0,0 +1,91 @@ +package com.ydw.bat.wkflow.listener.StandardMeetProcess; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_auth.LawsUserInfoService; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +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.util.SpringContextUtil; +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.List; + +/** + * WriteMemberInfo - 入会代表填写入会信息表 + */ +public class WriteMemberInfoAfter implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); + //流程节点信息 + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + //流程信息 + IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class); + + LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.class); + + //根据流程id找到流程信息 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); + Datas datas = datasService.getOne(queryWrapper); + + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + delegateTask.setVariable("objectJson",object); + + List nextUserList = new ArrayList(); + + + // + if(StringUtils.isNotBlank(object.getString("charge"))) { + nextUserList.add(object.getString("charge")); + delegateTask.setVariable("charge", nextUserList); + System.out.println(delegateTask.getVariable("charge")); + } + + + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + delegateTask.setVariable("createUser", user); + String username = object.getString("prcCreateUserName"); + delegateTask.setVariable("createUserName", username); + String standName = object.getString("listName"); + delegateTask.setVariable("listName", standName); + String prcName = ""; + + prcName = standName + "-标准化活动申请入会流程-挑选入会代表"; + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("12"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + if (nextUserList != null && !nextUserList.isEmpty()) { + for (String nextUser : nextUserList) { + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(nextUser); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/WriteMemberInfoBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/WriteMemberInfoBefore.java new file mode 100644 index 00000000..da8de999 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/WriteMemberInfoBefore.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.StandardMeetProcess; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.util.List; + +public class WriteMemberInfoBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + + String link = "bzqdfbStep2?prcType=12"; + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink(link); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/ChargeVerifyBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/ChargeVerifyBefore.java index 973895b0..6683e926 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/ChargeVerifyBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/ChargeVerifyBefore.java @@ -1,11 +1,35 @@ package com.ydw.bat.wkflow.listener.standardApplyMeetProcess; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; +import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; +import java.util.List; + public class ChargeVerifyBefore implements TaskListener { @Override public void notify(DelegateTask delegateTask) { - System.out.println("ChargeVerifyBefore-前置启动"); - } -} + + String link = "bzqdfbStep2?prcType=11"; + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink(link); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + }} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/DirectorChooseAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/DirectorChooseAfter.java index 28ac97a7..9279bc42 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/DirectorChooseAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/DirectorChooseAfter.java @@ -56,18 +56,17 @@ public class DirectorChooseAfter implements TaskListener { idList = delegateTask.getVariable("memberIdList",List.class); if(!idList.isEmpty()){ for(String a : idList){ - if(a.equals(object.getString("member"))){ + if(a.equals(object.getString("memberId"))){ rat = 1; break; } } } + idList.add(object.getString("memberId")); + delegateTask.setVariable("memberIdList",idList); if(rat == 0){ if("1".equals(object.getString("passFlag"))) { - idList.add(object.getString("member")); - delegateTask.setVariable("memberIdList",idList); - nextUserList.add(object.getString("memberId")); if (null!=delegateTask.getVariable("memberList")) { List middle=delegateTask.getVariable("memberList",List.class); @@ -77,6 +76,8 @@ public class DirectorChooseAfter implements TaskListener { delegateTask.setVariable("memberList",nextUserList); } delegateTask.setVariable("memberCount",delegateTask.getVariable("memberList",List.class).size()); + }else{ + //TODO 如果所有人未通过,则结束流程 } }else{ throw new ActivitiException("此对象已经审批过了"); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/DirectorChooseBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/DirectorChooseBefore.java index 1d35c523..2db06f83 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/DirectorChooseBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/DirectorChooseBefore.java @@ -1,11 +1,36 @@ package com.ydw.bat.wkflow.listener.standardApplyMeetProcess; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; +import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; +import java.util.List; + public class DirectorChooseBefore implements TaskListener { @Override public void notify(DelegateTask delegateTask) { - System.out.println("DirectorChooseBefore-前置启动"); - } -} + + String link = "bzqdfbStep2?prcType=11"; + + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink(link); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + }} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/EngineerReviseBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/EngineerReviseBefore.java index f4dea6d0..62cfe18a 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/EngineerReviseBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/EngineerReviseBefore.java @@ -1,11 +1,36 @@ package com.ydw.bat.wkflow.listener.standardApplyMeetProcess; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; +import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; +import java.util.List; + public class EngineerReviseBefore implements TaskListener { @Override public void notify(DelegateTask delegateTask) { - System.out.println("EngineerReviseBefore-前置启动"); - } -} + + String link = "bzqdfbStep2?prcType=11"; + + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink(link); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + }} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/EngineerReviseDoneAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/EngineerReviseDoneAfter.java index 1a34155c..5eaffa92 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/EngineerReviseDoneAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/EngineerReviseDoneAfter.java @@ -44,7 +44,7 @@ public class EngineerReviseDoneAfter implements TaskListener { - + //TODO 流程结束,汇总 diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/EngineerReviseDoneBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/EngineerReviseDoneBefore.java index 383bd819..f6686832 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/EngineerReviseDoneBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/EngineerReviseDoneBefore.java @@ -1,11 +1,36 @@ package com.ydw.bat.wkflow.listener.standardApplyMeetProcess; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; +import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; +import java.util.List; + public class EngineerReviseDoneBefore implements TaskListener { @Override public void notify(DelegateTask delegateTask) { - System.out.println("EngineerReviseDoneBefore-前置启动"); - } -} + + String link = "bzqdfbStep2?prcType=11"; + + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink(link); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + }} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/LeaderVerifyBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/LeaderVerifyBefore.java index 48074192..7326eddd 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/LeaderVerifyBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/LeaderVerifyBefore.java @@ -1,11 +1,36 @@ package com.ydw.bat.wkflow.listener.standardApplyMeetProcess; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; +import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; +import java.util.List; + public class LeaderVerifyBefore implements TaskListener { @Override public void notify(DelegateTask delegateTask) { - System.out.println("LeaderVerifyBefore-前置启动"); - } -} + + String link = "bzqdfbStep2?prcType=11"; + + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink(link); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + }} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/ManageSignAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/ManageSignAfter.java index 41deea28..9aeade8c 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/ManageSignAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/ManageSignAfter.java @@ -60,17 +60,18 @@ public class ManageSignAfter implements TaskListener { } } } + idList.add(object.getString("manageDepartment")); + delegateTask.setVariable("manageIdList",idList); + + if(rat == 0){ if("1".equals(object.getString("passFlag"))) {//通过 - idList.add(object.getString("manageDepartment")); - delegateTask.setVariable("manageIdList",idList); - count = delegateTask.getVariable("managePassCount",Integer.class); count++; delegateTask.setVariable("managePassCount",count); - if(delegateTask.getVariable("managePassCount", Integer.class).equals(delegateTask.getVariable("managePassCount", Integer.class))){ + if(delegateTask.getVariable("manageDepartmentCount", Integer.class).equals(delegateTask.getVariable("managePassCount", Integer.class))){ if(StringUtils.isNotBlank(object.getString("president"))) { nextUserList.add(object.getString("president")); delegateTask.setVariable("president", nextUserList); @@ -80,6 +81,8 @@ public class ManageSignAfter implements TaskListener { }else{ delegateTask.setVariable("pass4",0); + delegateTask.removeVariable("manageIdList"); + if(StringUtils.isNotBlank(object.getString("engineerSum"))) { nextUserList.add(object.getString("engineerSum")); delegateTask.setVariable("engineerSum", nextUserList); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/ManageSignBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/ManageSignBefore.java index fef0c7f9..236bd528 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/ManageSignBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/ManageSignBefore.java @@ -1,11 +1,36 @@ package com.ydw.bat.wkflow.listener.standardApplyMeetProcess; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; +import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; +import java.util.List; + public class ManageSignBefore implements TaskListener { @Override public void notify(DelegateTask delegateTask) { - System.out.println("ManageSignBefore-前置启动"); - } -} + + String link = "bzqdfbStep2?prcType=11"; + + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink(link); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + }} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/PresidentVerifyBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/PresidentVerifyBefore.java index 1899822d..6e21f544 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/PresidentVerifyBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/PresidentVerifyBefore.java @@ -1,11 +1,36 @@ package com.ydw.bat.wkflow.listener.standardApplyMeetProcess; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; +import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; +import java.util.List; + public class PresidentVerifyBefore implements TaskListener { @Override public void notify(DelegateTask delegateTask) { - System.out.println("PresidentVerifyBefore-前置启动"); - } -} + + String link = "bzqdfbStep2?prcType=11"; + + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink(link); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + }} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/WriteMaterialBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/WriteMaterialBefore.java index cc7868e6..7a309c87 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/WriteMaterialBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/WriteMaterialBefore.java @@ -1,12 +1,37 @@ package com.ydw.bat.wkflow.listener.standardApplyMeetProcess; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; +import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; +import java.util.List; + public class WriteMaterialBefore implements TaskListener { @Override public void notify(DelegateTask delegateTask) { - System.out.println("WriteMaterial-前置启动"); - } -} + + String link = "bzqdfbStep2?prcType=11"; + + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink(link); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + }} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/WriteMemberInfoBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/WriteMemberInfoBefore.java index 042cab05..faff807a 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/WriteMemberInfoBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/WriteMemberInfoBefore.java @@ -1,11 +1,36 @@ package com.ydw.bat.wkflow.listener.standardApplyMeetProcess; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; +import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; +import java.util.List; + public class WriteMemberInfoBefore implements TaskListener { @Override public void notify(DelegateTask delegateTask) { - System.out.println("WriteMemberInfoBefore-前置启动"); - } -} + + String link = "bzqdfbStep2?prcType=11"; + + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink(link); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + }}