From 12067f657bc3dc169a7a466e433374368e8daf73 Mon Sep 17 00:00:00 2001
From: chen.llin <1442464845@qq.comm>
Date: 星期日, 18 一月 2026 16:14:27 +0800
Subject: [PATCH] 越库订单逻辑调整

---
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java |   22 ++++++++++++++++++----
 1 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
index 70d664c..c4c7790 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -61,7 +61,7 @@
     @Override
     @Transactional(rollbackFor = Exception.class)
     public R agvCallback(AgvCallbackDto param) {
-        log.debug("agvCallback param:{}", param);
+        log.debug("agv鍥炶皟 param:{}", param);
         // 浼樺厛浣跨敤taskId锛屽鏋滄病鏈夊垯浣跨敤id锛堝悜鍚庡吋瀹癸級
         String taskId = Cools.isEmpty(param.getTaskId()) ? param.getId() : param.getTaskId();
         if (Cools.isEmpty(taskId)) {
@@ -76,8 +76,14 @@
         // 鏍规嵁taskId鏌ヨ浠诲姟
         Task task = null;
         try {
+            // 澶勭悊"T"鍓嶇紑鏍煎紡锛堝"T130"锛夛紝杩欐槸AGV浠诲姟鍒涘缓鏃剁殑鏍煎紡
+            String numericId = taskId;
+            if (taskId.startsWith("T") && taskId.length() > 1) {
+                numericId = taskId.substring(1);
+                log.debug("妫�娴嬪埌T鍓嶇紑鏍煎紡鐨則askId锛屾彁鍙栨暟瀛桰D锛歿}", numericId);
+            }
             // 灏濊瘯灏唗askId瑙f瀽涓篖ong绫诲瀷鐨刬d
-            Long taskIdLong = Long.parseLong(taskId);
+            Long taskIdLong = Long.parseLong(numericId);
             task = taskService.selectById(taskIdLong);
         } catch (NumberFormatException e) {
             // 濡傛灉涓嶆槸鏁板瓧锛屽皾璇曢�氳繃鍏朵粬瀛楁鏌ヨ锛堝sheetNo绛夛級
@@ -131,8 +137,16 @@
             String kind = param.getKind();
             if ("璐х墿杞繍".equals(kind)) {
                 log.info("澶勭悊璐х墿杞繍浠诲姟锛宼askId锛歿}", taskId);
-            } else if ("瀹炴墭鍏ュ簱".equals(kind)) {
-                log.info("澶勭悊瀹炴墭鍏ュ簱浠诲姟锛宼askId锛歿}", taskId);
+            } else if ("瀹炴墭鍏ュ簱".equals(kind) || "绌烘墭鍏ュ簱".equals(kind)) {
+                log.info("澶勭悊鍏ュ簱浠诲姟锛宼askId锛歿}", taskId);
+                // 鍏ュ簱浠诲姟锛氬鏋滄敹鍒扮‘璁ゅ彇璐у洖璋冿紙loaded=true锛夛紝瀹岀粨AGV鍛煎彨鍗�
+                if (Boolean.TRUE.equals(param.getLoaded())) {
+                    // 濡傛灉浠诲姟鐘舵�佹槸8锛堝凡鍛煎彨AGV锛夛紝鏇存柊涓�9锛堜换鍔″畬鎴愶級
+                    if (task.getWrkSts() != null && task.getWrkSts() == 8L) {
+                        task.setWrkSts(9L);
+                        log.info("鍏ュ簱浠诲姟鏀跺埌纭鍙栬揣鍥炶皟锛屽畬缁揂GV鍛煎彨鍗曪紝taskId锛歿}", taskId);
+                    }
+                }
             } else if ("瀹炴墭鍑哄簱".equals(kind)) {
                 log.info("澶勭悊瀹炴墭鍑哄簱浠诲姟锛宼askId锛歿}", taskId);
             }

--
Gitblit v1.9.1