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