From 8ea7380ee486d842bdd96824ac490ba53b454b58 Mon Sep 17 00:00:00 2001 From: IPC-610 <IPC-610@DESKTOP-6LEOOS3> Date: 星期三, 30 十月 2024 08:22:59 +0800 Subject: [PATCH] 修改问题 --- Admin.NET/WCS.Application/PLC/PLCCommon.cs | 346 ++++++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 242 insertions(+), 104 deletions(-) diff --git a/Admin.NET/WCS.Application/PLC/PLCCommon.cs b/Admin.NET/WCS.Application/PLC/PLCCommon.cs index 6aca413..2cc7b0b 100644 --- a/Admin.NET/WCS.Application/PLC/PLCCommon.cs +++ b/Admin.NET/WCS.Application/PLC/PLCCommon.cs @@ -1,4 +1,6 @@ -锘縰sing Microsoft.AspNetCore.SignalR; +锘縰sing Elastic.Clients.Elasticsearch.Tasks; +using Furion.Logging; +using Microsoft.AspNetCore.SignalR; using RazorEngine.Compilation.ImpromptuInterface.Dynamic; using System; using System.Collections.Generic; @@ -30,13 +32,14 @@ taskInfo.EndCeng = "3"; taskInfo.EndLie = "65"; taskInfo.EndPai = int.Parse(roadWay.Substring(1,2)).ToString(); + // 绉诲簱浠诲姟 if (taskType == "2") { if (roadWay == endRoadWay) // 鍚屽贩閬撶Щ搴�,鑾峰彇鐩爣鍦板潃 { - taskInfo = GetEndPai(endLocat.Substring(1, 2), endLocat.Substring(0, 2), endLocat.Substring(4, 2), endLocat.Substring(6, 2)); + taskInfo = GetEndPai(endRoadWay.Substring(1, 2),endLocat.Substring(2, 2), endLocat.Substring(0, 2), endLocat.Substring(4, 2), endLocat.Substring(6, 2)); } else // 璺ㄥ贩閬撶Щ搴擄紝鑾峰彇涓夋ゼ鍑哄簱鍙� { @@ -206,6 +209,114 @@ } } + //鏍规嵁宸烽亾鍙e拰灞傛暟纭鍑哄簱宸ヤ綅鎺� + + + switch (roadWay) + { + case "R01": + + if (taskInfo.EndCeng == "1") + { + taskInfo.EndPai = "2"; + } + if (taskInfo.EndCeng == "2" || taskInfo.EndCeng == "3") + { + taskInfo.EndPai = "3"; + } + break; + case "R02": + + if (taskInfo.EndCeng == "1") + { + taskInfo.EndPai = "2"; + } + if (taskInfo.EndCeng == "2" || taskInfo.EndCeng == "3") + { + taskInfo.EndPai = "3"; + } + break; + case "R03": + if (taskInfo.EndCeng == "1") + { + taskInfo.EndPai = "2"; + } + if (taskInfo.EndCeng == "2" || taskInfo.EndCeng == "3") + { + taskInfo.EndPai = "3"; + } + break; + case "R04": + if (taskInfo.EndCeng == "1") + { + taskInfo.EndPai = "2"; + } + if (taskInfo.EndCeng == "2" || taskInfo.EndCeng == "3") + { + taskInfo.EndPai = "3"; + } + break; + case "R05": + if (taskInfo.EndCeng == "1") + { + taskInfo.EndPai = "2"; + } + if (taskInfo.EndCeng == "2" || taskInfo.EndCeng == "3") + { + taskInfo.EndPai = "3"; + } + break; + case "R06": + if (taskInfo.EndCeng == "1" || taskInfo.EndCeng == "2" ) + { + taskInfo.EndPai = "2"; + } + if ( taskInfo.EndCeng == "3") + { + taskInfo.EndPai = "3"; + } + break; + case "R07": + if (taskInfo.EndCeng == "1" ) + { + taskInfo.EndPai = "2"; + } + if ( taskInfo.EndCeng == "2" || taskInfo.EndCeng == "3") + { + taskInfo.EndPai = "3"; + } + break; + case "R08": + if (taskInfo.EndCeng == "1") + { + taskInfo.EndPai = "2"; + } + if (taskInfo.EndCeng == "2" || taskInfo.EndCeng == "3") + { + taskInfo.EndPai = "3"; + } + break; + case "R09": + if (taskInfo.EndCeng == "1") + { + taskInfo.EndPai = "2"; + } + if (taskInfo.EndCeng == "2" || taskInfo.EndCeng == "3") + { + taskInfo.EndPai = "3"; + } + break; + case "R10": + if (taskInfo.EndCeng == "1" || taskInfo.EndCeng == "2") + { + taskInfo.EndPai = "2"; + } + if (taskInfo.EndCeng == "3") + { + taskInfo.EndPai = "3"; + } + break; + } return taskInfo; } @@ -215,80 +326,82 @@ /// </summary> /// <param name="startStation"></param> /// <returns></returns> - public static PlcTaskInfo GetPlcIp(string startStation) + public static PLCUtil GetPlcIp(string startStation) { - PlcTaskInfo taskInfo = new PlcTaskInfo(); - - var conveyList1 = new List<string>() { "147", "145", "139", "137", "129", "127", "121", "119", "111", "109", "103", "101", "093", "091", "085", "083", "075", "073", "067", "065" }; - var conveyList2 = new List<string>() { "252", "254", "260", "262", "272", "272", "278", "280", "288", "290", "294", "301", "307", "309", "315", "317", "325", "327", "331", "337" }; + string strIp = ""; + var conveyList1 = new List<string>() { "147", "145", "139", "137", "129", "127", "121", "119", "111", "109", "103", "101", "093", "091", "085", "083", "075", "073", "067", "065","033","039","044" ,"051","059"}; + var conveyList2 = new List<string>() { "205", "234", "252", "254", "260", "262", "270", "272", "278", "280", "288", "290", "294", "301", "307", "309", "315", "317", "325", "327", "331", "337" }; var conveyList3 = new List<string>() { "401", "402", "405", "406", "409", "410", "413", "414", "417", "418", "421", "422", "425", "426", "429", "430", "433", "434", "437", "438" }; if (conveyList1.Contains(startStation)) { - taskInfo.Ip = "10.18.51.110"; + strIp = "10.18.51.110"; } else if (conveyList2.Contains(startStation)) { - taskInfo.Ip = "10.18.51.120"; + strIp = "10.18.51.120"; } else if (conveyList3.Contains(startStation)) { - taskInfo.Ip = "10.18.51.130"; + strIp = "10.18.51.130"; } else { - throw new Exception("宸ヤ綅鏈煡璇㈠埌"); + throw Oops.Bah("宸ヤ綅鏈煡璇㈠埌"); } - - return taskInfo; + var plcConveyorConn = PLCTaskAction.listPlcConn.First(m => m.PlcIP == strIp); + return plcConveyorConn; } /// <summary> - /// 鏍规嵁wms鐩爣鍦板潃杞崲涓篜lc鐩爣鍦板潃 + /// 鏍规嵁wms鐩爣鍦板潃杞崲涓篜lc鐩爣鍦板潃 03010301 /// </summary> - /// <param name="lie">鍒�</param> - /// <param name="pai">鎺�</param> + /// <param name="road">宸烽亾02</param> + /// <param name="lie">鍒�01</param> + /// <param name="pai">鎺�03</param> /// <param name="ceng">灞�</param> - /// <param name="dept">娣卞害</param> + /// <param name="dept">娣卞害01</param> /// <returns></returns> - public static PlcTaskInfo GetEndPai(string lie, string pai,string ceng, string dept) + public static PlcTaskInfo GetEndPai(string road,string lie, string pai,string ceng, string dept) { - var roadNum = int.Parse(lie); + var roadNum = int.Parse(road); + var lieNum = int.Parse(lie); var paiNum = int.Parse(pai); + var cengNum = int.Parse(ceng); var deptNum = int.Parse(dept); var paiVal = 0; // 鍒ゆ柇宸烽亾濂囧伓鏁� - if (roadNum % 2 == 0)// 鍋舵暟 - { - // 鍒ゆ柇鎺掑鍋舵暟 - if (paiNum % 2 == 0) - { - if (deptNum == 1) - { - paiVal = 3; - } - else - { - paiVal = 4; - } - } - else - { - if (deptNum == 1) - { - paiVal = 1; - } - else - { - paiVal = 2; - } - } + //if (roadNum % 2 == 0)// 鍋舵暟 + //{ + // // 鍒ゆ柇鎺掑鍋舵暟 + // if (paiNum % 2 == 0) + // { + // if (deptNum == 1) + // { + // paiVal = 3; + // } + // else + // { + // paiVal = 4; + // } + // } + // else + // { + // if (deptNum == 1) + // { + // paiVal = 2; + // } + // else + // { + // paiVal = 1; + // } + // } - } - else // 濂囨暟 - { + //} + //else // 濂囨暟 + //{ // 鍒ゆ柇鎺掑鍋舵暟 if (paiNum % 2 == 0) { @@ -314,13 +427,16 @@ } } - } + //} PlcTaskInfo taskInfo = new PlcTaskInfo(); - taskInfo.EndPai = pai; - taskInfo.EndCeng = ceng; - taskInfo.EndLie = paiVal.ToString(); - + taskInfo.EndPai = paiVal.ToString(); + taskInfo.EndCeng = cengNum.ToString(); + taskInfo.EndLie = lieNum.ToString() ; + if (taskInfo.EndPai == "0" || taskInfo.EndCeng == "0" || taskInfo.EndLie == "0") + { + throw new Exception("鎺掑垪灞傝浆鎹㈠け璐�"); + } return taskInfo; } @@ -552,28 +668,46 @@ public static string GetRoadwayByStationNew(string StationNum) { string value = ""; - var conveyList1 = new List<string>() { "147", "145", "139", "137", "129", "127", "121", "119", "111", "109", "103", "101", "093", "091", "085", "083", "075", "073", "067", "065" }; - var conveyList2 = new List<string>() { "252", "254", "260", "262", "272", "270", "278", "280", "288", "290", "294", "301", "307", "309", "315", "317", "325", "327", "331", "337" }; - var conveyList3 = new List<string>() { "401", "402", "405", "406", "409", "410", "413", "414", "417", "418", "421", "422", "425", "426", "429", "430", "433", "434", "437", "438" }; + //var conveyList1 = new List<string>() { "147", "145", "139", "137", "129", "127", "121", "119", "111", "109", "103", "101", "093", "091", "085", "083", "075", "073", "067", "065" }; + //var conveyList2 = new List<string>() { "252", "254", "260", "262", "272", "270", "278", "280", "288", "290", "294", "301", "307", "309", "315", "317", "325", "327", "331", "337" }; + //var conveyList3 = new List<string>() { "401", "402", "405", "406", "409", "410", "413", "414", "417", "418", "421", "422", "425", "426", "429", "430", "433", "434", "437", "438" }; - if (conveyList1.Contains(StationNum)) + var ipInfo = _db.Queryable<WcsPlc>().Where(s => s.Type == PLCTypeEnum.ConveyorLine && s.IsDelete == false).ToList(); //s.Type == PLCTypeEnum.StackingMachine || + var ip1 = ipInfo.First(m => m.Text == "1灞傛墭鐩樿緭閫佺嚎"); + var ip2 = ipInfo.First(m => m.Text == "2灞傛墭鐩樿緭閫佺嚎"); + var ip3 = ipInfo.First(m => m.Text == "3灞傛墭鐩樿緭閫佺嚎"); + + if (ip1 != null) { - value = "1"; - } - else if (conveyList2.Contains(StationNum)) - { - value = "2"; - } - else if (conveyList3.Contains(StationNum)) - { - value = "3"; - } - else - { - throw new Exception("宸ヤ綅鏈煡璇㈠埌"); + var dev1 = PLCTaskAction.plcDevices.Where(m => m.IsDelete == false && m.PlcId == ip1.Id).Select(m => m.StationNum).ToList(); + if (dev1.Contains(StationNum)) + { + value = "1"; + return value; + } } - return value; + if (ip2 != null) + { + var dev2 = PLCTaskAction.plcDevices.Where(m => m.IsDelete == false && m.PlcId == ip2.Id).Select(m => m.StationNum).ToList(); + if (dev2.Contains(StationNum)) + { + value = "2"; + return value; + } + } + + if (ip3 != null) + { + var dev3 = PLCTaskAction.plcDevices.Where(m => m.IsDelete == false && m.PlcId == ip3.Id).Select(m => m.StationNum).ToList(); + if (dev3.Contains(StationNum)) + { + value = "3"; + return value; + } + } + + return ""; } /// <summary> @@ -679,11 +813,11 @@ /// <summary> - /// 鏍规嵁鍌ㄤ綅鎺掕幏鍙栬泛鏈哄搴旂殑鍦板潃鎺� + /// 鏍规嵁鍌ㄤ綅鎺掕幏鍙栬泛鏈哄搴旂殑鍦板潃鎺�03010302 /// </summary> - /// <param name="road">鎺�</param> - /// <param name="pai">鎺�</param> - /// <param name="dept">娣卞害</param> + /// <param name="road">鎺�02</param> + /// <param name="pai">鎺�03</param> + /// <param name="dept">娣卞害02</param> /// <returns></returns> public static int GetDjAdress(string road, string pai, string dept) { @@ -692,36 +826,36 @@ var deptNum = int.Parse(dept); var paiVal = 0; - // 鍒ゆ柇宸烽亾濂囧伓鏁� - if (roadNum % 2 == 0)// 鍋舵暟 - { - // 鍒ゆ柇鎺掑鍋舵暟 - if (paiNum % 2 == 0) - { - if (deptNum == 1) - { - paiVal = 3; - } - else - { - paiVal = 4; - } - } - else - { - if (deptNum == 1) - { - paiVal = 1; - } - else - { - paiVal = 2; - } - } + //// 鍒ゆ柇宸烽亾濂囧伓鏁� + //if (roadNum % 2 == 0)// 鍋舵暟 + //{ + // // 鍒ゆ柇鎺掑鍋舵暟 + // if (paiNum % 2 == 0) + // { + // if (deptNum == 1) + // { + // paiVal = 3; + // } + // else + // { + // paiVal = 4; + // } + // } + // else + // { + // if (deptNum == 1) + // { + // paiVal = 2; + // } + // else + // { + // paiVal = 1; + // } + // } - } - else // 濂囨暟 - { + //} + //else // 濂囨暟 + //{ // 鍒ゆ柇鎺掑鍋舵暟 if (paiNum % 2 == 0) { @@ -747,8 +881,12 @@ } } + //} + if (paiVal == 0) + { + Log.Error("鎺掕浆鎹㈠け璐�!"); + throw new Exception("鎺掕浆鎹㈠け璐�"); } - return paiVal; } -- Gitblit v1.8.0