From 80c4b843a1b4a16455ac4301f4b63370ae5666b7 Mon Sep 17 00:00:00 2001 From: "zyx.net" Date: Fri, 21 Oct 2022 18:29:43 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=81=E6=A0=87=E5=A4=8D=E5=AE=A1=E6=B5=81?= =?UTF-8?q?=E7=A8=8B=E6=B7=BB=E5=8A=A0=E4=BA=A7=E5=93=81=E6=A0=87=E5=87=86?= =?UTF-8?q?=E8=B5=B7=E8=8D=89=E8=8A=82=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wkflow/listener/bussFs/BussFs3After.java | 45 ++++++++++++- .../wkflow/listener/bussFs/BussFs4After.java | 65 ++++++++++++++++++ .../wkflow/listener/bussFs/BussFs4Before.java | 67 +++++++++++++++++++ 3 files changed, 174 insertions(+), 3 deletions(-) create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFs4After.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFs4Before.java diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFs3After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFs3After.java index cc16a493..30137618 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFs3After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFs3After.java @@ -32,7 +32,7 @@ public class BussFs3After implements TaskListener{ IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class); - LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.class); +// LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.class); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); @@ -43,9 +43,16 @@ public class BussFs3After implements TaskListener{ List nextUserList = new ArrayList(); + if(StringUtils.isNotBlank(object.getString("QCRBUSSID"))){ + delegateTask.setVariable("QCRBUSSID",object.getString("QCRBUSSID")); + nextUserList.add(object.getString("QCRBUSSID")); + }else { + throw new ActivitiException("1#2主起草人不存在,请配置相关人员"); + } + if(StringUtils.isNotBlank(object.getString("bussFsSubUser2"))){ delegateTask.setVariable("bussFsSubUser2",object.getString("bussFsSubUser2")); - nextUserList.add(object.getString("bussFsSubUser2")); +// nextUserList.add(object.getString("bussFsSubUser2")); }else { throw new ActivitiException("1#2发起人不存在,请配置相关人员"); } @@ -53,6 +60,7 @@ public class BussFs3After implements TaskListener{ String approvalOpinion = object.get("approvalOpinion") == null ? "" : object.get("approvalOpinion").toString(); String standSort = object.get("standSort") == null ? "" : object.get("standSort").toString(); + delegateTask.setVariable("standSort",standSort); //截止时间 流程描述 创建人 String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); String user = object.getString("prcCreateUser"); @@ -78,9 +86,26 @@ public class BussFs3After implements TaskListener{ if(StringUtils.isNotBlank(approvalOpinion)){ if ("0".equalsIgnoreCase(approvalOpinion)) { - BussUtils.endFunAll(delegateTask, prcName,busBean, object, "0", busProcessNameService,"buss3"); + // 提交时 + if("Q/QCBFC".equals(object.getString("QCRBUSSID"))) { + // 存储当前节点意见 + BusProcessNew busProcessNew = new BusProcessNew(); + busProcessNew.setMsgType("clause"); + busProcessNew.setPId(delegateTask.getProcessInstanceId()); + busProcessNew.setMesg(object.toJSONString()); + busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNew.setTaskId(delegateTask.getId()); + busProcessNew.setCommitText(object.getString("commentText")); + busProcessNew.setFinishFlag("0"); + busProcessNew.setTaskInfo(delegateTask.getName()); + busBean.save(busProcessNew); + } else { + BussUtils.endFunAll(delegateTask, prcName,busBean, object, "0", busProcessNameService,"buss3"); + } + delegateTask.setVariable("bussFs3Flag", 0); } else { + // 驳回时 if(StringUtils.isNotBlank(object.getString("bussFsUserC2"))) { BusProcessNew busProcessNew = new BusProcessNew(); busProcessNew.setMsgType("clause"); @@ -104,6 +129,20 @@ public class BussFs3After implements TaskListener{ throw new ActivitiException("1#2 提交OR驳回参数不存在"); } + 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); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } } private String verifyObj(String str){ diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFs4After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFs4After.java new file mode 100644 index 00000000..582879c2 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFs4After.java @@ -0,0 +1,65 @@ +package com.ydw.bat.wkflow.listener.bussFs; + +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.listener.bussLibrary.BussUtils; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import org.activiti.engine.ActivitiException; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import org.apache.commons.lang.StringUtils; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * 主起草人提交 产品标准起草节点 后 + */ +public class BussFs4After 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); + + + //截止时间 流程描述 创建人 + String prcName = ""; + if(StringUtils.isNotBlank(object.getString("standName")) && StringUtils.isNotBlank(object.getString("standCode"))){ + prcName = object.getString("standCode")+"-"+object.getString("standName") + "-企标复审"; + }else { + prcName = "企标复审"; + } + + + // 提交时,结束流程,保存当前节点信息 + String approvalOpinion = object.get("approvalOpinion") == null ? "" : object.get("approvalOpinion").toString(); + if(StringUtils.isNotBlank(approvalOpinion)) { + if ("0".equalsIgnoreCase(approvalOpinion)) { + BussUtils.endFunAll(delegateTask, prcName, busBean, object, "0", busProcessNameService, "buss3"); + } + }else { + throw new ActivitiException("1#2 提交参数不存在"); + } + + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFs4Before.java b/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFs4Before.java new file mode 100644 index 00000000..6ee1fbbf --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFs4Before.java @@ -0,0 +1,67 @@ +package com.ydw.bat.wkflow.listener.bussFs; + +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 BussFs4Before implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.orderByDesc("CREATE_TIME"); + + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + /** + * 汇总企标编写文件列表 + */ +// String msg = one1.getMesg(); +// JSONObject jsonObject = JSON.parseObject(msg); +// JSONArray fileList=delegateTask.getVariable("fileModelList",JSONArray.class); +// jsonObject.put("fileModelList",fileList); +// one1.setMesg(jsonObject.toJSONString()); + + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bussFs3?prcType=buss3"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + + // 创建企标复审单文件 +// IBusProcessModelHisService hisService = SpringContextUtil.getBean(IBusProcessModelHisService.class); +// SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss"); +// +// BusProcessModelHis modelHis = new BusProcessModelHis(); +// modelHis.setPId(delegateTask.getProcessInstanceId()); +// modelHis.setMesg(one1.getMesg()); +// modelHis.setTaskInfo(delegateTask.getName()); +// modelHis.setUserId(one1.getUserId()); +// modelHis.setPrcName(one1.getPrcName()); +// modelHis.setTaskId(delegateTask.getId()); +// modelHis.setEditType("count"); +// modelHis.setCreateTime(sdf.format(new Date())); +// modelHis.setUpdateTime(sdf.format(new Date())); +// // 合并子节点在线编辑文件后 返回 汇总文件路径 +// String fileUrl = hisService.mergeModelFile(delegateTask.getProcessInstanceId(),delegateTask.getId(),"docx"); +// modelHis.setEditFilePath(fileUrl); +// hisService.save(modelHis); + } + } +} \ No newline at end of file