From 007ee7bc1b63aa381b3a414952bbf41aeebed60e Mon Sep 17 00:00:00 2001
From: Administrator <XS@163.COM>
Date: 星期一, 27 四月 2026 16:32:19 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/core/plugin/XiaosongProcess.java | 38 ++++++++++++++++++++++++++++++++++----
1 files changed, 34 insertions(+), 4 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..cabdf39 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;
}
@@ -211,10 +222,12 @@
wrkMasts.size(), firstWrkMast.getWrkNo(), firstWrkMast.getWrkSts(),
firstWrkMast.getLocNo());
for (WrkMast wrkMast : wrkMasts) {
- if (wrkMast.getIoType().equals(WrkIoType.OUT.id) && wrkMast.getWrkSts().equals(WrkStsType.STATION_RUN.sts)) {
- wrkMast.setWrkSts(WrkStsType.COMPLETE_OUTBOUND.sts);
- wrkMast.setModiTime(new Date());
- wrkMastService.updateById(wrkMast);
+ if (wrkMast.getIoType().equals(WrkIoType.OUT.id)) {
+ if (wrkMast.getWrkSts().equals(WrkStsType.STATION_RUN.sts) || wrkMast.getWrkSts().equals(WrkStsType.STATION_RUN_COMPLETE.sts)) {
+ wrkMast.setWrkSts(WrkStsType.COMPLETE_OUTBOUND.sts);
+ wrkMast.setModiTime(new Date());
+ wrkMastService.updateById(wrkMast);
+ }
}
}
return;
@@ -222,6 +235,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 +292,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