diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ChooseZrAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ChooseZrAfter.java new file mode 100644 index 00000000..e49ea9f9 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ChooseZrAfter.java @@ -0,0 +1,91 @@ +package com.ydw.bat.wkflow.listener.standardRead; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +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.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * 子流程重新选执行人发起后 + */ +public class ChooseZrAfter 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); + + 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("xzUserId"))){ + if(StringUtils.isNotBlank(object.getString("xzUserId"))){ + delegateTask.setVariable("zxUserId",object.getString("xzUserId")); + } + } + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); + String standName = ""; + if(object.getString("standInData").equals("0")){ + standName = "国内"; + }else { + standName = "国外"; + } + String prcName = standName+"-标准解读流程"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ + one1.setOverTime(OVERTIME); + one1.setPrcType("1"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + // 存储当前节点意见 + BusProcessNew busProcessNew = new BusProcessNew(); + busProcessNew.setMsgType("clause"); + busProcessNew.setPId(delegateTask.getProcessInstanceId()); + busProcessNew.setMesg(object.toJSONString()); + busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNew.setTaskId(delegateTask.getId()); + busProcessNew.setCommitText(object.getString("commentText")); + busProcessNew.setFinishFlag("0"); + busProcessNew.setTaskInfo(delegateTask.getName()); + busBean.save(busProcessNew); + if(nextUserList != null && !nextUserList.isEmpty()){ + for(String nextUser : nextUserList){ + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("2"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(nextUser); + busBean.save(busProcessNewNext); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ChooseZrBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ChooseZrBefore.java new file mode 100644 index 00000000..473116e1 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ChooseZrBefore.java @@ -0,0 +1,27 @@ +package com.ydw.bat.wkflow.listener.standardRead; + +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.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import java.util.List; + +/** + * 子流程重新选执行人发起前 + */ +public class ChooseZrBefore implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRead/DeptApplayAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/DeptApplayAfter.java new file mode 100644 index 00000000..079950f4 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/DeptApplayAfter.java @@ -0,0 +1,77 @@ +package com.ydw.bat.wkflow.listener.standardRead; + +import com.alibaba.fastjson.JSONObject; +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.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; + +/** + * 部长审核发起后 + */ +public class DeptApplayAfter 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); + + 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(); + //部长进行审批(1:通过) + if(object.getString("bzApplyFlag").equals("1")){ + delegateTask.setVariable("bzFlag",1); + func1(delegateTask, busBean, object,"0"); + }else { + if(StringUtils.isNotBlank(object.getString("zxUserId"))){ + if(StringUtils.isNotBlank(object.getString("zxUserId"))){ + delegateTask.setVariable("zxUserId",object.getString("zxUserId")); + nextUserList.add(object.getString("zxUserId")); + } + } + BusProcessNew busProcessNew = new BusProcessNew(); + busProcessNew.setMsgType("2"); + busProcessNew.setPId(delegateTask.getProcessInstanceId()); + busProcessNew.setMesg(object.toJSONString()); + busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNew.setFinishFlag("0"); + busProcessNew.setTaskInfo(delegateTask.getName()); + busProcessNew.setUserId(object.getString("zxUserId")); + busBean.save(busProcessNew); + func1(delegateTask, busBean, object,"1"); + delegateTask.setVariable("bzFlag",2); + } + } + + /** + * 审批意见 + * @param delegateTask + * @param busBean + * @param object + * @param commitFlag + */ + private void func1(DelegateTask delegateTask, IBusProcessNewService busBean, JSONObject object,String commitFlag) { + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("TASK_ID",delegateTask.getId()); + BusProcessNew one1 = busBean.getOne(queryWrapper1); + if(one1!=null){ + one1.setCommitFlag(commitFlag); + one1.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRead/DeptApplayBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/DeptApplayBefore.java new file mode 100644 index 00000000..7feb083d --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/DeptApplayBefore.java @@ -0,0 +1,27 @@ +package com.ydw.bat.wkflow.listener.standardRead; + +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.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import java.util.List; + +/** + * 部长审核发起前 + */ +public class DeptApplayBefore implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRead/DeptZrAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/DeptZrAfter.java new file mode 100644 index 00000000..2d198b20 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/DeptZrAfter.java @@ -0,0 +1,96 @@ +package com.ydw.bat.wkflow.listener.standardRead; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +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.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; + +/** + * 下发至部门责任人发起后 + */ +public class DeptZrAfter 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); + + 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("zxUserId"))){ + if(object.getString("zxUserId").contains(",")){ + nextUserList = Arrays.asList(object.getString("zxUserId").split(",")); + }else { + nextUserList.add(object.getString("zxUserId")); + } + // 配置多实例 + delegateTask.setVariable("zxUserList",nextUserList); + } + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); + String standName = ""; + if(object.getString("standInData").equals("0")){ + standName = "国内"; + }else { + standName = "国外"; + } + String prcName = standName+"-标准解读流程"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ + one1.setOverTime(OVERTIME); + one1.setPrcType("1"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + // 存储当前节点意见 + BusProcessNew busProcessNew = new BusProcessNew(); + busProcessNew.setMsgType("2"); + busProcessNew.setPId(delegateTask.getProcessInstanceId()); + busProcessNew.setMesg(object.toJSONString()); + busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNew.setTaskId(delegateTask.getId()); + busProcessNew.setCommitText(object.getString("commentText")); + busProcessNew.setFinishFlag("0"); + busProcessNew.setTaskInfo(delegateTask.getName()); + busBean.save(busProcessNew); + if(nextUserList != null && !nextUserList.isEmpty()){ + for(String nextUser : nextUserList){ + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("2"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(nextUser); + busBean.save(busProcessNewNext); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRead/DeptZrBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/DeptZrBefore.java new file mode 100644 index 00000000..aa32f53f --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/DeptZrBefore.java @@ -0,0 +1,27 @@ +package com.ydw.bat.wkflow.listener.standardRead; + +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.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import java.util.List; + +/** + * 下发至部门责任人发起前 + */ +public class DeptZrBefore implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRead/EngineerApplayAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/EngineerApplayAfter.java new file mode 100644 index 00000000..6116862e --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/EngineerApplayAfter.java @@ -0,0 +1,82 @@ +package com.ydw.bat.wkflow.listener.standardRead; + +import com.alibaba.fastjson.JSONObject; +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.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; + +/** + * 工程师审核发起后 + */ +public class EngineerApplayAfter 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); + + 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(object.getString("gcApplyFlag").equals("1")){ + delegateTask.setVariable("gcFlag",1); + if(StringUtils.isNotBlank(object.getString("deptUserId"))){ + if(StringUtils.isNotBlank(object.getString("deptUserId"))){ + delegateTask.setVariable("deptUserId",object.getString("deptUserId")); + } + } + func1(delegateTask, busBean, object,"0"); + }else { + if(StringUtils.isNotBlank(object.getString("zxUserId"))){ + if(StringUtils.isNotBlank(object.getString("zxUserId"))){ + delegateTask.setVariable("zxUserId",object.getString("zxUserId")); + nextUserList.add(object.getString("zxUserId")); + } + } + BusProcessNew busProcessNew = new BusProcessNew(); + busProcessNew.setMsgType("2"); + busProcessNew.setPId(delegateTask.getProcessInstanceId()); + busProcessNew.setMesg(object.toJSONString()); + busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNew.setFinishFlag("0"); + busProcessNew.setTaskInfo(delegateTask.getName()); + busProcessNew.setUserId(object.getString("zxUserId")); + busBean.save(busProcessNew); + func1(delegateTask, busBean, object,"1"); + delegateTask.setVariable("gcFlag",2); + } + } + + /** + * 审批意见 + * @param delegateTask + * @param busBean + * @param object + * @param commitFlag + */ + private void func1(DelegateTask delegateTask, IBusProcessNewService busBean, JSONObject object,String commitFlag) { + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("TASK_ID",delegateTask.getId()); + BusProcessNew one1 = busBean.getOne(queryWrapper1); + if(one1!=null){ + one1.setCommitFlag(commitFlag); + one1.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRead/EngineerApplayBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/EngineerApplayBefore.java new file mode 100644 index 00000000..ba256a0b --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/EngineerApplayBefore.java @@ -0,0 +1,27 @@ +package com.ydw.bat.wkflow.listener.standardRead; + +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.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import java.util.List; + +/** + * 工程师审核发起前 + */ +public class EngineerApplayBefore implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ExpainAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ExpainAfter.java new file mode 100644 index 00000000..264f6913 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ExpainAfter.java @@ -0,0 +1,104 @@ +package com.ydw.bat.wkflow.listener.standardRead; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +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.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * 下发执行人发起后 + */ +public class ExpainAfter 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); + + 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(object.getString("resolveFlag").equals("1")){ + delegateTask.setVariable("jdFlag",1); + if(StringUtils.isNotBlank(object.getString("applyUserId"))){ + if(StringUtils.isNotBlank(object.getString("applyUserId"))){ + delegateTask.setVariable("applyUserId",object.getString("applyUserId")); + nextUserList.add(object.getString("applyUserId")); + } + } + }else { + delegateTask.setVariable("jdFlag",2); + if(StringUtils.isNotBlank(object.getString("xzUserId"))){ + if(StringUtils.isNotBlank(object.getString("xzUserId"))){ + delegateTask.setVariable("xzUserId",object.getString("xzUserId")); + nextUserList.add(object.getString("xzUserId")); + } + } + } + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); + String standName = ""; + if(object.getString("standInData").equals("0")){ + standName = "国内"; + }else { + standName = "国外"; + } + String prcName = standName+"-标准解读流程"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ + one1.setOverTime(OVERTIME); + one1.setPrcType("1"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + // 存储当前节点意见 + BusProcessNew busProcessNew = new BusProcessNew(); + busProcessNew.setMsgType("2"); + busProcessNew.setPId(delegateTask.getProcessInstanceId()); + busProcessNew.setMesg(object.toJSONString()); + busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNew.setTaskId(delegateTask.getId()); + busProcessNew.setCommitText(object.getString("commentText")); + busProcessNew.setFinishFlag("0"); + busProcessNew.setTaskInfo(delegateTask.getName()); + busBean.save(busProcessNew); + 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); + busBean.save(busProcessNewNext); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ExpainBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ExpainBefore.java new file mode 100644 index 00000000..e54d3484 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ExpainBefore.java @@ -0,0 +1,27 @@ +package com.ydw.bat.wkflow.listener.standardRead; + +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.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import java.util.List; + +/** + * 下发执行人发起前 + */ +public class ExpainBefore implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ResolveAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ResolveAfter.java new file mode 100644 index 00000000..21ba4603 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ResolveAfter.java @@ -0,0 +1,97 @@ +package com.ydw.bat.wkflow.listener.standardRead; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +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.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; + +/** + * 标准解读发起后 + */ +public class ResolveAfter 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); + + 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("zrUserId"))){ + if(object.getString("zrUserId").contains(",")){ + nextUserList = Arrays.asList(object.getString("zrUserId").split(",")); + }else { + nextUserList.add(object.getString("zrUserId")); + } + // 配置多实例 + delegateTask.setVariable("zrUserList",nextUserList); + } + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); + String standName = ""; + if(object.getString("standInData").equals("0")){ + standName = "国内"; + }else { + standName = "国外"; + } + String prcName = standName+"-标准解读流程"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ + one1.setOverTime(OVERTIME); + one1.setPrcType("1"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + // 存储当前节点意见 + BusProcessNew busProcessNew = new BusProcessNew(); + busProcessNew.setMsgType("clause"); + busProcessNew.setPId(delegateTask.getProcessInstanceId()); + busProcessNew.setMesg(object.toJSONString()); + busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNew.setTaskId(delegateTask.getId()); + busProcessNew.setCommitText(object.getString("commentText")); + busProcessNew.setFinishFlag("0"); + busProcessNew.setTaskInfo(delegateTask.getName()); + busBean.save(busProcessNew); + if(nextUserList != null && !nextUserList.isEmpty()){ + for(String nextUser : nextUserList){ + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("2"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(nextUser); + busBean.save(busProcessNewNext); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ResolveBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ResolveBefore.java new file mode 100644 index 00000000..45b1306d --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ResolveBefore.java @@ -0,0 +1,14 @@ +package com.ydw.bat.wkflow.listener.standardRead; + +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +/** + * 标准解读发起前 + */ +public class ResolveBefore implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ZrApplayAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ZrApplayAfter.java new file mode 100644 index 00000000..6992c72a --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ZrApplayAfter.java @@ -0,0 +1,82 @@ +package com.ydw.bat.wkflow.listener.standardRead; + +import com.alibaba.fastjson.JSONObject; +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.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; + +/** + * 责任人审核发起后 + */ +public class ZrApplayAfter 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); + + 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(object.getString("zrApplyFlag").equals("1")){ + delegateTask.setVariable("zrFlag",1); + if(StringUtils.isNotBlank(object.getString("engineerUserId"))){ + if(StringUtils.isNotBlank(object.getString("engineerUserId"))){ + delegateTask.setVariable("engineerUserId",object.getString("engineerUserId")); + } + } + func1(delegateTask, busBean, object,"0"); + }else { + if(StringUtils.isNotBlank(object.getString("zxUserId"))){ + if(StringUtils.isNotBlank(object.getString("zxUserId"))){ + delegateTask.setVariable("zxUserId",object.getString("zxUserId")); + nextUserList.add(object.getString("zxUserId")); + } + } + BusProcessNew busProcessNew = new BusProcessNew(); + busProcessNew.setMsgType("2"); + busProcessNew.setPId(delegateTask.getProcessInstanceId()); + busProcessNew.setMesg(object.toJSONString()); + busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNew.setFinishFlag("0"); + busProcessNew.setTaskInfo(delegateTask.getName()); + busProcessNew.setUserId(object.getString("zxUserId")); + busBean.save(busProcessNew); + func1(delegateTask, busBean, object,"1"); + delegateTask.setVariable("zrFlag",2); + } + } + + /** + * 审批意见 + * @param delegateTask + * @param busBean + * @param object + * @param commitFlag + */ + private void func1(DelegateTask delegateTask, IBusProcessNewService busBean, JSONObject object,String commitFlag) { + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("TASK_ID",delegateTask.getId()); + BusProcessNew one1 = busBean.getOne(queryWrapper1); + if(one1!=null){ + one1.setCommitFlag(commitFlag); + one1.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ZrApplayBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ZrApplayBefore.java new file mode 100644 index 00000000..f881b2ae --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ZrApplayBefore.java @@ -0,0 +1,27 @@ +package com.ydw.bat.wkflow.listener.standardRead; + +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.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import java.util.List; + +/** + * 责任人审核发起前 + */ +public class ZrApplayBefore implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + } + } +}