From 9e93b4e701cd7ed5a97257b39168a1990c9d6761 Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期五, 19 七月 2024 13:40:43 +0800
Subject: [PATCH] 大理片笼fixbug:修复破损后格子宽度重置

---
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java        |   14 ++++++++------
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java |   32 +++++++++++++++++++++++++++++---
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java                                   |    4 ++--
 3 files changed, 39 insertions(+), 11 deletions(-)

diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java
index a808cc0..96b7fbb 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java
@@ -17,6 +17,8 @@
 import com.mes.bigstoragetask.mapper.BigStorageCageFeedTaskMapper;
 import com.mes.bigstoragetask.mapper.BigStorageCageOutTaskMapper;
 import com.mes.common.config.Const;
+import com.mes.damage.entity.Damage;
+import com.mes.damage.service.DamageService;
 import com.mes.glassinfo.entity.GlassInfo;
 import com.mes.glassinfo.mapper.GlassInfoMapper;
 import com.mes.temperingglass.entity.TemperingGlassInfo;
@@ -53,6 +55,9 @@
     private BigStorageCageService bigStorageCageService;
     @Resource
     private GlassInfoMapper glassInfoMapper;
+
+    @Resource
+    private DamageService damageService;
 
     @Value("${mes.minCount}")
     private int minCount;
@@ -204,7 +209,12 @@
         baseMapper.updateById(bigStorageCageDetails);
         bigStorageCageService.updateRemainWidth(bigStorageCageDetails.getSlot());
         //todo:鎻掑叆鐮存崯鏁版嵁
-
+        Damage damage = new Damage();
+        damage.setGlassId(bigStorageCageDetails.getGlassId());
+        damage.setWorkingProcedure("鍐峰姞宸�");
+        damage.setRemark("澶х悊鐗囩鐮存崯");
+        damage.setStatus(2);
+        damageService.insertDamage(damage);
     }
 
     //鏌ヨ鐜荤拑淇℃伅
@@ -260,7 +270,7 @@
                 .leftJoin(BigStorageCageDetails.class, BigStorageCageDetails::getSlot, BigStorageCage::getSlot)
                 .eq(BigStorageCage::getEnableState, Const.SLOT_ON)
                 .eq(BigStorageCageDetails::getTemperingLayoutId, glassInfo.getTemperingLayoutId())
-                .gt(BigStorageCage::getRemainWidth, glassInfo.getWidth())
+                .gt(BigStorageCage::getRemainWidth, Math.max(glassInfo.getWidth(), glassInfo.getHeight()))
                 .last("limit 1");
         if (glassInfo.getTemperingLayoutId() == 0) {
             wrapper.eq(BigStorageCageDetails::getWidth, glassInfo.getWidth()).eq(BigStorageCageDetails::getHeight, glassInfo.getHeight());
@@ -288,7 +298,23 @@
             bigStorageDTO.setDeviceId(bigStorageCage.getDeviceId());
             return bigStorageDTO;
         }
-        //todo:鑾峰彇鐜荤拑鐨勫帤搴︼細閲嶆柊閫夌瀛愰渶瑕佹寜鐓х瀛愬彲鏀剧幓鐠冨帤搴﹁繘琛岄�夋嫨
+
+        //鑾峰彇鐜荤拑鐨勫帤搴︼細閲嶆柊閫夌瀛愰渶瑕佹寜鐓х瀛愬彲鏀剧幓鐠冨帤搴﹁繘琛岄�夋嫨
+        bigStorageCage = bigStorageCageService.getOne(new LambdaQueryWrapper<BigStorageCage>()
+                .eq(BigStorageCage::getRemainWidth, slotWidth)
+                .eq(BigStorageCage::getEnableState, Const.SLOT_ON)
+                .notInSql(BigStorageCage::getDeviceId,
+                        "select distinct device_id from big_storage_cage_details where tempering_layout_id = " + glassInfo.getTemperingLayoutId())
+                .gt(BigStorageCage::getMaxThickness, glassInfo.getThickness())
+                .orderByAsc(BigStorageCage::getDeviceId)
+                .last("limit 1"));
+        if (null != bigStorageCage) {
+            bigStorageDTO = new BigStorageDTO();
+            bigStorageDTO.setWidth(bigStorageCage.getRemainWidth());
+            bigStorageDTO.setSlot(bigStorageCage.getSlot());
+            bigStorageDTO.setDeviceId(bigStorageCage.getDeviceId());
+            return bigStorageDTO;
+        }
         bigStorageCage = bigStorageCageService.getOne(new LambdaQueryWrapper<BigStorageCage>()
                 .eq(BigStorageCage::getRemainWidth, slotWidth)
                 .eq(BigStorageCage::getEnableState, Const.SLOT_ON)
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java
index baa9974..8ffd798 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java
@@ -18,6 +18,7 @@
 import com.mes.temperingglass.service.TemperingGlassInfoService;
 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;
@@ -48,6 +49,9 @@
 
     @Resource
     private GlassInfoService glassInfoService;
+
+    @Value("${mes.glassGap}")
+    private Integer glassGap;
 
     //杩涚墖閫昏緫
     @Override
@@ -217,15 +221,13 @@
         LambdaQueryWrapper<BigStorageCageDetails> bigStorageCageDetailsWrapper = new LambdaQueryWrapper();
         bigStorageCageDetailsWrapper
                 .eq(BigStorageCageDetails::getSlot, slot)
-                .eq(BigStorageCageDetails::getState, Const.GLASS_STATE_IN)
-                .eq(BigStorageCageDetails::getState, Const.GLASS_STATE_ARTIFICIAL);
+                .in(BigStorageCageDetails::getState, Const.GLASS_STATE_IN, Const.GLASS_STATE_ARTIFICIAL);
 
         List<BigStorageCageDetails> bigStorageCageDetailsList = bigStorageCageDetailsMapper.selectList(bigStorageCageDetailsWrapper);
         for (BigStorageCageDetails bigStorageCageDetails : bigStorageCageDetailsList
         ) {
             double widths = bigStorageCageDetails.getWidth();
-            double gap = bigStorageCageDetails.getGap();
-            width -= widths + gap;
+            width = width - widths - glassGap;
         }
         //淇敼鏍煎瓙鍓╀綑瀹藉害
         BigStorageCage bigStorageCage = new BigStorageCage();
@@ -242,8 +244,8 @@
         wrapper.selectAll(BigStorageCage.class).selectCollection(BigStorageCageDetails.class, BigStorageCage::getBigStorageCageDetails)
                 .leftJoin(BigStorageCageDetails.class, on -> on.eq(BigStorageCageDetails::getSlot, BigStorageCage::getSlot)
                         .in(BigStorageCageDetails::getState, Const.GLASS_STATE_IN, Const.GLASS_STATE_ARTIFICIAL))
-                        .orderByAsc(BigStorageCage::getDeviceId)
-                        .orderByAsc(BigStorageCage::getSlot);
+                .orderByAsc(BigStorageCage::getDeviceId)
+                .orderByAsc(BigStorageCage::getSlot);
         return bigStorageCageMapper.selectJoinList(BigStorageCage.class, wrapper);
     }
 
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java
index df7df49..5824fcf 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java
@@ -528,7 +528,7 @@
             //2銆佽幏鍙栫洰鏍囨牸瀛愪俊鎭�
             BigStorageDTO bigStorageDTO = bigStorageCageDetailsService.queryTargetSlotByTempering(info);
             //3銆佹洿鏂板ぇ鐞嗙墖绗艰〃鍓╀綑瀹藉害
-            bigStorageCageService.update(new LambdaUpdateWrapper<BigStorageCage>().set(BigStorageCage::getRemainWidth, bigStorageDTO.getWidth() - info.getWidth())
+            bigStorageCageService.update(new LambdaUpdateWrapper<BigStorageCage>().set(BigStorageCage::getRemainWidth, bigStorageDTO.getWidth() - info.getWidth() - glassGap)
                     .eq(BigStorageCage::getSlot, bigStorageDTO.getSlot()));
             //4銆佹洿鏂拌繘鐗囦换鍔¤〃锛岀洰鏍囨牸瀛愬強鐘舵�侊紙鐘舵�佹敼涓�2 鐢垫皵鎵埌鑷澶勭悊锛�  閬囧埌闂锛氭棤娉曟壒閲忔洿鏂帮紝鎵归噺鏇存柊鏃犳硶璧版寚瀹氫粠搴�
             e.setTargetSlot(bigStorageDTO.getSlot());
@@ -631,7 +631,7 @@
         }
         //鑾峰彇鐜荤拑淇℃伅
         GlassInfo glassInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>().eq(GlassInfo::getGlassId, glassId));
-        return sitToUpRemainWidth.getWidth() < glassInfo.getWidth();
+        return sitToUpRemainWidth.getWidth() < Math.max(glassInfo.getWidth(), glassInfo.getHeight());
     }
 
 }
\ No newline at end of file

--
Gitblit v1.8.0