From 0ea37bbf8ac1e1dc3be1ecb1f04a507d65af8aca Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期二, 30 七月 2024 10:09:36 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/HangZhouMes

---
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java |   34 +++++++++++++++++++---------------
 1 files changed, 19 insertions(+), 15 deletions(-)

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 a89abea..94d89f3 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
@@ -244,7 +244,7 @@
         log.info("澶х悊鐗囩绌鸿溅杩涚墖浠诲姟缁撴潫鏃堕棿锛歿}锛屽叡鑰楁椂锛歿}ms,缁撴潫鎵爜浠诲姟", endDate, endDate.getTime() - startDate.getTime());
     }
 
-    @Scheduled(fixedDelay = 5000)
+    @Scheduled(fixedDelay = 2000)
     public void plcToHomeEdgOutTask() {
         Date startDate = new Date();
         log.info("澶х悊鐗囩绌鸿溅杩涚墖浠诲姟寮�濮嬫墽琛屾椂闂达細{}", startDate);
@@ -313,6 +313,7 @@
         //鎵ц鍐呴儴璋冨害浠诲姟
         List<TemperingLayoutDTO> temperingOccupySlotList = bigStorageCageDetailsService.queryTemperingOccupySlot();
         if (CollectionUtils.isNotEmpty(temperingOccupySlotList)) {
+            loop:
             for (TemperingLayoutDTO temperingOccupySlot : temperingOccupySlotList) {
                 List<SlotSequenceDTO> slotSequenceList = bigStorageCageDetailsService.queryGlassMaxAndMin(temperingOccupySlot.getEngineerId(), temperingOccupySlot.getTemperingLayoutId());
                 for (int i = 0; i < slotSequenceList.size() - 1; i++) {
@@ -336,8 +337,11 @@
                             //鏇存柊鐞嗙墖绗艰鎯呰〃璋冨害鐨勫悗鐨勭幓鐠冧綅缃俊鎭細鐢熸垚浠诲姟鍚庡厛灏嗙幓鐠冩牸瀛愪綅缃繘琛岃皟鏁达紝鐜荤拑鐘舵�佹敼涓鸿皟搴︿腑锛屾柊澧炶皟搴﹀畬鎴愪换鍔★紝澶勭悊璋冨害瀹屾垚鍚庣幓鐠冪姸鎬佹敼涓�100.
                             List<String> glassList = list.stream().map(BigStorageCageDetails::getGlassId).collect(Collectors.toList());
                             bigStorageCageDetailsService.update(new LambdaUpdateWrapper<BigStorageCageDetails>().set(BigStorageCageDetails::getState, Const.GLASS_STATE_SCHEDULE_ING)
-                                    .set(BigStorageCageBaseInfo::getSlot, second.getSlot()).eq(BigStorageCageDetails::getGlassId, glassList));
-                            break;
+                                    .set(BigStorageCageBaseInfo::getSlot, second.getSlot()).in(BigStorageCageDetails::getGlassId, glassList));
+                            //涓ゆ鏇存柊绗煎瓙鐨勫墿浣欏昂瀵革細绗竴娆¢槻姝㈡湁鐜荤拑缁х画杩涜皟搴﹀悗鐨勭瀛愶紝绗簩娆℃洿鏂帮細璁$畻鏍煎瓙鐨勫疄闄呭昂瀵�
+                            // 浠呮洿鏂拌皟搴﹀悗鐨勬牸瀛愪俊鎭細璧峰鏍煎瓙瀹屾垚鍚庢洿鏂帮細闃叉璋冨害鍑虹墖杩囩▼涓湁鏂扮幓鐠冭繘鍏ワ紝
+                            updateSlotRemainBySlots(Arrays.asList(second.getSlot()));
+                            break loop;
                         }
                     }
                 }
@@ -477,8 +481,8 @@
             log.info("鑾峰彇杩涚墖浠诲姟琛ㄤ腑鐮存崯鐨勭幓鐠冧俊鎭瘂}", inDamageTaskInfoList);
             bigStorageCageFeedTaskService.remove(new LambdaQueryWrapper<BigStorageCageFeedTask>().eq(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_DAMAGE));
             //鐞嗙墖绗艰鎯呰〃鏁版嵁鐘舵�佹洿鏂�
-            bigStorageCageDetailsService.update(new LambdaUpdateWrapper<BigStorageCageDetails>()
-                    .set(BigStorageCageDetails::getState, Const.GLASS_STATE_DAMAGE).in(BigStorageCageDetails::getGlassId, inDamageTaskInfoList.stream().map(BigStorageCageFeedTask::getGlassId).collect(Collectors.toList())));
+            bigStorageCageDetailsService.remove(new LambdaQueryWrapper<BigStorageCageDetails>()
+                    .eq(BigStorageCageDetails::getState, Const.GLASS_STATE_NEW).in(BigStorageCageDetails::getGlassId, inDamageTaskInfoList.stream().map(BigStorageCageFeedTask::getGlassId).collect(Collectors.toList())));
             //灏嗙牬鎹熶俊鎭柊澧炲叆鐮存崯琛�
             for (BigStorageCageFeedTask bigStorageCageFeedTask : inDamageTaskInfoList) {
                 Damage damage = new Damage();
@@ -499,11 +503,9 @@
             bigStorageCageOutTaskService.remove(new LambdaQueryWrapper<BigStorageCageOutTask>().eq(BigStorageCageOutTask::getTaskState, Const.BIG_STORAGE_IN_DAMAGE));
             List<String> glassIdList = outDamageTaskInfoList.stream().map(BigStorageCageOutTask::getGlassId).collect(Collectors.toList());
             //绉婚櫎閽㈠寲涓嬬墖琛ㄦ暟鎹�
-            temperingGlassInfoService.update(new LambdaUpdateWrapper<TemperingGlassInfo>().in(TemperingGlassInfo::getGlassId, glassIdList)
-                    .set(TemperingGlassInfo::getState, Const.TEMPERING_DAMAGE));
-            //鐞嗙墖绗艰鎯呰〃鏁版嵁鐘舵�佹洿鏂�
-            bigStorageCageDetailsService.update(new LambdaUpdateWrapper<BigStorageCageDetails>()
-                    .set(BigStorageCageDetails::getState, Const.GLASS_STATE_DAMAGE).in(BigStorageCageDetails::getGlassId, glassIdList));
+            temperingGlassInfoService.remove(new LambdaQueryWrapper<TemperingGlassInfo>().in(TemperingGlassInfo::getGlassId, glassIdList));
+            //鐞嗙墖绗艰鎯呰〃鏁版嵁鐘舵�佸垹闄�
+            bigStorageCageDetailsService.remove(new LambdaQueryWrapper<BigStorageCageDetails>().in(BigStorageCageDetails::getGlassId, glassIdList));
 
             //灏嗙牬鎹熶俊鎭柊澧炲叆鐮存崯琛�
             for (BigStorageCageOutTask bigStorageCageOutTask : outDamageTaskInfoList) {
@@ -662,9 +664,9 @@
             BeanUtils.copyProperties(info, cageDetails);
             //2銆佽幏鍙栫洰鏍囨牸瀛愪俊鎭�
             BigStorageDTO bigStorageDTO = bigStorageCageDetailsService.queryTargetSlotByTempering(info);
-            //3銆佹洿鏂板ぇ鐞嗙墖绗艰〃鍓╀綑瀹藉害锛堟洿鏂板ぇ鐞嗙墖绗煎墿浣欏昂瀵哥Щ鍒拌繘绗煎畬鎴愬悗鎵ц锛�
-//            bigStorageCageService.update(new LambdaUpdateWrapper<BigStorageCage>().set(BigStorageCage::getRemainWidth, bigStorageDTO.getWidth() - info.getWidth() - glassGap)
-//                    .eq(BigStorageCage::getSlot, bigStorageDTO.getSlot()));
+            //3銆佷复鏃舵洿鏂版牸瀛愮殑鍓╀綑灏哄锛氶槻姝㈢浉閭荤幓鐠冭繘鍚屼竴鏍煎瓙閫犳垚鍓╀綑灏哄涓嶈冻锛岀幓鐠冭秺鐣岀殑鎯呭喌锛屼换鍔″畬鎴愬悗鍐嶆鏇存柊澶х悊鐗囩琛ㄥ墿浣欏搴︼紙鎸夌収绗煎唴鐜荤拑鏁伴噺鏇存柊澶х悊鐗囩鍓╀綑灏哄锛�
+            bigStorageCageService.update(new LambdaUpdateWrapper<BigStorageCage>().set(BigStorageCage::getRemainWidth, bigStorageDTO.getWidth() - Math.max(info.getWidth(), info.getHeight()) - glassGap)
+                    .eq(BigStorageCage::getSlot, bigStorageDTO.getSlot()));
             //4銆佹洿鏂拌繘鐗囦换鍔¤〃锛岀洰鏍囨牸瀛愬強鐘舵�侊紙鐘舵�佹敼涓�2 鐢垫皵鎵埌鑷澶勭悊锛�  閬囧埌闂锛氭棤娉曟壒閲忔洿鏂帮紝鎵归噺鏇存柊鏃犳硶璧版寚瀹氫粠搴�
             e.setTargetSlot(bigStorageDTO.getSlot());
             bigStorageCageFeedTaskService.updateById(e);
@@ -675,6 +677,7 @@
             cageDetails.setDeviceId(bigStorageDTO.getDeviceId());
             cageDetails.setGap(glassGap);
             bigStorageCageDetailsService.save(cageDetails);
+
         }
         sendTaskListToPLC(taskList, line);
         return Boolean.TRUE;
@@ -764,9 +767,10 @@
         if (CollectionUtils.isNotEmpty(inSlotGlassList)) {
             //瀛樺湪  灏嗘牸瀛愬唴鐨勭幓鐠冨垎鍒繘琛屾洿鏂�
             slotRemainMap = inSlotGlassList.stream()
-                    .collect(Collectors.groupingBy(BigStorageCageDetails::getSlot, Collectors.summingDouble(item -> item.getWidth() + glassGap)));
+                    .collect(Collectors.groupingBy(BigStorageCageDetails::getSlot, Collectors.summingDouble(item -> Math.max(item.getWidth(), item.getHeight()) + glassGap)));
             slotRemainMap.forEach((e, v) -> {
-                bigStorageCageService.update(new LambdaUpdateWrapper<BigStorageCage>().set(BigStorageCage::getRemainWidth, slotWidth - v)
+                double remainWidth = slotWidth - v >= 0 ? slotWidth - v : 0;
+                bigStorageCageService.update(new LambdaUpdateWrapper<BigStorageCage>().set(BigStorageCage::getRemainWidth, remainWidth)
                         .eq(BigStorageCage::getSlot, e));
             });
         }

--
Gitblit v1.8.0