From fceff66f48a0c2cd2bbc7c73c9fe0a38fedb5229 Mon Sep 17 00:00:00 2001 From: wxyclub Date: Mon, 20 Nov 2023 08:59:55 +0800 Subject: [PATCH] =?UTF-8?q?bug:=20=E4=BF=AE=E6=94=B9=E8=AE=A1=E5=88=92?= =?UTF-8?q?=E7=AE=A1=E6=8E=A7=E6=9B=B4=E5=90=8Dbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/BusProcessNewServiceImpl.java | 97 +++++++++------ .../ProcessStep4After.java | 113 ++++++++++++++---- 2 files changed, 151 insertions(+), 59 deletions(-) diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/BusProcessNewServiceImpl.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/BusProcessNewServiceImpl.java index b6899886..59f363c3 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/BusProcessNewServiceImpl.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/BusProcessNewServiceImpl.java @@ -257,47 +257,72 @@ public class BusProcessNewServiceImpl extends ServiceImpl busProcessNewQueryWrapper = new QueryWrapper<>(); busProcessNewQueryWrapper.eq("PRC_NAME",prcName); + String newPrcName = prcName.replace("计划立项","企标制修订"); + busProcessNewQueryWrapper.or().eq("PRC_NAME",newPrcName); List busProcessNews = baseMapper.selectList(busProcessNewQueryWrapper); - String log = ""; - if(!busProcessNews.isEmpty()){ - for (BusProcessNew newData:busProcessNews){ - //判断是否是同一条企标计划 - JSONObject jsonObject = JSON.parseObject(newData.getMesg()); + if (busProcessNews.isEmpty()) { + return null; + } + // 过滤出同一条企标 + List busProcessNewList = busProcessNews.stream().filter(busProcessNew -> { + String mesg = busProcessNew.getMesg(); + if(StringUtils.isNotBlank(mesg)){ + JSONObject jsonObject = JSON.parseObject(mesg); String esIdMesg = jsonObject.getString("esId"); - if(StringUtils.isNotBlank(esIdMesg)){ - if(esIdMesg.contains(",")){ - String[] split = esIdMesg.split(","); - for (String esById : split){ - if(esId.equals(esById)){ - webServiceOAService.deleteOAByPid(newData.getPId()); - ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(newData.getPId()).singleResult(); - if(processInstance!=null) { - runtimeService.deleteProcessInstance(newData.getPId(), "原始数据已被更改"); - //更名流程 在这里有删除的情况下才进行发送没有则不发送 - log = esIdMesg; - }else { - log = esIdMesg; - } - } - } - }else { - if(esId.equals(esIdMesg)){ - webServiceOAService.deleteOAByPid(newData.getPId()); - ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(newData.getPId()).singleResult(); - if(processInstance!=null) { - runtimeService.deleteProcessInstance(newData.getPId(), "原始数据已被更改"); - //更名流程 在这里有删除的情况下才进行发送没有则不发送 - log = esIdMesg; - }else { - log = esIdMesg; - } - } - } - + return esIdMesg.equals(esId); + } + return false; + }).collect(Collectors.toList()); + String log = ""; + if (busProcessNewList.size()>0) { + for (BusProcessNew busProcessNew : busProcessNewList) { + webServiceOAService.deleteOAByPid(busProcessNew.getPId()); + ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(busProcessNew.getPId()).singleResult(); + if (processInstance != null) { + runtimeService.deleteProcessInstance(busProcessNew.getPId(), "原始数据已被更改"); } } } - return "成功"+"-"+log; + +// if(!busProcessNews.isEmpty()){ +// for (BusProcessNew newData:busProcessNews){ +// //判断是否是同一条企标计划 +// JSONObject jsonObject = JSON.parseObject(newData.getMesg()); +// String esIdMesg = jsonObject.getString("esId"); +// if(StringUtils.isNotBlank(esIdMesg)){ +// if(esIdMesg.contains(",")){ +// String[] split = esIdMesg.split(","); +// for (String esById : split){ +// if(esId.equals(esById)){ +// webServiceOAService.deleteOAByPid(newData.getPId()); +// ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(newData.getPId()).singleResult(); +// if(processInstance!=null) { +// runtimeService.deleteProcessInstance(newData.getPId(), "原始数据已被更改"); +// //更名流程 在这里有删除的情况下才进行发送没有则不发送 +// log = esIdMesg; +// }else { +// log = esIdMesg; +// } +// } +// } +// }else { +// if(esId.equals(esIdMesg)){ +// webServiceOAService.deleteOAByPid(newData.getPId()); +// ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(newData.getPId()).singleResult(); +// if(processInstance!=null) { +// runtimeService.deleteProcessInstance(newData.getPId(), "原始数据已被更改"); +// //更名流程 在这里有删除的情况下才进行发送没有则不发送 +// log = esIdMesg; +// }else { +// log = esIdMesg; +// } +// } +// } +// +// } +// } +// } + return "成功"+"-"+esId; } @Override diff --git a/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep4After.java b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep4After.java index a84fa557..e1718067 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep4After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep4After.java @@ -27,6 +27,8 @@ import java.util.*; */ public class ProcessStep4After implements TaskListener { + LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.class); + //分发多个责任人 @Override public void notify(DelegateTask delegateTask) { @@ -37,7 +39,7 @@ public class ProcessStep4After implements TaskListener { //流程信息 IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class); - LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.class); +// LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.class); IEsPrcRelationService esPrcRelationService = SpringContextUtil.getBean(IEsPrcRelationService.class); @@ -168,26 +170,12 @@ public class ProcessStep4After implements TaskListener { } }else if ("2".equals(object.getString("type"))){ - EsRevisePlanDTO esRevisePlanDTO=new EsRevisePlanDTO(); - esRevisePlanDTO.setId(object.getString("esId")); - esRevisePlanDTO.setReleaseTime(object.getDate("yqReleaseTime")); - esRevisePlanDTO.setDraftTime(object.getDate("yqDraftTime")); - lawsUserInfoService.modPlan(esRevisePlanDTO); + planControlCancel(delegateTask,prcName,busBean,object,busProcessNameService); }else if ("3".equals(object.getString("type"))){ - EsRevisePlanDTO esRevisePlanDTO=new EsRevisePlanDTO(); - esRevisePlanDTO.setId(object.getString("esId")); - esRevisePlanDTO.setPlanStatus("3"); - lawsUserInfoService.modPlan(esRevisePlanDTO); + delegateTask.setVariable("bzfgbzFlag",2); + planControlDelay(delegateTask,prcName,busBean,object,busProcessNameService); }else if ("4".equals(object.getString("type"))){ - EsRevisePlanDTO esRevisePlanDTO=new EsRevisePlanDTO(); - String bussSort = object.getString("bussSort"); - if (bussSort.contains("[")) { - bussSort = bussSort.substring(2, bussSort.length() - 2); - } - esRevisePlanDTO.setBussSort(bussSort); - esRevisePlanDTO.setEsName(object.getString("renameEs")); - esRevisePlanDTO.setId(object.getString("esId")); - lawsUserInfoService.modPlan(esRevisePlanDTO); + planControlRename(delegateTask,prcName,busBean,object,busProcessNameService); }else { //立项 EsRevisePlanDTO esRevisePlanDTO=new EsRevisePlanDTO(); @@ -253,11 +241,11 @@ public class ProcessStep4After implements TaskListener { //截止时间 流程描述 创建人 String user = delegateTask.getVariable("prcCreateUser",String.class); String username = delegateTask.getVariable("prcCreateUserName", String.class); - QueryWrapper queryWrapper2 = new QueryWrapper(); + QueryWrapper queryWrapper2 = new QueryWrapper<>(); queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); - QueryWrapper queryWrapperInfo = new QueryWrapper(); + QueryWrapper queryWrapperInfo = new QueryWrapper<>(); queryWrapperInfo.eq("TASK_ID", delegateTask.getId()); BusProcessNew oneInfo = busBean.getOne(queryWrapperInfo); String mesg = oneInfo.getMesg(); @@ -279,7 +267,7 @@ public class ProcessStep4After implements TaskListener { //存储当前节点意见 if (null != object.getString("commentText")) { - QueryWrapper queryWrapper3 = new QueryWrapper(); + QueryWrapper queryWrapper3 = new QueryWrapper<>(); queryWrapper3.eq("TASK_ID", delegateTask.getId()); queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); List list = busBean.list(queryWrapper3); @@ -406,7 +394,34 @@ public class ProcessStep4After implements TaskListener { esPrcRelationService.delEsPrcRelation(esId1); esPrcRelationService.delEsPrcRelation(esId2); - } else if ("2".equals(type) || "3".equals(type) || "4".equals(type)) { +// } else if ("2".equals(type)){ +// String esId = object.getString("esId"); +// List esPrcRelationList = esPrcRelationService.list(esId); +// if (esPrcRelationList != null && !esPrcRelationList.isEmpty()) { +// String prcIdGk = esPrcRelationList.get(0).getPrcIdGk(); +// List listGk = taskService.createTaskQuery().processInstanceId(esPrcRelationList.get(0).getPrcIdGk()).active().list(); +// if (listGk != null && !listGk.isEmpty()) { +// String nowTaskInfo = listGk.get(0).getName(); +// String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); +// QueryWrapper queryWrapperGk = new QueryWrapper(); +// queryWrapperGk.eq("PRC_ID", prcIdGk); +// BusProcessName one = busProcessNameService.getOne(queryWrapperGk); +// if (one != null) { +// one.setOverTime(OVERTIME); +// busProcessNameService.saveOrUpdate(one); +// } +// } else { +// String prcId = esPrcRelationList.get(0).getPrcId(); +// List list = taskService.createTaskQuery().processInstanceId(prcId).active().list(); +// if (list != null && !list.isEmpty()) { +// // 删除正在运行中的流程根据流程实例ID +// if(StringUtils.isNotBlank(prcId)) { +// runtimeService.deleteProcessInstance(prcId, ""); +// } +// } +// } +// } + }else if("3".equals(type) || "4".equals(type)) { String esId = object.getString("esId"); List esPrcRelationList = esPrcRelationService.list(esId); if (esPrcRelationList != null && !esPrcRelationList.isEmpty()) { @@ -467,4 +482,56 @@ public class ProcessStep4After implements TaskListener { BussUtils.endFunAll(delegateTask, prcName, busBean, object, "0", busProcessNameService, "25"); } } + + /** + * 计划管控延期 + * @param delegateTask + * @param prcName + * @param busBean + * @param object + * @param busProcessNameService + */ + public void planControlCancel(DelegateTask delegateTask, String prcName, IBusProcessNewService busBean, JSONObject object, IBusProcessNameService busProcessNameService) { + EsRevisePlanDTO esRevisePlanDTO=new EsRevisePlanDTO(); + esRevisePlanDTO.setId(object.getString("esId")); + esRevisePlanDTO.setReleaseTime(object.getDate("yqReleaseTime")); + esRevisePlanDTO.setDraftTime(object.getDate("yqDraftTime")); + lawsUserInfoService.modPlan(esRevisePlanDTO); + String esId = object.getString("esId"); + } + + /** + * 计划管控取消 + * @param delegateTask + * @param prcName + * @param busBean + * @param object + * @param busProcessNameService + */ + public void planControlDelay(DelegateTask delegateTask, String prcName, IBusProcessNewService busBean, JSONObject object, IBusProcessNameService busProcessNameService) { + EsRevisePlanDTO esRevisePlanDTO=new EsRevisePlanDTO(); + esRevisePlanDTO.setId(object.getString("esId")); + esRevisePlanDTO.setPlanStatus("3"); + lawsUserInfoService.modPlan(esRevisePlanDTO); + } + + /** + * 计划管控更名 + * @param delegateTask + * @param prcName + * @param busBean + * @param object + * @param busProcessNameService + */ + public void planControlRename(DelegateTask delegateTask, String prcName, IBusProcessNewService busBean, JSONObject object, IBusProcessNameService busProcessNameService) { + EsRevisePlanDTO esRevisePlan = new EsRevisePlanDTO(); + String bussSort = object.getString("bussSort"); + if (bussSort.contains("[")) { + bussSort = bussSort.substring(2, bussSort.length() - 2); + } + esRevisePlan.setBussSort(bussSort); + esRevisePlan.setEsName(object.getString("renameEs")); + esRevisePlan.setId(object.getString("esId")); + lawsUserInfoService.modPlan(esRevisePlan); + } }