From e021ca7fe59647b483a8762f509cc708841cc9cf Mon Sep 17 00:00:00 2001
From: wangfei <3597712270@qq.com>
Date: 星期二, 22 四月 2025 15:25:58 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10105/r/YiWuProject

---
 hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/impl/HollowGlassRelationInfoServiceImpl.java |   73 ++++++++++++++++++++----------------
 1 files changed, 40 insertions(+), 33 deletions(-)

diff --git a/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/impl/HollowGlassRelationInfoServiceImpl.java b/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/impl/HollowGlassRelationInfoServiceImpl.java
index 283a128..5b12e1a 100644
--- a/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/impl/HollowGlassRelationInfoServiceImpl.java
+++ b/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/impl/HollowGlassRelationInfoServiceImpl.java
@@ -6,6 +6,7 @@
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.mes.common.config.Const;
+import com.mes.common.config.ConstSysConfig;
 import com.mes.glassinfo.entity.GlassInfo;
 import com.mes.glassinfo.service.GlassInfoService;
 import com.mes.hollow.entity.HollowBigStorageCage;
@@ -16,19 +17,23 @@
 import com.mes.hollow.entity.dto.HollowBigStorageDTO;
 import com.mes.hollow.entity.dto.HollowGlassDetailsDTO;
 import com.mes.hollow.entity.dto.LackDetailsDTO;
+import com.mes.hollow.entity.vo.HollowAllFlowCardVO;
 import com.mes.hollow.entity.vo.HollowBigStorageDetailsQueryVO;
 import com.mes.hollow.mapper.HollowGlassRelationInfoMapper;
 import com.mes.hollow.service.HollowBigStorageCageDetailsService;
 import com.mes.hollow.service.HollowBigStorageCageService;
 import com.mes.hollow.service.HollowGlassOutRelationInfoService;
 import com.mes.hollow.service.HollowGlassRelationInfoService;
+import com.mes.sysconfig.service.SysConfigService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.BeanUtils;
-import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Comparator;
+import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 
 /**
@@ -51,13 +56,15 @@
     HollowGlassOutRelationInfoService hollowGlassOutRelationInfoService;
     @Resource
     HollowBigStorageCageDetailsService hollowBigStorageCageDetailsService;
-    @Value("${mes.slotWidth}")
-    private Integer slotWidth;
-    @Value("${mes.glassGap}")
-    private Integer glassGap;
-
-    @Value("${mes.outCarMaxSize}")
-    private Integer outCarMaxSize;
+    @Resource
+    SysConfigService sysConfigService;
+//    @Value("${mes.slotWidth}")
+//    private Integer slotWidth;
+//    @Value("${mes.glassGap}")
+//    private Integer glassGap;
+//
+//    @Value("${mes.outCarMaxSize}")
+//    private Integer outCarMaxSize;
 
     @Override
     public HollowBigStorageDTO queryHollowTargetSlot(String flowCardId, double width, double height, int totalLayer, int layer) {
@@ -96,6 +103,7 @@
                     .last("limit 1")
             );
         }
+        Integer slotWidth = sysConfigService.queryConfigValue(ConstSysConfig.HOLLOW_SLOT_WIDTH);
         //璇︽儏琛ㄥ唴鑾峰彇鏈粍鏄惁宸茬粡鏈夌幓鐠冨湪绗煎瓙鍐咃紙0琛ㄧず鎻愬墠鍗犵敤锛�
         int taskCount = hollowGlassOutRelationInfoService.count(new LambdaQueryWrapper<HollowGlassOutRelationInfo>()
                 .eq(HollowGlassOutRelationInfo::getFlowCardId, flowCardId));
@@ -240,6 +248,10 @@
 //        List<HollowBigStorageCage> hollowSlotList = HollowBigStorageCageService.list(new LambdaQueryWrapper<HollowBigStorageCage>()
 //                .eq(HollowBigStorageCage::getEnableState, Const.SLOT_ON).eq(HollowBigStorageCage::getRemainWidth, slotWidth));
         //鏂瑰紡浜岋細灏嗙幓鐠冩寜娴佺▼鍗°�佸昂瀵搞�佺増鍥俱�佺増搴� 锛屼紭鍏堝皢鏍煎瓙鍏ㄩ儴琛ュ叏鍚� 渚濇璁$畻鍚庨潰鐨勬牸瀛愬彿
+
+        Integer slotWidth = sysConfigService.queryConfigValue(ConstSysConfig.HOLLOW_SLOT_WIDTH);
+        Integer glassGap = sysConfigService.queryConfigValue(ConstSysConfig.HOLLOW_GLASS_GAP);
+        Integer outCarMaxSize = sysConfigService.queryConfigValue(ConstSysConfig.HOLLOW_OUT_CAR_SIZE);
         List<HollowGlassRelationInfo> relationInfoList = new ArrayList();
         List<List<HollowGlassRelationInfo>> tempHollowList = new ArrayList<>();
         int slotNumber = 1;
@@ -286,7 +298,7 @@
     }
 
     @Override
-    public Map<String, List<FlowCardGlassInfoDTO>> queryHollowAllFlowCard(HollowBigStorageDetailsQueryVO query) {
+    public List<HollowAllFlowCardVO> queryHollowAllFlowCard(HollowBigStorageDetailsQueryVO query) {
         List<HollowBigStorageCageDetails> detailsList = hollowBigStorageCageDetailsService.list(new LambdaQueryWrapper<HollowBigStorageCageDetails>()
                 .eq(HollowBigStorageCageDetails::getState, Const.GLASS_STATE_IN)
                 .like(StringUtils.isNotBlank(query.getFilmsId()), HollowBigStorageCageDetails::getFilmsId, query.getFilmsId())
@@ -296,33 +308,28 @@
         );
         if (CollectionUtil.isEmpty(detailsList)) {
             log.info("绗煎唴鏃犵幓鐠�");
-            return new HashMap<>();
+            return new ArrayList<>();
         }
         Map<String, List<HollowBigStorageCageDetails>> listMap = detailsList.stream().collect(Collectors.groupingBy(HollowBigStorageCageDetails::getFlowCardId));
-        List<FlowCardGlassInfoDTO> dtos = new ArrayList<>();
+        List<HollowAllFlowCardVO> resultList = new ArrayList<>();
         listMap.forEach((e, v) -> {
+            HollowAllFlowCardVO hollowAllFlowCardVO = new HollowAllFlowCardVO();
             HollowBigStorageCageDetails cageDetails = v.get(0);
-            dtos.addAll(hollowBigStorageCageDetailsService.hollowIsAll(e, cageDetails.getTotalLayer(), Boolean.FALSE));
+            hollowAllFlowCardVO.setFlowCardId(e);
+            if (cageDetails.getHollowSequence() == 0) {
+                hollowAllFlowCardVO.setIsThroughSlot(Boolean.TRUE);
+            } else {
+                hollowAllFlowCardVO.setIsThroughSlot(Boolean.FALSE);
+            }
+            //鎸夌収娴佺▼鍗¤幏鍙栧搴旂殑浜у搧鍚嶇О
+            String productName = baseMapper.queryProductNameByFlowCardId(cageDetails.getFlowCardId());
+            hollowAllFlowCardVO.setProductName(productName);
+            List<FlowCardGlassInfoDTO> flowCardInfoList = hollowBigStorageCageDetailsService.hollowIsAll(e, cageDetails.getTotalLayer(), Boolean.FALSE);
+            hollowAllFlowCardVO.setFlowCardGlassInfoDTOList(flowCardInfoList);
+            resultList.add(hollowAllFlowCardVO);
         });
-        Map<String, FlowCardGlassInfoDTO> result = dtos.stream()
-                .collect(Collectors.toMap(
-                        FlowCardGlassInfoDTO::getFlowCardId,
-                        dto -> {
-                            FlowCardGlassInfoDTO newDto = new FlowCardGlassInfoDTO();
-                            newDto.setFlowCardId(dto.getFlowCardId());
-                            newDto.setSumCount(dto.getSumCount());
-                            newDto.setPairCount(dto.getPairCount());
-                            newDto.setRealCount(dto.getRealCount());
-                            newDto.setLayer(dto.getLayer());
-                            return newDto;
-                        },
-                        (dto1, dto2) -> {
-                            dto1.setRealCount(dto1.getRealCount() + dto2.getRealCount()); // 绱姞 realCount
-                            dto1.setLayer(Math.max(dto1.getLayer(),dto2.getLayer())); // 绱姞 鏈�澶у眰鏁�
-                            return dto1; // 杩斿洖鍚堝苟鍚庣殑瀵硅薄
-                        }
-                ));
-        return dtos.stream().collect(Collectors.groupingBy(FlowCardGlassInfoDTO::getFlowCardId));
+        return resultList;
+//        return dtos.stream().collect(Collectors.groupingBy(e -> e.getFlowCardId() + ":" + e.getProductName()));
     }
 
     @Override
@@ -359,7 +366,7 @@
                         },
                         (dto1, dto2) -> {
                             dto1.setRealCount(dto1.getRealCount() + dto2.getRealCount()); // 绱姞 realCount
-                            dto1.setLayer(Math.max(dto1.getLayer(),dto2.getLayer())); // 绱姞 鏈�澶у眰鏁�
+                            dto1.setLayer(Math.max(dto1.getLayer(), dto2.getLayer())); // 绱姞 鏈�澶у眰鏁�
                             dto1.setSlotCount(dto1.getSlotCount() + dto2.getSlotCount());
                             return dto1; // 杩斿洖鍚堝苟鍚庣殑瀵硅薄
                         }

--
Gitblit v1.8.0