소스 검색

当班明细热送热装堆垛-班次看板实绩修改堆垛查询表逻辑

lingpeng.li 2 달 전
부모
커밋
65d72e6390

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

@@ -592,10 +592,6 @@ public class StorageBillController extends JeecgController<StorageBill, IStorage
 				.distinct()  // 去重,提升查询效率
 				.collect(Collectors.toList());
 
-
-
-//		List<HeatsActuals> actualsList = heatsActualsService.list(heatsQueryWrapper);
-
 		QueryWrapper<RollClubTwoDetails> rollClubTwoDetailsQueryWrapper = new QueryWrapper<>();
 		if (!hostNoList.isEmpty()) {
 			rollClubTwoDetailsQueryWrapper.in("heat_no", hostNoList)
@@ -608,6 +604,7 @@ public class StorageBillController extends JeecgController<StorageBill, IStorage
 			}
 		}
 
+
 		if (queryDTO.getCcmNo() != null) {
 			rollClubTwoDetailsQueryWrapper.eq("ccm_no", queryDTO.getCcmNo());
 		}
@@ -969,14 +966,27 @@ public class StorageBillController extends JeecgController<StorageBill, IStorage
 			// 设置最早的 createTime
 			bill.setUpdateTime(earliestUpdateTime.orElse(null)); // 如果为空,保持 null
 
+			String shiftGroup = "";
+			String shift = "";
+			if(!rollClubTwoDetailsList.isEmpty()){
+				 shiftGroup = rollClubTwoDetailsList.get(0).getShiftGroup();
+				 shift = rollClubTwoDetailsList.get(0).getShift();
+			} else if (!rollClubThreeDetailsList.isEmpty()) {
+				shiftGroup = rollClubThreeDetailsList.get(0).getShiftGroup();
+				shift = rollClubThreeDetailsList.get(0).getShift();
+			}else if (!rollOutShippDetailsList.isEmpty()) {
+				shiftGroup = rollOutShippDetailsList.get(0).getShiftGroup();
+				shift = rollOutShippDetailsList.get(0).getShift();
+			}
+
 
 			bill.setId(heatsActuals.getId());
 			bill.setHeatNo(heatsActuals.getHeatsCode());
 			bill.setCreateBy(heatsActuals.getCreateBy());
 			bill.setUpdateBy(heatsActuals.getUpdateBy());
 			bill.setCcmNo(heatsActuals.getCasterCode());
-			bill.setShift(heatsActuals.getShift());
-			bill.setShiftGroup(heatsActuals.getShiftGroup());
+			bill.setShift(shift);
+			bill.setShiftGroup(shiftGroup);
 			bill.setRemarks(totalBlankOutputStr);
 			bill.setAmountTotal(totalNumsAll);
 			bill.setSteel(steelStr);

+ 95 - 46
zgztBus/jeecg-module-sbm/src/main/java/org/jeecg/modules/billet/storageBill/service/impl/StorageBillServiceImpl.java

@@ -43,6 +43,8 @@ import org.jeecg.modules.billet.rollOutShipp.entity.RollOutShipp;
 import org.jeecg.modules.billet.rollOutShipp.entity.RollOutShippDetails;
 import org.jeecg.modules.billet.rollOutShipp.service.IRollOutShippDetailsService;
 import org.jeecg.modules.billet.rollOutShipp.service.IRollOutShippService;
+import org.jeecg.modules.billet.stackingAndLoadingVehicles.entity.StackingUpLog;
+import org.jeecg.modules.billet.stackingAndLoadingVehicles.service.IStackingUpLogService;
 import org.jeecg.modules.billet.storageBill.entity.*;
 import org.jeecg.modules.billet.storageBill.mapper.StorageBillMapper;
 import org.jeecg.modules.billet.storageBill.service.IStorageBillService;
@@ -132,6 +134,9 @@ public class StorageBillServiceImpl extends ServiceImpl<StorageBillMapper, Stora
     @Autowired
     private IBilletLiftingBillService billetLiftingBillService;
 
+    @Autowired
+    private IStackingUpLogService stackingUpLogService;
+
     @Override
     public void departHandle(BilletHotsendDetailsVo billetHotsendDetailsVo) {
         StorageBill storageBill = billetHotsendDetailsVo.getStorageBill();
@@ -1794,6 +1799,50 @@ public class StorageBillServiceImpl extends ServiceImpl<StorageBillMapper, Stora
         double hotChargeTotalWeight = 0d;
         int stackingSum = 0;
         double stackingTotalWeight = 0d;
+
+        // 根据铸机号、班组、班别、时间范围。查询棒二明细表
+        LambdaQueryWrapper<StackingUpLog> stackingUpLogQueryWrapper = new LambdaQueryWrapper<>();
+        stackingUpLogQueryWrapper.eq(StackingUpLog::getCcmNo, ccmNo)
+                .eq(StackingUpLog::getShift, shift)
+                .eq(StackingUpLog::getShiftGroup, shiftGroup);
+        // 检查 billetHotsendChangeShift 是否为空
+        if (oConvertUtils.isEmpty(changeShiftId)) {
+            // 当 changeShiftId 为空时,时间范围从 createTime 到当前时间
+            stackingUpLogQueryWrapper.between(StackingUpLog::getCreateTime, billetHotsendChangeShift.getCreateTime(), new Date());
+        } else {
+            // 当 changeShiftId 不为空时,时间范围从 createTime 到 updateTime
+            stackingUpLogQueryWrapper.between(StackingUpLog::getCreateTime, billetHotsendChangeShift.getCreateTime(), billetHotsendChangeShift.getChangeShiftTime());
+        }
+
+
+        List<StackingUpLog> stackingUpLogList = stackingUpLogService.list(stackingUpLogQueryWrapper);
+        if (oConvertUtils.listIsNotEmpty(stackingUpLogList)) {
+
+            for (StackingUpLog stackingUpLog : stackingUpLogList) {
+                DetailStatistics detailStatistics = new DetailStatistics();
+                if (oConvertUtils.isNotEmpty(stackingUpLog.getBilletNo())) {
+
+                    List<String> billetNoList = Arrays.asList(stackingUpLog.getBilletNo().split(","));
+                    LambdaQueryWrapper<BilletBasicInfo> basicInfoQueryWrapper = new LambdaQueryWrapper<>();
+                    basicInfoQueryWrapper.in(BilletBasicInfo::getBilletNo, billetNoList);
+                    List<BilletBasicInfo> billetBasicInfos = billetBasicInfoService.list(basicInfoQueryWrapper);
+                    if (oConvertUtils.isNotEmpty(billetBasicInfos)) {
+                        double stackingTotalBlankOutput = billetBasicInfos.stream()
+                                .mapToDouble(BilletBasicInfo::getBilletWeight).sum();
+
+                        stackingTotalWeight = stackingTotalWeight + stackingTotalBlankOutput;
+                        detailStatistics.setBlankOutput(stackingTotalBlankOutput);
+
+                    }
+                    detailStatistics.setAmountTotal(billetNoList.size());
+                }
+                detailStatistics.setSize(stackingUpLog.getSize());
+                stackingDetailStatisticsList.add(detailStatistics);
+            }
+
+            stackingSum = stackingSum + stackingUpLogList.size();
+        }
+
         // 根据铸机号、班组、班别、时间范围。查询棒一明细表
         LambdaQueryWrapper<RollClubOneDetails> queryWrapper1 = new LambdaQueryWrapper<>();
         // 添加通用的查询条件
@@ -1851,25 +1900,25 @@ public class StorageBillServiceImpl extends ServiceImpl<StorageBillMapper, Stora
                     .mapToDouble(RollClubTwoDetails::getBlankOutput).sum();
             hotChargeTotalWeight = hotChargeTotalWeight + hotChargeTotalBlankOutput;
 
-            // 棒二堆垛总支数  获取堆垛编号不为空的条数,即为堆垛
-            int count1 = rollClubTwoDetailsList.stream()
-                    .filter(details -> details.getStackAddr() != null && !details.getStackAddr().isEmpty())
-                    .mapToInt(details -> 4)
-                    .sum();
-            stackingSum = stackingSum + count1;
-            // 棒二堆垛出坯量  获取堆垛编号不为空的条数,即为堆垛
-            double stackingTotalBlankOutput = rollClubTwoDetailsList.stream()
-                    .filter(details -> details.getStackAddr() != null)
-                    .mapToDouble(RollClubTwoDetails::getBlankOutput).sum();
-            stackingTotalWeight = stackingTotalWeight + stackingTotalBlankOutput;
+//            // 棒二堆垛总支数  获取堆垛编号不为空的条数,即为堆垛
+//            int count1 = rollClubTwoDetailsList.stream()
+//                    .filter(details -> details.getStackAddr() != null && !details.getStackAddr().isEmpty())
+//                    .mapToInt(details -> 4)
+//                    .sum();
+//            stackingSum = stackingSum + count1;
+//            // 棒二堆垛出坯量  获取堆垛编号不为空的条数,即为堆垛
+//            double stackingTotalBlankOutput = rollClubTwoDetailsList.stream()
+//                    .filter(details -> details.getStackAddr() != null)
+//                    .mapToDouble(RollClubTwoDetails::getBlankOutput).sum();
+//            stackingTotalWeight = stackingTotalWeight + stackingTotalBlankOutput;
 
             rollClubTwoDetailsList.forEach(x ->{
                 DetailStatistics detailStatistics = new DetailStatistics();
                 if(x.getStackAddr() != null && !x.getStackAddr().isEmpty()){
-                    detailStatistics.setAmountTotal(4);
-                    detailStatistics.setBlankOutput(x.getBlankOutput());
-                    detailStatistics.setSize(x.getSize());
-                    stackingDetailStatisticsList.add(detailStatistics);
+//                    detailStatistics.setAmountTotal(4);
+//                    detailStatistics.setBlankOutput(x.getBlankOutput());
+//                    detailStatistics.setSize(x.getSize());
+//                    stackingDetailStatisticsList.add(detailStatistics);
                 }else {
                     detailStatistics.setAmountTotal(1);
                     detailStatistics.setBlankOutput(x.getBlankOutput());
@@ -1903,25 +1952,25 @@ public class StorageBillServiceImpl extends ServiceImpl<StorageBillMapper, Stora
                     .mapToDouble(RollClubThreeDetails::getBlankOutput).sum();
             hotChargeTotalWeight = hotChargeTotalWeight + hotChargeTotalBlankOutput;
 
-            // 棒三堆垛总支数
-            int count1 = rollClubThreeDetailsList.stream()
-                    .filter(details -> details.getStackAddr() != null && !details.getStackAddr().isEmpty())
-                    .mapToInt(details -> 4)
-                    .sum();
-            stackingSum = stackingSum + count1;
-            // 棒三堆垛出坯量
-            double stackingTotalBlankOutput = rollClubThreeDetailsList.stream()
-                    .filter(details -> details.getStackAddr() != null)
-                    .mapToDouble(RollClubThreeDetails::getBlankOutput).sum();
-            stackingTotalWeight = stackingTotalWeight + stackingTotalBlankOutput;
+//            // 棒三堆垛总支数
+//            int count1 = rollClubThreeDetailsList.stream()
+//                    .filter(details -> details.getStackAddr() != null && !details.getStackAddr().isEmpty())
+//                    .mapToInt(details -> 4)
+//                    .sum();
+//            stackingSum = stackingSum + count1;
+//            // 棒三堆垛出坯量
+//            double stackingTotalBlankOutput = rollClubThreeDetailsList.stream()
+//                    .filter(details -> details.getStackAddr() != null)
+//                    .mapToDouble(RollClubThreeDetails::getBlankOutput).sum();
+//            stackingTotalWeight = stackingTotalWeight + stackingTotalBlankOutput;
 
             rollClubThreeDetailsList.forEach(x ->{
                 DetailStatistics detailStatistics = new DetailStatistics();
                 if(x.getStackAddr() != null && !x.getStackAddr().isEmpty()){
-                    detailStatistics.setAmountTotal(4);
-                    detailStatistics.setBlankOutput(x.getBlankOutput());
-                    detailStatistics.setSize(x.getSize());
-                    stackingDetailStatisticsList.add(detailStatistics);
+//                    detailStatistics.setAmountTotal(4);
+//                    detailStatistics.setBlankOutput(x.getBlankOutput());
+//                    detailStatistics.setSize(x.getSize());
+//                    stackingDetailStatisticsList.add(detailStatistics);
                 }else {
                     detailStatistics.setAmountTotal(1);
                     detailStatistics.setBlankOutput(x.getBlankOutput());
@@ -1990,26 +2039,26 @@ public class StorageBillServiceImpl extends ServiceImpl<StorageBillMapper, Stora
                     .filter(details -> details.getStackAddr() == null)
                     .mapToDouble(RollOutShippDetails::getBlankOutput).sum();
             hotChargeTotalWeight = hotChargeTotalWeight + hotChargeShippTotalWeight;
-            // 上若堆垛总支数
-            int count1 = rollOutShippDetailsList.stream()
-                    .filter(details -> details.getStackAddr() != null && !details.getStackAddr().isEmpty())
-                    .mapToInt(details -> 4)
-                    .sum();
-
-            stackingSum = stackingSum + count1;
-            // 上若堆垛出坯量
-            double stackingShippTotalWeight = rollOutShippDetailsList.stream()
-                    .filter(details -> details.getStackAddr() != null)
-                    .mapToDouble(RollOutShippDetails::getBlankOutput).sum();
-            stackingTotalWeight = stackingTotalWeight + stackingShippTotalWeight;
+//            // 上若堆垛总支数
+//            int count1 = rollOutShippDetailsList.stream()
+//                    .filter(details -> details.getStackAddr() != null && !details.getStackAddr().isEmpty())
+//                    .mapToInt(details -> 4)
+//                    .sum();
+//
+//            stackingSum = stackingSum + count1;
+//            // 上若堆垛出坯量
+//            double stackingShippTotalWeight = rollOutShippDetailsList.stream()
+//                    .filter(details -> details.getStackAddr() != null)
+//                    .mapToDouble(RollOutShippDetails::getBlankOutput).sum();
+//            stackingTotalWeight = stackingTotalWeight + stackingShippTotalWeight;
 
             rollOutShippDetailsList.forEach(x ->{
                 DetailStatistics detailStatistics = new DetailStatistics();
                 if(x.getStackAddr() != null && !x.getStackAddr().isEmpty()){
-                    detailStatistics.setAmountTotal(4);
-                    detailStatistics.setBlankOutput(x.getBlankOutput());
-                    detailStatistics.setSize(x.getSize());
-                    stackingDetailStatisticsList.add(detailStatistics);
+//                    detailStatistics.setAmountTotal(4);
+//                    detailStatistics.setBlankOutput(x.getBlankOutput());
+//                    detailStatistics.setSize(x.getSize());
+//                    stackingDetailStatisticsList.add(detailStatistics);
                 }else {
                     detailStatistics.setAmountTotal(1);
                     detailStatistics.setBlankOutput(x.getBlankOutput());