From 62aac62534d688a1b0753d10fca06dbebfadc23a Mon Sep 17 00:00:00 2001
From: wu <731351411@qq.com>
Date: 星期二, 28 十月 2025 09:45:24 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/YiWuProject

---
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageGlassInfoServiceImpl.java |   79 +++++++++++++++++++++------------------
 1 files changed, 42 insertions(+), 37 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 49f7e9d..51e5208 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"));
@@ -98,15 +102,10 @@
                 .eq(BigStorageGlassRelationInfo::getTemperingLayoutId, relationInfoOne.getTemperingLayoutId())
                 .eq(BigStorageGlassRelationInfo::getVirtualSlot, relationInfoOne.getVirtualSlot())
                 .eq(BigStorageGlassRelationInfo::getSlotSequence, relationInfoOne.getSlotSequence() - 1));
-        BigStorageCage storageCage = null;
+        BigStorageDTO storageCageDTO = null;
         if (null == relationInfoBefore) {
             //琛ㄧず搴忓彿娌℃湁鎴栬��  搴忓彿涓�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"));
+            storageCageDTO = bigStorageCageDetailsService.queryTargetSlot(engineerId, bigStorageCageDetails.getGlassId(), (int) bigStorageCageDetails.getThickness());
         } else {
             BigStorageCageDetails beforeGlass = bigStorageCageDetailsService.getOne(new LambdaQueryWrapper<BigStorageCageDetails>()
                     .in(BigStorageCageDetails::getState, Const.GLASS_STATE_IN_ALL_ZERO)
@@ -115,23 +114,18 @@
                     .eq(BigStorageCageDetails::getTemperingFeedSequence, relationInfoBefore.getTemperingFeedSequence())
             );
             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"));
+                storageCageDTO = bigStorageCageDetailsService.queryTargetSlot(engineerId, bigStorageCageDetails.getGlassId(), (int) bigStorageCageDetails.getThickness());
             } else {
-                storageCage = bigStorageCageService.getOne(new LambdaQueryWrapper<BigStorageCage>()
+                BigStorageCage bigStorageCage = bigStorageCageService.getOne(new LambdaQueryWrapper<BigStorageCage>()
                         .eq(BigStorageCage::getEnableState, Const.SLOT_ON).eq(BigStorageCage::getSlot, beforeGlass.getSlot()));
+                Assert.isTrue(null != bigStorageCage, "娌℃湁绌轰綑鐨勭瀛愬瓨鏀剧幓鐠�");
+                storageCageDTO = new BigStorageDTO();
+                storageCageDTO.setWidth(bigStorageCage.getRemainWidth());
+                storageCageDTO.setSlot(bigStorageCage.getSlot());
+                storageCageDTO.setDeviceId(bigStorageCage.getDeviceId());
             }
         }
-        Assert.isTrue(null != storageCage, "娌℃湁绌轰綑鐨勭瀛愬瓨鏀剧幓鐠�");
-        BigStorageDTO storageDTO = new BigStorageDTO();
-        storageDTO.setDeviceId(storageCage.getDeviceId());
-        storageDTO.setSlotSequence(relationInfoOne.getSlotSequence());
-        storageDTO.setSlot(storageCage.getSlot());
-        storageDTO.setWidth(storageCage.getRemainWidth());
-        return storageDTO;
+        return storageCageDTO;
     }
 
     @Override
@@ -141,12 +135,13 @@
         if (CollectionUtil.isNotEmpty(list)) {
             return;
         }
-//        Engineering engineering = engineeringMapper.selectOne(new LambdaQueryWrapper<Engineering>()
-//                .eq(Engineering::getEngineerId, glassInfo.getEngineerId()));
+        Integer slotWidth = sysConfigService.queryConfigValue(ConstSysConfig.VERTICAL_SLOT_WIDTH);
+        Integer outCarMaxSize = sysConfigService.queryConfigValue(ConstSysConfig.VERTICAL_OUT_CAR_SIZE);
         //鑾峰彇鐜荤拑鐨勫伐绋媔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<>();
         //鏂瑰紡涓�锛氬皢鐜荤拑鎸夌増鍥俱�佺増搴� 渚濇鐢熸垚铏氭嫙鏍煎瓙淇℃伅锛屾牸瀛愪竴鐩村線鍚庣疮鍔�
@@ -179,13 +174,10 @@
     @Override
     public int bigStorageSlotPair(BigStorageGlassInfo bigStorageGlassInfo) {
         //鑾峰彇鎵�鏈夌┖闂插彲鐢ㄧ殑鏍煎瓙鍙�
-        BigStorageCage storageCage = bigStorageCageService.getOne(new LambdaQueryWrapper<BigStorageCage>()
-                .eq(BigStorageCage::getEnableState, Const.SLOT_ON).eq(BigStorageCage::getRemainWidth, slotWidth)
-                .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();
+        BigStorageDTO bigStorageDTO = bigStorageCageDetailsService.queryTargetSlot(bigStorageGlassInfo.getEngineerId(),
+                bigStorageGlassInfo.getGlassId(), bigStorageGlassInfo.getThickness().intValue());
+        Assert.isTrue(null != bigStorageDTO, "娌℃湁绌轰綑鐨勭瀛愬瓨鏀剧幓鐠�");
+        Integer slot = bigStorageDTO.getSlot();
         //鑾峰彇璇ュ伐绋嬪悓涓�娴佺▼鍗″悓涓�杞︾殑鐜荤拑淇℃伅
         List<BigStorageGlassInfo> bigStorageGlassInfoList = this.list(new LambdaQueryWrapper<BigStorageGlassInfo>()
                 .eq(BigStorageGlassInfo::getEngineerId, bigStorageGlassInfo.getEngineerId())
@@ -196,7 +188,7 @@
             BigStorageGlassRelationInfo info = new BigStorageGlassRelationInfo();
             BeanUtils.copyProperties(e, info);
             info.setSlot(slot);
-            info.setDeviceId(storageCage.getDeviceId());
+            info.setDeviceId(bigStorageDTO.getDeviceId());
             return info;
         }).collect(Collectors.toList());
         //淇濆瓨鍏崇郴琛�
@@ -206,5 +198,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