diff --git a/src/main/java/com/ydw/bat/wkflow/business_activiti/dto/ProjectAssessDTO.java b/src/main/java/com/ydw/bat/wkflow/business_activiti/dto/ProjectAssessDTO.java index 3546038f..912cb691 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_activiti/dto/ProjectAssessDTO.java +++ b/src/main/java/com/ydw/bat/wkflow/business_activiti/dto/ProjectAssessDTO.java @@ -22,7 +22,7 @@ public class ProjectAssessDTO { private String saleMarket; private Date modifyTime; private String targetMarket; -// private Children children; +// private PCAchildren children; private List children; private String id; private String productType; diff --git a/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TodoTaskController.java b/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TodoTaskController.java index 45f2bc17..67f28124 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TodoTaskController.java +++ b/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TodoTaskController.java @@ -728,7 +728,7 @@ public class TodoTaskController extends BaseAction { } ProjectAssessDTO projectAssess = projectAssessDTOList.get(0); projectAssess.setChildren(children); -// List childrenList = projectAssess.getChildren(); +// List childrenList = projectAssess.getChildren(); // childrenList.get(0).setItemsList(itemsLists); // projectAssess.setChildren(childrenList); projectAssessResultList.add(projectAssess); diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/PCA/PCAbreakdownList.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/PCA/PCAbreakdownList.java new file mode 100644 index 00000000..8b7db278 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/PCA/PCAbreakdownList.java @@ -0,0 +1,27 @@ +/** + * Copyright 2021 bejson.com + */ +package com.ydw.bat.wkflow.business_main.datas.dto.PCA; +import lombok.Data; + +import java.util.Date; + +/** + * Auto-generated: 2021-07-22 18:56:38 + * + * @author bejson.com (i@bejson.com) + * @website http://www.bejson.com/java2pojo/ + */ +@Data +public class PCAbreakdownList { + + private String id; + private String standId; + private String itemsNum; + private String itemsName; + private String responsibleUnit; + private String responsibleEngineer; + private String workPeople; + private String workPeopleId; + +} \ No newline at end of file diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/PCA/PCAchildren.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/PCA/PCAchildren.java new file mode 100644 index 00000000..892291b0 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/PCA/PCAchildren.java @@ -0,0 +1,25 @@ +/** + * Copyright 2021 bejson.com + */ +package com.ydw.bat.wkflow.business_main.datas.dto.PCA; +import lombok.Data; + +import java.util.Date; + +/** + * Auto-generated: 2021-07-27 14:7:5 + * + * @author bejson.com (i@bejson.com) + * @website http://www.bejson.com/java2pojo/ + */ +@Data +public class PCAchildren { + private String id; + private String key; + private String standId; + private String itemsNum; + private String itemsName; + private String workPeople; + private String workPeopleId; + +} \ No newline at end of file diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/PCA/PCAdataList.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/PCA/PCAdataList.java new file mode 100644 index 00000000..45e92196 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/PCA/PCAdataList.java @@ -0,0 +1,36 @@ +/** + * Copyright 2021 bejson.com + */ +package com.ydw.bat.wkflow.business_main.datas.dto.PCA; +import lombok.Data; + +import java.util.Date; +import java.util.List; + +/** + * Auto-generated: 2021-07-22 18:56:38 + * + * @author bejson.com (i@bejson.com) + * @website http://www.bejson.com/java2pojo/ + */ +@Data +public class PCAdataList { + + private Date ssrq; + private String zrbm; + private String standId; + private String cycvppsbm; + private String cycvppscn; + private String kccvppsbm; + private String kccvppscn; + private String standName; + private Date xcxssrqgj; + private Date zccssrqgj; + private String standEnName; + private String liablePeople; + private String liablePeopleId; + private String workPeople; + private String workPeopleId; + private List children; + +} \ No newline at end of file diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/PCA/PCAtotal.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/PCA/PCAtotal.java new file mode 100644 index 00000000..c004c00c --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/PCA/PCAtotal.java @@ -0,0 +1,39 @@ +/** + * Copyright 2021 bejson.com + */ +package com.ydw.bat.wkflow.business_main.datas.dto.PCA; +import lombok.Data; + +import java.util.List; + +/** + * Auto-generated: 2021-07-22 18:56:38 + * + * @author bejson.com (i@bejson.com) + * @website http://www.bejson.com/java2pojo/ + */ +@Data +public class PCAtotal { + + private String BZFlag; + private String jgUser; + private List dataList; + private String jgUserId; + private String startUser; + private List taskBreak; + private String commentText; + private String projectName; + private List breakdownList; + private String prcCreateUser; + private String projectNumber; + private String startUserName; + private String serviceManager; + private String statuteMinister; + private String prcCreateUserName; + private String engineeringManager; + private String serviceManagerName; + private String statuteMinisterName; + private String engineeringManagerName; + private String bZFlag; + private List children; +} \ No newline at end of file diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAComplianceAssessmentAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAComplianceAssessmentAfter.java new file mode 100644 index 00000000..758bd50e --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAComplianceAssessmentAfter.java @@ -0,0 +1,90 @@ +package com.ydw.bat.wkflow.listener.ProjectComplianceAssessment; + + +import com.alibaba.fastjson.JSONArray; +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 java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class PCAComplianceAssessmentAfter 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); + + //根据流程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<>(); + JSONArray jsonArray=JSONArray.parseArray(object.getString("dataList")); + JSONObject jsonObject=JSONObject.parseObject(jsonArray.get(0).toString()); + nextUserList.add(jsonObject.getString("liablePeopleId")); + delegateTask.setVariable("ffUserId",jsonObject.getString("liablePeopleId")); + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = delegateTask.getVariable("prcCreateUser",String.class); + String username = delegateTask.getVariable("prcCreateUserName",String.class); + String prcName = "标准项目合规评估-审批"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setOverTime(OVERTIME); + one1.setPrcType("6"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + // 存储当前节点意见1 + 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); + } + } + if(nextUserList != null && !nextUserList.isEmpty()){ + for(String userId : 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(userId); + busBean.save(busProcessNewNext); + } + } + + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAComplianceAssessmentBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAComplianceAssessmentBefore.java new file mode 100644 index 00000000..c503ae99 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAComplianceAssessmentBefore.java @@ -0,0 +1,29 @@ +package com.ydw.bat.wkflow.listener.ProjectComplianceAssessment; + +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 PCAComplianceAssessmentBefore implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAbafgManagerApproveAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAbafgManagerApproveAfter.java new file mode 100644 index 00000000..11846b65 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAbafgManagerApproveAfter.java @@ -0,0 +1,130 @@ +package com.ydw.bat.wkflow.listener.ProjectComplianceAssessment; + + +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_main.datas.dto.PCA.PCAtotal; +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 org.springframework.beans.BeanUtils; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class PCAbafgManagerApproveAfter 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); + + //根据流程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("bzFlag"))) { + nextUserList.add(String.valueOf(delegateTask.getVariable("prcCreateUser"))); + delegateTask.setVariable("sum", delegateTask.getVariable("prcCreateUser")); + delegateTask.setVariable("bzFlag", "1"); + if (null != delegateTask.getVariable("pass")) { + delegateTask.setVariable("pass", String.valueOf(Integer.valueOf(String.valueOf(delegateTask.getVariable("pass"))) + 1)); + } else { + delegateTask.setVariable("pass", "1"); + } + } else { + nextUserList.add(String.valueOf(delegateTask.getVariable("workPeople"))); + delegateTask.setVariable("bzFlag", "2"); + } + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = delegateTask.getVariable("prcCreateUser", String.class); + String username = delegateTask.getVariable("prcCreateUserName", String.class); + String prcName = "标准项目合规评估-汇总审批"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setOverTime(OVERTIME); + one1.setPrcType("6"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + // 存储当前节点意见1 + 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); + } + } + if (Integer.valueOf(delegateTask.getVariable("pass", String.class)) != + delegateTask.getVariable("workPeoples", List.class).size()) { + if (nextUserList != null && !nextUserList.isEmpty()) { + for (String userId : 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(userId); + busBean.save(busProcessNewNext); + } + } + }else { + List busProcessNews=busBean.findLastworkPeople("Projectcomplianceassessment6",delegateTask.getProcessInstanceId()); + PCAtotal res = new PCAtotal(); + for (BusProcessNew bus:busProcessNews) { + PCAtotal pcAtotal=JSONObject.parseObject(bus.getMesg(),PCAtotal.class); + if (StringUtils.isNotEmpty(res.getBZFlag())){ + res.getDataList().addAll(pcAtotal.getDataList()); + }else { + BeanUtils.copyProperties(pcAtotal,res); + } + } + if (nextUserList != null && !nextUserList.isEmpty()) { + for (String userId : nextUserList) { + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(JsonUtil.toJson(res)); + busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(userId); + busBean.save(busProcessNewNext); + } + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAbzManagerApproveAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAbzManagerApproveAfter.java new file mode 100644 index 00000000..ea01fc77 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAbzManagerApproveAfter.java @@ -0,0 +1,97 @@ +package com.ydw.bat.wkflow.listener.ProjectComplianceAssessment; + + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_main.datas.dto.*; +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.springframework.beans.BeanUtils; + +import java.text.SimpleDateFormat; +import java.util.*; + +public class PCAbzManagerApproveAfter 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); + + //根据流程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("BZFlag"))){ + delegateTask.setVariable("BZFlag","1"); + delegateTask.setVariable("GCUserId",String.valueOf(delegateTask.getVariable("gcjl"))); + nextUserList.add(String.valueOf(delegateTask.getVariable("gcjl"))); + }else { + //流程直接结束,抄送消息提示 + delegateTask.setVariable("BZFlag","2"); + } + + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = delegateTask.getVariable("prcCreateUser",String.class); + String username = delegateTask.getVariable("prcCreateUserName",String.class); + String prcName = "工程经理转办"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setOverTime(OVERTIME); + one1.setPrcType("6"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + // 存储当前节点意见1 + 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); + } + } + if(nextUserList != null && !nextUserList.isEmpty()){ + for(String userId : 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(userId); + busBean.save(busProcessNewNext); + } + } + + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAbzManagerApproveBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAbzManagerApproveBefore.java new file mode 100644 index 00000000..58caa3f7 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAbzManagerApproveBefore.java @@ -0,0 +1,29 @@ +package com.ydw.bat.wkflow.listener.ProjectComplianceAssessment; + +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 PCAbzManagerApproveBefore implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAbzfgManagerApproveBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAbzfgManagerApproveBefore.java new file mode 100644 index 00000000..6bf7936a --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAbzfgManagerApproveBefore.java @@ -0,0 +1,29 @@ +package com.ydw.bat.wkflow.listener.ProjectComplianceAssessment; + +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 PCAbzfgManagerApproveBefore implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAdlApproveAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAdlApproveAfter.java new file mode 100644 index 00000000..d848255d --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAdlApproveAfter.java @@ -0,0 +1,99 @@ +package com.ydw.bat.wkflow.listener.ProjectComplianceAssessment; + + +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.dto.PCA.PCAtotal; +import com.ydw.bat.wkflow.business_main.datas.dto.SarStandUnqualified; +import com.ydw.bat.wkflow.business_main.datas.dto.SarStandardComplianceProductAssess; +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; + +public class PCAdlApproveAfter 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<>(); + PCAtotal res =JSONObject.parseObject(datas.getFormValsJson(),PCAtotal.class); + //不一致项 存储集合 + List standUnqualifieds=new ArrayList<>(); + //评估结果存储集合 + List sarStandardComplianceProductAssesses=new ArrayList<>(); + + + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = delegateTask.getVariable("prcCreateUser",String.class); + String username = delegateTask.getVariable("prcCreateUserName",String.class); + String prcName = "标准项目合规评估-流程结束"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setOverTime(OVERTIME); + one1.setPrcType("6"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + // 存储当前节点意见1 + 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); + } + } + if(nextUserList != null && !nextUserList.isEmpty()){ + for(String userId : 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(userId); + busBean.save(busProcessNewNext); + } + } + + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAdlApproveBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAdlApproveBefore.java new file mode 100644 index 00000000..f1cd3111 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAdlApproveBefore.java @@ -0,0 +1,29 @@ +package com.ydw.bat.wkflow.listener.ProjectComplianceAssessment; + +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 PCAdlApproveBefore implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAffLiableApproveAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAffLiableApproveAfter.java new file mode 100644 index 00000000..1674550e --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAffLiableApproveAfter.java @@ -0,0 +1,93 @@ +package com.ydw.bat.wkflow.listener.ProjectComplianceAssessment; + + +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 java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class PCAffLiableApproveAfter 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); + + //根据流程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("ffFlag"))) { + nextUserList.add(String.valueOf(delegateTask.getVariable("JGUserId"))); + delegateTask.setVariable("JGManager", delegateTask.getVariable("JGUserId")); + delegateTask.setVariable("ffFlag", "1"); + }else { + nextUserList.add(String.valueOf(delegateTask.getVariable("workPeople"))); + delegateTask.setVariable("ffFlag", "2"); + } + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = delegateTask.getVariable("prcCreateUser",String.class); + String username = delegateTask.getVariable("prcCreateUserName",String.class); + String prcName = "标准项目合规评估-架构经理审批"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setOverTime(OVERTIME); + one1.setPrcType("6"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + // 存储当前节点意见1 + 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); + } + } + if(nextUserList != null && !nextUserList.isEmpty()){ + for(String userId : 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(userId); + busBean.save(busProcessNewNext); + } + } + + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAffLiableApproveBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAffLiableApproveBefore.java new file mode 100644 index 00000000..5c0254bb --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAffLiableApproveBefore.java @@ -0,0 +1,29 @@ +package com.ydw.bat.wkflow.listener.ProjectComplianceAssessment; + +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 PCAffLiableApproveBefore implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAffLiableDistirbuteBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAffLiableDistirbuteBefore.java new file mode 100644 index 00000000..71620af9 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAffLiableDistirbuteBefore.java @@ -0,0 +1,29 @@ +package com.ydw.bat.wkflow.listener.ProjectComplianceAssessment; + +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 PCAffLiableDistirbuteBefore implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAffLiableDistributeAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAffLiableDistributeAfter.java new file mode 100644 index 00000000..d4533217 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAffLiableDistributeAfter.java @@ -0,0 +1,117 @@ +package com.ydw.bat.wkflow.listener.ProjectComplianceAssessment; + + +import com.alibaba.druid.support.json.JSONUtils; +import com.alibaba.fastjson.JSONArray; +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_main.datas.dto.DataList; +import com.ydw.bat.wkflow.business_main.datas.dto.PCA.PCAchildren; +import com.ydw.bat.wkflow.business_main.datas.dto.PCA.PCAdataList; +import com.ydw.bat.wkflow.business_main.datas.dto.PCA.PCAtotal; +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.springframework.beans.BeanUtils; + +import java.text.SimpleDateFormat; +import java.util.*; + +public class PCAffLiableDistributeAfter 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); + + //根据流程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); + PCAtotal pcAtotal=JSONObject.parseObject(datas.getFormValsJson(),PCAtotal.class); + //后续节点所需要的数据 + List nextUserList=new ArrayList<>(); + //猜测写代码 + //准备标准数据 + Map mapData=new HashMap<>(); + pcAtotal.getDataList().forEach(pcAdataList -> { + mapData.put(pcAdataList.getStandId(),pcAdataList); + }); + Map map=new HashMap<>(); + //获取被分发的条款 + pcAtotal.getChildren().forEach(o -> { + if (null!=map.get(o.getWorkPeopleId())){ + map.get(o.getWorkPeopleId()).getChildren().add(o); + int flag=0; + for (PCAdataList ps: map.get(o.getWorkPeopleId()).getDataList()) { + if (ps.getStandId().equals(mapData.get(o.getKey()).getStandId())){ + flag++; + } + } + if (flag==0){ + map.get(o.getWorkPeopleId()).getDataList().add(mapData.get(o.getKey())); + } + }else { + PCAtotal pcs=new PCAtotal(); + BeanUtils.copyProperties(pcAtotal,pcs); + //建立空的子 为了后面遍历 + List list=new ArrayList<>(); + list.add(o); + pcs.setChildren(list); + List list2=new ArrayList<>(); + list2.add(mapData.get(o.getKey())); + pcs.setDataList(list2); + map.put(o.getWorkPeopleId(),pcs); + } + }); + map.forEach((s, pcAtotal1) -> { + nextUserList.add(s); + }); + delegateTask.setVariable("workPeoples",nextUserList); + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = delegateTask.getVariable("prcCreateUser",String.class); + String username = delegateTask.getVariable("prcCreateUserName",String.class); + String prcName = "合规性评估"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setOverTime(OVERTIME); + one1.setPrcType("6"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + // 存储当前节点意见 + if(nextUserList != null && !nextUserList.isEmpty()){ + for(String userId : nextUserList){ + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(JsonUtil.toJson(map.get(userId))); + busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(userId); + busBean.save(busProcessNewNext); + } + } + + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAgcManagerApproveAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAgcManagerApproveAfter.java new file mode 100644 index 00000000..1364e924 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAgcManagerApproveAfter.java @@ -0,0 +1,95 @@ +package com.ydw.bat.wkflow.listener.ProjectComplianceAssessment; + + +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 java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class PCAgcManagerApproveAfter 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); + + //根据流程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("gcFlag"))) { + nextUserList.add(String.valueOf(delegateTask.getVariable("bzfgl"))); + delegateTask.setVariable("bzManager", delegateTask.getVariable("bzfgl")); + delegateTask.setVariable("gcFlag","1"); + }else { + nextUserList.add(String.valueOf(delegateTask.getVariable("workPeople"))); + delegateTask.setVariable("gcFlag", "2"); + } + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = delegateTask.getVariable("prcCreateUser",String.class); + String username = delegateTask.getVariable("prcCreateUserName",String.class); + String prcName = "标准项目合规评估-标准法规部经理审批"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setOverTime(OVERTIME); + one1.setPrcType("6"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + // 存储当前节点意见1 + 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); + } + } + if(nextUserList != null && !nextUserList.isEmpty()){ + for(String userId : 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(userId); + busBean.save(busProcessNewNext); + } + } + + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAgcManagerApproveBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAgcManagerApproveBefore.java new file mode 100644 index 00000000..c52f1423 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAgcManagerApproveBefore.java @@ -0,0 +1,29 @@ +package com.ydw.bat.wkflow.listener.ProjectComplianceAssessment; + +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 PCAgcManagerApproveBefore implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAgcManagerDeliverAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAgcManagerDeliverAfter.java new file mode 100644 index 00000000..584fcc49 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAgcManagerDeliverAfter.java @@ -0,0 +1,93 @@ +package com.ydw.bat.wkflow.listener.ProjectComplianceAssessment; + + +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.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 PCAgcManagerDeliverAfter 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); + + //根据流程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 (null!=object.getString("jgUserId")){ + delegateTask.setVariable("JGUserId",object.getString("jgUserId")); + nextUserList.add(object.getString("jgUserId")); + }else { + throw new ActivitiException("请选择架构经理!"); + } + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = delegateTask.getVariable("prcCreateUser",String.class); + String username = delegateTask.getVariable("prcCreateUserName",String.class); + String prcName = "架构经理任务分发"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setOverTime(OVERTIME); + one1.setPrcType("6"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + // 存储当前节点意见1 + 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); + } + } + if(nextUserList != null && !nextUserList.isEmpty()){ + for(String userId : 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(userId); + busBean.save(busProcessNewNext); + } + } + + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAgcManagerDeliverBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAgcManagerDeliverBefore.java new file mode 100644 index 00000000..7d1d9f43 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAgcManagerDeliverBefore.java @@ -0,0 +1,29 @@ +package com.ydw.bat.wkflow.listener.ProjectComplianceAssessment; + +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 PCAgcManagerDeliverBefore implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAjgManagerApproveAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAjgManagerApproveAfter.java new file mode 100644 index 00000000..2997cb5a --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAjgManagerApproveAfter.java @@ -0,0 +1,95 @@ +package com.ydw.bat.wkflow.listener.ProjectComplianceAssessment; + + +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 PCAjgManagerApproveAfter 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); + + //根据流程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("jgFlag"))) { + nextUserList.add(String.valueOf(delegateTask.getVariable("gcjl"))); + delegateTask.setVariable("gcManager", delegateTask.getVariable("gcjl")); + delegateTask.setVariable("jgFlag","1"); + }else { + nextUserList.add(String.valueOf(delegateTask.getVariable("workPeople"))); + delegateTask.setVariable("jgFlag", "2"); + } + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = delegateTask.getVariable("prcCreateUser",String.class); + String username = delegateTask.getVariable("prcCreateUserName",String.class); + String prcName = "标准项目合规评估-工程经理审批"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setOverTime(OVERTIME); + one1.setPrcType("6"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + // 存储当前节点意见1 + 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); + } + } + if(nextUserList != null && !nextUserList.isEmpty()){ + for(String userId : 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(userId); + busBean.save(busProcessNewNext); + } + } + + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAjgManagerApproveBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAjgManagerApproveBefore.java new file mode 100644 index 00000000..160097ba --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAjgManagerApproveBefore.java @@ -0,0 +1,29 @@ +package com.ydw.bat.wkflow.listener.ProjectComplianceAssessment; + +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 PCAjgManagerApproveBefore implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAjgManagerDistributeAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAjgManagerDistributeAfter.java new file mode 100644 index 00000000..dfb14d41 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAjgManagerDistributeAfter.java @@ -0,0 +1,119 @@ +package com.ydw.bat.wkflow.listener.ProjectComplianceAssessment; + + +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_main.datas.dto.PCA.PCAbreakdownList; +import com.ydw.bat.wkflow.business_main.datas.dto.PCA.PCAdataList; +import com.ydw.bat.wkflow.business_main.datas.dto.PCA.PCAtotal; +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.springframework.beans.BeanUtils; + +import java.text.SimpleDateFormat; +import java.util.*; + +public class PCAjgManagerDistributeAfter 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); + + //根据流程id找到流程信息 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); + Datas datas = datasService.getOne(queryWrapper); + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + PCAtotal pcAtotal=JSONObject.parseObject(datas.getFormValsJson(),PCAtotal.class); + delegateTask.setVariable("objectJson", object); + //后续节点所需要的数据 + List nextUserList=new ArrayList<>(); + Map map=new HashMap<>(); + //遍历下发任务!! + pcAtotal.getDataList().forEach(pcAdataList -> { + if (null==map.get(pcAdataList.getLiablePeopleId())){ + PCAtotal mis=new PCAtotal(); + BeanUtils.copyProperties(pcAtotal,mis); + List pcAdataLists=new ArrayList<>(); + pcAdataLists.add(pcAdataList); + List pcAbreakdownLists=new ArrayList<>(); + for (PCAbreakdownList ps:pcAtotal.getBreakdownList()) { + if (ps.getStandId().equals(pcAdataList.getStandId())){ + pcAbreakdownLists.add(ps); + } + } + mis.setBreakdownList(pcAbreakdownLists); + mis.setDataList(pcAdataLists); + map.put(pcAdataList.getLiablePeopleId(),mis); + nextUserList.add(pcAdataList.getLiablePeopleId()); + }else { + map.get(pcAdataList.getLiablePeopleId()).getDataList().add(pcAdataList); + List pcAbreakdownLists=new ArrayList<>(); + for (PCAbreakdownList ps:pcAtotal.getBreakdownList()) { + if (ps.getStandId().equals(pcAdataList.getStandId())){ + pcAbreakdownLists.add(ps); + } + } + map.get(pcAdataList.getLiablePeopleId()).getBreakdownList().addAll(pcAbreakdownLists); + } + }); + delegateTask.setVariable("liablePeopleList",nextUserList); + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = delegateTask.getVariable("prcCreateUser",String.class); + String username = delegateTask.getVariable("prcCreateUserName",String.class); + String prcName = "标准项目合规评估-流程下发"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setOverTime(OVERTIME); + one1.setPrcType("6"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + // 存储当前节点意见1 + 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); + } + } + if(nextUserList != null && !nextUserList.isEmpty()){ + for(String userId : nextUserList){ + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(JsonUtil.toJson(map.get(userId))); + busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(userId); + busBean.save(busProcessNewNext); + } + } + + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAjgManagerDistributeBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAjgManagerDistributeBefore.java new file mode 100644 index 00000000..db335dfe --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAjgManagerDistributeBefore.java @@ -0,0 +1,29 @@ +package com.ydw.bat.wkflow.listener.ProjectComplianceAssessment; + +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 PCAjgManagerDistributeBefore implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAstartAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAstartAfter.java new file mode 100644 index 00000000..ac32ec95 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAstartAfter.java @@ -0,0 +1,83 @@ +package com.ydw.bat.wkflow.listener.ProjectComplianceAssessment; + +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 java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class PCAstartAfter 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); + + //根据流程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就好了 + delegateTask.setVariable("ywjl",object.getString("serviceManager")); + delegateTask.setVariable("gcjl",object.getString("engineeringManager")); + delegateTask.setVariable("bzfgl",object.getString("statuteMinister")); + //标准法规部业务经理Id + List nextUserList = new ArrayList(); + //赋值标准法规工程师,工程经理,标准法规部部长 + nextUserList.add(object.getString("serviceManager")); + delegateTask.setVariable("BZUserId",object.getString("serviceManager")); + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); + delegateTask.setVariable("prcCreateUser", user); + delegateTask.setVariable("prcCreateUserName", username); + String prcName = "标准项目合规评估流程-项目维度"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setOverTime(OVERTIME); + one1.setPrcType("6"); + 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); + busBean.save(busProcessNewNext); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAstartBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAstartBefore.java new file mode 100644 index 00000000..b230687e --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAstartBefore.java @@ -0,0 +1,21 @@ +package com.ydw.bat.wkflow.listener.ProjectComplianceAssessment; + +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +public class PCAstartBefore 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/ProjectComplianceAssessment/PCAsumAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAsumAfter.java new file mode 100644 index 00000000..20661e5e --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAsumAfter.java @@ -0,0 +1,87 @@ +package com.ydw.bat.wkflow.listener.ProjectComplianceAssessment; + + +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 java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class PCAsumAfter 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); + + //根据流程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<>(); + nextUserList.add(delegateTask.getVariable("bzfgl",String.class)); + delegateTask.setVariable("DLUserId",delegateTask.getVariable("bzfgl",String.class)); + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = delegateTask.getVariable("prcCreateUser",String.class); + String username = delegateTask.getVariable("prcCreateUserName",String.class); + String prcName = "标准项目合规评估-标准法规部部长审核"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setOverTime(OVERTIME); + one1.setPrcType("6"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + // 存储当前节点意见1 + 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); + } + } + if(nextUserList != null && !nextUserList.isEmpty()){ + for(String userId : 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(userId); + busBean.save(busProcessNewNext); + } + } + + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAsumBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAsumBefore.java new file mode 100644 index 00000000..2a60662b --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAsumBefore.java @@ -0,0 +1,29 @@ +package com.ydw.bat.wkflow.listener.ProjectComplianceAssessment; + +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 PCAsumBefore implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + } + } + +} 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 index f2513bc3..d7683fdd 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPstartAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPstartAfter.java @@ -56,7 +56,7 @@ public class PEPstartAfter implements TaskListener { String username = object.getString("prcCreateUserName"); delegateTask.setVariable("prcCreateUser", user); delegateTask.setVariable("prcCreateUserName", username); - String prcName = "标准项目合规评估流程-审批"; + String prcName = "标准-标准项目合规评估流程-审批"; QueryWrapper queryWrapper2 = new QueryWrapper(); queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); 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 b8151c33..ab7e3a3a 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 @@ -54,12 +54,12 @@ public class SRPstartAfter implements TaskListener { if(object.getString("signFlag").equals("1")){ delegateTask.setVariable("hqFlag",1); - if(StringUtils.isNotBlank(object.getString("zrUserId"))){ + if(StringUtils.isNotBlank(object.getString("dockUser"))){ - if(object.getString("zrUserId").contains(",")){ - nextUserList = Arrays.asList(object.getString("zrUserId").split(",")); + if(object.getString("dockUser").contains(",")){ + nextUserList = Arrays.asList(object.getString("dockUser").split(",")); }else { - nextUserList.add(object.getString("zrUserId")); + nextUserList.add(object.getString("dockUser")); } // 配置多实例 delegateTask.setVariable("hqUserList",nextUserList);