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 @Transactional
public void saveCopyRouting(PartInformationVo inData, PartInformationEntity fromPart, PartInformationEntity toPart, List<RoutingHeaderVo> routingHeaderList) { public void saveCopyRouting(PartInformationVo inData, PartInformationEntity fromPart, PartInformationEntity toPart, List<RoutingHeaderVo> routingHeaderList) {
HashMap<Integer, Integer> operationMap = new HashMap<Integer, Integer>(); // 存放新的operationId 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()) { if (!routingHeaderList.isEmpty()) {
for (RoutingHeaderVo routingHeader : routingHeaderList) { for (RoutingHeaderVo routingHeader : routingHeaderList) {
routingHeader.setSite(toPart.getSite()); routingHeader.setSite(toPart.getSite());
routingHeader.setPartNo(toPart.getPartNo()); routingHeader.setPartNo(toPart.getPartNo());
routingHeader.setCreateBy(inData.getCreateBy()); 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.saveRoutingHeader(routingHeader);
} }
// routingManagementMapper.saveRoutingHeaderList(routingHeaderList); // routingManagementMapper.saveRoutingHeaderList(routingHeaderList);
@ -2273,14 +2287,33 @@ public class PartInformationServiceImpl extends ServiceImpl<PartInformationMappe
List<RoutingComponentVo> routingComponentList = routingManagementMapper.selectRoutingComponentByPartNo(fromPart.getSite(), fromPart.getPartNo()); List<RoutingComponentVo> routingComponentList = routingManagementMapper.selectRoutingComponentByPartNo(fromPart.getSite(), fromPart.getPartNo());
List<RoutingToolEntity> routingToolList = routingManagementMapper.selectRoutingToolByPartNo(fromPart.getSite(), fromPart.getPartNo()); List<RoutingToolEntity> routingToolList = routingManagementMapper.selectRoutingToolByPartNo(fromPart.getSite(), fromPart.getPartNo());
List<WorkGuidelineEntity> routingGuidelineList = routingManagementMapper.selectRoutingGuidelineByPartNo(fromPart.getSite(), fromPart.getPartNo()); List<WorkGuidelineEntity> routingGuidelineList = routingManagementMapper.selectRoutingGuidelineByPartNo(fromPart.getSite(), fromPart.getPartNo());
// 清空routingRevisionMap为detail等表重新计数
routingRevisionMap.clear();
if (!routingDetailList.isEmpty()) { if (!routingDetailList.isEmpty()) {
for (RoutingDetailVo routingDetail : routingDetailList) { for (RoutingDetailVo routingDetail : routingDetailList) {
routingDetail.setSite(toPart.getSite()); routingDetail.setSite(toPart.getSite());
routingDetail.setPartNo(toPart.getPartNo()); routingDetail.setPartNo(toPart.getPartNo());
routingDetail.setCreateBy(inData.getCreateBy()); 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); routingManagementMapper.saveRoutingDetailList(routingDetailList);
} }
// 清空routingRevisionMap为component表重新计数
routingRevisionMap.clear();
if (!routingComponentList.isEmpty()) { if (!routingComponentList.isEmpty()) {
Integer oldOperationId; Integer oldOperationId;
for (RoutingComponentVo routingComponent : routingComponentList) { for (RoutingComponentVo routingComponent : routingComponentList) {
@ -2288,25 +2321,67 @@ public class PartInformationServiceImpl extends ServiceImpl<PartInformationMappe
routingComponent.setSite(toPart.getSite()); routingComponent.setSite(toPart.getSite());
routingComponent.setPartNo(toPart.getPartNo()); routingComponent.setPartNo(toPart.getPartNo());
routingComponent.setCreateBy(inData.getCreateBy()); 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); routingManagementMapper.saveRoutingComponent(routingComponent);
operationMap.put(oldOperationId, routingComponent.getOperationId()); operationMap.put(oldOperationId, routingComponent.getOperationId());
} }
} }
// 清空routingRevisionMap为tool表重新计数
routingRevisionMap.clear();
if (!routingToolList.isEmpty()) { if (!routingToolList.isEmpty()) {
for (RoutingToolEntity routingTool : routingToolList) { for (RoutingToolEntity routingTool : routingToolList) {
routingTool.setSite(toPart.getSite()); routingTool.setSite(toPart.getSite());
routingTool.setPartNo(toPart.getPartNo()); routingTool.setPartNo(toPart.getPartNo());
routingTool.setOperationId(operationMap.get(routingTool.getOperationId())); routingTool.setOperationId(operationMap.get(routingTool.getOperationId()));
routingTool.setCreateBy(inData.getCreateBy()); 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); routingManagementMapper.saveRoutingTool(routingToolList);
} }
// 清空routingRevisionMap为guideline表重新计数
routingRevisionMap.clear();
if (!routingGuidelineList.isEmpty()) { if (!routingGuidelineList.isEmpty()) {
for (WorkGuidelineEntity workGuideline : routingGuidelineList) { for (WorkGuidelineEntity workGuideline : routingGuidelineList) {
workGuideline.setSite(toPart.getSite()); workGuideline.setSite(toPart.getSite());
workGuideline.setPartNo(toPart.getPartNo()); workGuideline.setPartNo(toPart.getPartNo());
workGuideline.setOperationId(operationMap.get(workGuideline.getOperationId())); workGuideline.setOperationId(operationMap.get(workGuideline.getOperationId()));
workGuideline.setCreateBy(inData.getCreateBy()); 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); routingManagementMapper.saveGuideLine(routingGuidelineList);
} }

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

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

Loading…
Cancel
Save