From 271628bbdd4a77289d52de1567ab1095087d6cc7 Mon Sep 17 00:00:00 2001 From: wangzhijiang <1358525938@qq.com> Date: Mon, 25 Mar 2024 21:34:46 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E4=BC=81=E6=A0=87=E5=88=B6=E4=BF=AE?= =?UTF-8?q?=E8=AE=A2-=E6=8A=80=E6=9C=AF=E6=A0=87=E5=87=86=E6=B5=81?= =?UTF-8?q?=E7=A8=8B-=E6=B5=81=E7=A8=8B=E5=9B=BE=E3=80=81=E6=B5=81?= =?UTF-8?q?=E7=A8=8B=E5=8E=86=E5=8F=B2=E6=94=B9=E9=80=A0=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../datas/entity/BusProcessHistory.java | 8 ++ .../service/IBusProcessHistoryService.java | 18 ++++ .../impl/IBusProcessHistoryServiceImpl.java | 90 +++++++++++++++++-- .../bussLibrary/BLApplicantC1After.java | 42 ++++++++- .../bussLibrary/BussLibrary10After.java | 9 ++ .../bussLibrary/BussLibrary11After.java | 9 ++ .../bussLibrary/BussLibrary4After.java | 11 ++- .../bussLibrary/BussLibrary7After.java | 5 ++ .../bussLibrary/BussLibrary8After.java | 6 ++ .../bussLibrary/BussLibrary9After.java | 15 ++++ .../bussLibrary/BussLibraryC3Before.java | 7 ++ .../bussLibrary/BussLibraryC6After.java | 2 + .../bussLibrary/BussLibraryC6Before.java | 11 +++ .../util/enums/BussLibraryNodeKeyEnum.java | 51 +++++++---- .../StandardCommentNewProcessNodeKeyEnum.java | 40 ++++++--- src/main/resources/application.yml | 10 +-- 16 files changed, 286 insertions(+), 48 deletions(-) diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/BusProcessHistory.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/BusProcessHistory.java index 68957cac..8cf3669a 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/BusProcessHistory.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/BusProcessHistory.java @@ -103,4 +103,12 @@ public class BusProcessHistory { private String prcName; @TableField(exist = false) private String prcNum; + + @ApiModelProperty(value = "图片中展示标识,0 未办白色,1 待办浅绿色 2 已办 蓝色") + @TableField("img_show_color") + private String imgShowColor; + + @ApiModelProperty(value = "图片中是否展示:1 默认展示 2 不展示") + @TableField("img_show_flag") + private String imgShowFlag; } diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IBusProcessHistoryService.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IBusProcessHistoryService.java index 7d3ad458..a87b22fc 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IBusProcessHistoryService.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IBusProcessHistoryService.java @@ -33,4 +33,22 @@ public interface IBusProcessHistoryService extends IService { // 根据taskId修改用户id void changeUserIdByTaskId(String taskId,String afterUserId,String frontUserId); + + /** + * 更新某一个流程下 任务在流程图中展示颜色。 + * @param actiProcInstId 流程示例id + * @param inTaskKeyList in的流程定义key + * @param notInTaskKeyList notIn的流程定义key + * @param imgShowColor 更新成什么颜色 + */ + void updateImgShowColor(String actiProcInstId,List inTaskKeyList, List notInTaskKeyList,String imgShowColor); + + /** + * 更新某一个流程下 任务是否展示。 + * @param actiProcInstId 流程示例id + * @param inTaskKeyList in的流程定义key + * @param notInTaskKeyList notIn的流程定义key + * @param imgShowFlag 1展示 2不展示 + */ + void updateImgShowFlag(String actiProcInstId, List inTaskKeyList, List notInTaskKeyList, String imgShowFlag); } diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/IBusProcessHistoryServiceImpl.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/IBusProcessHistoryServiceImpl.java index b6363be7..0e48884a 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/IBusProcessHistoryServiceImpl.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/IBusProcessHistoryServiceImpl.java @@ -13,6 +13,7 @@ import com.ydw.bat.wkflow.util.enums.BussLibraryNodeKeyEnum; import com.ydw.bat.wkflow.util.enums.FlowTypeEnum; import com.ydw.bat.wkflow.util.enums.StandardCommentNewProcessNodeKeyEnum; import com.ydw.bat.wkflow.util.enums.TaskStatusEnum; +import org.activiti.engine.ActivitiException; import org.activiti.engine.delegate.DelegateTask; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang.StringUtils; @@ -187,6 +188,15 @@ public class IBusProcessHistoryServiceImpl extends ServiceImpl bphQueryWrap = new QueryWrapper<>(); this.setQueryCondition(busProcessHistory, bphQueryWrap); + bphQueryWrap.lambda().eq(BusProcessHistory::getImgShowFlag,"1"); bphQueryWrap.orderByAsc("order_num", "create_time"); List bphList = this.list(bphQueryWrap); this.disposeData(bphList,busProcessHistory.getActiProcInstId()); @@ -307,6 +320,50 @@ public class IBusProcessHistoryServiceImpl extends ServiceImpl inTaskKeyList, List notInTaskKeyList,String imgShowColor) { + if (CollectionUtils.isEmpty(inTaskKeyList) && CollectionUtils.isEmpty(notInTaskKeyList)) { + throw new ActivitiException("参数有误!"); + } + QueryWrapper bphQueryWrap = new QueryWrapper<>(); + bphQueryWrap.lambda().eq(BusProcessHistory::getActiProcInstId, actiProcInstId); + if (CollectionUtils.isNotEmpty(inTaskKeyList)) { + bphQueryWrap.lambda().in(BusProcessHistory::getTaskKey,inTaskKeyList); + } + if (CollectionUtils.isNotEmpty(notInTaskKeyList)) { + bphQueryWrap.lambda().notIn(BusProcessHistory::getTaskKey,notInTaskKeyList); + } + List bphList = this.list(bphQueryWrap); + if (CollectionUtils.isNotEmpty(bphList)) { + for (BusProcessHistory bph : bphList) { + bph.setImgShowColor(imgShowColor); + } + this.updateBatchById(bphList); + } + } + + @Override + public void updateImgShowFlag(String actiProcInstId, List inTaskKeyList, List notInTaskKeyList, String imgShowFlag) { + if (CollectionUtils.isEmpty(inTaskKeyList) && CollectionUtils.isEmpty(notInTaskKeyList)) { + throw new ActivitiException("参数有误!"); + } + QueryWrapper bphQueryWrap = new QueryWrapper<>(); + bphQueryWrap.lambda().eq(BusProcessHistory::getActiProcInstId, actiProcInstId); + if (CollectionUtils.isNotEmpty(inTaskKeyList)) { + bphQueryWrap.lambda().in(BusProcessHistory::getTaskKey,inTaskKeyList); + } + if (CollectionUtils.isNotEmpty(notInTaskKeyList)) { + bphQueryWrap.lambda().notIn(BusProcessHistory::getTaskKey,notInTaskKeyList); + } + List bphList = this.list(bphQueryWrap); + if (CollectionUtils.isNotEmpty(bphList)) { + for (BusProcessHistory bph : bphList) { + bph.setImgShowFlag(imgShowFlag); + } + this.updateBatchById(bphList); + } + } + /** * 获取标准征求意见流程图数据 * @param bphList @@ -315,7 +372,8 @@ public class IBusProcessHistoryServiceImpl extends ServiceImpl> getBzzqyjlcImgDataList(List bphList) { List> result = new ArrayList<>(); - for (StandardCommentNewProcessNodeKeyEnum nodeKeyEnum : StandardCommentNewProcessNodeKeyEnum.values()) { + List standardCommentNewProcessNodeKeyEnum = StandardCommentNewProcessNodeKeyEnum.getStandardCommentNewProcessNodeKeyEnum(); + for (StandardCommentNewProcessNodeKeyEnum nodeKeyEnum : standardCommentNewProcessNodeKeyEnum) { Map tasksMap = this.getTasksMap( bphList, nodeKeyEnum.getValue(), @@ -334,8 +392,8 @@ public class IBusProcessHistoryServiceImpl extends ServiceImpl> getQbzxdJsbzImgDataList(List bphList) { List> result = new ArrayList<>(); - - for (BussLibraryNodeKeyEnum nodeKeyEnum : BussLibraryNodeKeyEnum.values()) { + List bussLibraryNodeKeyEnum = BussLibraryNodeKeyEnum.getBussLibraryNodeKeyEnum(); + for (BussLibraryNodeKeyEnum nodeKeyEnum : bussLibraryNodeKeyEnum) { Map tasksMap = this.getTasksMap( bphList, nodeKeyEnum.getValue(), @@ -382,14 +440,32 @@ public class IBusProcessHistoryServiceImpl extends ServiceImpl bphQueryWrap = new QueryWrapper<>(); + bphQueryWrap.lambda().eq(BusProcessHistory::getActiProcInstId, delegateTask.getProcessInstanceId()); + bphQueryWrap.lambda().eq(BusProcessHistory::getUserId, qcUserId); + bphQueryWrap.lambda().eq(BusProcessHistory::getTaskKey, BussLibraryNodeKeyEnum.BUSS_LIBRARY2.getValue()); + bphQueryWrap.lambda().isNull(BusProcessHistory::getTaskId); + + List busProcessHistoryList = bphService.list(bphQueryWrap); + if (CollectionUtils.isEmpty(busProcessHistoryList)) { + List bphList = new ArrayList<>(); + // 重新起草 + BusProcessHistory cxqcBph = new BusProcessHistory(); + cxqcBph.setActiProcInstId(delegateTask.getProcessInstanceId()); + cxqcBph.setUserId(qcUserId); + cxqcBph.setTaskKey(BussLibraryNodeKeyEnum.BUSS_LIBRARY2.getValue()); + cxqcBph.setFlowType(FlowTypeEnum.QBZXD_JSBZ.getValue()); + cxqcBph.setIsSub("2"); + cxqcBph.setIsMany("2"); + int orderNum = bphService.getMaxOrderNum(delegateTask.getProcessInstanceId(), BussLibraryNodeKeyEnum.BUSS_LIBRARY_C1.getValue()); + cxqcBph.setOrderNum(orderNum + 1); + bphList.add(cxqcBph); + + bphService.insertBatch(bphList); + bphService.updateOrderNum(delegateTask.getProcessInstanceId(), orderNum + 1, bphList.size()); + } } private String verifyObj(String str){ diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary10After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary10After.java index 9afbbeb2..c593bf3c 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary10After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary10After.java @@ -163,6 +163,15 @@ public class BussLibrary10After implements TaskListener{ bphService.insertBatch(bphList); bphService.updateOrderNum(delegateTask.getProcessInstanceId(), orderNum + 1, bphList.size()); } + + // 退回到了 重新技术委员会评审 标准化复审、起草单位高级经理审核、标准法规部高级经理审核、审定 节点,设置为在流程图展示空白 + List qczhTaskKeyList = new ArrayList<>(); + qczhTaskKeyList.add(BussLibraryNodeKeyEnum.BUSS_LIBRARY7.getValue()); + qczhTaskKeyList.add(BussLibraryNodeKeyEnum.BUSS_LIBRARY8.getValue()); + qczhTaskKeyList.add(BussLibraryNodeKeyEnum.BUSS_LIBRARY9.getValue()); + qczhTaskKeyList.add(BussLibraryNodeKeyEnum.BUSS_LIBRARY10.getValue()); + bphService.updateImgShowColor(delegateTask.getProcessInstanceId(),qczhTaskKeyList,null,"0"); + } } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary11After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary11After.java index ae5a728f..480b260a 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary11After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary11After.java @@ -164,6 +164,15 @@ public class BussLibrary11After implements TaskListener{ bphService.insertBatch(bphList); bphService.updateOrderNum(delegateTask.getProcessInstanceId(), orderNum + 1, bphList.size()); } + + // 退回到了 重新技术委员会评审 标准化复审、起草单位高级经理审核、标准法规部高级经理审核、审定、批准 节点,设置为在流程图展示空白 + List qczhTaskKeyList = new ArrayList<>(); + qczhTaskKeyList.add(BussLibraryNodeKeyEnum.BUSS_LIBRARY7.getValue()); + qczhTaskKeyList.add(BussLibraryNodeKeyEnum.BUSS_LIBRARY8.getValue()); + qczhTaskKeyList.add(BussLibraryNodeKeyEnum.BUSS_LIBRARY9.getValue()); + qczhTaskKeyList.add(BussLibraryNodeKeyEnum.BUSS_LIBRARY10.getValue()); + qczhTaskKeyList.add(BussLibraryNodeKeyEnum.BUSS_LIBRARY11.getValue()); + bphService.updateImgShowColor(delegateTask.getProcessInstanceId(),qczhTaskKeyList,null,"0"); } } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary4After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary4After.java index 704b7bad..c28bb41b 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary4After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary4After.java @@ -141,12 +141,12 @@ public class BussLibrary4After implements TaskListener{ Integer bzhFlag = (Integer) delegateTask.getVariable("bzhFlag"); if (bzhFlag == 1) { - String chzUserId = json.getString("chzUserId"); + String hzUserId = json.getString("hzUserId"); // 如果存在 重新企标编写汇总 节点的数据,taskId为空。 不用添加,否则需要添加。 QueryWrapper bphQueryWrap = new QueryWrapper<>(); bphQueryWrap.lambda().eq(BusProcessHistory::getActiProcInstId,delegateTask.getProcessInstanceId()); - bphQueryWrap.lambda().eq(BusProcessHistory::getUserId,chzUserId); + bphQueryWrap.lambda().eq(BusProcessHistory::getUserId,hzUserId); bphQueryWrap.lambda().eq(BusProcessHistory::getTaskKey, BussLibraryNodeKeyEnum.BUSS_LIBRARY_C3.getValue()); bphQueryWrap.lambda().isNull(BusProcessHistory::getTaskId); @@ -156,7 +156,7 @@ public class BussLibrary4After implements TaskListener{ // 重新企标编写汇总 BusProcessHistory cxqbbzhzBph = new BusProcessHistory(); cxqbbzhzBph.setActiProcInstId(delegateTask.getProcessInstanceId()); - cxqbbzhzBph.setUserId(chzUserId); + cxqbbzhzBph.setUserId(hzUserId); cxqbbzhzBph.setTaskKey(BussLibraryNodeKeyEnum.BUSS_LIBRARY_C3.getValue()); cxqbbzhzBph.setFlowType(FlowTypeEnum.QBZXD_JSBZ.getValue()); cxqbbzhzBph.setIsSub("2"); @@ -168,6 +168,11 @@ public class BussLibrary4After implements TaskListener{ bphService.insertBatch(bphList); bphService.updateOrderNum(delegateTask.getProcessInstanceId(),orderNum + 1,bphList.size()); } + + // 将标准化初审节点 设置为白色节点。 + List bzhcsTaskKeyList = new ArrayList<>(); + bzhcsTaskKeyList.add(BussLibraryNodeKeyEnum.BUSS_LIBRARY4.getValue()); + bphService.updateImgShowColor(delegateTask.getProcessInstanceId(),bzhcsTaskKeyList,null,"0"); } else { // 征求意见 List hqUserIdList = Arrays.asList(json.getString("hqUserId").split(",")); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary7After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary7After.java index c854d921..4ad77774 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary7After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary7After.java @@ -211,6 +211,11 @@ public class BussLibrary7After implements TaskListener{ bphService.insertBatch(bphList); bphService.updateOrderNum(delegateTask.getProcessInstanceId(),orderNum + 1,bphList.size()); } + + // 将 标准化复审 节点 设置为白色节点。 + List bzhfsTaskKeyList = new ArrayList<>(); + bzhfsTaskKeyList.add(BussLibraryNodeKeyEnum.BUSS_LIBRARY7.getValue()); + bphService.updateImgShowColor(delegateTask.getProcessInstanceId(),bzhfsTaskKeyList,null,"0"); } } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary8After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary8After.java index d853a8e8..593f3d84 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary8After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary8After.java @@ -165,6 +165,12 @@ public class BussLibrary8After implements TaskListener{ bphService.insertBatch(bphList); bphService.updateOrderNum(delegateTask.getProcessInstanceId(),orderNum + 1,bphList.size()); } + + // 将 标准化复审、起草单位高级经理审核 节点 设置为白色节点。 + List bzhfsTaskKeyList = new ArrayList<>(); + bzhfsTaskKeyList.add(BussLibraryNodeKeyEnum.BUSS_LIBRARY7.getValue()); + bzhfsTaskKeyList.add(BussLibraryNodeKeyEnum.BUSS_LIBRARY8.getValue()); + bphService.updateImgShowColor(delegateTask.getProcessInstanceId(),bzhfsTaskKeyList,null,"0"); } } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary9After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary9After.java index 91af693e..7d117920 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary9After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary9After.java @@ -193,6 +193,7 @@ public class BussLibrary9After implements TaskListener{ bphService.updateOrderNum(delegateTask.getProcessInstanceId(), orderNum + 1, bphList.size()); } } else if (bzFlag == 1) { + // 用户退回时 选择了其他问题 String cxdUserId = (String) delegateTask.getVariable("cxdUserId"); QueryWrapper bphQueryWrap = new QueryWrapper<>(); bphQueryWrap.lambda().eq(BusProcessHistory::getActiProcInstId, delegateTask.getProcessInstanceId()); @@ -218,7 +219,15 @@ public class BussLibrary9After implements TaskListener{ bphService.insertBatch(bphList); bphService.updateOrderNum(delegateTask.getProcessInstanceId(), orderNum + 1, bphList.size()); } + + // 退回到了 重新技术委员会评审 标准化复审、起草单位高级经理审核、标准法规部高级经理审核 节点,设置为在流程图展示空白 + List qczhTaskKeyList = new ArrayList<>(); + qczhTaskKeyList.add(BussLibraryNodeKeyEnum.BUSS_LIBRARY7.getValue()); + qczhTaskKeyList.add(BussLibraryNodeKeyEnum.BUSS_LIBRARY8.getValue()); + qczhTaskKeyList.add(BussLibraryNodeKeyEnum.BUSS_LIBRARY9.getValue()); + bphService.updateImgShowColor(delegateTask.getProcessInstanceId(),qczhTaskKeyList,null,"0"); } else if (bzFlag == 2) { + // 用户退回时 选择了质量问题 String cfqUserId = (String) delegateTask.getVariable("cfqUserId"); QueryWrapper bphQueryWrap = new QueryWrapper<>(); bphQueryWrap.lambda().eq(BusProcessHistory::getActiProcInstId, delegateTask.getProcessInstanceId()); @@ -244,6 +253,12 @@ public class BussLibrary9After implements TaskListener{ bphService.insertBatch(bphList); bphService.updateOrderNum(delegateTask.getProcessInstanceId(), orderNum + 1, bphList.size()); } + + // 退回到了重新起草节点,需要将除了起草、重新起草其他的节点,全部设置为 流程图中展示空。 + List qczhTaskKeyList = new ArrayList<>(); + qczhTaskKeyList.add(BussLibraryNodeKeyEnum.BUSS_LIBRARY1.getValue()); + qczhTaskKeyList.add(BussLibraryNodeKeyEnum.BUSS_LIBRARY_C1.getValue()); + bphService.updateImgShowColor(delegateTask.getProcessInstanceId(),null,qczhTaskKeyList,"0"); } } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibraryC3Before.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibraryC3Before.java index 20d9f6fd..f6f758d6 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibraryC3Before.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibraryC3Before.java @@ -6,9 +6,11 @@ import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessHistoryService; 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 com.ydw.bat.wkflow.util.enums.BussLibraryNodeKeyEnum; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; +import java.util.ArrayList; import java.util.List; /** @@ -38,5 +40,10 @@ public class BussLibraryC3Before implements TaskListener{ } IBusProcessHistoryService bphService = SpringContextUtil.getBean(IBusProcessHistoryService.class); bphService.updateTaskInfo(delegateTask); + +// // 标准化初审节点,设置为在流程图展示空白 +// List qczhTaskKeyList = new ArrayList<>(); +// qczhTaskKeyList.add(BussLibraryNodeKeyEnum.BUSS_LIBRARY4.getValue()); +// bphService.updateImgShowColor(delegateTask.getProcessInstanceId(),qczhTaskKeyList,null,"0"); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibraryC6After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibraryC6After.java index 98e0616d..21df0c4c 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibraryC6After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibraryC6After.java @@ -113,6 +113,8 @@ public class BussLibraryC6After implements TaskListener{ BussUtils.evalSave(delegateTask, objectNew, prcName, delegateTask.getAssignee()); } } + + this.addBusProcessHistory(objectNew,delegateTask); } private String verifyObj(String str){ diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibraryC6Before.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibraryC6Before.java index 55e47c96..4bd87926 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibraryC6Before.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibraryC6Before.java @@ -6,9 +6,11 @@ import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessHistoryService; 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 com.ydw.bat.wkflow.util.enums.BussLibraryNodeKeyEnum; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; +import java.util.ArrayList; import java.util.List; /** @@ -38,5 +40,14 @@ public class BussLibraryC6Before implements TaskListener{ } IBusProcessHistoryService bphService = SpringContextUtil.getBean(IBusProcessHistoryService.class); bphService.updateTaskInfo(delegateTask); +// +// // 标准化复审节点,设置为在流程图展示空白 +// List qczhTaskKeyList = new ArrayList<>(); +// qczhTaskKeyList.add(BussLibraryNodeKeyEnum.BUSS_LIBRARY7.getValue()); +// qczhTaskKeyList.add(BussLibraryNodeKeyEnum.BUSS_LIBRARY8.getValue()); +// qczhTaskKeyList.add(BussLibraryNodeKeyEnum.BUSS_LIBRARY9.getValue()); +// qczhTaskKeyList.add(BussLibraryNodeKeyEnum.BUSS_LIBRARY10.getValue()); +// qczhTaskKeyList.add(BussLibraryNodeKeyEnum.BUSS_LIBRARY11.getValue()); +// bphService.updateImgShowColor(delegateTask.getProcessInstanceId(),qczhTaskKeyList,null,"0"); } } diff --git a/src/main/java/com/ydw/bat/wkflow/util/enums/BussLibraryNodeKeyEnum.java b/src/main/java/com/ydw/bat/wkflow/util/enums/BussLibraryNodeKeyEnum.java index ac300072..98080407 100644 --- a/src/main/java/com/ydw/bat/wkflow/util/enums/BussLibraryNodeKeyEnum.java +++ b/src/main/java/com/ydw/bat/wkflow/util/enums/BussLibraryNodeKeyEnum.java @@ -2,36 +2,43 @@ package com.ydw.bat.wkflow.util.enums; import org.apache.commons.lang.StringUtils; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.stream.Stream; + /** * 企标制修订-技术标准-任务节点定义key */ public enum BussLibraryNodeKeyEnum { - BUSS_LIBRARY1("BussLibrary1","起草",1), - BUSS_LIBRARY2("BussLibrary2","企标编写",2), - BUSS_LIBRARY3("BussLibrary3","企标编写汇总",3), - BUSS_LIBRARY4("BussLibrary4","标准化初审",4), - BUSS_LIBRARY_C3("BussLibraryC3","重新企标编写汇总",5), - BUSS_LIBRARY5("BussLibrary5","征求意见",6), - BUSS_LIBRARY6("BussLibrary6","技术委员会评审、评审意见修改",7), - BUSS_LIBRARY7("BussLibrary7","标准化复审",8), - BUSS_LIBRARY_C6("BussLibraryC6","重新技术委员会评审、评审意见修改",9), - BUSS_LIBRARY8("BussLibrary8","起草单位高级经理审核",10), - BUSS_LIBRARY9("BussLibrary9","标准法规部高级经理审核",11), - BUSS_LIBRARY_C1("BussLibraryC1","重新起草",12), - BUSS_LIBRARY10("BussLibrary10","审定",13), - BUSS_LIBRARY11("BussLibrary11","批准",14), - BUSS_LIBRARY12("BussLibrary12","主起草人培训",15), - BUSS_LIBRARY13("BussLibrary13","发布",16), + BUSS_LIBRARY1("BussLibrary1","起草",1,true), + BUSS_LIBRARY2("BussLibrary2","企标编写",2,true), + BUSS_LIBRARY3("BussLibrary3","企标编写汇总",3,true), + BUSS_LIBRARY4("BussLibrary4","标准化初审",4,true), + BUSS_LIBRARY_C3("BussLibraryC3","重新企标编写汇总",5,false), + BUSS_LIBRARY5("BussLibrary5","征求意见",6,true), + BUSS_LIBRARY6("BussLibrary6","技术委员会评审、评审意见修改",7,true), + BUSS_LIBRARY7("BussLibrary7","标准化复审",8,true), + BUSS_LIBRARY_C6("BussLibraryC6","重新技术委员会评审、评审意见修改",9,false), + BUSS_LIBRARY8("BussLibrary8","起草单位高级经理审核",10,true), + BUSS_LIBRARY9("BussLibrary9","标准法规部高级经理审核",11,true), + BUSS_LIBRARY_C1("BussLibraryC1","重新起草",12,false), + BUSS_LIBRARY10("BussLibrary10","审定",13,true), + BUSS_LIBRARY11("BussLibrary11","批准",14,true), + BUSS_LIBRARY12("BussLibrary12","主起草人培训",15,true), + BUSS_LIBRARY13("BussLibrary13","发布",16,true), ; private String value; private String lable; private Integer orderNum; + private boolean showFlag; // 节点是否展示,true展示,false - private BussLibraryNodeKeyEnum(String value, String lable, Integer orderNum) { + private BussLibraryNodeKeyEnum(String value, String lable, Integer orderNum,boolean showFlag) { this.value = value; this.lable = lable; this.orderNum = orderNum; + this.showFlag = showFlag; } public String getValue() { return value; @@ -53,4 +60,14 @@ public enum BussLibraryNodeKeyEnum { } return result; } + + public static List getBussLibraryNodeKeyEnum(){ + List results = new ArrayList<>(); + for (BussLibraryNodeKeyEnum nodeKeyEnum : BussLibraryNodeKeyEnum.values()) { + if (nodeKeyEnum.showFlag) { + results.add(nodeKeyEnum); + } + } + return results; + } } diff --git a/src/main/java/com/ydw/bat/wkflow/util/enums/StandardCommentNewProcessNodeKeyEnum.java b/src/main/java/com/ydw/bat/wkflow/util/enums/StandardCommentNewProcessNodeKeyEnum.java index dd3af0bf..9c47b64f 100644 --- a/src/main/java/com/ydw/bat/wkflow/util/enums/StandardCommentNewProcessNodeKeyEnum.java +++ b/src/main/java/com/ydw/bat/wkflow/util/enums/StandardCommentNewProcessNodeKeyEnum.java @@ -2,32 +2,38 @@ package com.ydw.bat.wkflow.util.enums; import org.apache.commons.lang.StringUtils; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + /** * 标准征求意见流程-任务节点定义key */ public enum StandardCommentNewProcessNodeKeyEnum { - STAND_ASK_FOR_OPINION1("StandAskForOpinion1","起草",0), + STAND_ASK_FOR_OPINION1("StandAskForOpinion1","起草",0,true), // SUB_PROCESS("subProcess","子流程",1), - STAND_ASK_FOR_OPINION2("StandAskForOpinion2","任务分发",2), - STAND_ASK_FOR_OPINION3("StandAskForOpinion3","意见反馈",3), - STAND_ASK_FOR_OPINION4("StandAskForOpinion4","意见汇总审批",4), - STAND_ASK_FOR_OPINION5("StandAskForOpinion5","意见审批",5), - STAND_ASK_FOR_OPINION6("StandAskForOpinion6","管理员",6), - STAND_ASK_FOR_OPINION7("StandAskForOpinion7","意见处理",7), - STAND_ASK_FOR_OPINION8("StandAskForOpinion8","会签",8), - STAND_ASK_FOR_OPINION9("StandAskForOpinion9","审核",9), - STAND_ASK_FOR_OPINION10("StandAskForOpinion10","审定",10), - STAND_ASK_FOR_OPINION11("StandAskForOpinion11","批准",11), + STAND_ASK_FOR_OPINION2("StandAskForOpinion2","任务分发",2,true), + STAND_ASK_FOR_OPINION3("StandAskForOpinion3","意见反馈",3,true), + STAND_ASK_FOR_OPINION4("StandAskForOpinion4","意见汇总审批",4,true), + STAND_ASK_FOR_OPINION5("StandAskForOpinion5","意见审批",5,true), + STAND_ASK_FOR_OPINION6("StandAskForOpinion6","管理员",6,true), + STAND_ASK_FOR_OPINION7("StandAskForOpinion7","意见处理",7,true), + STAND_ASK_FOR_OPINION8("StandAskForOpinion8","会签",8,true), + STAND_ASK_FOR_OPINION9("StandAskForOpinion9","审核",9,true), + STAND_ASK_FOR_OPINION10("StandAskForOpinion10","审定",10,true), + STAND_ASK_FOR_OPINION11("StandAskForOpinion11","批准",11,true), ; private String value; private String lable; private Integer orderNum; + private boolean showFlag; - private StandardCommentNewProcessNodeKeyEnum(String value, String lable,Integer orderNum) { + private StandardCommentNewProcessNodeKeyEnum(String value, String lable,Integer orderNum,boolean showFlag) { this.value = value; this.lable = lable; this.orderNum = orderNum; + this.showFlag = showFlag; } public String getValue() { return value; @@ -49,4 +55,14 @@ public enum StandardCommentNewProcessNodeKeyEnum { } return result; } + + public static List getStandardCommentNewProcessNodeKeyEnum(){ + List results = new ArrayList<>(); + for (StandardCommentNewProcessNodeKeyEnum nodeKeyEnum : StandardCommentNewProcessNodeKeyEnum.values()) { + if (nodeKeyEnum.showFlag) { + results.add(nodeKeyEnum); + } + } + return results; + } } diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 15ea9869..fd3e0323 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -36,7 +36,7 @@ spring: datasource: type: com.alibaba.druid.pool.DruidDataSource driver-class-name: com.mysql.cj.jdbc.Driver - url: jdbc:mysql://121.36.69.172:3307/foton-bat-wkflow-test?nullCatalogMeansCurrent=true&serverTimezone=Asia/Shanghai&useSSL=false&characterEncoding=utf-8 + url: jdbc:mysql://39.98.140.126:3306/foton-bat-wkflow?nullCatalogMeansCurrent=true&serverTimezone=Asia/Shanghai&useSSL=false&characterEncoding=utf-8 username: root password: hzwlsoft.com initialSize: 5 @@ -74,10 +74,10 @@ spring: active: dev # 相关服务配置同业务系统 rabbitmq: - host: 121.36.69.172 + host: 39.98.140.126 port: 5672 - username: admin - password: hzwlsoft.com + username: guest + password: guest listener: direct: # 默认加载 发版 需改为 true @@ -146,4 +146,4 @@ buss: down: file: path: https://srms.foton.com.cn/file/ -# path: http://foton.natapp1.cc/file/ \ No newline at end of file +# path: http://foton.natapp1.cc/file/ From 2902b27e56d1387c74b0612f21cc8a8a43bebad9 Mon Sep 17 00:00:00 2001 From: wangzhijiang <1358525938@qq.com> Date: Tue, 26 Mar 2024 10:55:41 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E4=BC=81=E6=A0=87=E5=88=B6=E4=BF=AE?= =?UTF-8?q?=E8=AE=A2-=E6=8A=80=E6=9C=AF=E6=A0=87=E5=87=86=E6=B5=81?= =?UTF-8?q?=E7=A8=8B-=E6=B5=81=E7=A8=8B=E5=9B=BE=E3=80=81=E6=B5=81?= =?UTF-8?q?=E7=A8=8B=E5=8E=86=E5=8F=B2=E6=94=B9=E9=80=A0=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../task/TodoTaskController.java | 9 +-- .../impl/IBusProcessHistoryServiceImpl.java | 10 ++-- .../bussLibrary/BLApplicantC1After.java | 57 ++++++++++--------- .../bussLibrary/BussLibrary4After.java | 2 +- 4 files changed, 42 insertions(+), 36 deletions(-) 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 54947743..241ffeca 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 @@ -656,9 +656,9 @@ public class TodoTaskController extends BaseAction { }catch (Exception e){ logger.error(e.toString()); } - taskService.complete(busMes.getTaskId()); - this.busProcessHistoryService.complete(busMes); + + taskService.complete(busMes.getTaskId()); } else { return WrapMapper.error("当前任务不存在"); } @@ -690,12 +690,13 @@ public class TodoTaskController extends BaseAction { }catch (Exception e){ logger.error(e.toString()); } + busMes.setTaskId(taskId); + this.busProcessHistoryService.complete(busMes); + taskService.complete(taskId); } else { return WrapMapper.error("当前任务不存在"); } - busMes.setTaskId(taskId); - this.busProcessHistoryService.complete(busMes); } return WrapMapper.ok(prcid); } diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/IBusProcessHistoryServiceImpl.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/IBusProcessHistoryServiceImpl.java index 0e48884a..b4e7f538 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/IBusProcessHistoryServiceImpl.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/IBusProcessHistoryServiceImpl.java @@ -435,11 +435,11 @@ public class IBusProcessHistoryServiceImpl extends ServiceImpl bphQueryWrap = new QueryWrapper<>(); - bphQueryWrap.lambda().eq(BusProcessHistory::getActiProcInstId, delegateTask.getProcessInstanceId()); - bphQueryWrap.lambda().eq(BusProcessHistory::getUserId, qcUserId); - bphQueryWrap.lambda().eq(BusProcessHistory::getTaskKey, BussLibraryNodeKeyEnum.BUSS_LIBRARY2.getValue()); - bphQueryWrap.lambda().isNull(BusProcessHistory::getTaskId); - - List busProcessHistoryList = bphService.list(bphQueryWrap); - if (CollectionUtils.isEmpty(busProcessHistoryList)) { - List bphList = new ArrayList<>(); - // 重新起草 - BusProcessHistory cxqcBph = new BusProcessHistory(); - cxqcBph.setActiProcInstId(delegateTask.getProcessInstanceId()); - cxqcBph.setUserId(qcUserId); - cxqcBph.setTaskKey(BussLibraryNodeKeyEnum.BUSS_LIBRARY2.getValue()); - cxqcBph.setFlowType(FlowTypeEnum.QBZXD_JSBZ.getValue()); - cxqcBph.setIsSub("2"); - cxqcBph.setIsMany("2"); + List bphList = new ArrayList<>(); + List qcUserIdList = Arrays.asList(json.getString("qcUserId").split(",")); + if (CollectionUtils.isNotEmpty(qcUserIdList)) { + // 企标编写节点父节点信息 + BusProcessHistory qbbxPBph = new BusProcessHistory(); + String qbbxPBphId = UUID.randomUUID().toString(); + qbbxPBph.setId(qbbxPBphId); + qbbxPBph.setActiProcInstId(delegateTask.getProcessInstanceId()); + qbbxPBph.setTaskKey(BussLibraryNodeKeyEnum.BUSS_LIBRARY2.getValue()); + qbbxPBph.setFlowType(FlowTypeEnum.QBZXD_JSBZ.getValue()); int orderNum = bphService.getMaxOrderNum(delegateTask.getProcessInstanceId(), BussLibraryNodeKeyEnum.BUSS_LIBRARY_C1.getValue()); - cxqcBph.setOrderNum(orderNum + 1); - bphList.add(cxqcBph); + qbbxPBph.setOrderNum(orderNum + 1); + qbbxPBph.setIsSub("2"); + qbbxPBph.setIsMany("1"); + bphList.add(qbbxPBph); - bphService.insertBatch(bphList); - bphService.updateOrderNum(delegateTask.getProcessInstanceId(), orderNum + 1, bphList.size()); + for (String qcUserId : qcUserIdList) { + // 企标编写子节点信息 + BusProcessHistory qbbxBph = new BusProcessHistory(); + qbbxBph.setActiProcInstId(delegateTask.getProcessInstanceId()); + qbbxBph.setUserId(qcUserId); + qbbxBph.setTaskKey(BussLibraryNodeKeyEnum.BUSS_LIBRARY2.getValue()); + qbbxBph.setFlowType(FlowTypeEnum.QBZXD_JSBZ.getValue()); + qbbxBph.setOrderNum(orderNum + 1); + qbbxBph.setIsSub("2"); + qbbxBph.setIsMany("1"); + qbbxBph.setManyPId(qbbxPBphId); + bphList.add(qbbxBph); + } + + delegateTask.setVariable("qcUserList",qcUserIdList); } + bphService.insertBatch(bphList); } private String verifyObj(String str){ diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary4After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary4After.java index c28bb41b..1ad1d007 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary4After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary4After.java @@ -207,7 +207,7 @@ public class BussLibrary4After implements TaskListener{ zqyjPBph.setId(zqyjPBphId); zqyjPBph.setActiProcInstId(delegateTask.getProcessInstanceId()); zqyjPBph.setTaskKey(BussLibraryNodeKeyEnum.BUSS_LIBRARY5.getValue()); - zqyjPBph.setFlowType(FlowTypeEnum.BZZQYJLC.getValue()); + zqyjPBph.setFlowType(FlowTypeEnum.QBZXD_JSBZ.getValue()); zqyjPBph.setOrderNum(BussLibraryNodeKeyEnum.BUSS_LIBRARY5.getOrderNum()); zqyjPBph.setIsSub("2"); zqyjPBph.setIsMany("1"); From f796fe9cefe9e1d0e11f9291c21ed58aea274849 Mon Sep 17 00:00:00 2001 From: wangzhijiang <1358525938@qq.com> Date: Wed, 27 Mar 2024 18:02:53 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E5=BE=81=E6=B1=82=E6=84=8F=E8=A7=81?= =?UTF-8?q?=E6=B5=81=E7=A8=8B=E5=9B=BE=E4=BF=AE=E6=94=B9=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../datas/entity/BusProcessHistory.java | 8 +++ .../service/IBusProcessHistoryService.java | 2 +- .../impl/IBusProcessHistoryServiceImpl.java | 50 +++++++++++++++---- .../StartSurveyAfter.java | 20 ++++---- .../Step10After.java | 8 +++ .../StandardCommentNewProcess/Step1After.java | 1 + .../StandardCommentNewProcess/Step2After.java | 43 ++++++++++++++++ .../StandardCommentNewProcess/Step4After.java | 6 +++ .../StandardCommentNewProcess/Step5After.java | 6 +++ .../StandardCommentNewProcess/Step7After.java | 5 ++ .../StandardCommentNewProcess/Step8After.java | 6 +++ .../StandardCommentNewProcess/Step9After.java | 7 +++ 12 files changed, 141 insertions(+), 21 deletions(-) diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/BusProcessHistory.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/BusProcessHistory.java index 8cf3669a..ed672f77 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/BusProcessHistory.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/BusProcessHistory.java @@ -111,4 +111,12 @@ public class BusProcessHistory { @ApiModelProperty(value = "图片中是否展示:1 默认展示 2 不展示") @TableField("img_show_flag") private String imgShowFlag; + + @ApiModelProperty(value = "分发用户id") + @TableField("parent_user_id") + private String parentUserId; + + // 分发用户名称 + @TableField(exist = false) + private String parentUserName; } diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IBusProcessHistoryService.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IBusProcessHistoryService.java index a87b22fc..f2b548fb 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IBusProcessHistoryService.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IBusProcessHistoryService.java @@ -39,7 +39,7 @@ public interface IBusProcessHistoryService extends IService { * @param actiProcInstId 流程示例id * @param inTaskKeyList in的流程定义key * @param notInTaskKeyList notIn的流程定义key - * @param imgShowColor 更新成什么颜色 + * @param imgShowColor 更新成什么颜色 : 图片中展示标识,0 未办白色,1 待办浅绿色 2 已办 蓝色 */ void updateImgShowColor(String actiProcInstId,List inTaskKeyList, List notInTaskKeyList,String imgShowColor); diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/IBusProcessHistoryServiceImpl.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/IBusProcessHistoryServiceImpl.java index b4e7f538..7b2e0a9c 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/IBusProcessHistoryServiceImpl.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/IBusProcessHistoryServiceImpl.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ydw.bat.wkflow.business_auth.LawsUserInfoService; import com.ydw.bat.wkflow.business_main.datas.entity.*; import com.ydw.bat.wkflow.business_main.datas.mapper.BusProcessHistoryMapper; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessEntrustService; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessHistoryService; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNameService; import com.ydw.bat.wkflow.util.enums.BussLibraryNodeKeyEnum; @@ -34,6 +35,9 @@ public class IBusProcessHistoryServiceImpl extends ServiceImpl queryFlowHistoryList(BusProcessHistory busProcessHistory) { QueryWrapper bphQueryWrap = new QueryWrapper<>(); @@ -155,6 +159,15 @@ public class IBusProcessHistoryServiceImpl extends ServiceImpl list1 = iBusProcessEntrustService.list(queryWrapper2); + if(list1.size()>0){ + ResponseMessage assignee1 = lawsUserInfoService.getByIdFeignClientWithDisabled(list1.get(0).getUserId()); + userName = assignee.getData().getUname()+"("+assignee1.getData().getUname()+" 转办)"; + } } else { userName = data.getUserId(); } @@ -441,14 +454,14 @@ public class IBusProcessHistoryServiceImpl extends ServiceImpl> map = bphListByTaskKey.stream().collect(Collectors.groupingBy(BusProcessHistory::getImgShowColor)); + if (map.containsKey("0")) { + taskStatus = ""; + } + + // 如果该节点数据,存在绿色展示数据,则设置为绿色。 + if (map.containsKey("2")) { + taskStatus = TaskStatusEnum.DONE.getValue(); + } + + // 如果该节点数据,存在绿色展示数据,则设置为绿色。 + if (map.containsKey("1")) { + taskStatus = TaskStatusEnum.TODO.getValue(); } } tasksMap.put("taskKey", taskKey); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/StartSurveyAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/StartSurveyAfter.java index aeb2bb73..e1206822 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/StartSurveyAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/StartSurveyAfter.java @@ -222,16 +222,16 @@ public class StartSurveyAfter implements TaskListener { rwffBph.setIsMany("2"); bphList.add(rwffBph); - // 意见汇总审批 - BusProcessHistory yjhzspBph = new BusProcessHistory(); - yjhzspBph.setActiProcInstId(delegateTask.getProcessInstanceId()); - yjhzspBph.setUserId(zrUserId); - yjhzspBph.setTaskKey(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION4.getValue()); - yjhzspBph.setFlowType(FlowTypeEnum.BZZQYJLC.getValue()); - yjhzspBph.setOrderNum(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION4.getOrderNum()); - yjhzspBph.setIsSub("2"); - yjhzspBph.setIsMany("2"); - bphList.add(yjhzspBph); +// // 意见汇总审批 +// BusProcessHistory yjhzspBph = new BusProcessHistory(); +// yjhzspBph.setActiProcInstId(delegateTask.getProcessInstanceId()); +// yjhzspBph.setUserId(zrUserId); +// yjhzspBph.setTaskKey(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION4.getValue()); +// yjhzspBph.setFlowType(FlowTypeEnum.BZZQYJLC.getValue()); +// yjhzspBph.setOrderNum(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION4.getOrderNum()); +// yjhzspBph.setIsSub("2"); +// yjhzspBph.setIsMany("2"); +// bphList.add(yjhzspBph); /*// 意见审批 String spId = json.getString("spId"); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step10After.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step10After.java index 95f0f71b..aa8d8ed7 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step10After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step10After.java @@ -201,6 +201,14 @@ public class Step10After implements TaskListener { bphService.insertBatch(bphList); bphService.updateOrderNum(delegateTask.getProcessInstanceId(),orderNum + 1,bphList.size()); + + // 退回到了 意见处理,将会签、审核、审定、批准 节点 设置为在流程图展示空白 + List taskKeyList = new ArrayList<>(); + taskKeyList.add(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION8.getValue()); + taskKeyList.add(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION9.getValue()); + taskKeyList.add(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION10.getValue()); + taskKeyList.add(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION11.getValue()); + bphService.updateImgShowColor(delegateTask.getProcessInstanceId(),taskKeyList,null,"0"); } } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step1After.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step1After.java index 676e6043..b138f16c 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step1After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step1After.java @@ -162,6 +162,7 @@ public class Step1After implements TaskListener { yjfkBph.setIsSub("2"); yjfkBph.setIsMany("1"); yjfkBph.setManyPId(yjfkPBphId); + yjfkBph.setParentUserId(delegateTask.getAssignee()); bphList.add(yjfkBph); } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step2After.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step2After.java index 636fba4d..948866ef 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step2After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step2After.java @@ -4,13 +4,18 @@ 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.BusProcessHistory; 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.IBusProcessHistoryService; 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 com.ydw.bat.wkflow.util.enums.FlowTypeEnum; +import com.ydw.bat.wkflow.util.enums.StandardCommentNewProcessNodeKeyEnum; +import com.ydw.bat.wkflow.util.enums.TaskStatusEnum; import org.activiti.engine.ActivitiException; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; @@ -111,5 +116,43 @@ public class Step2After implements TaskListener { busBean.save(busProcessNewNext); } } + + this.addBusProcessHistory(object,delegateTask); + } + + public void addBusProcessHistory(JSONObject json,DelegateTask delegateTask){ + IBusProcessHistoryService bphService = SpringContextUtil.getBean(IBusProcessHistoryService.class); + // 根据当前taskId + QueryWrapper queryWrapByTaskId = new QueryWrapper<>(); + queryWrapByTaskId.lambda().eq(BusProcessHistory::getTaskId,delegateTask.getId()); + queryWrapByTaskId.lambda().eq(BusProcessHistory::getActiProcInstId,delegateTask.getProcessInstanceId()); + BusProcessHistory bphByTaskId = bphService.list(queryWrapByTaskId).get(0); + + // 根据分发人用户id、流程实例id,流程节点定义key,任务状态为待办 查询 , 如果存在待办,则不做任何操作,如果不存在,则给分发人创建一条意见汇总审批的任务。 + String parentUserId = bphByTaskId.getParentUserId(); + QueryWrapper queryWrap = new QueryWrapper<>(); + queryWrap.lambda().eq(BusProcessHistory::getActiProcInstId,delegateTask.getProcessInstanceId()); + queryWrap.lambda().eq(BusProcessHistory::getParentUserId,parentUserId); + queryWrap.lambda().eq(BusProcessHistory::getTaskKey,StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION3.getValue()); + queryWrap.lambda().eq(BusProcessHistory::getTaskStatus, TaskStatusEnum.TODO.getValue()); + queryWrap.lambda().ne(BusProcessHistory::getTaskId,delegateTask.getId()); + + int count = bphService.count(queryWrap); + if (count == 0) { + List bphList = new ArrayList<>(); + + // 意见汇总审批 + BusProcessHistory yjhzspBph = new BusProcessHistory(); + yjhzspBph.setActiProcInstId(delegateTask.getProcessInstanceId()); + yjhzspBph.setUserId(parentUserId); + yjhzspBph.setTaskKey(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION4.getValue()); + yjhzspBph.setFlowType(FlowTypeEnum.BZZQYJLC.getValue()); + yjhzspBph.setOrderNum(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION4.getOrderNum()); + yjhzspBph.setIsSub("2"); + yjhzspBph.setIsMany("2"); + bphList.add(yjhzspBph); + + bphService.insertBatch(bphList); + } } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step4After.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step4After.java index fcf1b957..c144f24e 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step4After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step4After.java @@ -12,6 +12,7 @@ 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 com.ydw.bat.wkflow.util.enums.BussLibraryNodeKeyEnum; import com.ydw.bat.wkflow.util.enums.FlowTypeEnum; import com.ydw.bat.wkflow.util.enums.StandardCommentNewProcessNodeKeyEnum; import org.activiti.engine.delegate.DelegateTask; @@ -128,6 +129,11 @@ public class Step4After implements TaskListener { bphList.add(yjhzspBph); bphService.updateOrderNum(delegateTask.getProcessInstanceId(),orderNum + 1,bphList.size()); + + // 退回到了 意见汇总报批,将意见审批节点 设置为在流程图展示空白 + List taskKeyList = new ArrayList<>(); + taskKeyList.add(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION5.getValue()); + bphService.updateImgShowColor(delegateTask.getProcessInstanceId(),taskKeyList,null,"0"); } else { String bzfgId = json.getString("bzfgId"); // 如果存在批准节点的数据,taskId为空。 不用添加,否则就是退回过 需要添加。 diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step5After.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step5After.java index c0024d5e..5e245d3c 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step5After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step5After.java @@ -154,6 +154,12 @@ public class Step5After implements TaskListener { bphList.add(yjhzspBph); bphService.insertBatch(bphList); bphService.updateOrderNum(delegateTask.getProcessInstanceId(),orderNum + 1,bphList.size()); + + // 退回到了 意见汇总报批,将意见审批、管理员节点 设置为在流程图展示空白 + List taskKeyList = new ArrayList<>(); + taskKeyList.add(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION5.getValue()); + taskKeyList.add(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION6.getValue()); + bphService.updateImgShowColor(delegateTask.getProcessInstanceId(),taskKeyList,null,"0"); } } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step7After.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step7After.java index 8ff39b6b..fd737cb4 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step7After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step7After.java @@ -197,6 +197,11 @@ public class Step7After implements TaskListener { yjclBph.setIsSub("2"); yjclBph.setIsMany("2"); bphList.add(yjclBph); + + // 退回到了 意见处理,将会签节点 设置为在流程图展示空白 + List taskKeyList = new ArrayList<>(); + taskKeyList.add(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION8.getValue()); + bphService.updateImgShowColor(delegateTask.getProcessInstanceId(),taskKeyList,null,"0"); } bphService.updateOrderNum(delegateTask.getProcessInstanceId(),orderNum + 1,bphList.size()); bphService.insertBatch(bphList); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step8After.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step8After.java index 32a1a65f..a7580c3b 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step8After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step8After.java @@ -185,6 +185,12 @@ public class Step8After implements TaskListener { yjclBph.setIsSub("2"); yjclBph.setIsMany("2"); bphList.add(yjclBph); + + // 退回到了 意见处理,将会签、审核节点 设置为在流程图展示空白 + List taskKeyList = new ArrayList<>(); + taskKeyList.add(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION8.getValue()); + taskKeyList.add(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION9.getValue()); + bphService.updateImgShowColor(delegateTask.getProcessInstanceId(),taskKeyList,null,"0"); } bphService.updateOrderNum(delegateTask.getProcessInstanceId(),orderNum + 1,bphList.size()); bphService.insertBatch(bphList); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step9After.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step9After.java index 74c61750..acd362a0 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step9After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step9After.java @@ -176,6 +176,13 @@ public class Step9After implements TaskListener { yjclBph.setIsSub("2"); yjclBph.setIsMany("2"); bphList.add(yjclBph); + + // 退回到了 意见处理,将会签、审核、审定节点 设置为在流程图展示空白 + List taskKeyList = new ArrayList<>(); + taskKeyList.add(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION8.getValue()); + taskKeyList.add(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION9.getValue()); + taskKeyList.add(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION10.getValue()); + bphService.updateImgShowColor(delegateTask.getProcessInstanceId(),taskKeyList,null,"0"); } bphService.updateOrderNum(delegateTask.getProcessInstanceId(),orderNum + 1,bphList.size()); bphService.insertBatch(bphList); From 361d0eee2fba188a9bfd0f69c5b81689f6543019 Mon Sep 17 00:00:00 2001 From: wangzhijiang <1358525938@qq.com> Date: Wed, 27 Mar 2024 15:55:15 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E5=BE=81=E6=B1=82=E6=84=8F=E8=A7=81?= =?UTF-8?q?=E6=B5=81=E7=A8=8B=E5=9B=BE=E4=BF=AE=E6=94=B9=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../StartSurveyAfter.java | 29 +++++++++++++++++++ .../StandardCommentNewProcess/Step4After.java | 1 + .../StandardCommentNewProcess/Step8After.java | 14 +++++++++ 3 files changed, 44 insertions(+) diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/StartSurveyAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/StartSurveyAfter.java index e1206822..dba890d7 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/StartSurveyAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/StartSurveyAfter.java @@ -283,6 +283,35 @@ public class StartSurveyAfter implements TaskListener { pzBph.setIsMany("2"); bphList.add(pzBph); + // 审定 + if (StringUtils.isNotEmpty(json.getString("directorUser"))) { + // 审定节点父节点信息 + BusProcessHistory sdPBph = new BusProcessHistory(); + String sdPBphId = UUID.randomUUID().toString(); + sdPBph.setId(sdPBphId); + sdPBph.setActiProcInstId(delegateTask.getProcessInstanceId()); + sdPBph.setTaskKey(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION10.getValue()); + sdPBph.setFlowType(FlowTypeEnum.BZZQYJLC.getValue()); + sdPBph.setOrderNum(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION10.getOrderNum()); + sdPBph.setIsSub("2"); + sdPBph.setIsMany("1"); + bphList.add(sdPBph); + + List directorUserList = Arrays.asList(json.getString("directorUser").split(",")); + for (String sdUserId : directorUserList) { + BusProcessHistory sdBph = new BusProcessHistory(); + sdBph.setActiProcInstId(delegateTask.getProcessInstanceId()); + sdBph.setUserId(sdUserId); + sdBph.setTaskKey(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION10.getValue()); + sdBph.setFlowType(FlowTypeEnum.BZZQYJLC.getValue()); + sdBph.setOrderNum(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION10.getOrderNum()); + sdBph.setIsSub("2"); + sdBph.setIsMany("1"); + sdBph.setManyPId(sdPBphId); + bphList.add(sdBph); + } + } + bphService.insertBatch(bphList); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step4After.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step4After.java index c144f24e..0a0ba904 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step4After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step4After.java @@ -155,6 +155,7 @@ public class Step4After implements TaskListener { glyBph.setOrderNum(orderNum + 1); glyBph.setIsSub("2"); glyBph.setIsMany("2"); + glyBph.setParentUserId(delegateTask.getAssignee()); bphList.add(glyBph); bphService.updateOrderNum(delegateTask.getProcessInstanceId(),orderNum + 1,bphList.size()); } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step8After.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step8After.java index a7580c3b..ee4e6f96 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step8After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step8After.java @@ -24,6 +24,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.UUID; +import java.util.stream.Collectors; //新征求意见流程!!!!! public class Step8After implements TaskListener { @@ -148,6 +149,19 @@ public class Step8After implements TaskListener { if (StringUtils.equals(bdFlag,"0")) { // 审定 if (CollectionUtils.isNotEmpty(sdUserIdList)) { + // 删除之前审定节点的信息。 + QueryWrapper bphQueryWrap = new QueryWrapper<>(); + bphQueryWrap.lambda().eq(BusProcessHistory::getActiProcInstId,delegateTask.getProcessInstanceId()); + bphQueryWrap.lambda().eq(BusProcessHistory::getTaskKey,StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION10.getValue()); + bphQueryWrap.lambda().isNull(BusProcessHistory::getTaskId); + List oldSdBphList = bphService.list(bphQueryWrap); + if (CollectionUtils.isNotEmpty(oldSdBphList)) { + if (oldSdBphList.size() > 1) { + List oldSdBphIdList = oldSdBphList.stream().map(BusProcessHistory::getId).distinct().collect(Collectors.toList()); + bphService.removeByIds(oldSdBphIdList); + } + } + // 审定节点父节点信息 BusProcessHistory sdPBph = new BusProcessHistory(); String sdPBphId = UUID.randomUUID().toString();