From 7c9cc313ed6561130b4cd3c40f9df52b1b972158 Mon Sep 17 00:00:00 2001 From: pulg <plg@Haninfo> Date: 星期一, 23 六月 2025 18:36:06 +0800 Subject: [PATCH] 1 --- HH.WCS.QingXiNongfu/core/Monitor.cs | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 52 insertions(+), 6 deletions(-) diff --git a/HH.WCS.QingXiNongfu/core/Monitor.cs b/HH.WCS.QingXiNongfu/core/Monitor.cs index f759986..0327980 100644 --- a/HH.WCS.QingXiNongfu/core/Monitor.cs +++ b/HH.WCS.QingXiNongfu/core/Monitor.cs @@ -420,7 +420,7 @@ static void ROW_LOCK(Location startBit, Location EndBit, string msg, int sign, bool up = true, string WorkNo = "") { - LogHelper.Info("dooooooooooooooooooooooooooooooooooooooooooooo" + msg + "---" + sign); + LogHelper.Info("绉诲簱瑙i攣 doo" + msg + "---" + sign + "--" + WorkNo); LogHelper.Info(JsonConvert.SerializeObject(startBit)); LogHelper.Info(JsonConvert.SerializeObject(EndBit)); bool j瑙i攣璧风偣搴撳尯鎺�= true; @@ -429,9 +429,11 @@ //瑙i攣鏃讹紝鏈夊伐鍗曞彿銆� 鏌ユ煡闄や簡杩欎釜宸ュ崟鍙蜂互澶栫殑鍏朵粬 鎸囧畾鍑哄簱鎺掓墽琛� var orders = WCSHelper.GetWorkOrder2(); var thisOrder = orders.Find(x => x.SQL_WorkNo == WorkNo); + LogHelper.Info("绉诲簱瑙i攣 --褰撳墠宸ュ崟 sid:" + thisOrder?.S_ID); if (thisOrder != null) { var other = orders.Find(x => x.SQL_WorkNo != WorkNo && x.start_area == thisOrder.start_area && x.start_row == thisOrder.start_row); + LogHelper.Info($"绉诲簱瑙i攣 --鍏朵粬宸ュ崟 x.start_area == {thisOrder.start_area} start_row == {thisOrder.start_row} SID:" + other?.S_ID); if (other != null) j瑙i攣璧风偣搴撳尯鎺�= false; } @@ -1102,6 +1104,19 @@ //else var ccr = _clrel0.S_TYPE.Split(','); string EdnRarea = ccr.First(); + + if (EdnRarea == "YWLBQWJ" || EdnRarea == "YWLWJJB")//鍒癇鍖虹殑绉诲簱宸ュ崟鏈�鍙兘鐢熸垚涓ゆ潯浠诲姟 + { + //鏌ヨ浠诲姟鏁� + List<string> AreaLi = new List<string>() { "YWLBQWJ", "YWLWJJB" }; + var db = new SqlHelper<object>().GetInstance(); + var list = db.Queryable<Location>().Where(a => AreaLi.Contains(a.S_AREA_CODE) && a.S_LOCK_STATE == "鍏ュ簱閿�).ToList(); + if (list.Count() >= 2) + { + LogHelper.Info($"CreateTransport- CreateTask Error" + $"缁堢偣搴撳尯涓篩WLRGDD鎴栬�YWLWJJB 鍒欐渶澶氬彧鑳界敓鎴愪袱涓换鍔�); + continue; + } + } string Last = string.Join(",", ccr.Skip(1)); if (ABlist.Contains(EdnRarea)) @@ -1119,6 +1134,17 @@ var cir1 = cntritems.First(); var arloclist = LocationHelper.GetAreaNormalLocList(EdnRarea);// LocationHelper.GetList<Location>(x => x.S_AREA_CODE == _clrel0.S_TYPE && x.S_LOCK_STATE != "鎶ュ簾"); + + //鏈夌Щ搴撳伐鍗�鎺掗櫎绉诲簱宸ュ崟涓婃墍瀵瑰簲鐨勬帓 + var order = LocationHelper.GetList<YWLZXtake>(X => X.S_ZX_STATE == "鎵ц").ToList(); + if (order.Count() > 0) + { + foreach (var item in order) + { + LogHelper.Info($"鏈夌Щ搴撳伐鍗曟帓闄ゅ搴旂殑搴撳尯{item.S_START_AREA} 鎺抺item.N_START_ROW}"); + arloclist.RemoveAll(e => e.S_AREA_CODE == item.S_START_AREA && e.N_ROW == item.N_START_ROW); + } + } if (arloclist.Any()) { if (EdnRarea == "YWLWJJB")//绾哥鏃犺弻鎺ラ┏鍖�@@ -1141,7 +1167,10 @@ { isCd = true; inlockLis = LocationHelper.GetList<RowLock>(x => x.S_AREA_CODE == EdnRarea && x.S_LOCK_SRC == cir1.S_ITEM_CODE + cir1.S_ITEM_NAME + cir1.S_CJ_NAME && x.S_LOCK_STATE == "鍏ュ簱閿�).ToList(); - inlock = inlockLis.FirstOrDefault(); + if (inlockLis.Count() > 0) + { + inlock = inlockLis.FirstOrDefault(); + } if (inlock != null) { //褰撳叆搴撶殑浠诲姟鑳芥斁婊′竴鎺掑苟涓旇繕鏈変綑鐨勬椂鍊�寮�浜屾帓 @@ -1240,6 +1269,7 @@ if (res && inlock == null && isCd) { var rrrr = new RowLock { S_LOCK_SRC = cir1.S_ITEM_CODE + cir1.S_ITEM_NAME + cir1.S_CJ_NAME, T_LOCK_TIME = DateTime.Now, S_LOCK_STATE = "鍏ュ簱閿�, S_AREA_CODE = endbit.S_AREA_CODE, N_ROW = endbit.N_ROW }; + LogHelper.Info($"鍘熺墿鏂欏叆搴�娣诲姞鎺掗攣淇℃伅{JsonConvert.SerializeObject(rrrr)} "); WCSHelper.Do(db => db.Insertable(rrrr).ExecuteCommand()); } if (EdnRarea == "YWLWJJB") InworkLock = false; @@ -3724,15 +3754,18 @@ { var l2 = new List<string>() { "YWLAQWJ", "YWLBQWJ" };//, "YWLCQSX", "YWLDQWJ" }; l2.Remove(od.S_ROW); - l2.Remove(od.TagOver); - var odsr = new List<string> { od.TagOver, od.S_ROW }.Concat(l2).Distinct().ToList(); + //l2.Remove(od.TagOver); + //var odsr = new List<string> { od.TagOver, od.S_ROW }.Concat(l2).Distinct().ToList(); + var odsr = new List<string> { od.S_ROW }.Concat(l2).Distinct().ToList(); ///姹囨�浠撳簱閲屾渶澶у眰鏄嚑灞傘� Dictitems Lart = null; foreach (var area in odsr)//od.S_ROW.Split('$')) { - if (string.IsNullOrEmpty(area)) continue; - + if (string.IsNullOrEmpty(area)) + { + continue; + } if (dsi.TryGetValue(area, out var dictitems1)) { foreach (var d in dictitems1.FindAll(x => x.ItemCode == od.SQL_ItemCode && x.ItemName == od.SQL_ItemName && x.S_CJ_NAME == od.S_CJ_NAME)) @@ -4053,6 +4086,19 @@ var locS = LocationHelper.GetAreaNormalLocList(ODs.Key); foreach (var od in ODs) { + if (od.S_END_AREA == "YWLBQWJ" || od.S_END_AREA == "YWLAQWJ")//鍒癇鍖虹殑绉诲簱宸ュ崟鏈�鍙兘鐢熸垚涓ゆ潯浠诲姟 + { + + //鏌ヨ浠诲姟鏁� + List<string> AreaLi = new List<string>() { "YWLBQWJ", "YWLWJJB" }; + var db = new SqlHelper<object>().GetInstance(); + var list = db.Queryable<Location>().Where(a => AreaLi.Contains(a.S_AREA_CODE) && a.S_LOCK_STATE == "鍏ュ簱閿�).ToList(); + if (list.Count() >= 2) + { + LogHelper.Info($"CreateTransport- CreateTask Error" + $"缁堢偣搴撳尯涓篩WLRGDD鎴栬�YWLWJJB 鍒欐渶澶氬彧鑳界敓鎴愪袱涓换鍔�); + continue; + } + } LogHelper.Info($"YWL_ZX_Turn from{od.S_START_AREA} mid:{od.S_ZZ_AREA} to{od.S_END_AREA} 寮� 銆嬨�銆�); if (string.IsNullOrEmpty(od.S_ZZ_AREA) && string.IsNullOrEmpty(od.S_END_AREA)) { -- Gitblit v1.9.1