From fd35c0ee025e8f5471acd4075af33b9f59f4d817 Mon Sep 17 00:00:00 2001
From: wangfei <3597712270@qq.com>
Date: 星期四, 05 十二月 2024 13:39:11 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10105/r/YiWuProject

---
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/PushMessageToIndex.java                                   |  103 +++++++
 /dev/null                                                                                                                            |   38 --
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java                                       |   69 ----
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml                   |    2 
 hangzhoumesParent/moduleService/howllowGlassModule/src/main/java/com/mes/hollow/service/impl/HollowGlassRelationInfoServiceImpl.java |    7 
 hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/OpcNGTemperingTask.java                               |   36 ++
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageNewTask.java                     |    4 
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java            |   10 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/opccallback/CacheGlassStartCallback.java                  |  552 +++++++++++++++++++-------------------
 9 files changed, 416 insertions(+), 405 deletions(-)

diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java
index 3c358ef..6be3bd5 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java
@@ -114,14 +114,16 @@
     {
         List<TemperingGlassInfo> result=null;
         QueryWrapper<TemperingGlassInfo> wrapper = new QueryWrapper<>();
-        wrapper.select("Top 1 *").in("state",1,0).eq("temperingLayoutId",id);
+        wrapper.select("Top 1 *").in("state",1,0).eq("tempering_layout_id",id);
         TemperingGlassInfo glass=temperingMapper.selectOne(wrapper);
         if(glass!=null) {
             QueryWrapper<TemperingGlassInfo> glassinfo = new QueryWrapper<>();
             glassinfo.eq("engineer_id", glass.getEngineerId())
-                    .eq("tempering_layout_id", id);
-            //return temperingMapper.selectList(glassinfo);
-            result= temperingMapper.selectByEngineerIdAndLayoutId(glass.getEngineerId(),glass.getTemperingLayoutId());
+                    .eq("tempering_layout_id", id)
+                    .orderByDesc("tempering_layout_id")
+            .orderByAsc("tempering_feed_sequence");
+            return temperingMapper.selectList(glassinfo);
+//            result= temperingMapper.selectByEngineerIdAndLayoutId(glass.getEngineerId(),glass.getTemperingLayoutId());
         }
         return result;
     }
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java
index 2e352b0..b120c03 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java
@@ -872,73 +872,4 @@
         }
     }
 
-    //    @Scheduled(fixedDelay = 1000)
-    public void CacheGlassTasks() {
-        JSONObject jsonObject = new JSONObject();
-        List<Map<String, Object>> currentCutTerritorys = edgStorageCageDetailsService.selectCutTerritory();
-        jsonObject.append("currentCutTerritory", currentCutTerritorys);
-        //log.info("鏈璇嗗埆鐗堝浘{},++++{}",engineerId,currentCutTerritorys);
-        //鍗у缂撳瓨绗煎唴淇℃伅
-        List<Map<String, Object>> EdgStorageCageinfos = edgStorageCageService.selectEdgStorageCages();
-        jsonObject.append("EdgStorageCageinfos", EdgStorageCageinfos);
-
-        ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("cacheGlass");
-        if (sendwServer != null) {
-            for (WebSocketServer webserver : sendwServer) {
-                if (webserver != null) {
-                    webserver.sendMessage(jsonObject.toString());
-                    List<String> messages = webserver.getMessages();
-                    if (!messages.isEmpty()) {
-                        // // 灏嗘渶鍚庝竴涓秷鎭浆鎹负鏁存暟绫诲瀷鐨勫垪琛�
-                        webserver.clearMessages();
-                    }
-                } else {
-                    log.info("Home is closed");
-                }
-            }
-        }
-    }
-
-    //    @Scheduled(fixedDelay = 1000)
-    public void cacheGlassIsRun() {
-        JSONObject jsonObject = new JSONObject();
-        //姝e湪杩涜鐨勪换鍔�
-        List<EdgGlassTaskInfo> taskCaches = edgGlassTaskInfoService.selectTaskCacheIsRun();
-        jsonObject.append("taskCaches", taskCaches);
-        ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("cacheGlassIsRun");
-        if (sendwServer != null) {
-            for (WebSocketServer webserver : sendwServer) {
-                if (webserver != null) {
-                    webserver.sendMessage(jsonObject.toString());
-                } else {
-                    log.info("Home is closed");
-                }
-            }
-        }
-    }
-
-    //    @Scheduled(fixedDelay = 1000)
-    public void CacheGlassTaskss() {
-        JSONObject jsonObject = new JSONObject();
-        //log.info("鏈璇嗗埆鐗堝浘{},++++{}",engineerId,currentCutTerritorys);
-        //纾ㄨ竟淇℃伅
-        List<EdgGlassTaskInfo> edgTasks = edgGlassTaskInfoService.selectEdgInfo();
-        jsonObject.append("edgTasks", edgTasks);
-
-        ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("edgTasks");
-        if (sendwServer != null) {
-            for (WebSocketServer webserver : sendwServer) {
-                if (webserver != null) {
-                    webserver.sendMessage(jsonObject.toString());
-                    List<String> messages = webserver.getMessages();
-                    if (!messages.isEmpty()) {
-                        // // 灏嗘渶鍚庝竴涓秷鎭浆鎹负鏁存暟绫诲瀷鐨勫垪琛�
-                        webserver.clearMessages();
-                    }
-                } else {
-                    log.info("edgTasks is closed");
-                }
-            }
-        }
-    }
 }
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/PushMessageToIndex.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/PushMessageToIndex.java
new file mode 100644
index 0000000..cdbe706
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/PushMessageToIndex.java
@@ -0,0 +1,103 @@
+package com.mes.job;
+
+import cn.hutool.json.JSONObject;
+import com.mes.edgglasstask.entity.EdgGlassTaskInfo;
+import com.mes.edgglasstask.service.EdgGlassTaskInfoService;
+import com.mes.edgstoragecage.service.EdgStorageCageDetailsService;
+import com.mes.edgstoragecage.service.EdgStorageCageService;
+import com.mes.tools.WebSocketServer;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Author : zhoush
+ * @Date: 2024/12/4 9:41
+ * @Description:
+ */
+@Component
+@Slf4j
+public class PushMessageToIndex {
+
+    @Resource
+    EdgStorageCageDetailsService edgStorageCageDetailsService;
+    @Resource
+    EdgStorageCageService edgStorageCageService;
+    @Resource
+    EdgGlassTaskInfoService edgGlassTaskInfoService;
+
+    @Scheduled(fixedDelay = 1000)
+    public void CacheGlassTasks() {
+        JSONObject jsonObject = new JSONObject();
+        List<Map<String, Object>> currentCutTerritorys = edgStorageCageDetailsService.selectCutTerritory();
+        jsonObject.append("currentCutTerritory", currentCutTerritorys);
+        //log.info("鏈璇嗗埆鐗堝浘{},++++{}",engineerId,currentCutTerritorys);
+        //鍗у缂撳瓨绗煎唴淇℃伅
+        List<Map<String, Object>> EdgStorageCageinfos = edgStorageCageService.selectEdgStorageCages();
+        jsonObject.append("EdgStorageCageinfos", EdgStorageCageinfos);
+
+        ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("cacheGlass");
+        if (sendwServer != null) {
+            for (WebSocketServer webserver : sendwServer) {
+                if (webserver != null) {
+                    webserver.sendMessage(jsonObject.toString());
+                    List<String> messages = webserver.getMessages();
+                    if (!messages.isEmpty()) {
+                        // // 灏嗘渶鍚庝竴涓秷鎭浆鎹负鏁存暟绫诲瀷鐨勫垪琛�
+                        webserver.clearMessages();
+                    }
+                } else {
+                    log.info("Home is closed");
+                }
+            }
+        }
+    }
+
+    @Scheduled(fixedDelay = 1000)
+    public void cacheGlassIsRun() {
+        JSONObject jsonObject = new JSONObject();
+        //姝e湪杩涜鐨勪换鍔�
+        List<EdgGlassTaskInfo> taskCaches = edgGlassTaskInfoService.selectTaskCacheIsRun();
+        jsonObject.append("taskCaches", taskCaches);
+        ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("cacheGlassIsRun");
+        if (sendwServer != null) {
+            for (WebSocketServer webserver : sendwServer) {
+                if (webserver != null) {
+                    webserver.sendMessage(jsonObject.toString());
+                } else {
+                    log.info("Home is closed");
+                }
+            }
+        }
+    }
+
+    @Scheduled(fixedDelay = 1000)
+    public void CacheGlassTaskss() {
+        JSONObject jsonObject = new JSONObject();
+        //log.info("鏈璇嗗埆鐗堝浘{},++++{}",engineerId,currentCutTerritorys);
+        //纾ㄨ竟淇℃伅
+        List<EdgGlassTaskInfo> edgTasks = edgGlassTaskInfoService.selectEdgInfo();
+        jsonObject.append("edgTasks", edgTasks);
+
+        ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("edgTasks");
+        if (sendwServer != null) {
+            for (WebSocketServer webserver : sendwServer) {
+                if (webserver != null) {
+                    webserver.sendMessage(jsonObject.toString());
+                    List<String> messages = webserver.getMessages();
+                    if (!messages.isEmpty()) {
+                        // // 灏嗘渶鍚庝竴涓秷鎭浆鎹负鏁存暟绫诲瀷鐨勫垪琛�
+                        webserver.clearMessages();
+                    }
+                } else {
+                    log.info("edgTasks is closed");
+                }
+            }
+        }
+    }
+}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/opccallback/CacheGlassStartCallback.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/opccallback/CacheGlassStartCallback.java
index 8941f5c..8bc2c33 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/opccallback/CacheGlassStartCallback.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/opccallback/CacheGlassStartCallback.java
@@ -1,14 +1,12 @@
 package com.mes.job.opccallback;
 
 import cn.hutool.core.collection.CollectionUtil;
-import cn.hutool.core.lang.Assert;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.kangaroohy.milo.runner.subscription.SubscriptionCallback;
 import com.mes.common.config.Const;
-import com.mes.edgglasstaskqueueinfo.entity.EdgGlassTaskQueueInfo;
-import com.mes.edgglasstaskqueueinfo.service.EdgGlassTaskQueueInfoService;
+import com.mes.edgglasstask.service.EdgGlassTaskInfoService;
 import com.mes.edgstoragecage.entity.EdgStorageCage;
 import com.mes.edgstoragecage.entity.EdgStorageCageDetails;
 import com.mes.edgstoragecage.service.EdgStorageCageDetailsService;
@@ -54,7 +52,7 @@
     EdgStorageDeviceTaskHistoryService edgStorageDeviceTaskHistoryService;
 
     @Resource
-    EdgGlassTaskQueueInfoService edgGlassTaskQueueInfoService;
+    EdgGlassTaskInfoService edgGlassTaskInfoService;
 
     @Value("${mes.glassGap}")
     private int glassGap;
@@ -68,263 +66,263 @@
     @Override
     public void onSubscribe(String identifier, Object value) {
 
-        log.info("褰撳墠姝e湪鎵ц鐨勪换鍔′负{}", value);
-        String tableName = identifier.contains("edg_storage_device_one_task") ? EDG_STORAGE_DEVICE_ONE_TASK : EDG_STORAGE_DEVICE_TWO_TASK;
-        int device = tableName.equals("edg_storage_device_one_task") ? 1 : 2;
-        EdgStorageDeviceTask task = edgStorageDeviceTaskService.queryTaskMessage(tableName);
-        try {
-            if (task == null) {
-                log.info("浠诲姟琛ㄥ熀纭�鏁版嵁褰曞叆澶辫触锛岃妫�鏌ユ暟鎹槸鍚﹀綍鍏ユ垚鍔�");
-                return;
-            }
-            if (task.getTaskState() == 2) {
-                //闃叉鍑虹墖浠诲姟涓旂鍓嶆湁鐜荤拑鐨勬儏鍐碉紝灏嗚繘鐗噄d缃┖锛屽嵆鍑虹墖浠呰�冭檻绗煎唴鐨勭幓鐠�
-                task.setGlassIdIn("");
-            }
-            int request = Integer.parseInt("" + value);
-            log.info("寮�濮嬫墽琛屼换鍔★紝浠诲姟璇蜂俊鎭负{}", task);
-            if (request == 0) {
-                log.info("鏈敹鍒颁换鍔¤姹傦紝缁撴潫鏈浠诲姟");
-            } else if (request == 1) {
-                //杩涚墖浠诲姟
-                log.info("杩涚墖浠诲姟锛氳繘鐗囩幓鐠僫d涓猴細{}", task.getGlassIdIn());
-                intoTask(task, tableName, device);
-            } else if (request == 2) {
-                //鍑虹墖浠诲姟
-                outTask(task, tableName, device);
-            } else if (request == 3) {
-                //鐩撮�氫换鍔�
-                if (!outTask(task, tableName, device)) {
-                    intoTask(task, tableName, device);
-                }
-            } else if (request == 4) {
-                log.info("灏嗗惎鍔ㄥ瓙鏀逛负0");
-                task.setTaskRunning(Const.GLASS_CACHE_TYPE_RUNNING);
-                edgStorageDeviceTaskService.updateTaskMessage(tableName, task);
-            } else {
-                finishTask(task, tableName);
-            }
-        } catch (Exception e) {
-            log.info("鎵ц浠诲姟杩囩▼涓彂鐢熷紓甯革紝浠诲姟瀛梴}锛寋}", task.getTaskState(), e.getMessage());
-            log.info("灏嗗惎鍔ㄥ瓙鏀逛负0");
-            task.setTaskState(Const.GLASS_CACHE_TYPE_EMPTY);
-            edgStorageDeviceTaskService.updateTaskMessage(tableName, task);
-        }
+//        log.info("褰撳墠姝e湪鎵ц鐨勪换鍔′负{}", value);
+//        String tableName = identifier.contains("edg_storage_device_one_task") ? EDG_STORAGE_DEVICE_ONE_TASK : EDG_STORAGE_DEVICE_TWO_TASK;
+//        int device = tableName.equals("edg_storage_device_one_task") ? 1 : 2;
+//        EdgStorageDeviceTask task = edgStorageDeviceTaskService.queryTaskMessage(tableName);
+//        try {
+//            if (task == null) {
+//                log.info("浠诲姟琛ㄥ熀纭�鏁版嵁褰曞叆澶辫触锛岃妫�鏌ユ暟鎹槸鍚﹀綍鍏ユ垚鍔�");
+//                return;
+//            }
+//            if (task.getTaskState() == 2) {
+//                //闃叉鍑虹墖浠诲姟涓旂鍓嶆湁鐜荤拑鐨勬儏鍐碉紝灏嗚繘鐗噄d缃┖锛屽嵆鍑虹墖浠呰�冭檻绗煎唴鐨勭幓鐠�
+//                task.setGlassIdIn("");
+//            }
+//            int request = Integer.parseInt("" + value);
+//            log.info("寮�濮嬫墽琛屼换鍔★紝浠诲姟璇蜂俊鎭负{}", task);
+//            if (request == 0) {
+//                log.info("鏈敹鍒颁换鍔¤姹傦紝缁撴潫鏈浠诲姟");
+//            } else if (request == 1) {
+//                //杩涚墖浠诲姟
+//                log.info("杩涚墖浠诲姟锛氳繘鐗囩幓鐠僫d涓猴細{}", task.getGlassIdIn());
+//                intoTask(task, tableName, device);
+//            } else if (request == 2) {
+//                //鍑虹墖浠诲姟
+//                outTask(task, tableName, device);
+//            } else if (request == 3) {
+//                //鐩撮�氫换鍔�
+//                if (!outTask(task, tableName, device)) {
+//                    intoTask(task, tableName, device);
+//                }
+//            } else if (request == 4) {
+//                log.info("灏嗗惎鍔ㄥ瓙鏀逛负0");
+//                task.setTaskRunning(Const.GLASS_CACHE_TYPE_RUNNING);
+//                edgStorageDeviceTaskService.updateTaskMessage(tableName, task);
+//            } else {
+//                finishTask(task, tableName);
+//            }
+//        } catch (Exception e) {
+//            log.info("鎵ц浠诲姟杩囩▼涓彂鐢熷紓甯革紝浠诲姟瀛梴}锛寋}", task.getTaskState(), e.getMessage());
+//            log.info("灏嗗惎鍔ㄥ瓙鏀逛负0");
+//            task.setTaskState(Const.GLASS_CACHE_TYPE_EMPTY);
+//            edgStorageDeviceTaskService.updateTaskMessage(tableName, task);
+//        }
     }
 
     private boolean intoTask(EdgStorageDeviceTask task, String tableName, int deviceId) {
-        //鑾峰彇鐜荤拑鐨勫熀鏈俊鎭�
-        GlassInfo glassInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>().eq(GlassInfo::getGlassId, task.getGlassIdIn()));
-        if (null == glassInfo) {
-            log.info("杩涚墖鐜荤拑淇℃伅涓嶅瓨鍦紝鐜荤拑id:{}", task.getGlassIdIn());
-            return Boolean.FALSE;
-        }
-        //鑾峰彇褰撳墠杩涚墖鐜荤拑id鍜岃繘鐗囨牸瀛�  鐩稿悓灏哄鍙互鏀句笅鐨勬牸瀛�
-        EdgStorageCage edgStorageCage = edgStorageCageService.getEdgStorageCageBySize(deviceId, glassInfo.getWidth(), glassInfo.getHeight(), task.getCurrentCell());
-        if (edgStorageCage == null) {
-            log.info("鐩稿悓灏哄鍙互鏀句笅鐨勬牸瀛愭湭鎵惧埌锛屾牸瀛恑d:{}", task.getCurrentCell());
-//            SELECT * from edg_storage_cage where device_id = 1 and remain_width > 1000 order by abs(slot - 10)
-            List<EdgStorageCage> storageCageList = edgStorageCageService.list(new LambdaQueryWrapper<EdgStorageCage>()
-                    .eq(EdgStorageCage::getDeviceId, deviceId)
-                    .eq(EdgStorageCage::getEnableState, Const.SLOT_ON)
-                    .ge(EdgStorageCage::getRemainWidth, Math.max(glassInfo.getWidth(), glassInfo.getHeight())).last("order by abs(slot - " + task.getCurrentCell() + ")"));
-//            //鐩撮�氫换鍔�
-//            if (flag && CollectionUtil.isNotEmpty(emptyList)) {
-//                return emptyList.get(0);
+//        //鑾峰彇鐜荤拑鐨勫熀鏈俊鎭�
+//        GlassInfo glassInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>().eq(GlassInfo::getGlassId, task.getGlassIdIn()));
+//        if (null == glassInfo) {
+//            log.info("杩涚墖鐜荤拑淇℃伅涓嶅瓨鍦紝鐜荤拑id:{}", task.getGlassIdIn());
+//            return Boolean.FALSE;
+//        }
+//        //鑾峰彇褰撳墠杩涚墖鐜荤拑id鍜岃繘鐗囨牸瀛�  鐩稿悓灏哄鍙互鏀句笅鐨勬牸瀛�
+//        EdgStorageCage edgStorageCage = edgStorageCageService.getEdgStorageCageBySize(deviceId, glassInfo.getWidth(), glassInfo.getHeight(), task.getCurrentCell());
+//        if (edgStorageCage == null) {
+//            log.info("鐩稿悓灏哄鍙互鏀句笅鐨勬牸瀛愭湭鎵惧埌锛屾牸瀛恑d:{}", task.getCurrentCell());
+////            SELECT * from edg_storage_cage where device_id = 1 and remain_width > 1000 order by abs(slot - 10)
+//            List<EdgStorageCage> storageCageList = edgStorageCageService.list(new LambdaQueryWrapper<EdgStorageCage>()
+//                    .eq(EdgStorageCage::getDeviceId, deviceId)
+//                    .eq(EdgStorageCage::getEnableState, Const.SLOT_ON)
+//                    .ge(EdgStorageCage::getRemainWidth, Math.max(glassInfo.getWidth(), glassInfo.getHeight())).last("order by abs(slot - " + task.getCurrentCell() + ")"));
+////            //鐩撮�氫换鍔�
+////            if (flag && CollectionUtil.isNotEmpty(emptyList)) {
+////                return emptyList.get(0);
+////            }
+//            if (CollectionUtil.isEmpty(storageCageList) || storageCageList.size() == 1) {
+//                log.info("娌℃湁澶氫綑鐨勭┖鏍煎瓙");
+//                return Boolean.FALSE;
 //            }
-            if (CollectionUtil.isEmpty(storageCageList) || storageCageList.size() == 1) {
-                log.info("娌℃湁澶氫綑鐨勭┖鏍煎瓙");
-                return Boolean.FALSE;
-            }
-            edgStorageCage = storageCageList.get(0);
-        }
-        log.info("4銆佸皢鐜荤拑淇℃伅鎻掑叆鍗у紡鐞嗙墖绗�,褰撳墠鐜荤拑淇℃伅:{}", glassInfo);
-        EdgStorageCageDetails details = new EdgStorageCageDetails();
-        BeanUtils.copyProperties(glassInfo, details);
-        details.setState(Const.GLASS_STATE_IN);
-        details.setSlot(edgStorageCage.getSlot());
-        details.setDeviceId(edgStorageCage.getDeviceId());
-        edgStorageCageDetailsService.save(details);
-
-        //鏇存柊浠诲姟淇℃伅
-        task.setStartCell(edgStorageCage.getSlot());
-        task.setTaskRunning(Const.GLASS_CACHE_TYPE_IN);
-        edgStorageDeviceTaskService.updateTaskMessage(tableName, task);
-        saveHistoryTask(task);
+//            edgStorageCage = storageCageList.get(0);
+//        }
+//        log.info("4銆佸皢鐜荤拑淇℃伅鎻掑叆鍗у紡鐞嗙墖绗�,褰撳墠鐜荤拑淇℃伅:{}", glassInfo);
+//        EdgStorageCageDetails details = new EdgStorageCageDetails();
+//        BeanUtils.copyProperties(glassInfo, details);
+//        details.setState(Const.GLASS_STATE_IN);
+//        details.setSlot(edgStorageCage.getSlot());
+//        details.setDeviceId(edgStorageCage.getDeviceId());
+//        edgStorageCageDetailsService.save(details);
+//
+//        //鏇存柊浠诲姟淇℃伅
+//        task.setStartCell(edgStorageCage.getSlot());
+//        task.setTaskRunning(Const.GLASS_CACHE_TYPE_IN);
+//        edgStorageDeviceTaskService.updateTaskMessage(tableName, task);
+//        saveHistoryTask(task);
         return Boolean.TRUE;
     }
 
     private boolean outTask(EdgStorageDeviceTask task, String tableName, int deviceId) {
-        EdgStorageCageDetails edgStorageCageDetails = null;
-        //绗煎唴鏄増鍥剧浉宸槸鍚﹁秴杩囬槇鍊�
-        boolean flag = queryMaxMinDiff(threshold);
-        if (flag) {
-            EdgStorageCageDetails minEdgDetails = edgStorageCageDetailsService.getOne(new LambdaQueryWrapper<EdgStorageCageDetails>()
-                    .inSql(EdgStorageCageDetails::getSlot, "select slot from edg_storage_cage where enable_state = " + Const.SLOT_ON)
-                    .eq(EdgStorageCageDetails::getState, Const.GLASS_STATE_IN)
-                    .eq(EdgStorageCageDetails::getDeviceId, deviceId)
-                    .orderByAsc(EdgStorageCageDetails::getTemperingLayoutId)
-                    .orderBy(Boolean.TRUE, Boolean.TRUE, EdgStorageCageDetails::getTemperingFeedSequence)
-                    .last("limit 1"));
-//            select * from edg_storage_cage_details where width = 551 and height = 1151 and id in (select min(id ) from edg_storage_cage_details where state = 100 group by slot )
-            edgStorageCageDetails = edgStorageCageDetailsService.getOne(new LambdaQueryWrapper<EdgStorageCageDetails>()
-                    .eq(EdgStorageCageDetails::getWidth, minEdgDetails.getWidth())
-                    .eq(EdgStorageCageDetails::getHeight, minEdgDetails.getHeight())
-                    .eq(EdgStorageCageDetails::getDeviceId, deviceId)
-                    .inSql(EdgStorageCageDetails::getId, "select min(id) from edg_storage_cage_details where state = 100 group by slot ")
-                    .last("order by abs(slot - " + task.getCurrentCell() + ")  asc limit 1")
-            );
-            //缁欑洿閫氫换鍔�
-            if (null == edgStorageCageDetails && StringUtils.isNotBlank(task.getGlassIdIn())) {
-                GlassInfo glassInInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>()
-                        .eq(GlassInfo::getGlassId, task.getGlassIdIn())
-                        .eq(GlassInfo::getWidth, minEdgDetails.getWidth())
-                        .eq(GlassInfo::getHeight, minEdgDetails.getHeight()));
-                if (null != glassInInfo) {
-                    edgStorageCageDetails = new EdgStorageCageDetails();
-                    BeanUtils.copyProperties(glassInInfo, edgStorageCageDetails);
-                }
-            }
-            if (null == edgStorageCageDetails) {
-                edgStorageCageDetails = edgStorageCageDetailsService.getOne(new LambdaQueryWrapper<EdgStorageCageDetails>()
-                        .eq(EdgStorageCageDetails::getState, Const.GLASS_STATE_IN)
-                        .eq(EdgStorageCageDetails::getDeviceId, deviceId)
-                        .eq(EdgStorageCageDetails::getSlot, minEdgDetails.getSlot())
-                        .orderByAsc(EdgStorageCageDetails::getId)
-                        .last("limit 1")
-                );
-            }
-        }
-        if (null == edgStorageCageDetails) {
-            //        鑾峰彇涓婃浠诲姟
-//        鑾峰彇鍘嗗彶琛ㄤ腑涓婃浠诲姟鏈�鍚庝竴鐗囧昂瀵�
-            EdgStorageDeviceTaskHistory edgeData = edgStorageDeviceTaskHistoryService.getOne(new LambdaQueryWrapper<EdgStorageDeviceTaskHistory>()
-                    .eq(EdgStorageDeviceTaskHistory::getTaskState, Const.RAW_GLASS_TASK_SUCCESS)
-                    .in(EdgStorageDeviceTaskHistory::getTaskType, Const.GLASS_CACHE_TYPE_OUT, Const.GLASS_CACHE_TYPE_THROUGH)
-                    .orderByDesc(EdgStorageDeviceTaskHistory::getId).last("limit 1"));
-            if (null != edgeData) {
-                GlassInfo glassOutInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>().eq(GlassInfo::getGlassId, edgeData.getGlassIdOut()));
-                //绗煎唴鐨勭幓鐠冪殑灏哄鏄惁鍜屼笂涓�娆′换鍔′竴鑷�
-                edgStorageCageDetails = edgStorageCageDetailsService.queryEdgStorageDetailsBySize(deviceId, task.getCurrentCell(), glassOutInfo.getWidth(), glassOutInfo.getHeight());
-                if (null == edgStorageCageDetails && StringUtils.isNotBlank(task.getGlassIdIn())) {
-                    GlassInfo glassInInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>()
-                            .eq(GlassInfo::getGlassId, task.getGlassIdIn())
-                            .eq(GlassInfo::getWidth, glassOutInfo.getWidth())
-                            .eq(GlassInfo::getHeight, glassOutInfo.getHeight()));
-                    if (null != glassInInfo) {
-                        edgStorageCageDetails = new EdgStorageCageDetails();
-                        BeanUtils.copyProperties(glassInInfo, edgStorageCageDetails);
-                    }
-                }
-            }
-        }
-        if (null == edgStorageCageDetails) {
-            edgStorageCageDetails = edgStorageCageDetailsService.queryEdgStorageDetailsBySize(deviceId, task.getCurrentCell(), 0, 0);
-        }
-        if (edgStorageCageDetails == null && StringUtils.isNotBlank(task.getGlassIdIn())) {
-            //鍜屼笂娆′换鍔′笉瀛樺湪鐩稿悓灏哄
-            GlassInfo glassInInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>().eq(GlassInfo::getGlassId, task.getGlassIdIn()));
-            edgStorageCageDetails = new EdgStorageCageDetails();
-            BeanUtils.copyProperties(glassInInfo, edgStorageCageDetails);
-        }
-        if (edgStorageCageDetails == null) {
-            //鍜屼笂娆′换鍔′笉瀛樺湪鐩稿悓灏哄
-            log.info("绗煎唴娌℃湁鐜荤拑浜�");
-            return Boolean.FALSE;
-        }
-        int taskType = Const.GLASS_CACHE_TYPE_OUT;
-        String glassId = edgStorageCageDetails.getGlassId();
-        if (glassId.equals(task.getGlassIdIn())) {
-            if (3 != task.getTaskState()) {
-                return Boolean.FALSE;
-            }
-            log.info("5銆佺洿閫氫换鍔�,灏嗙幓鐠冧俊鎭彃鍏ュ崸寮忕悊鐗囩,褰撳墠鐜荤拑淇℃伅:{}", edgStorageCageDetails);
-            //鐜荤拑淇℃伅鏇挎崲
-            String glassIdChange = queryAndChangeGlass(glassId);
-            //澶勭悊鍦ㄥ崸鐞嗗唴鐨勭幓鐠冧俊鎭細绗煎唴鐨勬暟鎹鐞�
-            queryEdgAndChangeGlass(edgStorageCageDetails.getGlassId(), glassIdChange);
-            if (StringUtils.isNotBlank(glassIdChange)) {
-                edgStorageCageDetails = new EdgStorageCageDetails();
-                GlassInfo one = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>().eq(GlassInfo::getGlassId, glassId));
-                BeanUtils.copyProperties(one, edgStorageCageDetails);
-            }
-            EdgStorageCage storageCage = edgStorageCageService.getOne(new LambdaQueryWrapper<EdgStorageCage>()
-                    .eq(EdgStorageCage::getDeviceId, deviceId)
-                    .eq(EdgStorageCage::getEnableState, Const.SLOT_ON)
-                    .ge(EdgStorageCage::getRemainWidth, cellLength)
-                    .last("order by abs(slot - " + task.getCurrentCell() + ") limit 1"));
-            Assert.isTrue(null != storageCage, "鏍煎瓙宸叉弧,鏃犳硶鎵ц鐩撮�氫换鍔�");
-            log.info("3銆佹煡璇㈠崸寮忕悊鐗囩閲岄潰鐨勭┖鏍�:{}", storageCage);
-            edgStorageCageDetails.setSlot(storageCage.getSlot());
-            edgStorageCageDetails.setDeviceId(storageCage.getDeviceId());
-            edgStorageCageDetails.setState(Const.GLASS_STATE_OUT);
-            edgStorageCageDetailsService.save(edgStorageCageDetails);
-            taskType = Const.GLASS_CACHE_TYPE_THROUGH;
-        } else {
-            log.info("5銆侀潪鐩撮�氫换鍔�,灏嗙幓鐠冧俊鎭彃鍏ュ崸寮忕悊鐗囩,褰撳墠鐜荤拑淇℃伅:{}", edgStorageCageDetails);
-            if (!edgStorageCageDetails.getSlot().equals(task.getCurrentCell())) {
-                EdgStorageCageDetails currentGlass = edgStorageCageDetailsService.getOne(new LambdaQueryWrapper<EdgStorageCageDetails>()
-                        .eq(EdgStorageCageDetails::getState, Const.GLASS_STATE_IN)
-                        .eq(EdgStorageCageDetails::getDeviceId, deviceId)
-                        .eq(EdgStorageCageDetails::getSlot, task.getCurrentCell()).eq(EdgStorageCageDetails::getWidth, edgStorageCageDetails.getWidth())
-                        .eq(EdgStorageCageDetails::getHeight, edgStorageCageDetails.getHeight()).eq(EdgStorageCageDetails::getThickness, edgStorageCageDetails.getThickness())
-                        .orderByAsc(EdgStorageCageDetails::getId).last("limit 1")
-                );
-                if (null != currentGlass) {
-                    edgStorageCageDetails = currentGlass;
-                }
-            }
-            //鐜荤拑淇℃伅鏇挎崲
-            String glassIdChange = queryAndChangeGlass(edgStorageCageDetails.getGlassId());
-            //澶勭悊鍦ㄥ崸鐞嗗唴鐨勭幓鐠冧俊鎭細绗煎唴鐨勬暟鎹鐞�
-            queryEdgAndChangeGlass(edgStorageCageDetails.getGlassId(), glassIdChange);
-            LambdaUpdateWrapper<EdgStorageCageDetails> wrapper = new LambdaUpdateWrapper<>();
-            wrapper.eq(EdgStorageCageDetails::getGlassId, edgStorageCageDetails.getGlassId()).set(EdgStorageCageDetails::getState, Const.GLASS_STATE_OUT);
-            edgStorageCageDetailsService.update(wrapper);
-            log.info("5銆佹洿鏂板嚭鐗囩幓鐠冪殑鐘舵�佷负{}", Const.GLASS_STATE_OUT);
-        }
-        //鐢熸垚鍑虹墖浠诲姟
-        task.setGlassIdOut(edgStorageCageDetails.getGlassId());
-        task.setStartCell(edgStorageCageDetails.getSlot());
-        task.setTaskRunning(taskType);
-
-        edgStorageDeviceTaskService.updateTaskMessage(tableName, task);
-        saveHistoryTask(task);
-        //鏇存柊璇︽儏琛ㄤ换鍔″嚭鐗囦腑
-        edgStorageCageDetailsService.update(new LambdaUpdateWrapper<EdgStorageCageDetails>()
-                .set(EdgStorageCageDetails::getState, Const.GLASS_STATE_OUT)
-                .eq(EdgStorageCageDetails::getGlassId, edgStorageCageDetails.getGlassId()));
-        //纾ㄨ竟瀵瑰垪琛ㄦ柊澧炰竴鏉℃暟鎹�
-        EdgGlassTaskQueueInfo edgInfo = new EdgGlassTaskQueueInfo();
-        BeanUtils.copyProperties(task, edgInfo);
-        edgInfo.setCreateTime(new Date());
-        edgInfo.setWidth((int) edgStorageCageDetails.getWidth());
-        edgInfo.setHeight((int) edgStorageCageDetails.getWidth());
-        edgInfo.setThickness((int) edgStorageCageDetails.getWidth());
-        edgInfo.setState(Const.GLASS_STATE_NEW);
-        edgGlassTaskQueueInfoService.save(edgInfo);
+//        EdgStorageCageDetails edgStorageCageDetails = null;
+//        //绗煎唴鏄増鍥剧浉宸槸鍚﹁秴杩囬槇鍊�
+//        boolean flag = queryMaxMinDiff(threshold);
+//        if (flag) {
+//            EdgStorageCageDetails minEdgDetails = edgStorageCageDetailsService.getOne(new LambdaQueryWrapper<EdgStorageCageDetails>()
+//                    .inSql(EdgStorageCageDetails::getSlot, "select slot from edg_storage_cage where enable_state = " + Const.SLOT_ON)
+//                    .eq(EdgStorageCageDetails::getState, Const.GLASS_STATE_IN)
+//                    .eq(EdgStorageCageDetails::getDeviceId, deviceId)
+//                    .orderByAsc(EdgStorageCageDetails::getTemperingLayoutId)
+//                    .orderBy(Boolean.TRUE, Boolean.TRUE, EdgStorageCageDetails::getTemperingFeedSequence)
+//                    .last("limit 1"));
+////            select * from edg_storage_cage_details where width = 551 and height = 1151 and id in (select min(id ) from edg_storage_cage_details where state = 100 group by slot )
+//            edgStorageCageDetails = edgStorageCageDetailsService.getOne(new LambdaQueryWrapper<EdgStorageCageDetails>()
+//                    .eq(EdgStorageCageDetails::getWidth, minEdgDetails.getWidth())
+//                    .eq(EdgStorageCageDetails::getHeight, minEdgDetails.getHeight())
+//                    .eq(EdgStorageCageDetails::getDeviceId, deviceId)
+//                    .inSql(EdgStorageCageDetails::getId, "select min(id) from edg_storage_cage_details where state = 100 group by slot ")
+//                    .last("order by abs(slot - " + task.getCurrentCell() + ")  asc limit 1")
+//            );
+//            //缁欑洿閫氫换鍔�
+//            if (null == edgStorageCageDetails && StringUtils.isNotBlank(task.getGlassIdIn())) {
+//                GlassInfo glassInInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>()
+//                        .eq(GlassInfo::getGlassId, task.getGlassIdIn())
+//                        .eq(GlassInfo::getWidth, minEdgDetails.getWidth())
+//                        .eq(GlassInfo::getHeight, minEdgDetails.getHeight()));
+//                if (null != glassInInfo) {
+//                    edgStorageCageDetails = new EdgStorageCageDetails();
+//                    BeanUtils.copyProperties(glassInInfo, edgStorageCageDetails);
+//                }
+//            }
+//            if (null == edgStorageCageDetails) {
+//                edgStorageCageDetails = edgStorageCageDetailsService.getOne(new LambdaQueryWrapper<EdgStorageCageDetails>()
+//                        .eq(EdgStorageCageDetails::getState, Const.GLASS_STATE_IN)
+//                        .eq(EdgStorageCageDetails::getDeviceId, deviceId)
+//                        .eq(EdgStorageCageDetails::getSlot, minEdgDetails.getSlot())
+//                        .orderByAsc(EdgStorageCageDetails::getId)
+//                        .last("limit 1")
+//                );
+//            }
+//        }
+//        if (null == edgStorageCageDetails) {
+//            //        鑾峰彇涓婃浠诲姟
+////        鑾峰彇鍘嗗彶琛ㄤ腑涓婃浠诲姟鏈�鍚庝竴鐗囧昂瀵�
+//            EdgStorageDeviceTaskHistory edgeData = edgStorageDeviceTaskHistoryService.getOne(new LambdaQueryWrapper<EdgStorageDeviceTaskHistory>()
+//                    .eq(EdgStorageDeviceTaskHistory::getTaskState, Const.RAW_GLASS_TASK_SUCCESS)
+//                    .in(EdgStorageDeviceTaskHistory::getTaskType, Const.GLASS_CACHE_TYPE_OUT, Const.GLASS_CACHE_TYPE_THROUGH)
+//                    .orderByDesc(EdgStorageDeviceTaskHistory::getId).last("limit 1"));
+//            if (null != edgeData) {
+//                GlassInfo glassOutInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>().eq(GlassInfo::getGlassId, edgeData.getGlassIdOut()));
+//                //绗煎唴鐨勭幓鐠冪殑灏哄鏄惁鍜屼笂涓�娆′换鍔′竴鑷�
+//                edgStorageCageDetails = edgStorageCageDetailsService.queryEdgStorageDetailsBySize(deviceId, task.getCurrentCell(), glassOutInfo.getWidth(), glassOutInfo.getHeight());
+//                if (null == edgStorageCageDetails && StringUtils.isNotBlank(task.getGlassIdIn())) {
+//                    GlassInfo glassInInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>()
+//                            .eq(GlassInfo::getGlassId, task.getGlassIdIn())
+//                            .eq(GlassInfo::getWidth, glassOutInfo.getWidth())
+//                            .eq(GlassInfo::getHeight, glassOutInfo.getHeight()));
+//                    if (null != glassInInfo) {
+//                        edgStorageCageDetails = new EdgStorageCageDetails();
+//                        BeanUtils.copyProperties(glassInInfo, edgStorageCageDetails);
+//                    }
+//                }
+//            }
+//        }
+//        if (null == edgStorageCageDetails) {
+//            edgStorageCageDetails = edgStorageCageDetailsService.queryEdgStorageDetailsBySize(deviceId, task.getCurrentCell(), 0, 0);
+//        }
+//        if (edgStorageCageDetails == null && StringUtils.isNotBlank(task.getGlassIdIn())) {
+//            //鍜屼笂娆′换鍔′笉瀛樺湪鐩稿悓灏哄
+//            GlassInfo glassInInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>().eq(GlassInfo::getGlassId, task.getGlassIdIn()));
+//            edgStorageCageDetails = new EdgStorageCageDetails();
+//            BeanUtils.copyProperties(glassInInfo, edgStorageCageDetails);
+//        }
+//        if (edgStorageCageDetails == null) {
+//            //鍜屼笂娆′换鍔′笉瀛樺湪鐩稿悓灏哄
+//            log.info("绗煎唴娌℃湁鐜荤拑浜�");
+//            return Boolean.FALSE;
+//        }
+//        int taskType = Const.GLASS_CACHE_TYPE_OUT;
+//        String glassId = edgStorageCageDetails.getGlassId();
+//        if (glassId.equals(task.getGlassIdIn())) {
+//            if (3 != task.getTaskState()) {
+//                return Boolean.FALSE;
+//            }
+//            log.info("5銆佺洿閫氫换鍔�,灏嗙幓鐠冧俊鎭彃鍏ュ崸寮忕悊鐗囩,褰撳墠鐜荤拑淇℃伅:{}", edgStorageCageDetails);
+//            //鐜荤拑淇℃伅鏇挎崲
+//            String glassIdChange = queryAndChangeGlass(glassId);
+//            //澶勭悊鍦ㄥ崸鐞嗗唴鐨勭幓鐠冧俊鎭細绗煎唴鐨勬暟鎹鐞�
+//            queryEdgAndChangeGlass(edgStorageCageDetails.getGlassId(), glassIdChange);
+//            if (StringUtils.isNotBlank(glassIdChange)) {
+//                edgStorageCageDetails = new EdgStorageCageDetails();
+//                GlassInfo one = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>().eq(GlassInfo::getGlassId, glassId));
+//                BeanUtils.copyProperties(one, edgStorageCageDetails);
+//            }
+//            EdgStorageCage storageCage = edgStorageCageService.getOne(new LambdaQueryWrapper<EdgStorageCage>()
+//                    .eq(EdgStorageCage::getDeviceId, deviceId)
+//                    .eq(EdgStorageCage::getEnableState, Const.SLOT_ON)
+//                    .ge(EdgStorageCage::getRemainWidth, cellLength)
+//                    .last("order by abs(slot - " + task.getCurrentCell() + ") limit 1"));
+//            Assert.isTrue(null != storageCage, "鏍煎瓙宸叉弧,鏃犳硶鎵ц鐩撮�氫换鍔�");
+//            log.info("3銆佹煡璇㈠崸寮忕悊鐗囩閲岄潰鐨勭┖鏍�:{}", storageCage);
+//            edgStorageCageDetails.setSlot(storageCage.getSlot());
+//            edgStorageCageDetails.setDeviceId(storageCage.getDeviceId());
+//            edgStorageCageDetails.setState(Const.GLASS_STATE_OUT);
+//            edgStorageCageDetailsService.save(edgStorageCageDetails);
+//            taskType = Const.GLASS_CACHE_TYPE_THROUGH;
+//        } else {
+//            log.info("5銆侀潪鐩撮�氫换鍔�,灏嗙幓鐠冧俊鎭彃鍏ュ崸寮忕悊鐗囩,褰撳墠鐜荤拑淇℃伅:{}", edgStorageCageDetails);
+//            if (!edgStorageCageDetails.getSlot().equals(task.getCurrentCell())) {
+//                EdgStorageCageDetails currentGlass = edgStorageCageDetailsService.getOne(new LambdaQueryWrapper<EdgStorageCageDetails>()
+//                        .eq(EdgStorageCageDetails::getState, Const.GLASS_STATE_IN)
+//                        .eq(EdgStorageCageDetails::getDeviceId, deviceId)
+//                        .eq(EdgStorageCageDetails::getSlot, task.getCurrentCell()).eq(EdgStorageCageDetails::getWidth, edgStorageCageDetails.getWidth())
+//                        .eq(EdgStorageCageDetails::getHeight, edgStorageCageDetails.getHeight()).eq(EdgStorageCageDetails::getThickness, edgStorageCageDetails.getThickness())
+//                        .orderByAsc(EdgStorageCageDetails::getId).last("limit 1")
+//                );
+//                if (null != currentGlass) {
+//                    edgStorageCageDetails = currentGlass;
+//                }
+//            }
+//            //鐜荤拑淇℃伅鏇挎崲
+//            String glassIdChange = queryAndChangeGlass(edgStorageCageDetails.getGlassId());
+//            //澶勭悊鍦ㄥ崸鐞嗗唴鐨勭幓鐠冧俊鎭細绗煎唴鐨勬暟鎹鐞�
+//            queryEdgAndChangeGlass(edgStorageCageDetails.getGlassId(), glassIdChange);
+//            LambdaUpdateWrapper<EdgStorageCageDetails> wrapper = new LambdaUpdateWrapper<>();
+//            wrapper.eq(EdgStorageCageDetails::getGlassId, edgStorageCageDetails.getGlassId()).set(EdgStorageCageDetails::getState, Const.GLASS_STATE_OUT);
+//            edgStorageCageDetailsService.update(wrapper);
+//            log.info("5銆佹洿鏂板嚭鐗囩幓鐠冪殑鐘舵�佷负{}", Const.GLASS_STATE_OUT);
+//        }
+//        //鐢熸垚鍑虹墖浠诲姟
+//        task.setGlassIdOut(edgStorageCageDetails.getGlassId());
+//        task.setStartCell(edgStorageCageDetails.getSlot());
+//        task.setTaskRunning(taskType);
+//
+//        edgStorageDeviceTaskService.updateTaskMessage(tableName, task);
+//        saveHistoryTask(task);
+//        //鏇存柊璇︽儏琛ㄤ换鍔″嚭鐗囦腑
+//        edgStorageCageDetailsService.update(new LambdaUpdateWrapper<EdgStorageCageDetails>()
+//                .set(EdgStorageCageDetails::getState, Const.GLASS_STATE_OUT)
+//                .eq(EdgStorageCageDetails::getGlassId, edgStorageCageDetails.getGlassId()));
+//        //纾ㄨ竟瀵瑰垪琛ㄦ柊澧炰竴鏉℃暟鎹�
+//        EdgGlassTaskQueueInfo edgInfo = new EdgGlassTaskQueueInfo();
+//        BeanUtils.copyProperties(task, edgInfo);
+//        edgInfo.setCreateTime(new Date());
+//        edgInfo.setWidth((int) edgStorageCageDetails.getWidth());
+//        edgInfo.setHeight((int) edgStorageCageDetails.getWidth());
+//        edgInfo.setThickness((int) edgStorageCageDetails.getWidth());
+//        edgInfo.setState(Const.GLASS_STATE_NEW);
+//        edgGlassTaskQueueInfoService.save(edgInfo);
         return Boolean.TRUE;
     }
 
     private boolean finishTask(EdgStorageDeviceTask task, String tableName) {
-        log.info("褰撳墠浠诲姟淇℃伅涓猴細{}", task);
-        if (task.getTaskState() <= 4) {
-            log.info("鏈夋鍦ㄦ墽琛岀殑浠诲姟锛岀粨鏉�");
-            return Boolean.FALSE;
-        }
-        Integer cell = task.getStartCell();
-        Integer state = task.getTaskState();
-        task.setTaskRunning(Const.GLASS_CACHE_TYPE_EMPTY);
-        task.setGlassIdOut("");
-        task.setStartCell(0);
-        edgStorageDeviceTaskService.updateTaskMessage(tableName, task);
-        edgStorageDeviceTaskHistoryService.update(new LambdaUpdateWrapper<EdgStorageDeviceTaskHistory>()
-                .eq(EdgStorageDeviceTaskHistory::getTaskState, Const.RAW_GLASS_TASK_NEW)
-                .set(EdgStorageDeviceTaskHistory::getTaskState,
-                        Const.GLASS_CACHE_TYPE_FINISH.equals(state) ? Const.RAW_GLASS_TASK_SUCCESS : Const.RAW_GLASS_TASK_FAILURE)
-        );
-        int device = tableName.equals("edg_storage_device_one_task") ? 1 : 2;
-        updateCellRemainWidth(cell, device);
+//        log.info("褰撳墠浠诲姟淇℃伅涓猴細{}", task);
+//        if (task.getTaskState() <= 4) {
+//            log.info("鏈夋鍦ㄦ墽琛岀殑浠诲姟锛岀粨鏉�");
+//            return Boolean.FALSE;
+//        }
+//        Integer cell = task.getStartCell();
+//        Integer state = task.getTaskState();
+//        task.setTaskRunning(Const.GLASS_CACHE_TYPE_EMPTY);
+//        task.setGlassIdOut("");
+//        task.setStartCell(0);
+//        edgStorageDeviceTaskService.updateTaskMessage(tableName, task);
+//        edgStorageDeviceTaskHistoryService.update(new LambdaUpdateWrapper<EdgStorageDeviceTaskHistory>()
+//                .eq(EdgStorageDeviceTaskHistory::getTaskState, Const.RAW_GLASS_TASK_NEW)
+//                .set(EdgStorageDeviceTaskHistory::getTaskState,
+//                        Const.GLASS_CACHE_TYPE_FINISH.equals(state) ? Const.RAW_GLASS_TASK_SUCCESS : Const.RAW_GLASS_TASK_FAILURE)
+//        );
+//        int device = tableName.equals("edg_storage_device_one_task") ? 1 : 2;
+//        updateCellRemainWidth(cell, device);
         return Boolean.TRUE;
     }
 
@@ -335,34 +333,34 @@
      * @return
      */
     public String queryAndChangeGlass(String glassId) {
-        GlassInfo glassInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>().eq(GlassInfo::getGlassId, glassId));
-//                .inSql(GlassInfo::getEngineerId, "select engineer_id from engineering where state = 1"));
-        Assert.isFalse(null == glassInfo, "鐜荤拑淇℃伅涓嶅瓨鍦�");        //鎸夌収鐜荤拑灏哄
-        LambdaQueryWrapper<GlassInfo> queryWrapper = new LambdaQueryWrapper<GlassInfo>()
-                .eq(GlassInfo::getWidth, glassInfo.getWidth())
-                .eq(GlassInfo::getHeight, glassInfo.getHeight())
-                .eq(GlassInfo::getThickness, glassInfo.getThickness())
-                .eq(GlassInfo::getFilmsid, glassInfo.getFilmsid())
-                .eq(GlassInfo::getFlowCardId, glassInfo.getFlowCardId())
-                .eq(GlassInfo::getTotalLayer, glassInfo.getTotalLayer())
-                .eq(GlassInfo::getLayer, glassInfo.getLayer())
-                .eq(GlassInfo::getEngineerId, glassInfo.getEngineerId())
-                .notInSql(GlassInfo::getGlassId, "select distinct glass_id from edg_storage_cage_details " +
-                        "where engineer_id = '" + glassInfo.getEngineerId() + "' and width = " + glassInfo.getWidth() + " and height = " + glassInfo.getHeight()
-                        + " and state != 100")
-                .orderByAsc(GlassInfo::getTemperingLayoutId)
-                .orderBy(Boolean.TRUE, Boolean.TRUE, GlassInfo::getTemperingFeedSequence)
-                .last("Limit 1");
-        GlassInfo swapGlassInfo = glassInfoService.getOne(queryWrapper);
-        if (swapGlassInfo != null && !glassInfo.getGlassId().equals(swapGlassInfo.getGlassId())) {
-            String swapGlassId = swapGlassInfo.getGlassId();
-            log.info("灏嗙幓鐠儃}鍜岀幓鐠儃}锛屼俊鎭簰鎹�,杩涚幓鐠� {}", glassInfo, swapGlassInfo, swapGlassInfo);
-            swapGlassInfo.setGlassId(glassId);
-            glassInfo.setGlassId(swapGlassId);
-            glassInfoService.updateById(swapGlassInfo);
-            glassInfoService.updateById(glassInfo);
-            return swapGlassId;
-        }
+//        GlassInfo glassInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>().eq(GlassInfo::getGlassId, glassId));
+////                .inSql(GlassInfo::getEngineerId, "select engineer_id from engineering where state = 1"));
+//        Assert.isFalse(null == glassInfo, "鐜荤拑淇℃伅涓嶅瓨鍦�");        //鎸夌収鐜荤拑灏哄
+//        LambdaQueryWrapper<GlassInfo> queryWrapper = new LambdaQueryWrapper<GlassInfo>()
+//                .eq(GlassInfo::getWidth, glassInfo.getWidth())
+//                .eq(GlassInfo::getHeight, glassInfo.getHeight())
+//                .eq(GlassInfo::getThickness, glassInfo.getThickness())
+//                .eq(GlassInfo::getFilmsid, glassInfo.getFilmsid())
+//                .eq(GlassInfo::getFlowCardId, glassInfo.getFlowCardId())
+//                .eq(GlassInfo::getTotalLayer, glassInfo.getTotalLayer())
+//                .eq(GlassInfo::getLayer, glassInfo.getLayer())
+//                .eq(GlassInfo::getEngineerId, glassInfo.getEngineerId())
+//                .notInSql(GlassInfo::getGlassId, "select distinct glass_id from edg_storage_cage_details " +
+//                        "where engineer_id = '" + glassInfo.getEngineerId() + "' and width = " + glassInfo.getWidth() + " and height = " + glassInfo.getHeight()
+//                        + " and state != 100")
+//                .orderByAsc(GlassInfo::getTemperingLayoutId)
+//                .orderBy(Boolean.TRUE, Boolean.TRUE, GlassInfo::getTemperingFeedSequence)
+//                .last("Limit 1");
+//        GlassInfo swapGlassInfo = glassInfoService.getOne(queryWrapper);
+//        if (swapGlassInfo != null && !glassInfo.getGlassId().equals(swapGlassInfo.getGlassId())) {
+//            String swapGlassId = swapGlassInfo.getGlassId();
+//            log.info("灏嗙幓鐠儃}鍜岀幓鐠儃}锛屼俊鎭簰鎹�,杩涚幓鐠� {}", glassInfo, swapGlassInfo, swapGlassInfo);
+//            swapGlassInfo.setGlassId(glassId);
+//            glassInfo.setGlassId(swapGlassId);
+//            glassInfoService.updateById(swapGlassInfo);
+//            glassInfoService.updateById(glassInfo);
+//            return swapGlassId;
+//        }
         return "";
     }
 
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/opccallback/CacheGlassTestCallback.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/opccallback/CacheGlassTestCallback.java
deleted file mode 100644
index b284827..0000000
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/opccallback/CacheGlassTestCallback.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package com.mes.job.opccallback;
-
-import com.kangaroohy.milo.runner.subscription.SubscriptionCallback;
-import com.mes.opctask.entity.EdgStorageDeviceTask;
-import com.mes.opctask.service.EdgStorageDeviceTaskService;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.stereotype.Service;
-
-import javax.annotation.Resource;
-
-/**
- * @Author : zhoush
- * @Date: 2024/10/10 14:13
- * @Description:
- */
-@Service
-@Slf4j
-public class CacheGlassTestCallback implements SubscriptionCallback {
-    @Resource
-    EdgStorageDeviceTaskService edgStorageDeviceTaskService;
-
-    @Override
-    public void onSubscribe(String identifier, Object value) {
-        EdgStorageDeviceTask task = edgStorageDeviceTaskService.queryTaskMessage("edg_storage_device_one_task");
-        try {
-            if (task == null) {
-                log.info("浠诲姟琛ㄥ熀纭�鏁版嵁褰曞叆澶辫触锛岃妫�鏌ユ暟鎹槸鍚﹀綍鍏ユ垚鍔�");
-                return;
-            }
-            task.setTaskRunning(task.getTaskRunning() + 1);
-            log.info("褰撳墠绗瑊}娆℃墽琛�", task.getTaskRunning());
-//            task.setTaskState(task.getTaskRunning());
-            edgStorageDeviceTaskService.updateTaskMessage("edg_storage_device_one_task", task);
-        } catch (Exception e) {
-            log.info("{}", e.getMessage());
-        }
-    }
-}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageNewTask.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageNewTask.java
index d4cbd15..0e1440e 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageNewTask.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageNewTask.java
@@ -300,7 +300,7 @@
                 int sequence = -1;
                 int startSlot = -1;
                 for (BigStorageSequenceDTO item : sequenceDTOList) {
-                    if (item.getMinSequence() == sequence + 1) {
+                    if (item.getMaxSequence() == sequence - 1) {
                         //鐢熸垚璋冨害浠诲姟
                         int targetSlot = item.getSlot();
                         list = bigStorageCageDetailsService.list(new LambdaQueryWrapper<BigStorageCageDetails>()
@@ -311,7 +311,7 @@
                         updateSlotRemainBySlots(slotList);
                         break loop;
                     }
-                    sequence = item.getMaxSequence();
+                    sequence = item.getMinSequence();
                     startSlot = item.getSlot();
                 }
             }
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml
index 003bd62..9611a10 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml
@@ -170,6 +170,6 @@
               (select engineer_id, tempering_layout_id, tempering_feed_sequence from glass_id_temp)
           and t.state = 100
         group by t.slot
-        order by max_sequence
+        order by max_sequence desc
     </select>
 </mapper>
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/OpcNGTemperingTask.java b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/OpcNGTemperingTask.java
index cd836a3..70bb941 100644
--- a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/OpcNGTemperingTask.java
+++ b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/OpcNGTemperingTask.java
@@ -1,16 +1,18 @@
 package com.mes.job;
 
 
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.kangaroohy.milo.model.ReadWriteEntity;
 import com.kangaroohy.milo.service.MiloService;
+import com.mes.common.config.Const;
 import com.mes.pp.entity.OptimizeHeatDetail;
 import com.mes.pp.entity.OptimizeHeatLayout;
 import com.mes.pp.service.OptimizeHeatDetailService;
 import com.mes.pp.service.OptimizeHeatLayoutService;
-import com.mes.temperingglass.entity.TemperingGlass;
 import com.mes.temperingglass.entity.TemperingGlassInfo;
 import com.mes.temperingglass.service.TemperingGlassInfoService;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
@@ -41,7 +43,7 @@
      * fixedRate : 涓婁竴涓皟鐢ㄥ紑濮嬪悗鍐嶆璋冪敤鐨勫欢鏃讹紙涓嶇敤绛夊緟涓婁竴娆¤皟鐢ㄥ畬鎴愶級
      * fixedDelay : 涓婁竴涓皟鐢ㄧ粨鏉熷悗鍐嶆璋冪敤鐨勫欢鏃�
      */
-    //@Scheduled(fixedDelay = 1000)
+    @Scheduled(fixedDelay = 1000)
     public void requestTemperingTask() throws Exception {
         ReadWriteEntity requestInTempering = miloService.readFromOpcUa("GH1S7.GH1S7.requestInTempering");//璇锋眰杩涚墖
         ReadWriteEntity requestTemperingId = miloService.readFromOpcUa("GH1S7.GH1S7.requestTemperingId");//璇锋眰杩涚墖 鐐夊彿ID
@@ -50,9 +52,13 @@
         if (request == 0) {
             miloService.writeToOpcUa(generateReadWriteEntity("GH1S7.GH1S7.responseInTempering", 0));//鍏佽閫佺墖娓呴浂
         } else {
+            if (id == 0){
+                log.info("鐐夊彿涓嶈兘涓�0");
+                return;
+            }
             ReadWriteEntity placedNumber = miloService.readFromOpcUa("GH1S7.GH1S7.placedNumber");//宸叉憜鐗囨暟閲�
             List<TemperingGlassInfo> glassList = temperingAgoService.selectGlassInfoById(id);
-            if (glassList.size() == Integer.parseInt(placedNumber.getValue().toString())) {
+            if (Integer.parseInt(placedNumber.getValue().toString()) == glassList.size()) {
                 miloService.writeToOpcUa(generateReadWriteEntity("GH1S7.GH1S7.responseInTempering", 1));//鍐欏叆鍏佽閫佺墖
             } else {
                 miloService.writeToOpcUa(generateReadWriteEntity("GH1S7.GH1S7.responseInTempering", 2));//涓嶆弧瓒宠繘鐐夋潯浠�
@@ -65,16 +71,32 @@
      * fixedRate : 涓婁竴涓皟鐢ㄥ紑濮嬪悗鍐嶆璋冪敤鐨勫欢鏃讹紙涓嶇敤绛夊緟涓婁竴娆¤皟鐢ㄥ畬鎴愶級
      * fixedDelay : 涓婁竴涓皟鐢ㄧ粨鏉熷悗鍐嶆璋冪敤鐨勫欢鏃�
      */
-    //@Scheduled(fixedDelay = 1000)
+    @Scheduled(fixedDelay = 1000)
     public void loadTemperingTask() throws Exception {
         ReadWriteEntity loadTemperingId = miloService.readFromOpcUa("GH1S7.GH1S7.loadTemperingId");//杩涚墖瀹屾垚 鐐夊彿ID
         getNewTemperingID(Integer.parseInt(loadTemperingId.getValue().toString()));//杩涚墖瀹屾垚 涓嬪彂鍙傛暟
     }
+    /**
+     * 鏇存柊閽㈠寲灏忕墖琛ㄥ唴鐨勭幓鐠冪姸鎬�
+     * fixedRate : 涓婁竴涓皟鐢ㄥ紑濮嬪悗鍐嶆璋冪敤鐨勫欢鏃讹紙涓嶇敤绛夊緟涓婁竴娆¤皟鐢ㄥ畬鎴愶級
+     * fixedDelay : 涓婁竴涓皟鐢ㄧ粨鏉熷悗鍐嶆璋冪敤鐨勫欢鏃�
+     */
+    @Scheduled(fixedDelay = 5000)
+    public void updateTemperingTask() throws Exception {
+        ReadWriteEntity furanchiIdEntity = miloService.readFromOpcUa("GH1S7.GH1S7.Furanch1Id");//杩涚墖瀹屾垚 鐐夊彿ID
+        if (StringUtils.isNotBlank(furanchiIdEntity.getValue()+"")){
+            int temperingid = Integer.parseInt(furanchiIdEntity.getValue().toString());
+            temperingAgoService.update(new LambdaUpdateWrapper<TemperingGlassInfo>().set(TemperingGlassInfo::getState, Const.TEMPERING_START)
+                    .in(TemperingGlassInfo::getState, Const.TEMPERING_OUT, Const.TEMPERING_DROP).eq(TemperingGlassInfo::getTemperingLayoutId,temperingid));
+        }
+
+
+    }
 
     //鑾峰彇鍒扮倝鍙穒d鎵ц鍙傛暟涓嬪彂浠诲姟
     private void getNewTemperingID(Integer temperingid) throws Exception {
-        ReadWriteEntity AutoStatus = miloService.readFromOpcUa("GH1.GH1.AutoStatus");
-        if (1 != Integer.parseInt(AutoStatus.getValue().toString())) {
+        ReadWriteEntity autoStatus = miloService.readFromOpcUa("GH1.GH1.AutoStatus");
+        if (1 != Integer.parseInt(autoStatus.getValue().toString())) {
             log.info("褰撳墠涓洪潪鑱旀満鐘舵�侊紝缁撴潫閽㈠寲涓嬪彂鍙傛暟浠诲姟");
             return;
         }
@@ -118,7 +140,7 @@
             miloService.writeToOpcUa(generateReadWriteEntity("GH1.GH1.WorkMode", workmode));//鍐欏叆宸ヤ綅鏁�
             miloService.writeToOpcUa(generateReadWriteEntity("GH1.GH1.FurnaceMode", furmode));//鍐欏叆鐐変綋宸ヤ綔鏂瑰紡
             log.info("鐐夊彿" + temperingid + "鐗堥潰淇℃伅灏濊瘯涓嬪彂");
-        }
+       }
     }
 
 
diff --git a/hangzhoumesParent/moduleService/howllowGlassModule/src/main/java/com/mes/hollow/service/impl/HollowGlassRelationInfoServiceImpl.java b/hangzhoumesParent/moduleService/howllowGlassModule/src/main/java/com/mes/hollow/service/impl/HollowGlassRelationInfoServiceImpl.java
index b44f147..8bb8edc 100644
--- a/hangzhoumesParent/moduleService/howllowGlassModule/src/main/java/com/mes/hollow/service/impl/HollowGlassRelationInfoServiceImpl.java
+++ b/hangzhoumesParent/moduleService/howllowGlassModule/src/main/java/com/mes/hollow/service/impl/HollowGlassRelationInfoServiceImpl.java
@@ -244,14 +244,7 @@
 
     @Override
     public List<LackDetailsDTO> queryLackByFlowCard(String flowCardId, int layer) {
-
         return this.baseMapper.queryLackByFlowCard(flowCardId, layer);
-//        return this.list(new LambdaQueryWrapper<HollowGlassRelationInfo>()
-//                .eq(HollowGlassRelationInfo::getFlowCardId,flowCardId)
-//                .eq(HollowGlassRelationInfo::getLayer,layer)
-//                .isNull(HollowGlassRelationInfo::getTemperingLayoutId)
-//                .isNull(HollowGlassRelationInfo::getTemperingFeedSequence)
-//        );
     }
 
 }

--
Gitblit v1.8.0