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