Selaa lähdekoodia

指定炉补录组批号默认添加

qiangxuan 1 viikko sitten
vanhempi
sitoutus
17dc0c9b6a

+ 26 - 1
zgztBus/jeecg-module-sbm/src/main/java/org/jeecg/modules/actualControl/billetActual/billetActual/service/impl/BilletBasicInfoServiceImpl.java

@@ -523,6 +523,7 @@ public class BilletBasicInfoServiceImpl extends ServiceImpl<BilletBasicInfoMappe
             // 炉次实绩出坯量维护
             if (oConvertUtils.isNotEmpty(heatsActuals)) {
                 heatsActuals.setId(heatsActuals.getId());
+                    heatsActuals.setBilletSum(heatsActuals.getBilletSum() + 1);
                 heatsActuals.setBlankOutput(heatsActuals.getBlankOutput() + weight);
                 heatsActualsMapper.updateById(heatsActuals);
             }
@@ -566,13 +567,37 @@ public class BilletBasicInfoServiceImpl extends ServiceImpl<BilletBasicInfoMappe
             if (oConvertUtils.listIsNotEmpty(resultList) && resultList.size() >= 4) {
                 int size = resultList.size();
                 int maxProcessed = (size / 4) * 4; // 计算可处理的最大4的倍数
+                List<BilletBasicInfo> remainingBillets = new ArrayList<>(); // 存储剩余的坯子
                 for (int i = 0; i < maxProcessed; i += 4) {
                     int start = i;
                     int end = Math.min(i + 4, maxProcessed);
-
                     // 处理当前分组数据
                     updateBilletBasicInfoAsendAssemblyHandle(resultList.subList(start, end), billetBasicInfoAdd);
                 }
+                // 提取剩余不足4个的坯子, 并更新组批号到数据库中
+                if (size > maxProcessed) {
+                    remainingBillets = billetBasicInfoList.subList(maxProcessed, size);
+                    // 处理当前分组数据
+                    updateBilletBasicInfoAsendAssemblyHandle(remainingBillets, billetBasicInfoAdd);
+                }
+            }
+        }else{
+            if (oConvertUtils.listIsNotEmpty(billetBasicInfoList) && billetBasicInfoList.size() >= 4) {
+                int size = billetBasicInfoList.size();
+                int maxProcessed = (size / 4) * 4; // 计算可处理的最大4的倍数
+                List<BilletBasicInfo> remainingBillets = new ArrayList<>(); // 存储剩余的坯子
+                for (int i = 0; i < maxProcessed; i += 4) {
+                    int start = i;
+                    int end = Math.min(i + 4, maxProcessed);
+                    // 处理当前分组数据
+                    updateBilletBasicInfoAsendAssemblyHandle(billetBasicInfoList.subList(start, end), billetBasicInfoAdd);
+                }
+                // 提取剩余不足4个的坯子, 并更新组批号到数据库中
+                if (size > maxProcessed) {
+                    remainingBillets = billetBasicInfoList.subList(maxProcessed, size);
+                    // 处理当前分组数据
+                    updateBilletBasicInfoAsendAssemblyHandle(remainingBillets, billetBasicInfoAdd);
+                }
             }
         }
     }