From 819a65d0127b6c64429255738fb46b3d280d3116 Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期三, 29 十月 2025 17:43:33 +0800
Subject: [PATCH] 1、 中空理片笼任务优化:新增笼子避免出片调度 2、解决无法生成lisec文件异常

---
 hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageHollowTask.java |   32 ++++++++++++++++++--------------
 1 files changed, 18 insertions(+), 14 deletions(-)

diff --git a/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageHollowTask.java b/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageHollowTask.java
index 2365b5b..6232302 100644
--- a/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageHollowTask.java
+++ b/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageHollowTask.java
@@ -515,11 +515,17 @@
                         .eq(HollowBigStorageCageDetails::getSlot, THROUGH_SLOT)
                         .in(HollowBigStorageCageDetails::getState, Const.GLASS_STATE_IN_ALL).last("limit 1"));
                 log.info("涓┖澶х悊鐗囩洿閫氬彴鐜荤拑淇℃伅{}", details);
-                if (details != null && details.getGlassId().equals(unFinishHollowQueueList.get(0).getGlassId())) {
-                    unFinishHollowQueueList.get(0).setSlot(THROUGH_SLOT);
-                    log.info("灏嗕腑绌洪槦鍒椾腑鐨勬牸瀛愬彿鏇挎崲涓虹洿閫氬彴{}", unFinishHollowQueueList);
+                if (details != null) {
+                    unFinishHollowQueueList.stream().forEach(e -> {
+                        if (e.getGlassId().equals(details.getGlassId())) {
+                            e.setSlot(THROUGH_SLOT);
+                            e.setDeviceId(0);
+                            log.info("灏嗕腑绌洪槦鍒椾腑鐨勬牸瀛愬彿鏇挎崲涓虹洿閫氬彴{}", e);
+                        }
+                    });
                 }
-                List<HollowGlassQueueInfo> infoList = unFinishHollowQueueList.stream().filter(e -> !(e.getSlot() > 500 && e.getIsPair() != 1)).collect(Collectors.toList());
+
+                List<HollowGlassQueueInfo> infoList = unFinishHollowQueueList.stream().filter(e -> !(e.getSlot() > 500 && e.getSlot() < 900 && e.getIsPair() != 1)).collect(Collectors.toList());
                 log.info("鏈夋鍦ㄥ嚭鐗囩殑涓┖浠诲姟");
                 Integer isPair = infoList.get(0).getIsPair();
                 hollowOutGlassByIsPair(infoList, hollowGlassOutRelationInfo.getCell(), isPair, hollowGlassOutRelationInfo.getTotalLayer(), hollowGlassOutRelationInfo.getIsForce());
@@ -915,12 +921,13 @@
         }
         List<HollowBigStorageCageDetails> list = hollowBigStorageCageDetailsService.list(new LambdaQueryWrapper<HollowBigStorageCageDetails>()
                 .eq(HollowBigStorageCageDetails::getState, Const.GLASS_STATE_IN)
-                .in(HollowBigStorageCageDetails::getDeviceId, 6)
+//                .in(HollowBigStorageCageDetails::getDeviceId, 6)
                 .in(HollowBigStorageCageDetails::getGlassId, glassIdList));
         if (CollectionUtil.isEmpty(list)) {
             return;
         }
         HollowBigStorageCageDetails details = list.get(0);
+
         //todo:鐢熸垚杩涜繘鐗囧ぇ杞︿换鍔�
         hollowBigStorageCageDetailsService.update(new LambdaUpdateWrapper<HollowBigStorageCageDetails>()
                 .set(HollowBigStorageCageDetails::getState, Const.RAW_GLASS_STATE_OUT)
@@ -1106,15 +1113,6 @@
         Integer glassGap = hollowGlassRelationInfoService.getGlassGapByThickness(list.get(0).getThickness());
         log.info("涓┖鐢熸垚涓�杞︿换鍔★細{}", list);
         for (T e : list) {
-            //鏍煎瓙涓虹浜斾釜绗煎瓙鏃朵笉娣诲姞鍑虹墖浠诲姟
-            HollowBigStorageCage hollowBigStorageCage = hollowBigStorageCageService.getOne(
-                    new LambdaQueryWrapper<HollowBigStorageCage>()
-                            .eq(HollowBigStorageCage::getSlot, e.getSlot())
-            );
-
-            if (hollowBigStorageCage != null && hollowBigStorageCage.getDeviceId() == 6) {
-                break;
-            }
             if (templist.size() >= outCarMaxSize || Math.max((int) e.getWidth(), (int) e.getHeight()) > remainWidth) {
                 break;
             }
@@ -1166,6 +1164,12 @@
         for (T t : baseInfoList) {
             bigStorageCageTaskList.add(new BigStorageCageTask(t.getGlassId(), t.getSlot(), targetSlot, 0));
         }
+
+        List<BigStorageCageTask> tasks = bigStorageCageTaskList.stream().filter(e -> e.getStartSlot() >= 500 && e.getStartSlot() < 900).collect(Collectors.toList());
+        if (CollectionUtil.isNotEmpty(tasks)) {
+            log.info("褰撳墠鍑虹墖闃熷垪瀛樺湪鏂扮瀛愮殑鐜荤拑灏忕墖锛岀粨鏉熸湰娆′换鍔★細{}", tasks);
+            return false;
+        }
         //娓呯┖浠诲姟琛ㄦ暟鎹�
         resetOutTask();
         log.info("鐢熸垚鍑虹墖浠诲姟鏁版嵁{}", bigStorageCageTaskList);

--
Gitblit v1.8.0