From 1815bcadb613f8951c02031176d2b54dcfa5a393 Mon Sep 17 00:00:00 2001
From: chen.llin <1442464845@qq.comm>
Date: 星期六, 17 一月 2026 11:09:57 +0800
Subject: [PATCH] agv出入库根据pda扫描库位识别入库站点

---
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java |   20 ++++++++++++++++----
 1 files changed, 16 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
index 173cf0c..5076fd4 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -208,21 +208,33 @@
             throw new CoolException(barcode+ "锛氭潯鐮佸瓨鍦╝gv鎼繍浠诲姟!");
         }
 
-        // 鏍规嵁whs_type閫夋嫨绔欑偣鍜屾満鍣ㄤ汉缁�
+        // 鏍规嵁whs_type鍜屽簱浣嶇紪鍙峰墠缂�閫夋嫨绔欑偣鍜屾満鍣ㄤ汉缁�
         Long whsType = locCache.getWhsType();
+        String locNo = locCache.getLocNo();
         List<String> targetStations;
         String robotGroup;
+        
+        // 鍒ゆ柇搴撲綅缂栧彿鍓嶇紑锛欳A寮�澶村彧鍋氬叆搴擄紝WA寮�澶存墠浼氳鍑哄簱鍒嗛厤缂撳瓨鍖猴紙浠庨厤缃鍙栵級
+        String inboundOnlyPrefix = agvProperties.getLocationPrefix().getInboundOnly();
+        String cacheAreaPrefix = agvProperties.getLocationPrefix().getCacheArea();
+        boolean isCA = locNo != null && locNo.startsWith(inboundOnlyPrefix);
+        boolean isWA = locNo != null && locNo.startsWith(cacheAreaPrefix);
         
         if (whsType != null && whsType.equals(agvProperties.getWhsTypeMapping().getInboundArea())) {
             // whs_type = 1: 鍏ュ簱鍖猴紝浣跨敤涓滀晶绔欑偣鍜孏roup-001
             targetStations = agvProperties.getEastStations();
             robotGroup = agvProperties.getRobotGroupEast();
-            log.info("搴撲綅whs_type={}锛屼娇鐢ㄥ叆搴撳尯閰嶇疆锛堜笢渚х珯鐐瑰拰Group-001锛�", whsType);
+            log.info("搴撲綅whs_type={}锛屽簱浣嶇紪鍙�={}锛坽}锛夛紝浣跨敤鍏ュ簱鍖洪厤缃紙{}绔欑偣鍜寋}锛�", 
+                whsType, locNo, isCA ? "CA" : (isWA ? "WA" : "鍏朵粬"), 
+                agvProperties.getEastDisplayName(), robotGroup);
         } else if (whsType != null && whsType.equals(agvProperties.getWhsTypeMapping().getCacheArea())) {
             // whs_type = 2: 缂撳瓨鍖猴紝浣跨敤瑗夸晶绔欑偣鍜孏roup-002
+            // 娉ㄦ剰锛氬鏋滄湁CA寮�澶寸殑鍏ュ簱锛屼絾鏄爣璁板湪瑗夸晶鐨勶紙whs_type=2锛夛紝涔熶細鍒嗛厤鍒拌タ渚х殑绔欑偣鍏ュ簱
             targetStations = agvProperties.getWestStations();
             robotGroup = agvProperties.getRobotGroupWest();
-            log.info("搴撲綅whs_type={}锛屼娇鐢ㄧ紦瀛樺尯閰嶇疆锛堣タ渚х珯鐐瑰拰Group-002锛�", whsType);
+            log.info("搴撲綅whs_type={}锛屽簱浣嶇紪鍙�={}锛坽}锛夛紝浣跨敤缂撳瓨鍖洪厤缃紙{}绔欑偣鍜寋}锛�", 
+                whsType, locNo, isCA ? "CA" : (isWA ? "WA" : "鍏朵粬"),
+                agvProperties.getWestDisplayName(), robotGroup);
         } else {
             // whs_type涓虹┖鎴栧叾浠栧�硷紝鏍规嵁type鍒ゆ柇锛堝吋瀹规棫閫昏緫锛�
             if (type == 1) {
@@ -316,7 +328,7 @@
         } else {
             // 娌℃湁鍙叆绔欑偣锛岃褰曟棩蹇椾絾涓嶉樆姝笅鍗曪紝绔欑偣鍒嗛厤灏嗗湪瀹氭椂浠诲姟涓鐞�
             String groupName = (whsType != null && whsType.equals(agvProperties.getWhsTypeMapping().getInboundArea())) 
-                    ? "涓滀晶" : "瑗夸晶";
+                    ? agvProperties.getEastDisplayName() : agvProperties.getWestDisplayName();
             log.warn("{}鍙敤绔欑偣锛坽}锛変腑娌℃湁鍙叆绔欑偣锛坕n_enable='Y'涓攃anining='Y'锛夛紝鏆備笉鍒嗛厤绔欑偣锛屽皢鍦ㄥ畾鏃朵换鍔′腑鍒嗛厤", groupName, canInSites);
         }
 

--
Gitblit v1.9.1