From 10778ff6207c31641187acb487d4b67c0de59b24 Mon Sep 17 00:00:00 2001
From: chen.lin <1442464845@qq.com>
Date: 星期一, 02 二月 2026 10:38:51 +0800
Subject: [PATCH] agv增加一个新单号防重复  ,增加一个手动呼叫agv

---
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java |   71 +++++++++++------------------------
 1 files changed, 23 insertions(+), 48 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 c5e27fd..cea6d8a 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -73,59 +73,21 @@
             return R.error("浠诲姟id涓嶈兘涓虹┖");
         }
         
-        log.info("鏀跺埌AGV浠诲姟鍥炶皟璇锋眰锛宼askId锛歿}锛宖romBin锛歿}锛宼oBin锛歿}锛宺obotGroup锛歿}锛宬ind锛歿}", 
-            taskId, param.getFromBin(), param.getToBin(), 
-            Cools.isEmpty(param.getRobotGroup()) ? param.getRobotName() : param.getRobotGroup(), 
+        log.info("鏀跺埌AGV浠诲姟鍥炶皟璇锋眰锛宼askId锛歿}锛宖romBin锛歿}锛宼oBin锛歿}锛宺obotGroup锛歿}锛宬ind锛歿}",
+            taskId, param.getFromBin(), param.getToBin(),
+            Cools.isEmpty(param.getRobotGroup()) ? param.getRobotName() : param.getRobotGroup(),
             param.getKind());
         
         // 鏍规嵁taskId鏌ヨ浠诲姟
-        // taskId鏍煎紡锛歍 + 宸ヤ綔鍙凤紙濡�"T5299"锛夋垨 T + 浠诲姟ID锛堝悜鍚庡吋瀹癸級
         Task task = null;
-        try {
-            // 澶勭悊"T"鍓嶇紑鏍煎紡锛堝"T5299"鎴�"T130"锛�
-            String numericId = taskId;
-            if (taskId.startsWith("T") && taskId.length() > 1) {
-                numericId = taskId.substring(1);
-                    log.debug("妫�娴嬪埌T鍓嶇紑鏍煎紡鐨則askId锛屾彁鍙栨暟瀛楋細{}", numericId);
-            }
-            
-            // 鍏堝皾璇曢�氳繃宸ヤ綔鍙凤紙wrk_no锛夋煡璇紙浼樺厛锛屽洜涓虹幇鍦ㄤ娇鐢ㄥ伐浣滃彿浣滀负taskId锛�
-            try {
-                Integer wrkNo = Integer.parseInt(numericId);
-                task = taskService.selectOne(
-                    new EntityWrapper<Task>().eq("wrk_no", wrkNo).eq("is_deleted", 0)
-                );
-                if (task != null) {
-                    log.debug("閫氳繃宸ヤ綔鍙凤紙wrk_no={}锛夋壘鍒颁换鍔★紝taskId锛歿}", wrkNo, task.getId());
-                }
-            } catch (NumberFormatException e) {
-                log.debug("鏃犳硶瑙f瀽涓哄伐浣滃彿锛宼askId锛歿}", taskId);
-            }
-            
-            // 濡傛灉閫氳繃宸ヤ綔鍙锋病鎵惧埌锛屽皾璇曢�氳繃浠诲姟ID鏌ヨ锛堝悜鍚庡吋瀹癸級
-            if (task == null) {
-                try {
-                    Long taskIdLong = Long.parseLong(numericId);
-                    task = taskService.selectById(taskIdLong);
-                    if (task != null) {
-                        log.debug("閫氳繃浠诲姟ID锛坕d={}锛夋壘鍒颁换鍔★紝taskId锛歿}", taskIdLong, taskId);
-                    }
-                } catch (NumberFormatException e) {
-                    log.debug("鏃犳硶瑙f瀽涓轰换鍔D锛宼askId锛歿}", taskId);
-                }
-            }
-        } catch (Exception e) {
-            log.debug("瑙f瀽taskId寮傚父锛宼askId锛歿}锛屽紓甯革細{}", taskId, e.getMessage());
+        // 浼樺厛閫氳繃agvWrkNo瀛楁鏌ヨ锛堟柊鏍煎紡锛歍+wrk_no+骞存湀鏃ユ椂鍒嗙锛�
+        task = taskService.selectOne(
+            new EntityWrapper<Task>().eq("agv_wrk_no", taskId).eq("is_deleted", 0)
+        );
+        if (task != null) {
+            log.debug("閫氳繃agvWrkNo锛坅gv_wrk_no={}锛夋壘鍒颁换鍔★紝taskId锛歿}", taskId, task.getId());
         }
-        
-        // 濡傛灉杩樻槸娌℃壘鍒帮紝灏濊瘯閫氳繃鍏朵粬瀛楁鏌ヨ锛堝sheetNo绛夛紝鍚戝悗鍏煎锛�
-        if (task == null) {
-            log.debug("閫氳繃宸ヤ綔鍙峰拰浠诲姟ID閮芥病鎵惧埌锛屽皾璇曢�氳繃鍏朵粬瀛楁鏌ヨ锛宼askId锛歿}", taskId);
-            task = taskService.selectOne(
-                new EntityWrapper<Task>().eq("sheet_no", taskId).eq("is_deleted", 0)
-            );
-        }
-        
+
         if (task == null) {
             log.warn("鏈壘鍒板搴旂殑浠诲姟锛宼askId锛歿}", taskId);
             return R.error("浠诲姟涓嶅瓨鍦紝taskId锛�" + taskId);
@@ -189,7 +151,20 @@
                     }
                     break;
                 case "Failed":
+                    // Cancelled=鍙栨秷锛屽彇娑堣鍗�
+                    log.warn("AGV璁㈠崟鐘舵�佷负Failed锛堝け璐ワ級锛屽け璐ヨ鍗� - 浠诲姟ID锛歿}", taskId);
+                    task.setWrkSts(10L);
+                    task.setErrorTime(new Date());
+                    task.setErrorMemo("鍥炶皟-AGV璁㈠崟鐘舵�佷负Failed锛堝け璐ワ級");
+                    taskService.updateById(task);
+                    break;
                 case "Cancelled":
+                    // Cancelled=鍙栨秷锛屽彇娑堣鍗�
+                    log.warn("AGV璁㈠崟鐘舵�佷负Cancelled锛堝彇娑堬級锛屽彇娑堣鍗� - 浠诲姟ID锛歿}", taskId);
+                    task.setWrkSts(10L);
+                    task.setErrorTime(new Date());
+                    task.setErrorMemo("鍥炶皟-AGV璁㈠崟鐘舵�佷负Cancelled锛堝彇娑堬級");
+                    taskService.updateById(task);
                 default:
                     break;
             }

--
Gitblit v1.9.1