From d958b698f2bab06fdecd5ac4b436179cc6aa43f0 Mon Sep 17 00:00:00 2001 From: Rodney Chen <rodney.chen@hotmail.com> Date: 星期二, 24 九月 2024 10:48:01 +0800 Subject: [PATCH] 更新字段 --- Tiger.Business/MES/Biz.WorkBatch.cs | 35 ++++++++++++++++++++++++++++------- 1 files changed, 28 insertions(+), 7 deletions(-) diff --git a/Tiger.Business/MES/Biz.WorkBatch.cs b/Tiger.Business/MES/Biz.WorkBatch.cs index c2861ef..e56ae10 100644 --- a/Tiger.Business/MES/Biz.WorkBatch.cs +++ b/Tiger.Business/MES/Biz.WorkBatch.cs @@ -55,11 +55,26 @@ public WorkBatch Init(string lineCode) { LineCode = lineCode; + GetBatchInfo(); + return this; + } + + public void Update() + { + if (!WoContext.WoBatchDic.ContainsKey(Batch.BATCH_NO)) + { + GetBatchInfo(); + WoContext.WoBatchDic.Add(Batch.BATCH_NO, this); + } + } + + private void GetBatchInfo() + { WO = Biz.Db.Queryable<BIZ_MES_WO>().Where(q => q.ORDER_NO == OrderNo).IncludesAllFirstLayer().First(); - Product = Biz.Db.Queryable<BAS_ITEM>().Where(q => q.ITEM_CODE == WO.ITEM_CODE && q.AUTH_ORG == WO.AUTH_ORG).First(); + Product = Biz.Db.Queryable<BAS_ITEM>().Where(q => q.ITEM_CODE == WO.ITEM_CODE && q.AUTH_ORG == WO.AUTH_ORG).IncludesAllFirstLayer().First(); Batch = Biz.Db.Queryable<BIZ_MES_WO_BATCH>().Where(q => q.ORDER_NO == OrderNo && q.ACT_LINE == LineCode && (q.STATUS == BIZ_MES_WO_BATCH.STATUSs.Release.GetValue() || q.STATUS == BIZ_MES_WO_BATCH.STATUSs.Working.GetValue())).First(); - Customer = Biz.Db.Queryable<BAS_CUSTOMER>().Where(q => q.CUST_CODE == WO.CUST_CODE).First(); + Customer = Biz.Db.Queryable<BAS_CUSTOMER>().Where(q => q.CUST_CODE == WO.CUST_CODE).First(); WoSNs = Biz.Db.Queryable<BIZ_MES_WO_SN>().Where(q => q.WORK_ORDER == OrderNo).ToList(); Edges = Biz.Db.Queryable<MES_WO_EDGE>().Where(q => q.WORK_ORDER == OrderNo).ToList(); Nodes = Biz.Db.Queryable<MES_WO_NODE>().Where(q => q.WORK_ORDER == OrderNo).IncludesAllFirstLayer().ToList(); @@ -74,8 +89,6 @@ var first = Nodes.First(q => q.IS_FIRST_NODE == "Y"); first.Sequence = 1; NodeSorting(first); - - return this; } /// <summary> @@ -139,8 +152,16 @@ { action.IsSuccessed = false; action.Data.SetValue(this, null); - action.LocaleMsg = new($"宸ュ崟鎵规[{0}]宸叉姇鍏� {1}锛屽叾涓姤搴� {2}锛屼互婊¤冻璁″垝鏁伴噺[{3}]锛屾棤闇�缁х画鎶曞叆"); - action.LocaleMsg = new("MES.WorkBatch.WoInputEnough", Batch.BATCH_NO, Batch.INPUT_QTY, Batch.SCRAP_QTY, Batch.PLAN_QTY); + //action.LocaleMsg = new($"宸ュ崟鎵规[{0}]宸叉姇鍏� {1}锛屽叾涓姤搴� {2}锛屼互婊¤冻璁″垝鏁伴噺[{3}]锛屾棤闇�缁х画鎶曞叆"); + action.LocaleMsg = new("MES.WorkBatch.BatchInputEnough", Batch.BATCH_NO, WoSNs.Count(q => q.BATCH_NO == Batch.BATCH_NO), Batch.SCRAP_QTY, Batch.PLAN_QTY); + } + //宸ュ崟鎶曞叆鏁伴噺鍑忓幓鎶ュ簾鏁伴噺濡傛灉澶т簬绛変簬璁″垝鏁伴噺锛屽垯涓嶅厑璁哥敓浜� + if (curNode.IS_INPUT == "Y" && WoSNs.Count(q => q.WORK_ORDER == WO.ORDER_NO) - WO.SCRAP_QTY >= WO.PLAN_QTY) + { + action.IsSuccessed = false; + action.Data.SetValue(this, null); + //action.LocaleMsg = new($"宸ュ崟[{0}]宸叉姇鍏� {1}锛屽叾涓姤搴� {2}锛屼互婊¤冻璁″垝鏁伴噺[{3}]锛屾棤闇�缁х画鎶曞叆"); + action.LocaleMsg = new("MES.WorkBatch.WoInputEnough", WO.ORDER_NO, WoSNs.Count(q => q.WORK_ORDER == WO.ORDER_NO), WO.SCRAP_QTY, WO.PLAN_QTY); } return action; @@ -368,7 +389,7 @@ foreach (var next in nextNodes) { //鏌ユ壘鏈夋病鏈夊墠缃伐搴忔壘涓嶅埌宸茶壇鍝佽繃绔欑殑鍘嗗彶璁板綍锛岃嫢鏈夊垯涓嶅厑璁哥户缁墽琛� - if (!next.PrepNodeIDs.Any(id => !wipSN.History.Any(h => h.WORK_ORDER == WO.ORDER_NO && h.NODE_ID == id && h.IsFinished))) + if (!next.PrepNodeIDs.Any(id => !wipSN.History.Any(h => h.WORK_ORDER == WO.ORDER_NO && h.NODE_ID == id && h.IsFinished)) || parent.IS_FIRST_NODE == "Y") { var setting = NodeSets.FirstOrDefault(q => q.NODE_ID == next.ID); //鍚庣画宸ュ簭鏄惎鐢ㄧ殑锛屽垯娣诲姞 -- Gitblit v1.9.3