From 518fa5bc61aa125ed845ae22361dc47dacea6c8b Mon Sep 17 00:00:00 2001 From: yuezhihang Date: Tue, 14 Sep 2021 16:36:40 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=A1=AE=E8=AE=A4=E6=B5=81?= =?UTF-8?q?=E7=A8=8B=20=E6=96=B0=E8=8A=82=E7=82=B9=E6=B7=BB=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bzApproveAfter.java | 90 +++++++++++++++++++ .../bzApproveBefore.java | 27 ++++++ .../confirmAfter.java | 23 ++--- .../itemlistvalidationprocessStartAfter.java | 2 + 4 files changed, 131 insertions(+), 11 deletions(-) create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/bzApproveAfter.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/bzApproveBefore.java 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 new file mode 100644 index 00000000..79dc48ad --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/bzApproveAfter.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 bzApproveAfter 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/bzApproveBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/bzApproveBefore.java new file mode 100644 index 00000000..77c6f799 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/bzApproveBefore.java @@ -0,0 +1,27 @@ +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.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.util.List; + +public class bzApproveBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + 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); + } + } +} 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 85842f12..24684cd3 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 @@ -34,18 +34,19 @@ public class confirmAfter implements TaskListener { JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); delegateTask.setVariable("objectJson",object); - List nextUserList = new ArrayList(); + delegateTask.setVariable("approveId",object.getString("approveId")); + nextUserList.add(object.getString("approveId")); 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); +// 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); //截止时间 流程描述 创建人 String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); String user = delegateTask.getVariable("startId",String.class); @@ -55,7 +56,7 @@ public class confirmAfter implements TaskListener { queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); if(one1!=null){ - one1.setOverTime(OVERTIME); +// one1.setOverTime(OVERTIME); one1.setPrcType("10"); one1.setPrcName(prcName); one1.setCreatUser(user); 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 c260d73f..e2da5788 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 @@ -35,6 +35,8 @@ public class itemlistvalidationprocessStartAfter implements TaskListener { nextUserList.add(object.getString("confirmId")); delegateTask.setVariable("confirmId",object.getString("confirmId")); + delegateTask.setVariable("dl",object.getString("approveId")); + //截止时间 流程描述 创建人 String user = object.getString("startUser"); String username = object.getString("startUserName");