From 3512011e94f013955b7b1e2de8558b8861db86b7 Mon Sep 17 00:00:00 2001
From: kazelee <1847801760@qq.com>
Date: 星期一, 30 六月 2025 16:38:05 +0800
Subject: [PATCH] 优化配置文件读取和AGV调度细节

---
 wms/WCSHelper.cs                                                                     |    4 
 models/TN_Loc_Container.cs                                                           |    2 
 HH.WCS.Mobox3.AnGang.csproj                                                          |    1 
 Program.cs                                                                           |    8 +-
 /dev/null                                                                            |   27 ---------
 util/Settings.cs                                                                     |   19 +++--
 api/ApiHelper.cs                                                                     |   27 ++++++--
 config/config.json                                                                   |   13 ++--
 .vs/HH.WCS.Mobox3.AnGang/FileContentIndex/aba42493-3f71-43ce-88ef-e0cd43be7a13.vsidx |    0 
 process/TaskProcess.cs                                                               |   17 ++++-
 core/WCSCore.cs                                                                      |   14 ++--
 .vs/HH.WCS.Mobox3.AnGang/FileContentIndex/0dac82e9-3813-4381-97c5-6d5e9aea9264.vsidx |    0 
 .vs/HH.WCS.Mobox3.AnGang/FileContentIndex/f899d85d-f665-4743-b2a9-9b2ea8fc7674.vsidx |    0 
 .vs/HH.WCS.Mobox3.AnGang/v17/HierarchyCache.v1.txt                                   |    0 
 14 files changed, 64 insertions(+), 68 deletions(-)

diff --git a/.vs/HH.WCS.Mobox3.AnGang/FileContentIndex/0dac82e9-3813-4381-97c5-6d5e9aea9264.vsidx b/.vs/HH.WCS.Mobox3.AnGang/FileContentIndex/0dac82e9-3813-4381-97c5-6d5e9aea9264.vsidx
new file mode 100644
index 0000000..d7d2138
--- /dev/null
+++ b/.vs/HH.WCS.Mobox3.AnGang/FileContentIndex/0dac82e9-3813-4381-97c5-6d5e9aea9264.vsidx
Binary files differ
diff --git a/.vs/HH.WCS.Mobox3.AnGang/FileContentIndex/45cd14e7-f5f2-43ad-8265-90a4e2beef30.vsidx b/.vs/HH.WCS.Mobox3.AnGang/FileContentIndex/45cd14e7-f5f2-43ad-8265-90a4e2beef30.vsidx
deleted file mode 100644
index 8526058..0000000
--- a/.vs/HH.WCS.Mobox3.AnGang/FileContentIndex/45cd14e7-f5f2-43ad-8265-90a4e2beef30.vsidx
+++ /dev/null
Binary files differ
diff --git a/.vs/HH.WCS.Mobox3.AnGang/FileContentIndex/aba42493-3f71-43ce-88ef-e0cd43be7a13.vsidx b/.vs/HH.WCS.Mobox3.AnGang/FileContentIndex/aba42493-3f71-43ce-88ef-e0cd43be7a13.vsidx
new file mode 100644
index 0000000..64ea0db
--- /dev/null
+++ b/.vs/HH.WCS.Mobox3.AnGang/FileContentIndex/aba42493-3f71-43ce-88ef-e0cd43be7a13.vsidx
Binary files differ
diff --git a/.vs/HH.WCS.Mobox3.AnGang/FileContentIndex/b46d38b7-1876-42b3-81c8-ac8f930ac5f8.vsidx b/.vs/HH.WCS.Mobox3.AnGang/FileContentIndex/b46d38b7-1876-42b3-81c8-ac8f930ac5f8.vsidx
deleted file mode 100644
index 3c039d6..0000000
--- a/.vs/HH.WCS.Mobox3.AnGang/FileContentIndex/b46d38b7-1876-42b3-81c8-ac8f930ac5f8.vsidx
+++ /dev/null
Binary files differ
diff --git a/.vs/HH.WCS.Mobox3.AnGang/FileContentIndex/cebd90f0-0f2c-46b9-a251-1039546e19c0.vsidx b/.vs/HH.WCS.Mobox3.AnGang/FileContentIndex/cebd90f0-0f2c-46b9-a251-1039546e19c0.vsidx
deleted file mode 100644
index a53f2cc..0000000
--- a/.vs/HH.WCS.Mobox3.AnGang/FileContentIndex/cebd90f0-0f2c-46b9-a251-1039546e19c0.vsidx
+++ /dev/null
Binary files differ
diff --git a/.vs/HH.WCS.Mobox3.AnGang/FileContentIndex/f899d85d-f665-4743-b2a9-9b2ea8fc7674.vsidx b/.vs/HH.WCS.Mobox3.AnGang/FileContentIndex/f899d85d-f665-4743-b2a9-9b2ea8fc7674.vsidx
new file mode 100644
index 0000000..f2a4816
--- /dev/null
+++ b/.vs/HH.WCS.Mobox3.AnGang/FileContentIndex/f899d85d-f665-4743-b2a9-9b2ea8fc7674.vsidx
Binary files differ
diff --git a/.vs/HH.WCS.Mobox3.AnGang/v17/HierarchyCache.v1.txt b/.vs/HH.WCS.Mobox3.AnGang/v17/HierarchyCache.v1.txt
new file mode 100644
index 0000000..66f4b57
--- /dev/null
+++ b/.vs/HH.WCS.Mobox3.AnGang/v17/HierarchyCache.v1.txt
Binary files differ
diff --git a/HH.WCS.Mobox3.AnGang.csproj b/HH.WCS.Mobox3.AnGang.csproj
index 2b3bf1d..a203388 100644
--- a/HH.WCS.Mobox3.AnGang.csproj
+++ b/HH.WCS.Mobox3.AnGang.csproj
@@ -310,7 +310,6 @@
   <ItemGroup>
     <None Include=".editorconfig" />
     <None Include="App.config" />
-    <None Include="config\config.comment.json" />
     <None Include="config\config.json">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </None>
diff --git a/Program.cs b/Program.cs
index daf7415..af3c7cb 100644
--- a/Program.cs
+++ b/Program.cs
@@ -23,7 +23,7 @@
             //1.0 寮�惎api
             Startup();
             //2.0 寮�惎tcp
-            StartTcp();
+            //StartTcp();
             //3.0 寮�惎S7
             //StartS7();
             //4.0 寮�惎Modbus
@@ -76,9 +76,9 @@
         /// </summary>
         private static void StartTcp()
         {
-            var tcpServerIP = Settings.TCPServerIP;
-            var tcpServerPort = Settings.TCPServerPort;
-            new TcpServer(tcpServerIP, tcpServerPort);
+            //var tcpServerIP = Settings.TCPServerIP;
+            //var tcpServerPort = Settings.TCPServerPort;
+            //new TcpServer(tcpServerIP, tcpServerPort);
 
         }
 
diff --git a/api/ApiHelper.cs b/api/ApiHelper.cs
index c5fad07..9b0fc26 100644
--- a/api/ApiHelper.cs
+++ b/api/ApiHelper.cs
@@ -23,13 +23,15 @@
             var taskName = TaskName.浜у搧鍏ュ簱;
             var db = new SqlHelper<object>().GetInstance();
 
+            var startAreas = Settings.Areas[AreaIndex.Q鍙栬揣鍖篯;
+
             try {
                 // 璧风偣浣嶇疆蹇呴』锛氫负绌恒�鏃犻攣銆佸惎鐢ㄣ�灞炰簬鏀跺彂鍖哄煙
                 var startLoc = db.Queryable<TN_Location>()
                     .Where(a => a.S_CODE == model.StartLoc)
                     .Where(a => a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "鏃� && a.C_ENABLE == "Y")
                     //.Where(a => a.N_CURRENT_NUM == 0)
-                    .Where(a => Settings.Areas[0].Contains(a.S_AREA_CODE)) // 鏀跺彂鍖�+                    .Where(a => startAreas.Contains(a.S_AREA_CODE))
                     .First();
 
                 if (startLoc == null) {
@@ -150,13 +152,15 @@
             var taskName = TaskName.浜у搧鍏ュ簱;
             var db = new SqlHelper<object>().GetInstance();
 
+            var startAreas = Settings.Areas[AreaIndex.Q鍙栬揣鍖篯;
+
             try {
                 // 璧风偣浣嶇疆蹇呴』锛氫负绌恒�鏃犻攣銆佸惎鐢ㄣ�灞炰簬鏀跺彂鍖哄煙
                 var startLoc = db.Queryable<TN_Location>()
                     .Where(a => a.S_CODE == model.StartLoc)
                     .Where(a => a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "鏃� && a.C_ENABLE == "Y")
                     //.Where(a => a.N_CURRENT_NUM == 0)
-                    .Where(a => Settings.Areas[0].Contains(a.S_AREA_CODE)) // 鏀跺彂鍖�+                    .Where(a => startAreas.Contains(a.S_AREA_CODE))
                     .First();
 
                 if (startLoc == null) {
@@ -261,6 +265,8 @@
 
             var db = new SqlHelper<object>().GetInstance();
 
+            var endAreas = Settings.Areas[AreaIndex.H璐ф灦鍖篯;
+
             try {
                 // 浠诲姟鍙峰瓨鍦細缁堢偣璐ф灦鍜岀粓鐐逛綅缃负绌猴紝涓斾换鍔′负浜у搧鍏ュ簱(PDA)
                 var task = db.Queryable<TN_Task>()
@@ -305,7 +311,7 @@
                         .Where(a => a.S_CODE == model.EndLoc)
                         .Where(a => a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "鏃� && a.C_ENABLE == "Y")
                         .Where(a => a.N_CURRENT_NUM == 0)
-                        .Where(a => Settings.Areas[1].Contains(a.S_AREA_CODE))
+                        .Where(a => endAreas.Contains(a.S_AREA_CODE))
                         .Where(a => a.N_LAYER <= 2)
                         .First();
                 }
@@ -314,7 +320,7 @@
                         .Where(a => a.S_CODE == model.EndLoc)
                         .Where(a => a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "鏃� && a.C_ENABLE == "Y")
                         .Where(a => a.N_CURRENT_NUM == 0)
-                        .Where(a => Settings.Areas[1].Contains(a.S_AREA_CODE))
+                        .Where(a => endAreas.Contains(a.S_AREA_CODE))
                         .OrderBy(a => a.N_LAYER > 2 ? 0 : 1) // 浼樺厛鍙栧ぇ浜�鐨�                         //.Where(a => a.N_LAYER <= 3)
                         .First();
@@ -375,11 +381,15 @@
             var taskName = TaskName.浜у搧閮ㄥ垎鍑哄簱;
             var db = new SqlHelper<object>().GetInstance();
 
+            var startAreas = Settings.Areas[AreaIndex.H璐ф灦鍖篯;
+            var endAreas = Settings.Areas[AreaIndex.X鍗歌揣鍖篯;
+
             try {
                 // 璧风偣浣嶇疆锛氳揣鏋讹紙鏈夎揣銆佹病鏈夐攣銆佸凡鍚敤锛�                 var startLoc = db.Queryable<TN_Location>()
                     .Where(a => a.S_CODE == model.startLoc)
                     .Where(a => a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "鏃� && a.C_ENABLE == "Y")
+                    .Where(a => startAreas.Contains(a.S_AREA_CODE))
                     .Where(a => a.N_CURRENT_NUM == 1)
                     .First();
 
@@ -393,7 +403,7 @@
                     return BuildSimpleResult(3, $"璧风偣浣嶇疆 {model.startLoc} 娌℃湁缁戝畾瀹瑰櫒锛屾棤鍙嚭搴撶殑鐗╂枡");
                 }
 
-                var endLoc = db.Queryable<TN_Location>().First(a => a.S_CODE == model.endLoc && a.N_CURRENT_NUM == 0 && a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "鏃� && a.C_ENABLE == "Y" && Settings.Areas[0].Contains(a.S_AREA_CODE));
+                var endLoc = db.Queryable<TN_Location>().First(a => a.S_CODE == model.endLoc && a.N_CURRENT_NUM == 0 && a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "鏃� && a.C_ENABLE == "Y" && endAreas.Contains(a.S_AREA_CODE));
 
                 if (endLoc == null) {
                     return BuildSimpleResult(4, $"缁堢偣浣嶇疆 {model.endLoc} 涓嶅叿澶囨斁璐ф潯浠�);
@@ -446,9 +456,12 @@
             var taskName = TaskName.浜у搧閮ㄥ垎鍥炲簱;
             var db = new SqlHelper<object>().GetInstance();
 
+            var startAreas = Settings.Areas[AreaIndex.X鍗歌揣鍖篯;
+            var endAreas = Settings.Areas[AreaIndex.H璐ф灦鍖篯;
+
             try {
                 // 璧风偣浣嶇疆锛氬彇鏀捐揣鍖猴紙鏈夎揣鐗┿�娌℃湁閿併�宸插惎鐢級
-                var startLoc = db.Queryable<TN_Location>().First(a => a.S_CODE == model.startLoc && a.N_CURRENT_NUM == 1 && a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "鏃� && a.C_ENABLE == "Y" && Settings.Areas[0].Contains(a.S_AREA_CODE));
+                var startLoc = db.Queryable<TN_Location>().First(a => a.S_CODE == model.startLoc && a.N_CURRENT_NUM == 1 && a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "鏃� && a.C_ENABLE == "Y" && startAreas.Contains(a.S_AREA_CODE));
                 if (startLoc == null) {
                     return BuildSimpleResult(2, $"璧风偣浣嶇疆 {model.startLoc} 涓嶇鍚堝洖搴撴潯浠�);
                 }
@@ -459,7 +472,7 @@
                 }
 
                 // 缁堢偣浣嶇疆锛氳揣鏋讹紙娌℃湁璐х墿锛屾病鏈夐攣锛�-                var endLoc = db.Queryable<TN_Location>().First(a => a.S_CODE == model.endLoc && a.N_CURRENT_NUM == 0 && a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "鏃� && a.C_ENABLE == "Y");
+                var endLoc = db.Queryable<TN_Location>().First(a => a.S_CODE == model.endLoc && a.N_CURRENT_NUM == 0 && a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "鏃� && a.C_ENABLE == "Y" && endAreas.Contains(a.S_AREA_CODE));
                 if (endLoc == null) {
                     return BuildSimpleResult(4, $"缁堢偣浣嶇疆 {model.endLoc} 涓嶅叿澶囨斁璐ф潯浠�);
                 }
diff --git a/config/config.comment.json b/config/config.comment.json
deleted file mode 100644
index d34ee7a..0000000
--- a/config/config.comment.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
-    "WebApiUrl": "http://127.0.0.1:8901", // 缁堢鍦板潃
-    "RCSApiUrl": "http://127.0.0.1:6001", // 鍥借嚜AGV璋冨害
-    "NDCApiUrl": "http://127.0.0.1:5201/api/order/", // 椤圭洰涓嶄娇鐢�-    "SqlServer": "Data Source=192.168.1.144;Initial Catalog=YinKouAnGan;User ID=hhuser;Password=Hh123321&&", // 鏁版嵁搴撳湴鍧�-    "TCPServerIP": "127.0.0.1",
-    "TCPServerPort": 8085,
-    "Areas": [
-        {
-            "Name": "鍙栨斁璐у尯",
-            "Codes": [ "QFHQ" ]
-        },
-        {
-            "Name": "璐ф灦鍖�,
-            "Codes": [ "HJQ" ]
-        }
-    ],
-    "Snaps": [ // 鐩告満鎷嶆憚鐨処P鍜岃处鍙峰瘑鐮佷俊鎭�-        {
-            "Ip": "172.23.8.95",
-            "Port": 37777,
-            "Name": "admin",
-            "Pwd": "123456"
-        }
-    ],
-    "CaptureUrl": "http://127.0.0.1/" // 鐩告満淇濆瓨鍥剧墖鐨勫湴鍧�-}
\ No newline at end of file
diff --git a/config/config.json b/config/config.json
index a1155a6..f870ef2 100644
--- a/config/config.json
+++ b/config/config.json
@@ -1,16 +1,17 @@
 {
     "WebApiUrl": "http://127.0.0.1:8901",
     "RCSApiUrl": "http://127.0.0.1:6001/",
-    "NDCApiUrl": "http://127.0.0.1:5201/api/order/",
     "SqlServer": "Data Source=192.168.1.144;Initial Catalog=YinKouAnGan;User ID=hhuser;Password=Hh123321&&",
-    "TCPServerIP": "127.0.0.1",
-    "TCPServerPort": 8085,
     "Areas": [
         {
-            "Name": "鍙栨斁璐у尯",
-            "Codes": [ "QFHQ" ]
+            "Name": "鍙栬揣鍖�,
+            "Codes": [ "AGVQH" ]
         },
-        {   
+        {
+            "Name": "鍗歌揣鍖�,
+            "Codes": [ "AGVXH" ]
+        },
+        {
             "Name": "璐ф灦鍖�,
             "Codes": [ "HJQ" ]
         }
diff --git a/core/WCSCore.cs b/core/WCSCore.cs
index 63ae73d..8cebf87 100644
--- a/core/WCSCore.cs
+++ b/core/WCSCore.cs
@@ -126,13 +126,13 @@
                     return;
                 }
 
-                if (db.Updateable<TN_Loc_Container>()
-                    .SetColumns(d => d.S_IMG_URL == filepath)
-                    .Where(d => d.S_CNTR_CODE == model.S_CNTR_CODE).ExecuteCommand() <= 0) {
+                //if (db.Updateable<TN_Loc_Container>()
+                //    .SetColumns(d => d.S_IMG_URL == filepath)
+                //    .Where(d => d.S_CNTR_CODE == model.S_CNTR_CODE).ExecuteCommand() <= 0) {
 
-                    LogHelper.Info($"鍥剧墖URL '{filepath}' 鍐欏叆鏁版嵁搴撳け璐�);
-                    return;
-                }
+                //    LogHelper.Info($"鍥剧墖URL '{filepath}' 鍐欏叆鏁版嵁搴撳け璐�);
+                //    return;
+                //}
             }
             catch (Exception ex) {
                 LogHelper.Info($"鍙戠敓浜嗛敊璇細{ex.Message}");
@@ -245,7 +245,7 @@
 
                 // 濡傛灉娌℃湁绗﹀悎鏉′欢鐨勮揣浣嶏紝缃┖锛岀瓑寰匬DA閲嶆柊纭畾
                 if (endLoc == null) {
-                    tn_task.S_END_AREA = Settings.Areas[1][0]; // HJQ
+                    tn_task.S_END_AREA = Settings.Areas[AreaIndex.H璐ф灦鍖篯[0]; // HJQ
                     tn_task.S_END_LOC = "0";
 
                     // 涓嶉渶瑕佸啀缁橤Z AGV浼犵┖鍊硷紝涓�紑濮嬪氨娌$粰鍏蜂綋璐т綅锛屽彧缁欎簡Area
diff --git a/models/TN_Loc_Container.cs b/models/TN_Loc_Container.cs
index 633e6cf..0c58e8a 100644
--- a/models/TN_Loc_Container.cs
+++ b/models/TN_Loc_Container.cs
@@ -20,6 +20,6 @@
         /// <summary>
         /// 鍥剧墖閾炬帴
         /// </summary>
-        public string S_IMG_URL { get; set; } = "";
+        //public string S_IMG_URL { get; set; } = "";
     }
 }
diff --git a/process/TaskProcess.cs b/process/TaskProcess.cs
index 8255a80..390e9ea 100644
--- a/process/TaskProcess.cs
+++ b/process/TaskProcess.cs
@@ -29,7 +29,6 @@
                 LogHelper.Info($"浠诲姟{mst.S_CODE} 璐т綅{mst.S_END_LOC}鍗歌揣瀹屾垚锛岀粓鐐圭粦瀹氬鍣▄mst.S_CNTR_CODE}");
                 LocationHelper.BindingLoc(mst.S_END_LOC, mst.S_CNTR_CODE.Split(',').ToList());
             }
-
         }
 
         /// <summary>
@@ -45,13 +44,10 @@
                 LocationHelper.UnLockLoc(mst.S_END_LOC);
             }
             else {
-
                 //璧风偣缁堢偣瑙i攣
                 LocationHelper.UnLockLoc(mst.S_START_LOC);
                 LocationHelper.UnLockLoc(mst.S_END_LOC);
-
             }
-
         }
 
         /// <summary>
@@ -118,8 +114,19 @@
                 var startSite = LocationHelper.GetAgvSite(mst.S_START_LOC);
                 var endSite = LocationHelper.GetAgvSite(mst.S_END_LOC); // 濡傛灉鎵句笉鍒颁細杩斿洖0锛屽氨鏄亣缁堢偣
 
-                var code = GZRobot.CreateOrder(mst.S_CODE, mst.N_PRIORITY, JsonConvert.SerializeObject(new { src = startSite, dst = endSite }), "p2pdst", "pgapi");
+                var code = -1;
+                if (taskType == TaskName.浜у搧鍏ュ簱) {
+                    code = GZRobot.CreateOrder(mst.S_CODE, mst.N_PRIORITY, JsonConvert.SerializeObject(new { src = startSite, order_name = $"{mst.S_CODE}" }), "p2pdst", "pgapi");
+                }
+                else {
+                    code = GZRobot.CreateOrder(mst.S_CODE, mst.N_PRIORITY, JsonConvert.SerializeObject(new { src = startSite, dst = endSite }), "p2p", "pgapi");
+                }
 
+                // car_type 榛樿涓�
+                // src_ort 璐ф灦鎺掑彿
+                // dst_orc 璐ф灦灞傛暟锛堝悗涓や釜淇℃伅搴旇涓哄浗鑷狝GV鍐呴儴缁存姢锛屼互鍚庨潰鏇存敼鐨勭粨鏋滀负鍑嗭級
+
+                //var code = GZRobot.CreateOrder(mst.S_CODE, mst.N_PRIORITY, $"{{\"src\" = \"{startSite}\", \"dst\" = \"{endSite}\", \"car-type\": 1 }}", "p2pdst", "pgapi");
                 if (code > 0) {
                     //鏇存柊浠诲姟鐘舵�
                     mst.N_B_STATE = 1;
diff --git a/util/Settings.cs b/util/Settings.cs
index 4072f54..796fe32 100644
--- a/util/Settings.cs
+++ b/util/Settings.cs
@@ -49,10 +49,10 @@
 
                 WebApiUrl = root.WebApiUrl;
                 RCSApiUrl = root.RCSApiUrl;
-                NDCApiUrl = root.NDCApiUrl;
+                //NDCApiUrl = root.NDCApiUrl;
                 SqlServer = root.SqlServer;
-                TCPServerIP = root.TCPServerIP;
-                TCPServerPort = root.TCPServerPort;
+                //TCPServerIP = root.TCPServerIP;
+                //TCPServerPort = root.TCPServerPort;
                 //Areas = root.Areas;
                 foreach (var item in root.Areas) {
                     Areas.Add(item.Codes);
@@ -90,10 +90,7 @@
         public class Root {
             public string WebApiUrl { get; set; }
             public string RCSApiUrl { get; set; }
-            public string NDCApiUrl { get; set; }
             public string SqlServer { get; set; }
-            public string TCPServerIP { get; set; }
-            public int TCPServerPort { get; set; }
             public List<Area> Areas { get; set; }
             public List<Snap> Snaps { get; set; }
             public string CaptureUrl { get; set; }
@@ -105,13 +102,19 @@
             public string Name { get; set; }
             public string Pwd { get; set; }
         }
+
+
     }
 
     public class TaskName {
         public const string 浜у搧鍏ュ簱 = "浜у搧鍏ュ簱";
         public const string 浜у搧閮ㄥ垎鍑哄簱 = "浜у搧閮ㄥ垎鍑哄簱";
         public const string 浜у搧閮ㄥ垎鍥炲簱 = "浜у搧閮ㄥ垎鍥炲簱";
-        public const string 鐩樼偣鐞嗚揣鍑哄簱 = "鐩樼偣鐞嗚揣鍑哄簱";
-        public const string 鐩樼偣鐞嗚揣鍥炲簱 = "鐩樼偣鐞嗚揣鍥炲簱";
+    }
+
+    public class AreaIndex {
+        public const int Q鍙栬揣鍖�= 0;
+        public const int X鍗歌揣鍖�= 1;
+        public const int H璐ф灦鍖�= 2;
     }
 }
diff --git a/wms/WCSHelper.cs b/wms/WCSHelper.cs
index e5b9168..a26739a 100644
--- a/wms/WCSHelper.cs
+++ b/wms/WCSHelper.cs
@@ -64,7 +64,7 @@
 
         public static TN_Task BuildInboundTask(TN_Location startLoc, string endLocCode, string cntId) {
             var type = TaskName.浜у搧鍏ュ簱;
-            var endArea = Settings.Areas[1][0]; // HJQ
+            var endArea = Settings.Areas[AreaIndex.H璐ф灦鍖篯[0]; // HJQ
 
             TN_Task TN_Task = new TN_Task() {
                 S_CODE = GenerateTaskNo(),
@@ -100,7 +100,7 @@
             var endArea = "";
             if (endLoc == null) {
                 if (taskType == TaskName.浜у搧鍏ュ簱) {
-                    endArea = Settings.Areas[1][0]; // HJQ
+                    endArea = Settings.Areas[AreaIndex.H璐ф灦鍖篯[0]; // HJQ
                 }
                 else {
                     LogHelper.Info("缁堢偣璐т綅涓嶅瓨鍦紝涓斾换鍔$被鍨嬩笉鏄疨DA璐у搧鍏ュ簱");

--
Gitblit v1.9.1