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 index 896b0869..93773ca4 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAComplianceAssessmentAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAComplianceAssessmentAfter.java @@ -66,7 +66,7 @@ public class PCAComplianceAssessmentAfter implements TaskListener { delegateTask.setVariable(uuid,jsonArray); object.put("dataList",newRes); object.put("key",uuid); - JSONObject res=JSONObject.parseObject(newRes.get(0).toString()); + JSONObject res=JSONObject.parseObject(jsonArray.get(0).toString()); nextUserList.add(res.getString("liablePeopleId")); delegateTask.setVariable("ffUserId",res.getString("liablePeopleId")); //截止时间 流程描述 创建人 diff --git a/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/Step1After.java b/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/Step1After.java new file mode 100644 index 00000000..a459149f --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/Step1After.java @@ -0,0 +1,74 @@ +package com.ydw.bat.wkflow.listener.itemlistvalidationprocess; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_auth.LawsUserInfoService; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +import com.ydw.bat.wkflow.business_main.datas.entity.Datas; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNameService; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_main.datas.service.IDatasService; +import com.ydw.bat.wkflow.business_slrs.dao.StandProjectRelationDto; +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 Step1After implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); + Datas datas = datasService.getOne(queryWrapper); + + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + delegateTask.setVariable("objectJson",object); + + List nextUserList = new ArrayList(); + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = delegateTask.getVariable("startId",String.class); + String username = delegateTask.getVariable("startName",String.class); + String prcName = "项目清单确认流程"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ + if ("0".equals(object.getString("passFlag"))) { + one1.setOverTime(OVERTIME); + } + one1.setPrcType("10"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + + if(!nextUserList.isEmpty()){ + for(String nextUser : nextUserList){ + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(nextUser); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/Step1Before.java b/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/Step1Before.java new file mode 100644 index 00000000..9f7e7348 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/Step1Before.java @@ -0,0 +1,35 @@ +package com.ydw.bat.wkflow.listener.itemlistvalidationprocess; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.util.List; + +public class Step1Before implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("xmqdqrStep3?prcType=10"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/Step3After.java b/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/Step3After.java new file mode 100644 index 00000000..a1844207 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/Step3After.java @@ -0,0 +1,90 @@ +package com.ydw.bat.wkflow.listener.itemlistvalidationprocess; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_auth.LawsUserInfoService; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +import com.ydw.bat.wkflow.business_main.datas.entity.Datas; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNameService; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_main.datas.service.IDatasService; +import com.ydw.bat.wkflow.business_slrs.dao.StandProjectRelationDto; +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 Step3After 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); + + 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 ("0".equals(object.getString("passFlag"))) { + delegateTask.setVariable("passFlag","0"); + List standProjectRelationDtos = new ArrayList<>(); + JSONArray jsonArray = JSONArray.parseArray(object.getString("dataList")); + for (Object os : jsonArray) { + JSONObject jsonObject = JSONObject.parseObject(os.toString()); + StandProjectRelationDto standProjectRelationDto = new StandProjectRelationDto(); + standProjectRelationDto.setProjectId(object.getString("projectId")); + standProjectRelationDto.setStandId(jsonObject.getString("id")); + standProjectRelationDtos.add(standProjectRelationDto); + } + lawsUserInfoService.batchInsert(standProjectRelationDtos); + }else { + delegateTask.setVariable("passFlag","1"); + nextUserList.add(delegateTask.getVariable("confirmId",String.class)); + } + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = delegateTask.getVariable("startId",String.class); + String username = delegateTask.getVariable("startName",String.class); + String prcName = "项目清单确认流程"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ + if ("0".equals(object.getString("passFlag"))) { + one1.setOverTime(OVERTIME); + } + one1.setPrcType("10"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + + if(!nextUserList.isEmpty()){ + for(String nextUser : nextUserList){ + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(nextUser); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/Step3Before.java b/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/Step3Before.java new file mode 100644 index 00000000..4444d599 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/Step3Before.java @@ -0,0 +1,35 @@ +package com.ydw.bat.wkflow.listener.itemlistvalidationprocess; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.util.List; + +public class Step3Before implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("xmqdqrStep3?prcType=10"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/bzApproveAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/bzApproveAfter.java index 79dc48ad..31ca92f6 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/bzApproveAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/bzApproveAfter.java @@ -19,7 +19,7 @@ import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; - +//评估 public class bzApproveAfter implements TaskListener { @Override public void notify(DelegateTask delegateTask) { diff --git a/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/confirmAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/confirmAfter.java index 24684cd3..8846f394 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/confirmAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/confirmAfter.java @@ -19,7 +19,7 @@ import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; - +//确认 public class confirmAfter implements TaskListener { @Override public void notify(DelegateTask delegateTask) { diff --git a/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/itemlistvalidationprocessStartAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/itemlistvalidationprocessStartAfter.java index e2da5788..b99a4461 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/itemlistvalidationprocessStartAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/itemlistvalidationprocessStartAfter.java @@ -16,7 +16,7 @@ import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; - +//启动 public class itemlistvalidationprocessStartAfter implements TaskListener { @Override public void notify(DelegateTask delegateTask) { @@ -33,7 +33,7 @@ public class itemlistvalidationprocessStartAfter implements TaskListener { List nextUserList = new ArrayList(); nextUserList.add(object.getString("confirmId")); - delegateTask.setVariable("confirmId",object.getString("confirmId")); + delegateTask.setVariable("cpManager",object.getString("confirmId")); delegateTask.setVariable("dl",object.getString("approveId")); 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 index c788a0f9..4d1efc4a 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPffresPersonAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPffresPersonAfter.java @@ -65,6 +65,7 @@ public class PEPffresPersonAfter implements TaskListener { delegateTask.setVariable("fenFlag", "1"); } else { //不通过就要驳回 + object.put("dataList",delegateTask.getVariable(object.getString("key"))); nextUserList.add(String.valueOf(delegateTask.getVariable("workPeople"))); delegateTask.setVariable("workPeople", String.valueOf(delegateTask.getVariable("workPeople"))); delegateTask.setVariable("fenFlag", "2"); 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 index 0a57464c..c7a88b9b 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPtaskEstimateAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPtaskEstimateAfter.java @@ -15,6 +15,7 @@ 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; @@ -55,13 +56,15 @@ public class PEPtaskEstimateAfter implements TaskListener { } } String uuid = String.valueOf(UUID.randomUUID()); - delegateTask.setVariable(uuid, object.getString("dataList")); + JSONArray ne=new JSONArray(); + BeanUtils.copyProperties(jsonArray,ne); + delegateTask.setVariable(uuid, ne); jsonArray.removeAll(remove); object.put("dataList", jsonArray); object.put("key", uuid); //设置分发负责人 List nextUserList = new ArrayList(); - JSONObject object1 = JSONObject.parseObject(jsonArray.getString(0)); + JSONObject object1 = JSONObject.parseObject(ne.getString(0)); if (StringUtils.isNotBlank(object1.getString("distributePersonId"))) { delegateTask.setVariable("ffUserId", object1.getString("distributePersonId")); nextUserList.add(delegateTask.getVariable("ffUserId", String.class));