From ec7170dbcd0ae926d4f35d319bd21cf8a53e2873 Mon Sep 17 00:00:00 2001 From: fengyuan_yang <1976974459@qq.com> Date: Tue, 13 May 2025 17:59:49 +0800 Subject: [PATCH] 2025-05-13 --- .../impl/ChangeManagementServiceImpl.java | 53 +++++++++++++------ .../impl/RequestManageServiceImpl.java | 22 ++++---- .../mapper/change/ChangeManagementMapper.xml | 23 +++++--- 3 files changed, 63 insertions(+), 35 deletions(-) diff --git a/src/main/java/com/spring/modules/change/service/impl/ChangeManagementServiceImpl.java b/src/main/java/com/spring/modules/change/service/impl/ChangeManagementServiceImpl.java index 5073c911..389ee761 100644 --- a/src/main/java/com/spring/modules/change/service/impl/ChangeManagementServiceImpl.java +++ b/src/main/java/com/spring/modules/change/service/impl/ChangeManagementServiceImpl.java @@ -1467,6 +1467,14 @@ public class ChangeManagementServiceImpl extends ServiceImpl pfs = changeManagementMapper.getProcessFormByIsRemark(paramData.getSite(), paramData.getBu(), paramData.getDocNo(), "0"); + // 修改单据的节点结论和驳回意见 + changeManagementMapper.updateProcessNode(paramData.getSite(), paramData.getBu() == null ? "" : paramData.getBu(), paramData.getRequestId(), paramData.getClassificationNo(), paramData.getNodeId(), paramData.getNodeConclusion(), paramData.getRejectOpinion(), paramData.getDomainControlAccount()); + // 2025-05-12 使用 process_form 根据 site documentNo isRemark = 0 来获取人员 可能有多个 循环调用 + DeleteUserRequestInfoParam deleteUserRequestInfoParam = new DeleteUserRequestInfoParam(); + deleteUserRequestInfoParam.setRequestId(paramData.getRequestId()); + deleteUserRequestInfoParam.setSyscode("PLM"); + List oaUserList = changeManagementMapper.getOaUserIdByIsRemark(paramData.getSite(), paramData.getDocNo(), "0"); + // 将记录表中 isRemark 为0的修改为1 // 2025-05-12 查当前节点是否为非会签 是则不加username PlmRequestDetailVo requestNode = changeManagementMapper.getRequestNodeByNodeId(paramData.getSite(), paramData.getClassificationNo(), paramData.getNodeId()); @@ -1476,9 +1484,6 @@ public class ChangeManagementServiceImpl extends ServiceImpl oaUserList = changeManagementMapper.getOaUserIdByIsRemark(paramData.getSite(), paramData.getDocNo(), "0"); - // 如果 isRemarks 中的节点ID = 最新节点ID if (isRemarks.get(0).get("nodeid").toString().equals(newNodeId) && !pfs.isEmpty()) { // 2025-05-09 发送统一待办前先调用[删除异构系统指定人员待办流程]接口 @@ -1743,18 +1751,25 @@ public class ChangeManagementServiceImpl extends ServiceImpl> isRemarks = res.stream().filter(a -> convertToInt(a.get("isremark")) == 0).collect(Collectors.toList()); + // 修改单据的节点结论和驳回意见 + changeManagementMapper.updateProcessNode(paramData.getSite(), paramData.getBu() == null ? "" : paramData.getBu(), paramData.getRequestId(), paramData.getClassificationNo(), paramData.getNodeId(), paramData.getNodeConclusion(), paramData.getRejectOpinion(), paramData.getDomainControlAccount()); + + // 2025-05-09 发送统一待办前先调用[删除异构系统指定人员待办流程]接口 + DeleteUserRequestInfoParam deleteUserRequestInfoParam = new DeleteUserRequestInfoParam(); + deleteUserRequestInfoParam.setRequestId(paramData.getRequestId()); + deleteUserRequestInfoParam.setSyscode("PLM"); + List oaUserList = changeManagementMapper.getOaUserIdByIsRemark(paramData.getSite(), paramData.getDocNo(), "0"); + // 将记录表中 isRemark 为0的修改为1 // 2025-05-12 查当前节点是否为非会签 是则不加username PlmRequestDetailVo requestNode = changeManagementMapper.getRequestNodeByNodeId(paramData.getSite(), paramData.getClassificationNo(), paramData.getNodeId()); // 非会签 - if (StringUtils.isNotBlank(requestNode.getCountersignatureItem()) && "1".equals(requestNode.getCountersignatureItem())) { + if (requestNode.getCountersignatureItem() != null && "1".equals(requestNode.getCountersignatureItem())) { changeManagementMapper.updateProcessForm3(paramData); } else { changeManagementMapper.updateProcessForm2(paramData); } - // 修改单据的节点结论和驳回意见 - changeManagementMapper.updateProcessNode(paramData.getSite(), paramData.getBu() == null ? "" : paramData.getBu(), paramData.getRequestId(), paramData.getClassificationNo(), paramData.getNodeId(), paramData.getNodeConclusion(), paramData.getRejectOpinion(), paramData.getDomainControlAccount()); if (isRemarks.isEmpty()) { // 已结束 // 反刷单据状态为 "已完成" paramData.setStatus("已完成"); @@ -1762,6 +1777,15 @@ public class ChangeManagementServiceImpl extends ServiceImpl nodeDetailLast = changeManagementMapper.queryNodeDetailLast(paramData.getSite(), paramData.getClassificationNo(), paramData.getWorkflowId()); paramData.setStepId(nodeDetailLast.get(0).getStepId()); changeManagementMapper.updateChangeStatus2(paramData); + // 2025-05-13 删除异构系统指定人员待办流程异常信息 + for (OaUserData oaUser : oaUserList) { + deleteUserRequestInfoParam.setUserId(oaUser.getId()); + String deleteUserRequestInfoURL = apiUrlOa + "/oa/interface/deleteUserRequestInfo"; + ResponseData deleteUserRequestInfoResponses = HttpClientUtil.doPostByRawWithOA(deleteUserRequestInfoURL, deleteUserRequestInfoParam); + if (!"0".equals(deleteUserRequestInfoResponses.getCode())) { + throw new RuntimeException("删除异构系统指定人员待办流程异常信息:" + deleteUserRequestInfoResponses.getMsg()); + } + } } else { // 未结束 // 存放isRemark为0的域控账号 Map dcas = new HashMap<>(); @@ -1811,11 +1835,6 @@ public class ChangeManagementServiceImpl extends ServiceImpl oaUserList = changeManagementMapper.getOaUserIdByIsRemark(paramData.getSite(), paramData.getDocNo(), "0"); for (OaUserData oaUser : oaUserList) { deleteUserRequestInfoParam.setUserId(oaUser.getId()); String deleteUserRequestInfoURL = apiUrlOa + "/oa/interface/deleteUserRequestInfo"; diff --git a/src/main/java/com/spring/modules/request/service/impl/RequestManageServiceImpl.java b/src/main/java/com/spring/modules/request/service/impl/RequestManageServiceImpl.java index b943f702..f2bc590e 100644 --- a/src/main/java/com/spring/modules/request/service/impl/RequestManageServiceImpl.java +++ b/src/main/java/com/spring/modules/request/service/impl/RequestManageServiceImpl.java @@ -380,7 +380,7 @@ public class RequestManageServiceImpl extends ServiceImpl