From 96f2053a1a93193dc5f4eb064aaf455b2d692f0c Mon Sep 17 00:00:00 2001 From: wxw <Administrator@DESKTOP-5BIMHQ3> Date: 星期五, 20 六月 2025 13:31:57 +0800 Subject: [PATCH] 优化入库流程 --- Admin.NET/WCS.Application/PLC/PLCService.cs | 66 ++++++++++++++++++++------------ 1 files changed, 41 insertions(+), 25 deletions(-) diff --git a/Admin.NET/WCS.Application/PLC/PLCService.cs b/Admin.NET/WCS.Application/PLC/PLCService.cs index 567ebb6..430807e 100644 --- a/Admin.NET/WCS.Application/PLC/PLCService.cs +++ b/Admin.NET/WCS.Application/PLC/PLCService.cs @@ -22,6 +22,7 @@ { private static readonly object OLock = new object(); private static readonly object RuKuLock = new object(); + private static readonly object OutLock = new object(); private static readonly ISqlSugarClient _db = SqlSugarSetup.ITenant.GetConnectionScope(SqlSugarConst.MainConfigId); private static decimal weight94 = 0; @@ -109,7 +110,7 @@ { #region 璺ㄨ泛鏈轰换鍔″鐞� ########### // 鍒ゆ柇鐩爣浣嶇疆鏄惁鏄法璺烘満鍑哄簱宸ヤ綅 - if (modTask.EndLocate == "266" && modTask.StartRoadway != "R05") + if (modTask.EndLocate == "266")// && modTask.StartRoadway != "R05" { // 鍒ゆ柇鍏ュ簱宸ヤ綅鏄惁瀛樺湪鏈畬鎴愮殑鍏ュ簱浠诲姟 var modInTask = _db.Queryable<WcsTask>().OrderBy(m => m.Levels, OrderByType.Asc).OrderBy(m => m.CreateTime, OrderByType.Asc) @@ -134,17 +135,19 @@ break; } } - - string aaa = PLCCommon.RoadwayToOutStationNum(modTask.StartRoadway, "1"); // 鑾峰彇1妤间腑涓撳伐浣嶅彿 - taskInfo.Ip = PLCCommon.GetPlcIp(aaa).PlcIP; - taskInfo.EndPai = "2"; - taskInfo.EndLie = "60"; - taskInfo.EndCeng = "1"; - taskInfo.EndStation = aaa; + if (modTask.StartRoadway != "R05") + { + string aaa = PLCCommon.RoadwayToOutStationNum(modTask.StartRoadway, "1"); // 鑾峰彇1妤间腑涓撳伐浣嶅彿 + taskInfo.Ip = PLCCommon.GetPlcIp(aaa).PlcIP; + taskInfo.EndPai = "2"; + taskInfo.EndLie = "60"; + taskInfo.EndCeng = "1"; + taskInfo.EndStation = aaa; + } } - if (modTask.EndLocate == "265" && modTask.StartRoadway != "R05" && modTask.StartRoadway != "R06") + if (modTask.EndLocate == "265") // && modTask.StartRoadway != "R05" && modTask.StartRoadway != "R06" { // 鍒ゆ柇鍏ュ簱宸ヤ綅鏄惁瀛樺湪鏈畬鎴愮殑鍏ュ簱浠诲姟 var modInTask = _db.Queryable<WcsTask>().OrderBy(m => m.Levels, OrderByType.Asc).OrderBy(m => m.CreateTime, OrderByType.Asc) @@ -169,13 +172,15 @@ break; } } - - string aaa = PLCCommon.RoadwayToOutStationNum(modTask.StartRoadway, "1"); // 鑾峰彇1妤间腑涓撳伐浣嶅彿 - taskInfo.Ip = PLCCommon.GetPlcIp(aaa).PlcIP; - taskInfo.EndPai = "2"; - taskInfo.EndLie = "60"; - taskInfo.EndCeng = "1"; - taskInfo.EndStation = aaa; + if (modTask.StartRoadway != "R05" && modTask.StartRoadway != "R06") + { + string aaa = PLCCommon.RoadwayToOutStationNum(modTask.StartRoadway, "1"); // 鑾峰彇1妤间腑涓撳伐浣嶅彿 + taskInfo.Ip = PLCCommon.GetPlcIp(aaa).PlcIP; + taskInfo.EndPai = "2"; + taskInfo.EndLie = "60"; + taskInfo.EndCeng = "1"; + taskInfo.EndStation = aaa; + } } // 鍐欏叆鏀捐揣宸ヤ綅鍥哄畾鍦板潃 @@ -379,6 +384,14 @@ var retc = plcConveyorConn.SetPlcDBValue(ConveyorMod.PosType, ConveyorMod.DbNumber, ConveyorMod.WcsPos, "640"); if (retc.IsSucceed) { + // 鍐嶆璇诲彇wcs鎺у埗瀛�,纭繚鍐欏叆鎴愬姛640 + var (ress2, va1s2) = plcConveyorConn.GetPlcDBValue(ConveyorMod.PosType, ConveyorMod.DbNumber, ConveyorMod.WcsPos); + if (va1s2.ToString() == "630")//杩樻槸绛変簬630璇存槑640娌℃湁鍐欏叆鎴愬姛锛屽啀娆″啓鍏�640 + { + retc = plcConveyorConn.SetPlcDBValue(ConveyorMod.PosType, ConveyorMod.DbNumber, ConveyorMod.WcsPos, "640"); + Log.Information($"840鍨涙満鍙栬揣瀹屾垚鍐欏叆640澶辫触鍚庡啀娆″啓鍏ワ紝DbNumber锛歿ConveyorMod.DbNumber}"); + } + modcTaskMonitor.InteractiveMsg = string.Format("宸ヤ綅锛歿0},鍐欏叆鍙栬揣瀹屾垚:640", startStationVal); // 鎻掑叆浜や簰鏃ュ織 _db.Insertable(modcTaskMonitor).ExecuteCommand(); @@ -2392,15 +2405,18 @@ TaskType = ((int)TaskTypeEnum.Out).ToString(), TaskStatus = ((int)TaskStatusEnum.Complete).ToString() }; - HttpService httpService = new HttpService(); - var modResponseTask = httpService.RequestTask(requestMode).Result; - if (modResponseTask.StatusCode == 0) - { - modInsertTaskMonitor.InteractiveMsg += "锛岃繑鍥炵粰WMS浠诲姟瀹屾垚"; - } - else - { - Log.Error(string.Format("浠诲姟鍙嶉澶辫触锛歋tatusCode锛歿0};Msg锛歿1}", modResponseTask.StatusCode, modResponseTask.Msg)); + lock(OutLock) + { + HttpService httpService = new HttpService(); + var modResponseTask = httpService.RequestTask(requestMode).Result; + if (modResponseTask.StatusCode == 0) + { + modInsertTaskMonitor.InteractiveMsg += "锛岃繑鍥炵粰WMS浠诲姟瀹屾垚"; + } + else + { + Log.Error(string.Format("浠诲姟鍙嶉澶辫触锛歋tatusCode锛歿0};Msg锛歿1}", modResponseTask.StatusCode, modResponseTask.Msg)); + } } } -- Gitblit v1.8.0