From 7ee390bf08bd4277ebcd6e382ab8c0d67a1a49c9 Mon Sep 17 00:00:00 2001 From: yuezhihang Date: Thu, 8 Jul 2021 21:02:03 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=81=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../business_auth/LawsUserInfoService.java | 2 +- .../datas/dto/DetailedUpDto.java | 2 +- .../business_main/datas/dto/PEPDTO.java | 119 ++++++++++++++ .../datas/mapper/BusProcessNewMapper.java | 2 + .../datas/service/IBusProcessNewService.java | 3 + .../impl/BusProcessNewServiceImpl.java | 5 + .../PEPDepartLeaderAfter.java | 87 ++++++++++ .../PEPDepartLeaderBefore.java | 27 ++++ .../projectEvaluationProcess/PEPSumAfter.java | 98 +++++++++++ .../PEPSumBefore.java | 27 ++++ .../PEPffresPersonAfter.java | 152 ++++++++++++++++++ .../PEPffresPersonBefore.java | 27 ++++ .../PEPmanagerApproveAfter.java | 110 +++++++++++++ .../PEPmanagerApproveBefore.java | 27 ++++ .../PEPstartAfter.java | 96 +++++++++++ .../PEPstartBefore.java | 21 +++ .../PEPtaskEstimateAfter.java | 92 +++++++++++ .../PEPtaskEstimateBefore.java | 27 ++++ .../PEPtaskLssueAfter.java | 99 ++++++++++++ .../PEPtaskLssueBefore.java | 27 ++++ .../CountersignSRPAfter.java | 2 +- .../SRPApplyApplicantAfter.java | 2 +- .../SRPManagerApproveAfter.java | 2 + .../SRPstartAfter.java | 2 +- src/main/resources/application.yml | 2 +- .../mapper/datas/BusProcessNewMapper.xml | 6 + 26 files changed, 1060 insertions(+), 6 deletions(-) create mode 100644 src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/PEPDTO.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPDepartLeaderAfter.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPDepartLeaderBefore.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPSumAfter.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPSumBefore.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPffresPersonAfter.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPffresPersonBefore.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPmanagerApproveAfter.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPmanagerApproveBefore.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPstartAfter.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPstartBefore.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPtaskEstimateAfter.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPtaskEstimateBefore.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPtaskLssueAfter.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPtaskLssueBefore.java diff --git a/src/main/java/com/ydw/bat/wkflow/business_auth/LawsUserInfoService.java b/src/main/java/com/ydw/bat/wkflow/business_auth/LawsUserInfoService.java index 85b08f85..dae1c157 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_auth/LawsUserInfoService.java +++ b/src/main/java/com/ydw/bat/wkflow/business_auth/LawsUserInfoService.java @@ -19,7 +19,7 @@ import java.util.Map; import java.util.Set; @Component -@FeignClient(value = "FotonLAWSSystem",path="/api",url="") +@FeignClient(value = "FotonLAWSSystem444",path="/api",url="") @RequestMapping("/") public interface LawsUserInfoService { diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/DetailedUpDto.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/DetailedUpDto.java index 2b0a8c6a..bfcfcf21 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/DetailedUpDto.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/DetailedUpDto.java @@ -52,7 +52,7 @@ public class DetailedUpDto { private String reNewPeople; @ApiModelProperty(value = "要添加的清单id") - private String[] lawsIds; + private String inforlist; @ApiModelProperty(value = "清单详情") private String remark; diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/PEPDTO.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/PEPDTO.java new file mode 100644 index 00000000..c5046e13 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/PEPDTO.java @@ -0,0 +1,119 @@ +/** + * Copyright 2021 bejson.com + */ +package com.ydw.bat.wkflow.business_main.datas.dto; +import java.util.Date; + +/** + * Auto-generated: 2021-07-08 14:51:4 + * + * @author bejson.com (i@bejson.com) + * @website http://www.bejson.com/java2pojo/ + */ +public class PEPDTO { + + private String id; + private String projectPlatfor; + private String projectNumber; + private String projectName; + private String projectClassification; + private String projectStatus; + private String projectGroup; + private Date projectStartDate; + private Date projectEndDate; + private String currentNode; + private String projectLevel; + private String productLine; + private String projectManager; + public void setId(String id) { + this.id = id; + } + public String getId() { + return id; + } + + public void setProjectPlatfor(String projectPlatfor) { + this.projectPlatfor = projectPlatfor; + } + public String getProjectPlatfor() { + return projectPlatfor; + } + + public void setProjectNumber(String projectNumber) { + this.projectNumber = projectNumber; + } + public String getProjectNumber() { + return projectNumber; + } + + public void setProjectName(String projectName) { + this.projectName = projectName; + } + public String getProjectName() { + return projectName; + } + + public void setProjectClassification(String projectClassification) { + this.projectClassification = projectClassification; + } + public String getProjectClassification() { + return projectClassification; + } + + public void setProjectStatus(String projectStatus) { + this.projectStatus = projectStatus; + } + public String getProjectStatus() { + return projectStatus; + } + + public void setProjectGroup(String projectGroup) { + this.projectGroup = projectGroup; + } + public String getProjectGroup() { + return projectGroup; + } + + public void setProjectStartDate(Date projectStartDate) { + this.projectStartDate = projectStartDate; + } + public Date getProjectStartDate() { + return projectStartDate; + } + + public void setProjectEndDate(Date projectEndDate) { + this.projectEndDate = projectEndDate; + } + public Date getProjectEndDate() { + return projectEndDate; + } + + public void setCurrentNode(String currentNode) { + this.currentNode = currentNode; + } + public String getCurrentNode() { + return currentNode; + } + + public void setProjectLevel(String projectLevel) { + this.projectLevel = projectLevel; + } + public String getProjectLevel() { + return projectLevel; + } + + public void setProductLine(String productLine) { + this.productLine = productLine; + } + public String getProductLine() { + return productLine; + } + + public void setProjectManager(String projectManager) { + this.projectManager = projectManager; + } + public String getProjectManager() { + return projectManager; + } + +} \ No newline at end of file diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/BusProcessNewMapper.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/BusProcessNewMapper.java index fedd1769..986f222f 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/BusProcessNewMapper.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/BusProcessNewMapper.java @@ -26,4 +26,6 @@ public interface BusProcessNewMapper extends BaseMapper { List findNoExecuteBusProcessNewForEnd(@Param("taskIds")List taskIds); // String queryTaskName(@Param("id")String id); + List findLastworkPeople(@Param("key")String key,@Param("pId")String pId); + } diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IBusProcessNewService.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IBusProcessNewService.java index d97452f8..a078b9c2 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IBusProcessNewService.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IBusProcessNewService.java @@ -3,6 +3,7 @@ package com.ydw.bat.wkflow.business_main.datas.service; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.baomidou.mybatisplus.extension.service.IService; import org.activiti.engine.task.Task; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -28,5 +29,7 @@ public interface IBusProcessNewService extends IService { List findTaskDetailByTaskIds(List taskIdList); List findNoExecuteBusProcessNewForEnd(List taskIdList); + //子流程 获取 阶段数据 专用 BY yzh + List findLastworkPeople(@Param("key")String key, @Param("pId")String pId); } diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/BusProcessNewServiceImpl.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/BusProcessNewServiceImpl.java index 0615c20b..448756e1 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/BusProcessNewServiceImpl.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/BusProcessNewServiceImpl.java @@ -68,4 +68,9 @@ public class BusProcessNewServiceImpl extends ServiceImpl findNoExecuteBusProcessNewForEnd(List taskIdList) { return baseMapper.findNoExecuteBusProcessNewForEnd(taskIdList); } + + @Override + public List findLastworkPeople(String key, String pId) { + return baseMapper.findLastworkPeople(key,pId); + } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPDepartLeaderAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPDepartLeaderAfter.java new file mode 100644 index 00000000..e5030b0d --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPDepartLeaderAfter.java @@ -0,0 +1,87 @@ +package com.ydw.bat.wkflow.listener.projectEvaluationProcess; + +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.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; + +public class PEPDepartLeaderAfter 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(); + + //是否审批通过 passFlag == 1 通过 + BusProcessNew busProcessNew = new BusProcessNew(); + busProcessNew.setMsgType("clause"); + busProcessNew.setPId(delegateTask.getProcessInstanceId()); + busProcessNew.setMesg(object.toJSONString()); + busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNew.setFinishFlag("0"); + busProcessNew.setTaskInfo(delegateTask.getName()); + busProcessNew.setUserId(object.getString("applyUpdUserId")); + busBean.save(busProcessNew); + func1(delegateTask,busBean,object,"0"); + //截止时间 流程描述 创建人 + 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 = object.getString("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("5"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + } + + 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/projectEvaluationProcess/PEPDepartLeaderBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPDepartLeaderBefore.java new file mode 100644 index 00000000..68ffd2c7 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPDepartLeaderBefore.java @@ -0,0 +1,27 @@ +package com.ydw.bat.wkflow.listener.projectEvaluationProcess; + +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 PEPDepartLeaderBefore 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/projectEvaluationProcess/PEPSumAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPSumAfter.java new file mode 100644 index 00000000..93bfc123 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPSumAfter.java @@ -0,0 +1,98 @@ +package com.ydw.bat.wkflow.listener.projectEvaluationProcess; + +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.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class PEPSumAfter 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); + + + //业务经理Id + List nextUserList = new ArrayList(); + if (StringUtils.isNotBlank(object.getString(""))){ + nextUserList.add(object.getString("DLUserId")); + delegateTask.setVariable("DLUserId",object.getString("DLUserId")); + }else { + throw new ActivitiException("请选择标准法规部门领导!!"); + } + + + //截止时间 流程描述 创建人 + 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 = object.getString("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("5"); + 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("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/projectEvaluationProcess/PEPSumBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPSumBefore.java new file mode 100644 index 00000000..181bf783 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPSumBefore.java @@ -0,0 +1,27 @@ +package com.ydw.bat.wkflow.listener.projectEvaluationProcess; + +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 PEPSumBefore 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/projectEvaluationProcess/PEPffresPersonAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPffresPersonAfter.java new file mode 100644 index 00000000..ec13c7e6 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPffresPersonAfter.java @@ -0,0 +1,152 @@ +package com.ydw.bat.wkflow.listener.projectEvaluationProcess; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.tmsps.fk.common.util.JsonUtil; +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.text.SimpleDateFormat; +import java.util.*; + +public class PEPffresPersonAfter 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("fenFlag"))){ + if ("1".equals(object.getString("fenFlag"))){ + //通过 记录通过的流程条数 + if (StringUtils.isNotBlank(String.valueOf(delegateTask.getVariable("PEPCount")))){ + String as= String.valueOf(delegateTask.getVariable("PEPCount")); + delegateTask.setVariable("PEPCount",String.valueOf(Integer.valueOf(as)+1)); + }else { + delegateTask.setVariable("PEPCount","0"); + } + delegateTask.setVariable("fenFlag",object.getString("fenFlag")); + }else { + //不通过就要驳回 + nextUserList.add(object.getString("workPeople")); + delegateTask.setVariable("workPeople",object.getString("workPeople")); + delegateTask.setVariable("fenFlag",object.getString("fenFlag")); + } + } + //截止时间 流程描述 创建人 + 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 = object.getString("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("5"); + 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() && "2".equals(object.getString("fenFlag"))){ + oneStep(delegateTask, busBean, object, nextUserList); + }else if ("1".equals(object.getString("fenFlag")) && String.valueOf(delegateTask.getVariable("PEPCount")).equals(String.valueOf(delegateTask.getVariable("PEPAllCount")))){ + oneStep1(delegateTask, busBean, object, nextUserList); + }else { + oneStep(delegateTask, busBean, object, nextUserList); + } + } + + private void oneStep(DelegateTask delegateTask, IBusProcessNewService busBean, JSONObject object, List nextUserList) { + 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); + } + } + + // TODO: 2021/7/7 + private void oneStep1(DelegateTask delegateTask, IBusProcessNewService busBean, JSONObject object, List nextUserList) { + List busProcessNews = busBean.findLastworkPeople("ProjectEvaluationProcess5",delegateTask.getProcessInstanceId()); + //中间对象 + Map> map=new HashMap<>(); + List CPX=new ArrayList<>(); + for (BusProcessNew bus:busProcessNews) { + //数据归纳 + JSONObject object1 = JSONObject.parseObject(bus.getMesg()); + String key=object1.getString("CPXpeople"); + if (StringUtils.isNotBlank(key)){ + List middle=new ArrayList<>(); + if (null!=map.get(key)){ + map.get(key).add(bus); + }else { + //判断存在多少个 产品线负责人 + CPX.add(key); + middle.add(bus); + map.put(key,middle); + } + }else { + throw new ActivitiException("请检查是否存在,产品线负责人!!"); + } + } + //生成任务信息 + for (String cp:CPX) { + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(JsonUtil.toJson(map.get(cp))); + busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(cp); + busBean.save(busProcessNewNext); + } + //赋值 节点 + delegateTask.setVariable("CPXpeoples",CPX); + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPffresPersonBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPffresPersonBefore.java new file mode 100644 index 00000000..51d17b37 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPffresPersonBefore.java @@ -0,0 +1,27 @@ +package com.ydw.bat.wkflow.listener.projectEvaluationProcess; + +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 PEPffresPersonBefore 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/projectEvaluationProcess/PEPmanagerApproveAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPmanagerApproveAfter.java new file mode 100644 index 00000000..278bce91 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPmanagerApproveAfter.java @@ -0,0 +1,110 @@ +package com.ydw.bat.wkflow.listener.projectEvaluationProcess; + +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.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; + +public class PEPmanagerApproveAfter 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(); + + //是否审批通过 passFlag == 1 不通过 + if ("2".equals(String.valueOf(object.get("passFlag")))){ + //如果流程通过标识为1 则为不通过发送消息给用户流程结束 + }else { + 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("liablePeopleList",nextUserList); + } + //设置一个计数器 + if (StringUtils.isNotBlank(delegateTask.getVariable("PEPAllCount",String.class))){ + delegateTask.setVariable("PEPAllCount", String.valueOf(delegateTask.getVariable("PEPAllCount",Integer.class) + +nextUserList.size())); + }else { + delegateTask.setVariable("PEPAllCount",nextUserList.size()); + } + } + //截止时间 流程描述 创建人 + 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 = object.getString("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("5"); + 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("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/projectEvaluationProcess/PEPmanagerApproveBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPmanagerApproveBefore.java new file mode 100644 index 00000000..1807c9e3 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPmanagerApproveBefore.java @@ -0,0 +1,27 @@ +package com.ydw.bat.wkflow.listener.projectEvaluationProcess; + +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 PEPmanagerApproveBefore 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/projectEvaluationProcess/PEPstartAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPstartAfter.java new file mode 100644 index 00000000..e41d53c5 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPstartAfter.java @@ -0,0 +1,96 @@ +package com.ydw.bat.wkflow.listener.projectEvaluationProcess; + +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.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.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class PEPstartAfter 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 object2 = JSONObject.parseObject(datas.getFormValsJson()); + JSONObject object = null; + delegateTask.setVariable("objectJson",object2); + //获取对象中的项目的数据 +// JSONArray os=object.getJSONArray("sarStandProjectLibraries"); +// for (Object o:os) { + +// System.out.println(object1); +// } + //业务经理Id + List nextUserList = new ArrayList(); + delegateTask.setVariable("YWuserId",object.getString("YWuserId")); + nextUserList.add(object.getString("YWuserId")); + //截止时间 流程描述 创建人 + 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 = object.getString("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("5"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + throw new ActivitiException("lalallallal"); + // 存储当前节点意见 +// 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("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/projectEvaluationProcess/PEPstartBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPstartBefore.java new file mode 100644 index 00000000..0b0faa89 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPstartBefore.java @@ -0,0 +1,21 @@ +package com.ydw.bat.wkflow.listener.projectEvaluationProcess; + +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +public class PEPstartBefore 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/projectEvaluationProcess/PEPtaskEstimateAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPtaskEstimateAfter.java new file mode 100644 index 00000000..f426c370 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPtaskEstimateAfter.java @@ -0,0 +1,92 @@ +package com.ydw.bat.wkflow.listener.projectEvaluationProcess; + +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.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; + +public class PEPtaskEstimateAfter 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("ffUserId"))){ + delegateTask.setVariable("ffUserId",object.getString("ffUserId")); + nextUserList.add(object.getString("ffUserId")); + } + //截止时间 流程描述 创建人 + 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 = object.getString("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("5"); + 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("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/projectEvaluationProcess/PEPtaskEstimateBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPtaskEstimateBefore.java new file mode 100644 index 00000000..f0d8fb29 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPtaskEstimateBefore.java @@ -0,0 +1,27 @@ +package com.ydw.bat.wkflow.listener.projectEvaluationProcess; + +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 PEPtaskEstimateBefore 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/projectEvaluationProcess/PEPtaskLssueAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPtaskLssueAfter.java new file mode 100644 index 00000000..6b3b064f --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPtaskLssueAfter.java @@ -0,0 +1,99 @@ +package com.ydw.bat.wkflow.listener.projectEvaluationProcess; + +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.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; + +public class PEPtaskLssueAfter 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("workPeoples"))){ + if(object.getString("workPeoples").contains(",")){ + nextUserList = Arrays.asList(object.getString("workPeoples").split(",")); + }else { + nextUserList.add(object.getString("workPeoples")); + } + // 配置多实例 + delegateTask.setVariable("workPeoples",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 = object.getString("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("5"); + 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("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/projectEvaluationProcess/PEPtaskLssueBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPtaskLssueBefore.java new file mode 100644 index 00000000..b598bd82 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPtaskLssueBefore.java @@ -0,0 +1,27 @@ +package com.ydw.bat.wkflow.listener.projectEvaluationProcess; + +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 PEPtaskLssueBefore 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/standardRegulatoryProcess/CountersignSRPAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/CountersignSRPAfter.java index b5ebb8e5..1faf38f2 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/CountersignSRPAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/CountersignSRPAfter.java @@ -59,7 +59,7 @@ public class CountersignSRPAfter implements TaskListener{ BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); if(one1!=null){ one1.setOverTime(OVERTIME); - one1.setPrcType("3"); + one1.setPrcType("4"); one1.setPrcName(prcName); one1.setCreatUser(user); one1.setCreatUserName(username); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPApplyApplicantAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPApplyApplicantAfter.java index ae81660a..dd102cf0 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPApplyApplicantAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPApplyApplicantAfter.java @@ -56,7 +56,7 @@ public class SRPApplyApplicantAfter implements TaskListener{ BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); if(one1!=null){ one1.setOverTime(OVERTIME); - one1.setPrcType("3"); + one1.setPrcType("4"); one1.setPrcName(prcName); one1.setCreatUser(user); one1.setCreatUserName(username); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPManagerApproveAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPManagerApproveAfter.java index 7d7d6038..404aa9bf 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPManagerApproveAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPManagerApproveAfter.java @@ -71,6 +71,7 @@ public class SRPManagerApproveAfter implements TaskListener{ detailed.setApplicationScope(object.getString("applyRegion")); detailed.setFileId(object.getString("enclosure")); detailed.setRemark(object.getString("descriptionList")); + detailed.setInforlist(object.getString("inforlist")); detailed.setDetailedListState("1"); detailed.setDetailedListVision(re1+String.valueOf(Integer.valueOf(re2)+1)); lawsUserInfoService.updateLaws(detailed); @@ -79,6 +80,7 @@ public class SRPManagerApproveAfter implements TaskListener{ } delegateTask.setVariable("jlFlag",0); func1(delegateTask, busBean, object,"0"); + } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPstartAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPstartAfter.java index a9de90d0..7316a7e7 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPstartAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPstartAfter.java @@ -93,7 +93,7 @@ public class SRPstartAfter implements TaskListener { BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); if(one1!=null){ one1.setOverTime(OVERTIME); - one1.setPrcType("3"); + one1.setPrcType("4"); one1.setPrcName(prcName); one1.setCreatUser(user); one1.setCreatUserName(username); diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index d452a43f..aa01140c 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -18,7 +18,7 @@ eureka: defaultZone: http://192.168.10.47:8761/eureka/ spring: application: - name: bat-wkflow + name: shan2 http: encoding: charset: UTF-8 diff --git a/src/main/resources/mapper/datas/BusProcessNewMapper.xml b/src/main/resources/mapper/datas/BusProcessNewMapper.xml index de0bff7c..7bb28260 100644 --- a/src/main/resources/mapper/datas/BusProcessNewMapper.xml +++ b/src/main/resources/mapper/datas/BusProcessNewMapper.xml @@ -27,4 +27,10 @@ + +