From 266ca8c80300d479351eed50fee5a30751a22fda Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期四, 09 十月 2025 11:46:11 +0800
Subject: [PATCH] 1、中空领取任务界面查询慢解决 2、卧理新增日志记录

---
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/OpcCacheGlassNewTask.java |   21 +++++++++++++--------
 1 files changed, 13 insertions(+), 8 deletions(-)

diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/OpcCacheGlassNewTask.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/OpcCacheGlassNewTask.java
index c8717d1..a49c7f9 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/OpcCacheGlassNewTask.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/OpcCacheGlassNewTask.java
@@ -138,10 +138,11 @@
         log.info("浜岀嚎鍗х悊: {}", s7DataWLTwo);
         Boolean oneInkageEntity = s7DataWLOne.getDeviceState();
         int cellFlag = 1;
-        if (!oneInkageEntity  && !Const.OUT_DISABLE.equals(s7DataWLExtraTwo.getD06SlotState())) {
+        if (!oneInkageEntity && !Const.OUT_DISABLE.equals(s7DataWLExtraTwo.getD06SlotState())) {
             cellFlag = 2;
         }
         startOneOpcTaskChild(s7DataWLTwo, 2, cellFlag);
+
     }
 
     private void startOneOpcTaskChild(S7DataWL task, int device, int cellFlag) throws Exception {
@@ -352,7 +353,7 @@
         //鐘舵�佹湁3涓儏鍐碉細0绌洪棽 1蹇欑 2绂佺敤
         //涓ゆ潯绾块兘涓虹鐢ㄥ垯涓嶅嚭鐜荤拑
         if (Const.OUT_DISABLE.equals(oneOutState) && Const.OUT_DISABLE.equals(twoOutState)) {
-            log.info("A09銆丄10涓簕},{}闈炶嚜鍔ㄧ姸鎬侊紝鏃犳硶鍑虹墖", oneOutState, oneOutState);
+            log.info("璁惧{}:A09銆丄10涓簕},{}闈炶嚜鍔ㄧ姸鎬侊紝鏃犳硶鍑虹墖", deviceId, oneOutState, oneOutState);
             return Boolean.FALSE;
         }
         //鑾峰彇d06鐗囧彴鐘舵��
@@ -382,6 +383,7 @@
                 cell = Const.TWO_OUT_TARGET_POSITION;
             }
         }
+        log.info("{}绾胯矾璁$畻瀹屾垚锛歿}", deviceId, cell);
         if (cellFlag == 2) {
             if (!outChildTask(task, deviceId, cell, startDate)) {
                 cell = cell == Const.ONE_OUT_TARGET_POSITION ? Const.TWO_OUT_TARGET_POSITION : Const.ONE_OUT_TARGET_POSITION;
@@ -398,6 +400,7 @@
 
         //绗煎唴鏄増鍥剧浉宸槸鍚﹁秴杩囬槇鍊�
         boolean flag = queryMaxMinDiffByDevice(threshold, deviceId);
+        log.info("{}闃堝�艰绠楀畬鎴愶細{}", deviceId, flag);
         if (flag) {
             //鍏堟壘鏈�灏忕増鍥剧増搴忕殑鐜荤拑灏忕墖
             EdgStorageCageDetails minEdgDetails = edgStorageCageDetailsService.getOne(new LambdaQueryWrapper<EdgStorageCageDetails>()
@@ -421,15 +424,18 @@
                 );
             }
         }
+        log.info("{}鎸夌収闃堝�兼煡鎵剧粨鏋滐細{}", deviceId, edgStorageCageDetails);
         if (null == edgStorageCageDetails) {
 //        鑾峰彇鍘嗗彶琛ㄤ腑涓婃浠诲姟鏈�鍚庝竴鐗囧昂瀵�
             EdgStorageDeviceTaskHistory edgeData = edgStorageDeviceTaskHistoryService.getOne(new LambdaQueryWrapper<EdgStorageDeviceTaskHistory>()
                     .eq(EdgStorageDeviceTaskHistory::getDeviceId, cell)
                     .in(EdgStorageDeviceTaskHistory::getTaskType, Const.GLASS_CACHE_TYPE_OUT, Const.GLASS_CACHE_TYPE_THROUGH)
                     .orderByDesc(EdgStorageDeviceTaskHistory::getId).last("limit 1"));
+            log.info("{}鑾峰彇涓婃浠诲姟淇℃伅锛歿}", deviceId, edgeData);
             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(), cell, maxThickness);
                 if (null == edgStorageCageDetails && StringUtils.isNotBlank(task.getGlassIdIn())) {
                     GlassInfo glassInInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>()
@@ -445,11 +451,13 @@
                 }
             }
         }
+        log.info("{}鑾峰彇鍘嗗彶琛ㄤ腑涓婃浠诲姟鏈�鍚庝竴鐗囧昂瀵革細{}", deviceId, edgStorageCageDetails);
         //鍓嶉潰宸茬粡灏哄闂澶勭悊瀹屾瘯锛屽紑濮嬭绠楁棤鐩稿悓灏哄鐨勬柊鐜荤拑灏忕墖
         if (null == edgStorageCageDetails) {
             edgStorageCageDetails = edgStorageCageDetailsService.queryEdgStorageDetailsByLimitSize(deviceId, Integer.parseInt(task.getCurrentCell().toString()), 0, 0,
                     cell, minOneFirstLength, minOneSecondLength, maxTwoFirstLength, maxTwoSecondLength, maxThickness);
         }
+        log.info("{}寮�濮嬭绠楁棤鐩稿悓灏哄鐨勬柊鐜荤拑灏忕墖锛歿}", deviceId, edgStorageCageDetails);
         if (edgStorageCageDetails == null && StringUtils.isNotBlank(task.getGlassIdIn())) {
             //鍜屼笂娆′换鍔′笉瀛樺湪鐩稿悓灏哄
             GlassInfo glassInInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>().eq(GlassInfo::getGlassId, task.getGlassIdIn()));
@@ -466,6 +474,7 @@
                 log.info("鐩撮�氫换鍔$洰鏍囩嚎璺负{},杩涚墖鐜荤拑灏哄涓簕}*{},涓嶇鍚堝嚭鐗囨潯浠�", cell, maxLength, minLength);
             }
         }
+        log.info("{}鐩撮�氫换鍔★細{}", deviceId, edgStorageCageDetails);
         if (edgStorageCageDetails == null) {
             //鍜屼笂娆′换鍔′笉瀛樺湪鐩稿悓灏哄
             log.info("绗煎唴娌℃湁鐜荤拑浜�");
@@ -477,7 +486,7 @@
             if (3 != task.getTaskState()) {
                 return Boolean.FALSE;
             }
-            log.info("5銆佺洿閫氫换鍔�,灏嗙幓鐠冧俊鎭彃鍏ュ崸寮忕悊鐗囩,褰撳墠鐜荤拑淇℃伅:{}", edgStorageCageDetails);
+            log.info("5銆亄}鐩撮�氫换鍔�,灏嗙幓鐠冧俊鎭彃鍏ュ崸寮忕悊鐗囩,褰撳墠鐜荤拑淇℃伅:{}", edgStorageCageDetails);
             if (glassInIdOne.equals(task.getGlassIdIn()) || glassInIdTwo.equals(task.getGlassIdIn())) {
                 log.info("鐜荤拑id涓庝笂娆$浉鍚岋紝绂佹杩涚墖");
                 return Boolean.FALSE;
@@ -491,11 +500,7 @@
                 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"));
+            EdgStorageCage storageCage = edgStorageCageService.selectNearestEmpty(Integer.parseInt(task.getCurrentCell().toString()), deviceId, Boolean.TRUE);
             Assert.isTrue(null != storageCage, "鏍煎瓙宸叉弧,鏃犳硶鎵ц鐩撮�氫换鍔�");
             log.info("3銆佹煡璇㈠崸寮忕悊鐗囩閲岄潰鐨勭┖鏍�:{}", storageCage);
             edgStorageCageDetails.setSlot(storageCage.getSlot());

--
Gitblit v1.8.0