From 6c8ee211ae63de5f4ce0bd13b9c34f0524cd656f Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期三, 06 五月 2026 19:11:49 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/plugin/store/StoreInTaskGenerationService.java |   32 +++++++++++++++++++++++---------
 1 files changed, 23 insertions(+), 9 deletions(-)

diff --git a/src/main/java/com/zy/core/plugin/store/StoreInTaskGenerationService.java b/src/main/java/com/zy/core/plugin/store/StoreInTaskGenerationService.java
index 522b34f..9c54f23 100644
--- a/src/main/java/com/zy/core/plugin/store/StoreInTaskGenerationService.java
+++ b/src/main/java/com/zy/core/plugin/store/StoreInTaskGenerationService.java
@@ -17,10 +17,7 @@
 import com.zy.core.cache.SlaveConnection;
 import com.zy.core.dispatch.StationCommandDispatchResult;
 import com.zy.core.dispatch.StationCommandDispatcher;
-import com.zy.core.enums.RedisKeyType;
-import com.zy.core.enums.SlaveType;
-import com.zy.core.enums.StationCommandType;
-import com.zy.core.enums.WrkIoType;
+import com.zy.core.enums.*;
 import com.zy.core.model.StationObjModel;
 import com.zy.core.model.command.StationCommand;
 import com.zy.core.model.protocol.StationProtocol;
@@ -33,6 +30,7 @@
 import org.springframework.stereotype.Service;
 
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 @Service
@@ -158,10 +156,20 @@
         }
 
         String barcode = context.getStationProtocol().getBarcode();
-        long count = wrkMastService.count(new QueryWrapper<WrkMast>().eq("barcode", barcode));
-        if (count > 0) {
+        List<WrkMast> wrkMastList = wrkMastService.list(new QueryWrapper<WrkMast>()
+                .eq("barcode", barcode)
+        );
+        if (wrkMastList.size() > 0) {
+            boolean showTips = true;
+            for (WrkMast wrkMast : wrkMastList) {
+                if (wrkMast.getWrkSts().equals(WrkStsType.NEW_INBOUND.sts)) {
+                    showTips = false;
+                    break;
+                }
+            }
+
             Object tipsLimit = redisUtil.get(RedisKeyType.GENERATE_IN_TASK_SUCCESS_REPEAT_WARNING_TIPS_LIMIT.key + barcode);
-            if (tipsLimit == null) {
+            if (tipsLimit == null && showTips) {
                 policy.setSystemWarning(context, "绯荤粺浠诲姟宸插瓨鍦�");
             }
             return;
@@ -335,13 +343,13 @@
                 request.getBarcode(), request.getSourceStaNo(), result.getResponse(), result.getMessage());
         redisUtil.set(policy.getGenerateLockKey(context), "lock", policy.getRetryLockSeconds(context));
         policy.onApplyFailed(context, result);
-        triggerStationBackOnApplyFailed(context, request, result);
+        triggerStationBackOnApplyFailed(policy, context, request, result);
     }
 
     /**
      * WMS 鐢宠鍏ュ簱澶辫触鍚庯紝璐х墿浠嶅仠鐣欏湪鎵爜绔欙紝姝ゆ椂琛ュ彂閫�鍥炲埌鍏ュ簱绔欑殑杈撻�佸懡浠わ紝閬垮厤璐х墿闀挎湡婊炵暀銆�
      */
-    private void triggerStationBackOnApplyFailed(StoreInTaskContext context,
+    private void triggerStationBackOnApplyFailed(StoreInTaskPolicy policy, StoreInTaskContext context,
                                                  InTaskApplyRequest request,
                                                  InTaskApplyResult result) {
         if (context == null || context.getStationThread() == null || context.getStationObjModel() == null) {
@@ -412,6 +420,12 @@
         }
 
         redisUtil.set(lockKey, "lock", APPLY_FAIL_STATION_BACK_LOCK_SECONDS);
+        String currentWarning = stationProtocol.getSystemWarning();
+        String backWarning = "WMS鍏ュ簱澶辫触锛屽凡閫�鍥炲叆搴撶珯";
+        if (!Cools.isEmpty(currentWarning)) {
+            backWarning = currentWarning + ";" + backWarning;
+        }
+        policy.setSystemWarning(context, backWarning);
         News.warn("WMS鍏ュ簱澶辫触锛屽凡瑙﹀彂璐х墿閫�鍥炲叆搴撶珯銆俠arcode={}锛宻tationId={}锛宐ackStationId={}锛寃arning={}",
                 request == null ? null : request.getBarcode(),
                 currentStationId,

--
Gitblit v1.9.1