From b738c2623aa562c94704a58c4d4f4c6ee024e2f4 Mon Sep 17 00:00:00 2001 From: fengyuan_yang <1976974459@qq.com> Date: Thu, 16 Oct 2025 09:29:09 +0800 Subject: [PATCH] =?UTF-8?q?2025-10-16=20copyPart=20Routing=E8=B0=83?= =?UTF-8?q?=E6=95=B4=20routing=E7=89=88=E6=9C=AC=E6=A0=B9=E6=8D=AE?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E4=BB=8E1=E5=BC=80=E5=A7=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/PartInformationServiceImpl.java | 75 +++++++++++++++++++ .../TechnicalSpecificationMapper.xml | 3 +- 2 files changed, 77 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/spring/modules/part/service/impl/PartInformationServiceImpl.java b/src/main/java/com/spring/modules/part/service/impl/PartInformationServiceImpl.java index d2394608..c9fcd146 100644 --- a/src/main/java/com/spring/modules/part/service/impl/PartInformationServiceImpl.java +++ b/src/main/java/com/spring/modules/part/service/impl/PartInformationServiceImpl.java @@ -2261,11 +2261,25 @@ public class PartInformationServiceImpl extends ServiceImpl routingHeaderList) { HashMap operationMap = new HashMap(); // 存放新的operationId + // 存放新的routingRevision,key为"site_partNo_routingType",value为当前的routingRevision值 + HashMap routingRevisionMap = new HashMap(); if (!routingHeaderList.isEmpty()) { for (RoutingHeaderVo routingHeader : routingHeaderList) { routingHeader.setSite(toPart.getSite()); routingHeader.setPartNo(toPart.getPartNo()); routingHeader.setCreateBy(inData.getCreateBy()); + + // 根据site、partNo、routingType生成key + String revisionKey = toPart.getSite() + "_" + toPart.getPartNo() + "_" + routingHeader.getRoutingType(); + Integer currentRevision = routingRevisionMap.get(revisionKey); + if (currentRevision == null) { + currentRevision = 1; + } else { + currentRevision = currentRevision + 1; + } + routingRevisionMap.put(revisionKey, currentRevision); + routingHeader.setRoutingRevision(currentRevision); + routingManagementMapper.saveRoutingHeader(routingHeader); } // routingManagementMapper.saveRoutingHeaderList(routingHeaderList); @@ -2273,14 +2287,33 @@ public class PartInformationServiceImpl extends ServiceImpl routingComponentList = routingManagementMapper.selectRoutingComponentByPartNo(fromPart.getSite(), fromPart.getPartNo()); List routingToolList = routingManagementMapper.selectRoutingToolByPartNo(fromPart.getSite(), fromPart.getPartNo()); List routingGuidelineList = routingManagementMapper.selectRoutingGuidelineByPartNo(fromPart.getSite(), fromPart.getPartNo()); + + // 清空routingRevisionMap,为detail等表重新计数 + routingRevisionMap.clear(); + if (!routingDetailList.isEmpty()) { for (RoutingDetailVo routingDetail : routingDetailList) { routingDetail.setSite(toPart.getSite()); routingDetail.setPartNo(toPart.getPartNo()); routingDetail.setCreateBy(inData.getCreateBy()); + + // 根据site、partNo、routingType生成key + String revisionKey = toPart.getSite() + "_" + toPart.getPartNo() + "_" + routingDetail.getRoutingType(); + Integer currentRevision = routingRevisionMap.get(revisionKey); + if (currentRevision == null) { + currentRevision = 1; + } else { + currentRevision = currentRevision + 1; + } + routingRevisionMap.put(revisionKey, currentRevision); + routingDetail.setRoutingRevision(currentRevision); } routingManagementMapper.saveRoutingDetailList(routingDetailList); } + + // 清空routingRevisionMap,为component表重新计数 + routingRevisionMap.clear(); + if (!routingComponentList.isEmpty()) { Integer oldOperationId; for (RoutingComponentVo routingComponent : routingComponentList) { @@ -2288,25 +2321,67 @@ public class PartInformationServiceImpl extends ServiceImpl