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 d91c5e2b..8f356a3b 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 @@ -1180,6 +1180,31 @@ public class ChangeManagementServiceImpl extends ServiceImpl>>(){}); } + + // 如果节点isRemark=4,说明直接归档 + List> archiveRemarks = res.stream().filter(a -> convertToInt(a.get("isremark")) == 4).collect(Collectors.toList()); + if (!archiveRemarks.isEmpty()) { + // 反刷单据状态为 "已完成" + paramData.setStatus("已完成"); + // 查最后一个节点的stepId + List nodeDetailLast = changeManagementMapper.queryNodeDetailLast(paramData.getSite(), paramData.getClassificationNo(), paramData.getWorkflowId()); + paramData.setStepId(nodeDetailLast.get(0).getStepId()); + changeManagementMapper.updateChangeStatus2(paramData); + + // 删除异构系统指定人员待办流程 + DeleteUserRequestInfoParam deleteUserRequestInfoParam = new DeleteUserRequestInfoParam(); + deleteUserRequestInfoParam.setRequestId(paramData.getWorkflowId() + paramData.getRequestId()); + deleteUserRequestInfoParam.setSyscode("PLM"); + List oaUserList = changeManagementMapper.getOaUserIdByIsRemark(paramData.getSite(), paramData.getDocNo(), "0"); + for (OaUserData oaUser : oaUserList) { + deleteUserRequestInfoParam.setUserId(oaUser.getId()); + String deleteUserRequestInfoURL = apiUrlOa + "/oa/interface/deleteUserRequestInfo"; + ResponseData deleteUserRequestInfoResponses = HttpClientUtil.doPostByRawWithOA(deleteUserRequestInfoURL, deleteUserRequestInfoParam); + } + // 直接归档,不再继续后续流程 + return; + } + // 得到isRemark为0的流转信息 List> isRemarks = res.stream().filter(a -> convertToInt(a.get("isremark")) == 0).collect(Collectors.toList()); if (isRemarks.isEmpty()) {