From 25f8eb843fd2046d8b94b410185e4ecdd3c07f57 Mon Sep 17 00:00:00 2001 From: Ben Lin <maobin001@msn.com> Date: 星期日, 04 八月 2024 18:44:28 +0800 Subject: [PATCH] 工单工艺路线编辑 --- Tiger.Business.MES/Transaction/Position.cs | 61 ++++++++++++++++++++++-------- 1 files changed, 44 insertions(+), 17 deletions(-) diff --git a/Tiger.Business.MES/Transaction/Position.cs b/Tiger.Business.MES/Transaction/Position.cs index eef212d..95596c4 100644 --- a/Tiger.Business.MES/Transaction/Position.cs +++ b/Tiger.Business.MES/Transaction/Position.cs @@ -147,9 +147,25 @@ } /// <summary> - /// 閲嶇疆褰撳墠宸ユ + /// 閲嶇疆宸ュ簭鎿嶄綔 /// </summary> - public void ResetSteps() + /// <returns></returns> + public ApiAction Reset() + { + var action = new ApiAction(); + + ResetNode(); + action.IsSuccessed = true; + action.LocaleMsg = new($"宸ュ簭鎿嶄綔宸查噸缃紝璇烽噸鏂版壂鎻忚繘绔欎骇鍝佹潯鐮�"); + action.LocaleMsg = new("MES.Transaction.Position.ResetNode"); + + return action; + } + + /// <summary> + /// 閲嶇疆褰撳墠宸ュ簭锛屾湁闇�瑕佸垯閲嶅啓姝ゆ柟娉� + /// </summary> + public virtual void ResetNode() { Steps.Clear(); CurWipSN = null; @@ -201,12 +217,12 @@ { var next = new WorkStep(IWorkStep.Types.Action, this) { - NodeID = act.ID, Sequence = parent.Sequence + 1, Node = parent.Node, NodeAct = act, Setting = CurBatch.ActionSets.FirstOrDefault(q => q.ACT_ID == act.ID), }; + next.Init(); next.PrepNodeIDs.Add(parent.NodeID); next.PrepNodeIDs.AddRange(parent.PrepNodeIDs); next.PrepNodeIDs = next.PrepNodeIDs.Distinct().ToList(); @@ -265,7 +281,7 @@ /// <param name="input"></param> public ApiAction<SubmitOutput> BeginNextActionStep(SubmitInput input) { - var result = new ApiAction<SubmitOutput>(); + var result = new ApiAction<SubmitOutput>(new SubmitOutput()); //璁剧疆鍚庣画鍙墽琛岀殑宸ユ鍒楄〃 NextSteps = GetNextSteps(CurStep); //灏濊瘯鏈夋病鏈夊彲浠ョ洿鎺ュ紑濮嬬殑鍚庣画宸ユ @@ -282,24 +298,14 @@ NextSteps = GetNextSteps(CurStep); //杩斿洖缁撴灉鍒板鎴风 result = canBegin; - result.Data.IsFinished = IsFinishAllSteps; - result.Data.CurWO = CurBatch.WO.ORDER_NO; - result.Data.CurBatch = CurBatch.Batch.BATCH_NO; - result.Data.CurNode = CurStep?.NodeAct.ACT_NAME; - result.Data.StepActCode = CurStep?.NodeAct.ACT_CODE; - result.Data.NextStepID = CurStep?.ID; - + result.Data.SetValue(CurBatch, CurStep, CurStep?.ID, IsFinishAllSteps); + return result; } } //娌℃湁鍙互鐩存帴寮�濮嬬殑鍚庣画宸ユ锛屾牴鎹悗缁伐姝ヨ繑鍥濧piAction - result.Data.IsFinished = IsFinishAllSteps; - result.Data.CurWO = CurBatch.WO.ORDER_NO; - result.Data.CurBatch = CurBatch.Batch.BATCH_NO; - result.Data.CurNode = CurStep?.Node.NODE_NAME; - result.Data.StepActCode = CurStep?.NodeAct.ACT_CODE; - result.Data.NextStepID = ""; + result.Data.SetValue(CurBatch, CurStep, "", IsFinishAllSteps); //娌℃湁鍙互鐩存帴寮�濮嬬殑鍚庣画宸ユ锛屾牴鎹悗缁彲鎵ц宸ユ鍒楄〃杩斿洖鐩稿簲鐨勬搷浣滄彁绀� if (NextSteps.Count == 1) @@ -367,6 +373,8 @@ return WorkBatch.Product.ToJson(); case "GetCustomer": return WorkBatch.Batch.ToJson(); + case "GetVarByWo": + return GetLabelVarWo(lv); default: return ""; } @@ -381,6 +389,25 @@ } return ""; } + /// <summary> + /// 鑾峰彇宸ュ崟缁存姢鐨勬ā鏉垮彉閲� + /// </summary> + /// <param name="labelId"></param> + /// <returns></returns> + private string GetLabelVarWo(BAS_LABEL_VAR lv) + { + string result = ""; + var labelVarwos = Biz.Db.Queryable<BAS_LABEL_VAR_WO>().Where(x => x.LABEL_ID == lv.LABEL_ID && x.VAR_NAME == lv.VAR_NAME).ToList(); + if (labelVarwos.Any(q => q.WORK_ORDER == WorkBatch.Batch.ORDER_NO)) + { + result = labelVarwos.First(q => q.WORK_ORDER == WorkBatch.Batch.ORDER_NO).VAR_VALUE; + } + else + { + result = labelVarwos.Count > 0 ? labelVarwos[0].DEFAULT_VALUE : ""; + } + return result; + } #endregion Functions -- Gitblit v1.9.3