diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/ChargeVerifyAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/ChargeVerifyAfter.java new file mode 100644 index 00000000..db35a098 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/ChargeVerifyAfter.java @@ -0,0 +1,155 @@ +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 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("11"); + 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/StandardAfterMeetProcess/ChargeVerifyBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/ChargeVerifyBefore.java new file mode 100644 index 00000000..ef24fbd7 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/ChargeVerifyBefore.java @@ -0,0 +1,11 @@ +package com.ydw.bat.wkflow.listener.StandardAfterMeetProcess; + +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +public class ChargeVerifyBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + System.out.println("ChargeVerifyBefore-前置启动"); + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/DirectorChooseAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/DirectorChooseAfter.java new file mode 100644 index 00000000..24a23e69 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/DirectorChooseAfter.java @@ -0,0 +1,136 @@ +package com.ydw.bat.wkflow.listener.StandardAfterMeetProcess; + +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 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("member"))){ + rat = 1; + break; + } + } + } + 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); + middle.addAll(nextUserList); + delegateTask.setVariable("memberList",middle); + }else { + delegateTask.setVariable("memberList",nextUserList); + } + delegateTask.setVariable("memberCount",delegateTask.getVariable("memberList",List.class).size()); + } + }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("11"); + 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/StandardAfterMeetProcess/DirectorChooseBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/DirectorChooseBefore.java new file mode 100644 index 00000000..79d9da21 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/DirectorChooseBefore.java @@ -0,0 +1,11 @@ +package com.ydw.bat.wkflow.listener.StandardAfterMeetProcess; + +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +public class DirectorChooseBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + System.out.println("DirectorChooseBefore-前置启动"); + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/EngineerReviseAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/EngineerReviseAfter.java new file mode 100644 index 00000000..45fb90b7 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/EngineerReviseAfter.java @@ -0,0 +1,86 @@ +package com.ydw.bat.wkflow.listener.StandardAfterMeetProcess; + +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("11"); + 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/StandardAfterMeetProcess/EngineerReviseBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/EngineerReviseBefore.java new file mode 100644 index 00000000..b027ee39 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/EngineerReviseBefore.java @@ -0,0 +1,11 @@ +package com.ydw.bat.wkflow.listener.StandardAfterMeetProcess; + +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +public class EngineerReviseBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + System.out.println("EngineerReviseBefore-前置启动"); + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/EngineerReviseDoneAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/EngineerReviseDoneAfter.java new file mode 100644 index 00000000..c83dc307 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/EngineerReviseDoneAfter.java @@ -0,0 +1,89 @@ +package com.ydw.bat.wkflow.listener.StandardAfterMeetProcess; + +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(); + + + + + + + + //截止时间 流程描述 创建人 + 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("11"); + 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/StandardAfterMeetProcess/EngineerReviseDoneBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/EngineerReviseDoneBefore.java new file mode 100644 index 00000000..5f355c47 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/EngineerReviseDoneBefore.java @@ -0,0 +1,11 @@ +package com.ydw.bat.wkflow.listener.StandardAfterMeetProcess; + +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +public class EngineerReviseDoneBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + System.out.println("EngineerReviseDoneBefore-前置启动"); + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/LeaderVerifyAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/LeaderVerifyAfter.java new file mode 100644 index 00000000..a8f3b7c7 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/LeaderVerifyAfter.java @@ -0,0 +1,118 @@ +package com.ydw.bat.wkflow.listener.StandardAfterMeetProcess; + +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("11"); + 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/StandardAfterMeetProcess/LeaderVerifyBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/LeaderVerifyBefore.java new file mode 100644 index 00000000..1f013ca5 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/LeaderVerifyBefore.java @@ -0,0 +1,11 @@ +package com.ydw.bat.wkflow.listener.StandardAfterMeetProcess; + +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +public class LeaderVerifyBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + System.out.println("LeaderVerifyBefore-前置启动"); + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/ManageSignAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/ManageSignAfter.java new file mode 100644 index 00000000..a35487f4 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/ManageSignAfter.java @@ -0,0 +1,141 @@ +package com.ydw.bat.wkflow.listener.StandardAfterMeetProcess; + +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; + } + } + } + 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(StringUtils.isNotBlank(object.getString("president"))) { + nextUserList.add(object.getString("president")); + delegateTask.setVariable("president", nextUserList); + } + delegateTask.setVariable("pass4",1); + } + + }else{ + delegateTask.setVariable("pass4",0); + 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("11"); + 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/StandardAfterMeetProcess/ManageSignBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/ManageSignBefore.java new file mode 100644 index 00000000..5eb24162 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/ManageSignBefore.java @@ -0,0 +1,11 @@ +package com.ydw.bat.wkflow.listener.StandardAfterMeetProcess; + +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +public class ManageSignBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + System.out.println("ManageSignBefore-前置启动"); + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/PresidentVerifyAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/PresidentVerifyAfter.java new file mode 100644 index 00000000..ccf7ecb8 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/PresidentVerifyAfter.java @@ -0,0 +1,110 @@ +package com.ydw.bat.wkflow.listener.StandardAfterMeetProcess; + +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("11"); + 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/StandardAfterMeetProcess/PresidentVerifyBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/PresidentVerifyBefore.java new file mode 100644 index 00000000..aa94c4e0 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/PresidentVerifyBefore.java @@ -0,0 +1,11 @@ +package com.ydw.bat.wkflow.listener.StandardAfterMeetProcess; + +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +public class PresidentVerifyBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + System.out.println("PresidentVerifyBefore-前置启动"); + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/WriteMaterialAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/WriteMaterialAfter.java new file mode 100644 index 00000000..78a01b90 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/WriteMaterialAfter.java @@ -0,0 +1,98 @@ +package com.ydw.bat.wkflow.listener.StandardAfterMeetProcess; + +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("11"); + 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/StandardAfterMeetProcess/WriteMaterialBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/WriteMaterialBefore.java new file mode 100644 index 00000000..be28ead6 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/WriteMaterialBefore.java @@ -0,0 +1,12 @@ +package com.ydw.bat.wkflow.listener.StandardAfterMeetProcess; + +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +public class WriteMaterialBefore implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + System.out.println("WriteMaterial-前置启动"); + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/WriteMemberInfoAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/WriteMemberInfoAfter.java new file mode 100644 index 00000000..91296c06 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/WriteMemberInfoAfter.java @@ -0,0 +1,91 @@ +package com.ydw.bat.wkflow.listener.StandardAfterMeetProcess; + +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("11"); + 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/StandardAfterMeetProcess/WriteMemberInfoBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/WriteMemberInfoBefore.java new file mode 100644 index 00000000..5032010c --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/WriteMemberInfoBefore.java @@ -0,0 +1,11 @@ +package com.ydw.bat.wkflow.listener.StandardAfterMeetProcess; + +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +public class WriteMemberInfoBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + System.out.println("WriteMemberInfoBefore-前置启动"); + } +}