From f487e6b8ea07c1f1f73d9d9c48ff91152c0d31f8 Mon Sep 17 00:00:00 2001 From: sunhao <479527147@qq.com> Date: Tue, 18 Feb 2025 20:46:36 +0800 Subject: [PATCH] 2025-02-17 --- .../shopmanager/controller/SubController.java | 25 +++++++++++++------ .../shopmanager/model/GGrpCalRslt.java | 3 +++ 2 files changed, 21 insertions(+), 7 deletions(-) diff --git a/1024shop-manager/1024shop-manager/src/main/java/net/xdclass/shopmanager/controller/SubController.java b/1024shop-manager/1024shop-manager/src/main/java/net/xdclass/shopmanager/controller/SubController.java index 7625f5e..d771392 100644 --- a/1024shop-manager/1024shop-manager/src/main/java/net/xdclass/shopmanager/controller/SubController.java +++ b/1024shop-manager/1024shop-manager/src/main/java/net/xdclass/shopmanager/controller/SubController.java @@ -295,13 +295,14 @@ public class SubController { } if (gltSelGGrpCalRslt.size() > 0) { now = new Date(); - //数据整理 - SetSaveDate(p); + //开启事务 TransactionStatus transactionStatus = transactionService.begin(); try { //存储数据,组板结果 SaveHisData(p); + //数据整理 + SetSaveDate(p); //保存数据 SaveData(); //bOffTaskLineService.saveOffTask(bPlanHeadAndLineVos); @@ -332,10 +333,14 @@ public class SubController { plistpmSubHisDO.forEach(e -> { String strMaxSeq = subService.GetMaxSeq(SInfo.getPono()); - //TODO:未获取轧制命令最大序号 - int intSeq = Integer.parseInt(strMaxSeq.substring(strMaxSeq.length() - 3)); - String virtualSlabNo = generateVirtualSlabNoSave(e.getVirtualSlabNo(), intSeq); + int intSeq = 0; + + if (strMaxSeq.length() >= 4 && strMaxSeq.charAt(strMaxSeq.length() - 4) == '9') { + intSeq = Integer.parseInt(strMaxSeq.substring(strMaxSeq.length() - 3)); + } + + String virtualSlabNo = generateVirtualSlabNoSave(SInfo.getPono(), intSeq); String strGuid = e.getRelKey(); @@ -350,6 +355,12 @@ public class SubController { m.setVirtualSlabNo(virtualSlabNo); subService.InsertPmSubOrdDO(m); }); + gltSelGGrpCalRslt.stream() + .filter(f -> !f.getRelKey().equals(strGuid)) + .collect(Collectors.toList()).forEach(m -> { + m.setVirtualSlabNo(virtualSlabNo); + + }); }); @@ -662,7 +673,7 @@ public class SubController { //实例化订单列表 gltOrder = new ArrayList<>(); //实例化订单分组 - gltGrpOrderFir = new ArrayList<>(); + gltGrpOrderFir = new CopyOnWriteArrayList<>(); //订单数据处理 SetOrderLackData(); @@ -1859,7 +1870,7 @@ public class SubController { maxWeightMaxYieldRate.get().setSlabNo(SInfo.getSlabNo()); maxWeightMaxYieldRate.get().setVirtualSlabNo(virtualSlabNo); - + maxWeightMaxYieldRate.get().setRelKey(virtualSlabNo); // 手动为每个字段赋值 pmSubHisDO.setSlabThick(maxRate.getVirtualSlab_Thk()); // 厚度 diff --git a/1024shop-manager/1024shop-manager/src/main/java/net/xdclass/shopmanager/model/GGrpCalRslt.java b/1024shop-manager/1024shop-manager/src/main/java/net/xdclass/shopmanager/model/GGrpCalRslt.java index 6869183..073d288 100644 --- a/1024shop-manager/1024shop-manager/src/main/java/net/xdclass/shopmanager/model/GGrpCalRslt.java +++ b/1024shop-manager/1024shop-manager/src/main/java/net/xdclass/shopmanager/model/GGrpCalRslt.java @@ -16,6 +16,9 @@ public class GGrpCalRslt { //虚拟号 private String VirtualSlabNo; + // 关系主键 + private String relKey; + //虚拟板坯长度 private int VirtualSlab_Len;