From 4e3b8155722b66e25df3c6fd42cc586b68dea391 Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期五, 06 六月 2025 13:55:39 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageGlassInfoServiceImpl.java |   41 +++++++++++++++++++++++++++++++++--------
 1 files changed, 33 insertions(+), 8 deletions(-)

diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageGlassInfoServiceImpl.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageGlassInfoServiceImpl.java
index de1176e..e24376a 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageGlassInfoServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageGlassInfoServiceImpl.java
@@ -15,11 +15,12 @@
 import com.mes.bigstorage.service.BigStorageGlassInfoService;
 import com.mes.bigstorage.service.BigStorageGlassRelationInfoService;
 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.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;
@@ -45,12 +46,14 @@
     BigStorageCageDetailsService bigStorageCageDetailsService;
     @Resource
     BigStorageGlassRelationInfoService bigStorageGlassRelationInfoService;
-    @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 BigStorageDTO queryBigStorageTargetSlot(String engineerId, Integer temperingLayoutId, Integer temperingFeedSequence) {
@@ -82,6 +85,7 @@
                     .eq(BigStorageGlassRelationInfo::getTemperingLayoutId, temperingLayoutId)
                     .eq(BigStorageGlassRelationInfo::getTemperingFeedSequence, temperingFeedSequence));
         }
+        Integer slotWidth = sysConfigService.queryConfigValue(ConstSysConfig.VERTICAL_SLOT_WIDTH);
         BigStorageCageDetails bigStorageCageDetails = bigStorageCageDetailsService.getOne(new LambdaQueryWrapper<BigStorageCageDetails>()
                 .eq(BigStorageCageDetails::getSlot, relationInfoOne.getSlot()).in(BigStorageCageDetails::getState, Const.GLASS_STATE_IN_ALL_ZERO)
                 .orderByDesc(BigStorageCageDetails::getSequence).last("limit 1"));
@@ -103,6 +107,7 @@
             //琛ㄧず搴忓彿娌℃湁鎴栬��  搴忓彿涓�1鍙堜笉鏄涓�鍧楁潵鐨� 鏂板紑涓�鏍�
             storageCage = bigStorageCageService.getOne(new LambdaQueryWrapper<BigStorageCage>()
                     .eq(BigStorageCage::getEnableState, Const.SLOT_ON).eq(BigStorageCage::getRemainWidth, slotWidth)
+                    .le(BigStorageCage::getMinThickness, bigStorageCageDetails.getThickness())
                     .ge(BigStorageCage::getMaxThickness, bigStorageCageDetails.getThickness())
                     .orderByAsc(BigStorageCage::getMaxThickness)
                     .orderByAsc(BigStorageCage::getSlot).last("limit 1"));
@@ -116,6 +121,7 @@
             if (null == beforeGlass) {
                 storageCage = bigStorageCageService.getOne(new LambdaQueryWrapper<BigStorageCage>()
                         .eq(BigStorageCage::getEnableState, Const.SLOT_ON).eq(BigStorageCage::getRemainWidth, slotWidth)
+                        .le(BigStorageCage::getMinThickness, bigStorageCageDetails.getThickness())
                         .ge(BigStorageCage::getMaxThickness, bigStorageCageDetails.getThickness())
                         .orderByAsc(BigStorageCage::getMaxThickness).orderByAsc(BigStorageCage::getSlot).last("limit 1"));
             } else {
@@ -139,12 +145,16 @@
         if (CollectionUtil.isNotEmpty(list)) {
             return;
         }
+        Integer slotWidth = sysConfigService.queryConfigValue(ConstSysConfig.VERTICAL_SLOT_WIDTH);
+//        Integer glassGap = sysConfigService.queryConfigValue(ConstSysConfig.VERTICAL_GLASS_GAP);
+        Integer outCarMaxSize = sysConfigService.queryConfigValue(ConstSysConfig.VERTICAL_OUT_CAR_SIZE);
 //        Engineering engineering = engineeringMapper.selectOne(new LambdaQueryWrapper<Engineering>()
 //                .eq(Engineering::getEngineerId, glassInfo.getEngineerId()));
         //鑾峰彇鐜荤拑鐨勫伐绋媔d锛屾寜鐓у伐绋媔d鑾峰彇宸ョ▼涓嬬殑鎵�鏈夌幓鐠冧俊鎭�
         List<GlassInfo> glassInfoList = glassInfoService.list(new LambdaQueryWrapper<GlassInfo>()
                 .eq(GlassInfo::getEngineerId, engineerId)
                 .orderByAsc(GlassInfo::getTemperingLayoutId).orderByAsc(GlassInfo::getTemperingFeedSequence));
+        Integer glassGap = getGlassGapByThickness(glassInfoList.get(0).getThickness());
         Map<Integer, List<GlassInfo>> trmperingIdMap = glassInfoList.stream().collect(Collectors.groupingBy(GlassInfo::getTemperingLayoutId));
         List<BigStorageGlassInfo> bigStorageGlassInfoList = new ArrayList<>();
         //鏂瑰紡涓�锛氬皢鐜荤拑鎸夌増鍥俱�佺増搴� 渚濇鐢熸垚铏氭嫙鏍煎瓙淇℃伅锛屾牸瀛愪竴鐩村線鍚庣疮鍔�
@@ -177,9 +187,11 @@
     @Override
     public int bigStorageSlotPair(BigStorageGlassInfo bigStorageGlassInfo) {
         //鑾峰彇鎵�鏈夌┖闂插彲鐢ㄧ殑鏍煎瓙鍙�
+        Integer slotWidth = sysConfigService.queryConfigValue(ConstSysConfig.VERTICAL_SLOT_WIDTH);
         BigStorageCage storageCage = bigStorageCageService.getOne(new LambdaQueryWrapper<BigStorageCage>()
                 .eq(BigStorageCage::getEnableState, Const.SLOT_ON).eq(BigStorageCage::getRemainWidth, slotWidth)
-                .ge(BigStorageCage::getMaxThickness,bigStorageGlassInfo.getThickness())
+                .le(BigStorageCage::getMinThickness, bigStorageGlassInfo.getThickness())
+                .ge(BigStorageCage::getMaxThickness, bigStorageGlassInfo.getThickness())
                 .orderByAsc(BigStorageCage::getMaxThickness).orderByAsc(BigStorageCage::getSlot).last("limit 1"));
         Assert.isTrue(null != storageCage, "娌℃湁绌轰綑鐨勭瀛愬瓨鏀剧幓鐠�");
         Integer slot = storageCage.getSlot();
@@ -203,5 +215,18 @@
     }
 
 
+    private Integer getGlassGapByThickness(Double thickness) {
+        int sysKey = 0;
+        if (thickness >= 12 ) {
+            sysKey = ConstSysConfig.VERTICAL_GLASS_GAP_12;
+        } else if (thickness == 8) {
+            sysKey = ConstSysConfig.VERTICAL_GLASS_GAP_8;
+        } else if (thickness == 10) {
+            sysKey = ConstSysConfig.VERTICAL_GLASS_GAP_10;
+        } else {
+            sysKey = ConstSysConfig.VERTICAL_GLASS_GAP;
+        }
+        return sysConfigService.queryConfigValue(sysKey);
+    }
 }
 

--
Gitblit v1.8.0