Browse Source

2025-10-16

copyPart Routing调整 routing版本根据类型从1开始
master
fengyuan_yang 3 months ago
parent
commit
b738c2623a
  1. 75
      src/main/java/com/spring/modules/part/service/impl/PartInformationServiceImpl.java
  2. 3
      src/main/resources/mapper/sampleManagement/TechnicalSpecificationMapper.xml

75
src/main/java/com/spring/modules/part/service/impl/PartInformationServiceImpl.java

@ -2261,11 +2261,25 @@ public class PartInformationServiceImpl extends ServiceImpl<PartInformationMappe
@Transactional
public void saveCopyRouting(PartInformationVo inData, PartInformationEntity fromPart, PartInformationEntity toPart, List<RoutingHeaderVo> routingHeaderList) {
HashMap<Integer, Integer> operationMap = new HashMap<Integer, Integer>(); // 存放新的operationId
// 存放新的routingRevisionkey为"site_partNo_routingType"value为当前的routingRevision值
HashMap<String, Integer> routingRevisionMap = new HashMap<String, Integer>();
if (!routingHeaderList.isEmpty()) {
for (RoutingHeaderVo routingHeader : routingHeaderList) {
routingHeader.setSite(toPart.getSite());
routingHeader.setPartNo(toPart.getPartNo());
routingHeader.setCreateBy(inData.getCreateBy());
// 根据sitepartNoroutingType生成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<PartInformationMappe
List<RoutingComponentVo> routingComponentList = routingManagementMapper.selectRoutingComponentByPartNo(fromPart.getSite(), fromPart.getPartNo());
List<RoutingToolEntity> routingToolList = routingManagementMapper.selectRoutingToolByPartNo(fromPart.getSite(), fromPart.getPartNo());
List<WorkGuidelineEntity> 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());
// 根据sitepartNoroutingType生成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<PartInformationMappe
routingComponent.setSite(toPart.getSite());
routingComponent.setPartNo(toPart.getPartNo());
routingComponent.setCreateBy(inData.getCreateBy());
// 根据sitepartNoroutingType生成key
String revisionKey = toPart.getSite() + "_" + toPart.getPartNo() + "_" + routingComponent.getRoutingType();
Integer currentRevision = routingRevisionMap.get(revisionKey);
if (currentRevision == null) {
currentRevision = 1;
} else {
currentRevision = currentRevision + 1;
}
routingRevisionMap.put(revisionKey, currentRevision);
routingComponent.setRoutingRevision(currentRevision);
routingManagementMapper.saveRoutingComponent(routingComponent);
operationMap.put(oldOperationId, routingComponent.getOperationId());
}
}
// 清空routingRevisionMap为tool表重新计数
routingRevisionMap.clear();
if (!routingToolList.isEmpty()) {
for (RoutingToolEntity routingTool : routingToolList) {
routingTool.setSite(toPart.getSite());
routingTool.setPartNo(toPart.getPartNo());
routingTool.setOperationId(operationMap.get(routingTool.getOperationId()));
routingTool.setCreateBy(inData.getCreateBy());
// 根据sitepartNoroutingType生成key
String revisionKey = toPart.getSite() + "_" + toPart.getPartNo() + "_" + routingTool.getRoutingType();
Integer currentRevision = routingRevisionMap.get(revisionKey);
if (currentRevision == null) {
currentRevision = 1;
} else {
currentRevision = currentRevision + 1;
}
routingRevisionMap.put(revisionKey, currentRevision);
routingTool.setRoutingRevision(currentRevision);
}
routingManagementMapper.saveRoutingTool(routingToolList);
}
// 清空routingRevisionMap为guideline表重新计数
routingRevisionMap.clear();
if (!routingGuidelineList.isEmpty()) {
for (WorkGuidelineEntity workGuideline : routingGuidelineList) {
workGuideline.setSite(toPart.getSite());
workGuideline.setPartNo(toPart.getPartNo());
workGuideline.setOperationId(operationMap.get(workGuideline.getOperationId()));
workGuideline.setCreateBy(inData.getCreateBy());
// 根据sitepartNoroutingType生成key
String revisionKey = toPart.getSite() + "_" + toPart.getPartNo() + "_" + workGuideline.getRoutingType();
Integer currentRevision = routingRevisionMap.get(revisionKey);
if (currentRevision == null) {
currentRevision = 1;
} else {
currentRevision = currentRevision + 1;
}
routingRevisionMap.put(revisionKey, currentRevision);
workGuideline.setRoutingRevision(currentRevision);
}
routingManagementMapper.saveGuideLine(routingGuidelineList);
}

3
src/main/resources/mapper/sampleManagement/TechnicalSpecificationMapper.xml

@ -2089,7 +2089,8 @@
a.resource_no,
a.speed,
a.show_order,
a.operation_no
a.operation_no,
a.remark
from plm_bm_printFlexoColor as a
left join part as p on a.site = p.site and a.inkCode = p.part_no
where a.site = #{site} and a.codeNo = #{codeNo} and a.operation_no = #{operationNo}

Loading…
Cancel
Save