Эх сурвалжийг харах

原始记录、送样卡添加炉号不限制炉次传递单是否存在

lingpeng.li 1 өдөр өмнө
parent
commit
0e7a4fcdc1

+ 9 - 13
zgztBus/jeecg-module-sbm/src/main/java/org/jeecg/modules/billet/billetOriginalProductRecord/controller/BilletOriginalProductRecordController.java

@@ -203,14 +203,18 @@ public class BilletOriginalProductRecordController extends JeecgController<Bille
 				.eq(BilletHotsend::getShiftGroup, finalShiftGroup)
 				.eq(BilletHotsend::getCcmNo, billetOriginalProductRecord.getCcmNo());
 		BilletHotsend billetHotsendInfos = billetHotsendBaseService.getOne(hotsendQuery, false);
+		boolean needCreateHotsend = false;
+
 		if (billetHotsendInfos != null) {
 			Integer deleteStatus = billetHotsendInfos.getDeleteStatus();
-			if (deleteStatus != null && deleteStatus == 1) { // 先检查是否为null
-				billetHotsendInfos.setDeleteStatus(null);
+			if (deleteStatus != null && deleteStatus == 1) {
+				// 恢复逻辑删除
+				billetHotsendInfos.setDeleteStatus(0);
 				billetHotsendBaseService.updateById(billetHotsendInfos);
-			} else {
-				return Result.error("当前炉号已存在于当前班次(炉次传递单)");
 			}
+		} else {
+			// 炉次传递单不存在,标记需要创建
+			needCreateHotsend = true;
 		}
 
 		// 2. 检查 billetOriginalProductRecord 中是否存在相同炉号+班次+班组的记录
@@ -265,15 +269,7 @@ public class BilletOriginalProductRecordController extends JeecgController<Bille
 			}
 		}
 
-		// 通过铸机号、炉号、班组、班别 查询钢坯炉次传递单
-		LambdaQueryWrapper<BilletHotsend> lambdaQueryWrapper = new LambdaQueryWrapper<>();
-		lambdaQueryWrapper.eq(BilletHotsend::getHeatNo, billetOriginalProductRecord.getHeatNo())
-				.eq(BilletHotsend::getShiftGroup, finalShiftGroup)
-				.eq(BilletHotsend::getShift, finalShift)
-				.eq(BilletHotsend::getCcmNo, billetOriginalProductRecord.getCcmNo()).last("limit 1");
-		BilletHotsend billetHotsendInfo = billetHotsendBaseService.getOne(lambdaQueryWrapper);
-
-		if(billetHotsendInfo == null){
+		if(needCreateHotsend){
 			// 同步新增炉次传递单
 			BilletHotsend billetHotsend = new BilletHotsend();
 			billetHotsend.setId(String.valueOf(IdWorker.getId()));

+ 2 - 11
zgztBus/jeecg-module-sbm/src/main/java/org/jeecg/modules/billet/sampleCardDeliveryRecord/controller/SampleCardDeliveryRecordController.java

@@ -124,24 +124,15 @@ public class SampleCardDeliveryRecordController extends JeecgController<SampleCa
 
         // ====================== 新增:炉号班次唯一性验证 ======================
         String currentHeatNo = sampleCardDeliveryRecord.getHeatNo();
-        // 1. 检查 BilletHotsend 中是否存在相同炉号+班次+班组的记录
-        LambdaQueryWrapper<BilletHotsend> hotsendQuery = new LambdaQueryWrapper<>();
-        hotsendQuery.eq(BilletHotsend::getHeatNo, currentHeatNo)
-                .eq(BilletHotsend::getShift, finalShift)
-                .eq(BilletHotsend::getShiftGroup, finalShiftGroup)
-                .eq(BilletHotsend::getCcmNo, sampleCardDeliveryRecord.getCcmNo());
-        if (billetHotsendService.count(hotsendQuery) > 0) {
-            return Result.error("当前炉号已存在于当前班次(炉次传递单)");
-        }
 
-        // 2. 检查 billetOriginalProductRecord 中是否存在相同炉号+班次+班组的记录
+        // 检查 SampleCardDeliveryRecord 中是否存在相同炉号+班次+班组的记录
         LambdaQueryWrapper<SampleCardDeliveryRecord> originalQuery = new LambdaQueryWrapper<>();
         originalQuery.eq(SampleCardDeliveryRecord::getHeatNo, currentHeatNo)
                 .eq(SampleCardDeliveryRecord::getShift, finalShift)
                 .eq(SampleCardDeliveryRecord::getShiftGroup, finalShiftGroup)
                 .eq(SampleCardDeliveryRecord::getCcmNo, sampleCardDeliveryRecord.getCcmNo());
         if (sampleCardDeliveryRecordService.count(originalQuery) > 0) {
-            return Result.error("当前炉号已存在于当前班次(原始记录)");
+            return Result.error("当前炉号已存在于当前班次(送样卡)");
         }
 
         // 计算目标创建时间