From 3633e4fac369d00b8da0c2fd4f867df097fa083a Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期四, 02 一月 2025 14:13:19 +0800
Subject: [PATCH] 添加取消出片任务

---
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java |   30 ++++++++++++++++++++++++++----
 1 files changed, 26 insertions(+), 4 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 2200bae..cfc0df5 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
@@ -289,7 +289,7 @@
                 .eq(BigStorageCageDetails::getEngineerId, glassInfo.getEngineerId())
                 .eq(BigStorageCageDetails::getTemperingLayoutId, glassInfo.getTemperingLayoutId())
                 .gt(BigStorageCage::getRemainWidth, Math.max(glassInfo.getWidth(), glassInfo.getHeight()))
-                .lt(BigStorageCage::getSlotHeight, Math.min(glassInfo.getWidth(), glassInfo.getHeight()))
+                .gt(BigStorageCage::getSlotHeight, Math.min(glassInfo.getWidth(), glassInfo.getHeight()))
                 .in(BigStorageCageDetails::getGlassId, glassIds)
                 .last("limit 1");
         if (glassInfo.getTemperingLayoutId() == 0) {
@@ -326,8 +326,8 @@
         }
 
         //鑾峰彇鐜荤拑鐨勫帤搴︼細閲嶆柊閫夌瀛愰渶瑕佹寜鐓х瀛愬彲鏀剧幓鐠冨帤搴﹁繘琛岄�夋嫨 鍥犱负瀛愭煡璇㈡帓搴忓涓籹ql鏃犲奖鍝嶏紝鎵�浠ュ厛鎵ц瀛愭煡璇㈣幏鍙栭『搴忥紝鐒跺悗涓�娆″幓鏌ヨ
-        List<Integer> deviceUsedList = bigStorageCageService.queryFreeDeviceByUsed(glassInfo.getThickness(),Math.min(glassInfo.getWidth(),glassInfo.getHeight()));
-        List<Integer> deviceUseds = bigStorageCageService.queryFreeDeviceByUsed(glassInfo.getThickness(),Math.min(glassInfo.getWidth(),glassInfo.getHeight()));
+        List<Integer> deviceUsedList = bigStorageCageService.queryFreeDeviceByUsed(glassInfo.getThickness(), Math.min(glassInfo.getWidth(), glassInfo.getHeight()));
+        List<Integer> deviceUseds = bigStorageCageService.queryFreeDeviceByUsed(glassInfo.getThickness(), Math.min(glassInfo.getWidth(), glassInfo.getHeight()));
         List<BigStorageCageDetails> engineerCount1 = baseMapper.selectList(
                 new LambdaQueryWrapper<BigStorageCageDetails>()
                         .notIn(BigStorageCageDetails::getState, Const.GLASS_STATE_OUT, Const.GLASS_STATE_DAMAGE, Const.GLASS_STATE_TAKE)
@@ -528,7 +528,29 @@
         }
         long startSlotCount = bigStorageCageOutTasks.stream().map(BigStorageCageOutTask::getStartSlot).distinct().count();
         long endSlotCount = bigStorageCageOutTasks.stream().map(BigStorageCageOutTask::getEndSlot).distinct().count();
-        long time = (startSlotCount * 20 + endSlotCount * 20) / 60;
+        long time = (startSlotCount * 30 + endSlotCount * 20) / 60;
         return time;
     }
+
+    @Override
+    public void cancelOutTask() {
+        List<BigStorageCageOutTask> bigStorageCageOutTasks = bigStorageCageOutTaskService.list(
+                new LambdaQueryWrapper<BigStorageCageOutTask>()
+                        .in(BigStorageCageOutTask::getEndSlot, Const.OUT_TARGET_POSITION_ALL)
+                        .eq(BigStorageCageOutTask::getTaskState, Const.BIG_STORAGE_OUT_NEW)
+        );
+        List<String> outGlassId = bigStorageCageOutTasks.stream().map(BigStorageCageOutTask::getGlassId).collect(Collectors.toList());
+        temperingGlassInfoService.remove(
+                new LambdaUpdateWrapper<TemperingGlassInfo>()
+                        .in(TemperingGlassInfo::getGlassId, outGlassId)
+        );
+        bigStorageCageDetailsService.update(
+                new LambdaUpdateWrapper<BigStorageCageDetails>()
+                        .set(BigStorageCageDetails::getState, Const.GLASS_STATE_IN)
+                        .eq(BigStorageCageDetails::getState, Const.GLASS_STATE_OUT_ING)
+                        .in(BigStorageCageDetails::getGlassId, outGlassId)
+        );
+        bigStorageCageOutTaskService.deleteTask(bigStorageCageOutTasks);
+
+    }
 }

--
Gitblit v1.8.0