From b67a6892ccfe6d71dc0ad2b75b2c66c18c4f6628 Mon Sep 17 00:00:00 2001
From: Administrator <XS@163.COM>
Date: 星期六, 25 四月 2026 22:22:52 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/plugin/XiaosongProcess.java |   28 ++++++++++++++++++++++++++++
 1 files changed, 28 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/core/plugin/XiaosongProcess.java b/src/main/java/com/zy/core/plugin/XiaosongProcess.java
index 51ded8f..057ed6b 100644
--- a/src/main/java/com/zy/core/plugin/XiaosongProcess.java
+++ b/src/main/java/com/zy/core/plugin/XiaosongProcess.java
@@ -178,9 +178,20 @@
                 && stationProtocol.isLoading()
                 && stationProtocol.isInEnable()
                 && stationProtocol.getTaskNo() > 0)) {
+            logTraceLimited("generate_wait_condition_" + stationId, 5,
+                    "[WCS Trace][鏉$爜绔欏叆搴揮 鏉$爜绔欐殏鏈弧瓒崇敓鎴愭潯浠躲�俿tationId={}锛宎utoing={}锛宭oading={}锛宨nEnable={}锛宔nableIn={}锛宼askNo={}锛宼argetStaNo={}锛宐arcode={}锛宔rror={}锛寃arning={}",
+                    stationId, stationProtocol.isAutoing(), stationProtocol.isLoading(),
+                    stationProtocol.isInEnable(), stationProtocol.isEnableIn(), stationProtocol.getTaskNo(),
+                    stationProtocol.getTargetStaNo(), stationProtocol.getBarcode(),
+                    stationProtocol.getError(), stationProtocol.getSystemWarning());
             return;
         }
         if (Cools.isEmpty(stationProtocol.getBarcode())) {
+            logTraceLimited("generate_wait_barcode_" + stationId, 5,
+                    "[WCS Trace][鏉$爜绔欏叆搴揮 鏉$爜绔欏凡鍒颁綅浣嗚繕娌℃湁鏉$爜銆俿tationId={}锛宼askNo={}锛宼argetStaNo={}锛宲alletHeight={}锛寃eight={}锛宔rror={}锛寃arning={}",
+                    stationId, stationProtocol.getTaskNo(), stationProtocol.getTargetStaNo(),
+                    stationProtocol.getPalletHeight(), stationProtocol.getWeight(),
+                    stationProtocol.getError(), stationProtocol.getSystemWarning());
             return;
         }
 
@@ -222,6 +233,9 @@
 
         Object generateLock = redisUtil.get(RedisKeyType.GENERATE_IN_TASK_LIMIT.key + stationId);
         if (generateLock != null) {
+            logTraceLimited("generate_wait_lock_" + stationId, 3,
+                    "[WCS Trace][鏉$爜绔欏叆搴揮 鏉$爜绔欑敓鎴愪换鍔″懡涓檺娴侀攣銆俿tationId={}锛宼askNo={}锛宐arcode={}锛寃arning={}",
+                    stationId, stationProtocol.getTaskNo(), stationProtocol.getBarcode(), stationProtocol.getSystemWarning());
             return;
         }
 
@@ -276,6 +290,20 @@
         }
     }
 
+    private void logTraceLimited(String lockKey, int seconds, String format, Object... arguments) {
+        String redisKey = RedisKeyType.LOG_LIMIT.key + "wcs_trace_" + lockKey;
+        try {
+            Object lock = redisUtil.get(redisKey);
+            if (lock != null) {
+                return;
+            }
+            redisUtil.set(redisKey, "lock", seconds);
+        } catch (Exception e) {
+            // 璇婃柇鏃ュ織涓嶈兘褰卞搷涓绘祦绋嬨��
+        }
+        News.info(format, arguments);
+    }
+
     //妫�娴嬪叆搴撶珯鏄惁鏈変换鍔$敓鎴愶紝骞跺惎鍔ㄥ叆搴�
     private synchronized void checkInStationHasTask() {
         List<BasDevp> basDevps = basDevpService.selectList(new EntityWrapper<>());

--
Gitblit v1.9.1