From 98304e3ffd220092103074a5da83bcad2b5c0c7d Mon Sep 17 00:00:00 2001 From: Rodney Chen <rodney.chen@hotmail.com> Date: 星期二, 30 七月 2024 09:03:38 +0800 Subject: [PATCH] 优化打印变量值获取写法 --- Tiger.Business.MES/Transaction/Position.cs | 44 +++++++++++++++++++--- Tiger.Business.MES/WorkAction/PrintLabel.cs | 23 +---------- Tiger.IBusiness/MES/Transaction/IPosition.cs | 7 +++ 3 files changed, 48 insertions(+), 26 deletions(-) diff --git a/Tiger.Business.MES/Transaction/Position.cs b/Tiger.Business.MES/Transaction/Position.cs index 99879d9..eef212d 100644 --- a/Tiger.Business.MES/Transaction/Position.cs +++ b/Tiger.Business.MES/Transaction/Position.cs @@ -153,6 +153,8 @@ { Steps.Clear(); CurWipSN = null; + CurWipSNHis = null; + CurStep = null; } /// <summary> @@ -234,7 +236,7 @@ } } //濡傛灉褰撳墠宸ユ娌℃湁鍙墽琛岀殑鍚庣画宸ユ锛屽垯鍦ㄥ墠缃伐姝ユ煡鎵捐繕鏈夋病鏈夊悗缁伐姝ユ病瀹屾垚鐨勫伐姝ワ紝鏈夊垯鎵ц - if (!result.Any()) + if (!result.Any() && Steps.Any()) { //鏌ユ壘鏈夋病鏈夊墠缃伐姝ユ湭瀹屾垚锛岃嫢鏈夊垯鍏堝畬鎴愭湭瀹屾垚鐨勫墠缃伐姝� var prepIDs = curStep.PrepNodeIDs.Where(id => CurBatch.Edges.Any(e => e.SRC_NODE == id && Steps.Any(q => !q.IsFinished && e.TGT_NODE == q.NodeID))).ToList(); @@ -283,9 +285,9 @@ 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.CurNode = CurStep?.NodeAct.ACT_NAME; + result.Data.StepActCode = CurStep?.NodeAct.ACT_CODE; + result.Data.NextStepID = CurStep?.ID; return result; } @@ -295,8 +297,8 @@ 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.CurNode = CurStep?.Node.NODE_NAME; + result.Data.StepActCode = CurStep?.NodeAct.ACT_CODE; result.Data.NextStepID = ""; //娌℃湁鍙互鐩存帴寮�濮嬬殑鍚庣画宸ユ锛屾牴鎹悗缁彲鎵ц宸ユ鍒楄〃杩斿洖鐩稿簲鐨勬搷浣滄彁绀� @@ -316,6 +318,36 @@ /// 鑾峰彇鎵撳嵃鏍囩妯℃澘杩囩▼鍙橀噺鍊� /// </summary> /// <param name="labelPVs">杩囩▼鍙橀噺鍒楄〃</param> + /// <param name="label">鏍囩妯℃澘</param> + /// <returns></returns> + public BAS_LABEL_TEMP SetLabelVariables(List<BAS_LABEL_PV> labelPVs, BAS_LABEL_TEMP label) + { + foreach (var item in label.Variables) + { + switch (item.VAR_TYPE.GetEnum<BAS_LABEL_VAR.VAR_TYPEs>()) + { + case BAS_LABEL_VAR.VAR_TYPEs.Constant: + item.Value = item.VAR_VALUE; + break; + case BAS_LABEL_VAR.VAR_TYPEs.ProcessVariable: + item.Value = GetPrintProcessValue(labelPVs, item); + break; + case BAS_LABEL_VAR.VAR_TYPEs.DateVariable: + item.Value = DateTime.Now.ToString(item.VAR_VALUE); + break; + case BAS_LABEL_VAR.VAR_TYPEs.CustomVariable: + default: + item.Value = ""; + break; + } + } + return label; + } + + /// <summary> + /// 鑾峰彇鎵撳嵃鏍囩妯℃澘杩囩▼鍙橀噺鍊� + /// </summary> + /// <param name="labelPVs">杩囩▼鍙橀噺鍒楄〃</param> /// <param name="lv">鏍囩妯℃澘鍙橀噺</param> /// <returns></returns> public string GetPrintProcessValue(List<BAS_LABEL_PV> labelPVs, BAS_LABEL_VAR lv) diff --git a/Tiger.Business.MES/WorkAction/PrintLabel.cs b/Tiger.Business.MES/WorkAction/PrintLabel.cs index bab5da0..eef9e77 100644 --- a/Tiger.Business.MES/WorkAction/PrintLabel.cs +++ b/Tiger.Business.MES/WorkAction/PrintLabel.cs @@ -62,26 +62,9 @@ public ApiAction<SubmitOutput> TryBegin(SubmitInput input) { var action = new ApiAction<SubmitOutput>(new SubmitOutput()); - - foreach (var item in Label.Variables) - { - switch (item.VAR_TYPE.GetEnum<BAS_LABEL_VAR.VAR_TYPEs>()) - { - case BAS_LABEL_VAR.VAR_TYPEs.Constant: - item.Value = item.VAR_VALUE; - break; - case BAS_LABEL_VAR.VAR_TYPEs.ProcessVariable: - item.Value = CurPosition.GetPrintProcessValue(LabelPV, item); - break; - case BAS_LABEL_VAR.VAR_TYPEs.DateVariable: - item.Value = DateTime.Now.ToString(item.VAR_VALUE); - break; - case BAS_LABEL_VAR.VAR_TYPEs.CustomVariable: - default: - item.Value = ""; - break; - } - } + + //璁剧疆鎵撳嵃鍙橀噺鍊� + Label = CurPosition.SetLabelVariables(LabelPV, Label); action.Data.Data = Label; //濡傛灉杩斿洖鎴愬姛鍒欒涓哄綋鍓嶈涓哄彲浠ュ紑濮嬫墽琛岋紝鍚﹀垯杩斿洖澶辫触 diff --git a/Tiger.IBusiness/MES/Transaction/IPosition.cs b/Tiger.IBusiness/MES/Transaction/IPosition.cs index ee3b6c8..1a181ad 100644 --- a/Tiger.IBusiness/MES/Transaction/IPosition.cs +++ b/Tiger.IBusiness/MES/Transaction/IPosition.cs @@ -46,6 +46,13 @@ /// 鑾峰彇鎵撳嵃鏍囩妯℃澘杩囩▼鍙橀噺鍊� /// </summary> /// <param name="labelPVs">杩囩▼鍙橀噺鍒楄〃</param> + /// <param name="label">鏍囩妯℃澘</param> + /// <returns></returns> + public BAS_LABEL_TEMP SetLabelVariables(List<BAS_LABEL_PV> labelPVs, BAS_LABEL_TEMP label); + /// <summary> + /// 鑾峰彇鎵撳嵃鏍囩妯℃澘杩囩▼鍙橀噺鍊� + /// </summary> + /// <param name="labelPVs">杩囩▼鍙橀噺鍒楄〃</param> /// <param name="lv">鏍囩妯℃澘鍙橀噺</param> /// <returns></returns> public string GetPrintProcessValue(List<BAS_LABEL_PV> labelPVs, BAS_LABEL_VAR lv); -- Gitblit v1.9.3