Browse Source

热装、起垛、高线添加校验,输出日志

qiangxuan 1 month ago
parent
commit
270f02b7dd

+ 30 - 0
zgzt-sys-java/jeecg-module-conn/src/main/java/org/jeecg/modules/billetActual/service/impl/BilletHotsendBaseServiceImpl.java

@@ -229,6 +229,21 @@ public class BilletHotsendBaseServiceImpl extends ServiceImpl<BilletHotsendBaseM
 				billetLiftingBillUpdate.setAssemblyNumber(getAssemblyNumber(billetBasicInfoLists));
 				billetLiftingBillService.updateById(billetLiftingBillUpdate);
 			}
+
+			// 20250623 添加组批校验,防止出现异常组批导致,装运信息混乱
+			// 验证列表长度是否为4
+			if (billetBasicInfoLists.size() != 4) {
+				log.error("自动化<高线>异常:查询结果数量为{},不等于4:", JSON.toJSON(billetBasicInfoLists));
+				return;
+			}
+
+			// 验证所有记录的assemblyNumber是否一致
+			String firstAssemblyNumber = billetBasicInfoLists.get(0).getAssemblyNumber();
+			boolean allSameAssemblyNumber = billetBasicInfoLists.stream().allMatch(b -> b.getAssemblyNumber().equals(firstAssemblyNumber));
+			if (!allSameAssemblyNumber) {
+				log.error("{}{}", "自动化<高线>异常:4条钢坯信息的assemblyNumber不一致:", JSON.toJSON(billetBasicInfoLists));
+				return;
+			}
 		}
 
 		// 根据铸机号和炉号,查询棒一明细表,获取RollClubOneDetails中startNum的最大值
@@ -454,6 +469,21 @@ public class BilletHotsendBaseServiceImpl extends ServiceImpl<BilletHotsendBaseM
 			billetHotsendDetailsVo.setBelongTypeName(billetHotsendTypeConfig.getTypeName());
 			billetHotsendDetailsVo.setBilletHotsendTypeConfigId(billetHotsendTypeConfig.getId());
 		}
+		// 20250623 添加组批校验,防止出现异常组批导致,装运信息混乱
+		// 验证列表长度是否为4
+		if (billetBasicInfoLists.size() != 4) {
+			log.error("自动化热装异常:查询结果数量为{},不等于4:", JSON.toJSON(billetBasicInfoLists));
+//			return;
+		}
+
+		// 验证所有记录的assemblyNumber是否一致
+		String firstAssemblyNumber = billetBasicInfoLists.get(0).getAssemblyNumber();
+		boolean allSameAssemblyNumber = billetBasicInfoLists.stream().allMatch(b -> b.getAssemblyNumber().equals(firstAssemblyNumber));
+		if (!allSameAssemblyNumber) {
+			log.error("{}{}", "自动化热装异常:4条钢坯信息的assemblyNumber不一致:", JSON.toJSON(billetBasicInfoLists));
+//			return;
+		}
+
 		List<RollClubCommon> rollClubCommonLists= new ArrayList<>();
 		AtomicInteger startNum = new AtomicInteger(0);
 		String finalCcmNo = ccmNo;

+ 16 - 0
zgzt-sys-java/jeecg-module-conn/src/main/java/org/jeecg/modules/stackingAndLoadingVehicles/service/impl/StackingAndLoadingVehiclesServiceImpl.java

@@ -259,6 +259,22 @@ public class StackingAndLoadingVehiclesServiceImpl extends ServiceImpl<StackingA
             billetLiftingBillService.updateById(billetLiftingBillUpdate);
         }
 
+        // 20250623 添加组批校验,防止出现异常组批导致,装运信息混乱
+        // 验证列表长度是否为4
+        if (billetBasicInfoLists.size() != 4) {
+            log.error("自动化<起垛>异常:查询结果数量为{},不等于4:", JSON.toJSON(billetBasicInfoLists));
+//            return;
+        }
+
+        // 验证所有记录的assemblyNumber是否一致
+        String firstAssemblyNumber = billetBasicInfoLists.get(0).getAssemblyNumber();
+        boolean allSameAssemblyNumber = billetBasicInfoLists.stream().allMatch(b -> b.getAssemblyNumber().equals(firstAssemblyNumber));
+        if (!allSameAssemblyNumber) {
+            log.error("{}{}", "自动化<起垛>异常:4条钢坯信息的assemblyNumber不一致:", JSON.toJSON(billetBasicInfoLists));
+//            return;
+        }
+
+
         // 堆垛保存处理 公共方法
         handleAddStackInfo(billetHotsend, stackingAndLoadingVehiclesList, loadingParams, billetHotsendTypeConfig);