From 8bc688f992f70815084e958a728a696871294672 Mon Sep 17 00:00:00 2001 From: pulg <plg@Haninfo> Date: 星期二, 01 七月 2025 15:51:50 +0800 Subject: [PATCH] Merge branch 'master' of http://121.37.118.194:8000/r/WMSPrjInstance/HH-0014_NongFu_QingXi --- HH.WCS.QingXiNongfu/core/Monitor.cs | 39 ++++++++++++++++++++++++++++++--------- 1 files changed, 30 insertions(+), 9 deletions(-) diff --git a/HH.WCS.QingXiNongfu/core/Monitor.cs b/HH.WCS.QingXiNongfu/core/Monitor.cs index dd45dcf..ec2cd39 100644 --- a/HH.WCS.QingXiNongfu/core/Monitor.cs +++ b/HH.WCS.QingXiNongfu/core/Monitor.cs @@ -430,13 +430,17 @@ 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; - } + var allarea_rows = orders.FindAll(x => x.S_ID != thisOrder.S_ID && x.start_area == thisOrder.start_area && x.start_row == thisOrder.start_row); + LogHelper.Info("绉诲簱瑙i攣 --褰撳墠宸ュ崟 鐨勫悓搴撳尯鎺�鍏朵粬宸ュ崟:" + JsonConvert.SerializeObject(allarea_rows)); + if (allarea_rows.Any()) + j瑙i攣璧风偣搴撳尯鎺�= false; + //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; + //} } //if (sign == 1) //{ @@ -1135,6 +1139,17 @@ continue; } } + if (CDlist.Contains(EdnRarea)) + { + var ls = LocationHelper.GetList<Location>(x => x.S_AREA_CODE == EdnRarea && x.S_LOCK_STATE == "鍏ュ簱閿�); + //var ls = LocationHelper.GetList<Location>(x => x.S_AREA_CODE == EdnRarea && (x.S_LOCK_STATE == "鍏ュ簱閿�)); + if (ls.Count() > 2) + { + LogHelper.Info($"{EdnRarea}浠诲姟鏁�绠″埗3"); + continue; + } + } + //else if (CDlist.Contains(EdnRarea)) //{ // var ls = LocationHelper.GetList<Location>(x => x.S_AREA_CODE == EdnRarea && (x.S_LOCK_STATE == "鍏ュ簱閿�)).ToList(); @@ -1230,12 +1245,19 @@ ca.And((o, p, t) => o.N_CURRENT_NUM > 0 && o.S_LOCK_STATE == "鏃� && t.S_ITEM_CODE == cir1.S_ITEM_CODE && t.S_ITEM_NAME == cir1.S_ITEM_NAME && t.S_CJ_NAME == cir1.S_CJ_NAME && o.S_AREA_CODE == EdnRarea); var lstCanOutL = dbll.Queryable<Location>().InnerJoin<LocCntrRel>((o, p) => o.S_LOC_CODE == p.S_LOC_CODE).InnerJoin<CntrItemRel>((o, p, t) => p.S_CNTR_CODE == t.S_CNTR_CODE).Where(ca.ToExpression()).ToList(); LogHelper.Info($"缁堢偣鏈夌浉鍚岀殑鐗╂枡鐨勮揣浣嶆湁{lstCanOutL.Count()}"); + + var ca1 = Expressionable.Create<Location, LocCntrRel, CntrItemRel>(); + ca1.And((o, p, t) => o.N_CURRENT_NUM > 0 && o.S_LOCK_STATE == "鏃� && t.S_ITEM_CODE == cir1.S_ITEM_CODE && t.S_ITEM_NAME == cir1.S_ITEM_NAME && t.S_CJ_NAME == cir1.S_CJ_NAME && o.S_AREA_CODE == "YWLRGDD" && p.S_TYPE == EdnRarea); + var lstCanOutLSta = dbll.Queryable<Location>().InnerJoin<LocCntrRel>((o, p) => o.S_LOC_CODE == p.S_LOC_CODE).InnerJoin<CntrItemRel>((o, p, t) => p.S_CNTR_CODE == t.S_CNTR_CODE).Where(ca1.ToExpression()).ToList(); if (lstCanOutL.Count() > 0) { var EndMum = dbll.Queryable<Location>().Where(l => l.S_AREA_CODE == EdnRarea && l.N_CURRENT_NUM == 0 && l.S_LOCK_STATE == "鏃� && lstCanOutL.Select(e => e.N_ROW).ToList().Contains(l.N_ROW)).ToList(); if (EndMum.Count() > 0) { - arloclist = arloclist.FindAll(x => lstCanOutL.Select(e => e.N_ROW).ToList().Contains(x.N_ROW)).ToList(); + if (lstCanOutL.Count() <= EndMum.Count()) + { + arloclist = arloclist.FindAll(x => lstCanOutL.Select(e => e.N_ROW).ToList().Contains(x.N_ROW)).ToList(); + } } } } @@ -1487,7 +1509,6 @@ if (tklist.Count() > 0) { var tk = tklist.FirstOrDefault(); - var loc = LocationHelper.GetLoc(plc.location[0]); if (loc.N_CURRENT_NUM > 0 && loc.S_LOCK_STATE == "鏃�) { -- Gitblit v1.9.1