From 94f78e8c3fa502bc52eba2b88d45d5813609036c Mon Sep 17 00:00:00 2001 From: Rodney Chen <rodney.chen@hotmail.com> Date: 星期五, 13 九月 2024 10:26:48 +0800 Subject: [PATCH] 优化工单缓存对象更新逻辑 --- Tiger.Business.MES/Transaction/Position.cs | 23 ++++++++++++++++++----- 1 files changed, 18 insertions(+), 5 deletions(-) diff --git a/Tiger.Business.MES/Transaction/Position.cs b/Tiger.Business.MES/Transaction/Position.cs index a932e37..bf6a941 100644 --- a/Tiger.Business.MES/Transaction/Position.cs +++ b/Tiger.Business.MES/Transaction/Position.cs @@ -63,7 +63,7 @@ public List<WorkStep> Steps { get; set; } = new(); public WorkStep CurStep { get; set; } public List<WorkStep> NextSteps { get; set; } = new(); - public bool IsFinishNodeSteps => !Steps.Any(q => q.Type == IWorkStep.Types.Node && !q.IsFinished); + public bool IsFinishNodeSteps => !Steps.Any(q => q.NodeType == IWorkStep.NodeTypes.Node && !q.IsFinished); public bool IsFinishAllSteps => !Steps.Any() || !Steps.Any(q => !q.IsFinished); //public int CurStep => Steps.Where(q => !q.IsFinished).OrderBy(q => q.Sequence).FirstOrDefault()?.Sequence ?? 0; private DbClient CommitDB; @@ -74,7 +74,7 @@ protected Dictionary<string, List<Action>> DBCommitList { get; set; } = new(); protected List<Position> NodeCommitList { get; set; } = new(); protected Dictionary<string, OperInfo> OperInfoDic { get; set; } = new(); - protected OperInfo CurOperInfo { get; set; } + //protected OperInfo CurOperInfo { get; set; } #endregion Propertys & Variables #region Functions @@ -120,6 +120,13 @@ action.IsSuccessed = false; //action.LocaleMsg = new($"宸ュ崟[{input.OrderNo}]娌℃湁涓嬪彂鍒颁骇绾跨姸鎬乕{CurLine.LINE_CODE}]"); action.LocaleMsg = new("MES.Transaction.Position.SelectOrder.LineException", input.OrderNo, CurLine.LINE_CODE); + return action; + } + if (batch.STATUS != BIZ_MES_WO_BATCH.STATUSs.Release.GetValue() && batch.STATUS != BIZ_MES_WO_BATCH.STATUSs.Working.GetValue()) + { + action.IsSuccessed = false; + //action.LocaleMsg = new($"宸ュ崟[{input.OrderNo}]鐘舵�乕{wo.STATUS.GetEnum<BIZ_MES_WO_BATCH.STATUSs>().GetName()}]涓嶈兘鐢熶骇"); + action.LocaleMsg = new("MES.Transaction.Position.SelectOrder.StatusException", input.OrderNo, batch.STATUS.GetEnum<BIZ_MES_WO_BATCH.STATUSs>().GetName()); return action; } var wb = new WorkBatch(input.OrderNo).Init(CurLine.LINE_CODE); @@ -192,17 +199,19 @@ /// <summary> /// 璁剧疆褰撳墠鏉$爜鐨勫伐搴忎俊鎭� /// </summary> - public OperInfo SetOperNodeInfo(OperInfo info) + public OperInfo SetOperNodeInfo(OperInfo info, string locale) { if (CurWipSNs.Any()) { info.CurNode = CurWipSNs.First().NODE_NAME; info.NextNode = string.Join(",", CurBatch.GetNextNodes(CurWipSNs.First()).Select(q => q.NODE_NAME)); + info.StepsInfo = Steps.Select(q => q.GetInfo(locale)).ToList(); } else { info.CurNode = " 鈥� "; info.NextNode = " 鈥� "; + info.StepsInfo = new(); } return info; } @@ -249,12 +258,14 @@ } else { - var next = new WorkStep(IWorkStep.Types.Action, this) + var next = new WorkStep(IWorkStep.NodeTypes.Action, this) { + Name = act.ACT_NAME, Sequence = parent.Sequence + 1, Node = parent.Node, + OperSetting = CurBatch.NodeSets.FirstOrDefault(q => q.NODE_ID == parent.Node.ID), NodeAct = act, - Setting = CurBatch.ActionSets.FirstOrDefault(q => q.ACT_ID == act.ID), + ActSetting = CurBatch.ActionSets.FirstOrDefault(q => q.ACT_ID == act.ID), }; next.Init(); next.PrepNodeIDs.Add(parent.NodeID); @@ -505,6 +516,8 @@ { case "GetCartonGenerate": return Biz.CodeRule[lv.BARCODE_RULE ?? ""]?.Generate($"{WorkBatch.Batch.BATCH_NO}-{WorkBatch.Batch.PLAN_QTY}-").Data.ToString() ?? ""; + case "GetHW21SNGenerate": + return Biz.CodeRule[lv.BARCODE_RULE ?? ""]?.Generate("SN:","05").Data.ToString() ?? ""; default: return ""; } -- Gitblit v1.9.3