浏览代码

Merge branch 'master' into 0626-推钢室查询接口开发

qiangxuan 4 周之前
父节点
当前提交
48c2f928e7

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

@@ -396,10 +396,19 @@ public class BilletOriginalProductRecordController extends JeecgController<Bille
 				 return Result.OK(Collections.emptyList());
 			 }
 		 }
+
+		 Date startTime = billetHotsendChangeShift.getCreateTime();
+		 Date endTime = billetHotsendChangeShift.getChangeShiftTime() != null
+				 ? billetHotsendChangeShift.getChangeShiftTime()
+				 : new Date();
+
 		 QueryWrapper<BilletOriginalProductRecord> queryWrapperB = new QueryWrapper<>();
 		 queryWrapperB.eq("ccm_no", queryDTO.getCcmNo())
 				 .eq("shift", billetHotsendChangeShift.getShift())
-				 .eq("shift_group", billetHotsendChangeShift.getShiftGroup());
+				 .eq("shift_group", billetHotsendChangeShift.getShiftGroup())
+				 .ge("create_time", startTime)   // createTime >= 班次开始时间
+				 .le("create_time", endTime)     // createTime <= 班次交接时间(或当前时间)
+				 .orderByAsc("create_time");
 
 		 List<BilletOriginalProductRecord> records = billetOriginalProductRecordService.list(queryWrapperB);
 

+ 53 - 0
zgztBus/jeecg-module-sbm/src/main/java/org/jeecg/modules/billet/rollClubOne/service/impl/RollClubOneServiceImpl.java

@@ -244,6 +244,59 @@ public class RollClubOneServiceImpl extends ServiceImpl<RollClubOneMapper, RollC
     @Override
     public List<RollClubOneVO> rollClubOneList(RollClubOneQueryDTO queryDTO) {
         LambdaQueryWrapper<BilletOriginalProductRecord> oneQueryWrapper = new LambdaQueryWrapper<>();
+
+        Date finalStartTime = null;
+        Date finalEndTime = null;
+
+        // === 1. 从交班记录中获取时间段(如果 changeShiftId 存在) ===
+        Date shiftStart = null;
+        Date shiftEnd = null;
+        if (oConvertUtils.isNotEmpty(queryDTO.getChangeShiftId())) {
+            LambdaQueryWrapper<BilletHotsendChangeShift> shiftWrapper = new LambdaQueryWrapper<>();
+            shiftWrapper.eq(BilletHotsendChangeShift::getId, queryDTO.getChangeShiftId());
+            BilletHotsendChangeShift shift = billetHotsendChangeShiftService.getOne(shiftWrapper);
+
+            if (shift != null) {
+                shiftStart = shift.getCreateTime();
+                shiftEnd = shift.getChangeShiftTime() != null ? shift.getChangeShiftTime() : new Date();
+            } else {
+                log.warn("未查询到交班记录,changeShiftId={}", queryDTO.getChangeShiftId());
+                return Collections.emptyList();
+            }
+        }
+
+        // === 2. 获取前端传入的时间段 ===
+        Date paramStart = queryDTO.getStorageTimeBegin();
+        Date paramEnd = queryDTO.getStorageTimeEnd();
+
+        // === 3. 决定最终查询时间段 ===
+        if (shiftStart != null && shiftEnd != null && paramStart != null && paramEnd != null) {
+            // 两者都传,取交集
+            finalStartTime = paramStart.after(shiftStart) ? paramStart : shiftStart;
+            finalEndTime = paramEnd.before(shiftEnd) ? paramEnd : shiftEnd;
+            if (finalStartTime.after(finalEndTime)) {
+                log.warn("时间区间无交集:finalStartTime={}, finalEndTime={}", finalStartTime, finalEndTime);
+                return Collections.emptyList();
+            }
+        } else if (paramStart != null || paramEnd != null) {
+            // 仅传前端参数
+            finalStartTime = paramStart;
+            finalEndTime = paramEnd;
+        } else if (shiftStart != null && shiftEnd != null) {
+            // 仅传交班记录
+            finalStartTime = shiftStart;
+            finalEndTime = shiftEnd;
+        } // else 不设置时间过滤(慎用)
+
+        // === 构造查询条件 ===
+        if (finalStartTime != null) {
+            oneQueryWrapper.ge(BilletOriginalProductRecord::getCreateTime, finalStartTime);
+        }
+        if (finalEndTime != null) {
+            oneQueryWrapper.le(BilletOriginalProductRecord::getCreateTime, finalEndTime);
+        }
+
+
         if (StringUtils.isNotBlank(queryDTO.getCcmNo())) {
             oneQueryWrapper.eq(BilletOriginalProductRecord::getCcmNo, queryDTO.getCcmNo());
         }

+ 6 - 0
zgztBus/jeecg-module-sbm/src/main/java/org/jeecg/modules/billet/storageBill/controller/StorageBillController.java

@@ -582,6 +582,12 @@ public class StorageBillController extends JeecgController<StorageBill, IStorage
 	@Transactional(rollbackFor = Exception.class)
 	public Result<String> edit(@RequestBody StorageBill storageBill) {
 		StorageBill old = storageBillService.getById(storageBill.getId());
+		// 新增判断逻辑:除车位号为 2 外,禁止修改 ccmNo
+		if (storageBill.getPositionNum() != null
+				&& storageBill.getPositionNum() != 2
+				&& !Objects.equals(storageBill.getCcmNo(), old.getCcmNo())) {
+			return Result.error("当前车位号不是 2,不能修改铸机号!");
+		}
 		int originalAmountTotal = old.getAmountTotal();
 		if("1024".equals(old.getTypeConfigId()) && oConvertUtils.isNotEmpty(storageBill.getDestination())){
 			try {