From 8bfaf7141c88f41d3dbd1995cfb9cb015ca0d1d6 Mon Sep 17 00:00:00 2001 From: Rodney Chen <rodney.chen@hotmail.com> Date: 星期五, 02 八月 2024 16:34:13 +0800 Subject: [PATCH] 整理了工序传入传出参数 --- Tiger.IBusiness/MES/IWorkStep.cs | 3 Tiger.Business.WMS/Extensions/JsonExtension.cs | 2 Tiger.IBusiness/Extensions/ModelExtension.cs | 33 +++++++++++ Tiger.Business.MES/Transaction/CollectNode.cs | 21 +----- Tiger.Business.MES/Transaction/PackingNode.cs | 20 +----- Tiger.Business.MES/Transaction/Position.cs | 15 ---- Tiger.Business/MES/Biz.WorkBatch.cs | 27 ++------ Tiger.Business.MES/Tiger.Business.MES.csproj | 6 + Tiger.Model.Net/Entitys/MES/ParameterEntity/PositionParameter.cs | 9 +- Tiger.Business/MES/Biz.WorkStep.cs | 4 + Tiger.Business.MES/Transaction/TestNode.cs | 20 +----- 11 files changed, 69 insertions(+), 91 deletions(-) diff --git a/Tiger.Business.MES/Tiger.Business.MES.csproj b/Tiger.Business.MES/Tiger.Business.MES.csproj index 0cd412d..4273963 100644 --- a/Tiger.Business.MES/Tiger.Business.MES.csproj +++ b/Tiger.Business.MES/Tiger.Business.MES.csproj @@ -1,4 +1,4 @@ -<Project Sdk="Microsoft.NET.Sdk"> +锘�<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>net6.0</TargetFramework> @@ -11,6 +11,10 @@ <ProjectReference Include="..\Tiger.IBusiness\Tiger.IBusiness.csproj" /> </ItemGroup> + <ItemGroup> + <Folder Include="Extensions\" /> + </ItemGroup> + <Target Name="PostBuild" AfterTargets="PostBuildEvent"> <Exec Command="xcopy /r/y/i $(ProjectDir)$(OutDir)$(AssemblyName).dll $(SolutionDir)Tiger.Api\$(OutDir)
xcopy /r/y/i $(ProjectDir)$(OutDir)$(AssemblyName).pdb $(SolutionDir)Tiger.Api\$(OutDir)
xcopy /r/y/i $(ProjectDir)$(OutDir)BizSettings.json $(SolutionDir)Tiger.Api\$(OutDir)" /> </Target> diff --git a/Tiger.Business.MES/Transaction/CollectNode.cs b/Tiger.Business.MES/Transaction/CollectNode.cs index e7e6c2b..b374b1b 100644 --- a/Tiger.Business.MES/Transaction/CollectNode.cs +++ b/Tiger.Business.MES/Transaction/CollectNode.cs @@ -10,6 +10,7 @@ using System.Threading.Tasks; using Tiger.Model; using Tiger.Model.Entitys.MES.Position; +using static System.Net.Mime.MediaTypeNames; namespace Tiger.Business.MES.Transaction { @@ -123,12 +124,7 @@ } else { - 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); } } //濡傛灉鎵�鏈夊伐姝ラ兘瀹屾垚 @@ -260,7 +256,6 @@ Steps.Clear(); var curStep = new Biz.WorkStep(IWorkStep.Types.Node, this) { - NodeID = curNode.ID, Sequence = Steps.Count + 1, Node = curNode, DBSubmitAction = () => @@ -303,11 +298,7 @@ NextSteps.Clear(); NextSteps.Add(next); //鏍规嵁鍚庣画宸ユ杩斿洖ApiAction - 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.NextStepID = next.ID; + result.Data.SetValue(CurBatch, CurStep, next.ID, IsFinishAllSteps); //鏍规嵁宸ュ簭鑺傜偣宸ユ鐨勫簭鍙疯繑鍥炵浉搴旂殑鎿嶄綔鎻愮ず switch (next.Sequence) @@ -330,11 +321,7 @@ //宸插畬鎴愭墍鏈夊伐姝� else { - action.Data.IsFinished = IsFinishAllSteps; - action.Data.CurWO = CurBatch.WO.ORDER_NO; - action.Data.CurBatch = CurBatch.Batch.BATCH_NO; - action.Data.CurNode = CurStep?.Node.NODE_NAME; - action.Data.NextStepID = ""; + action.Data.SetValue(CurBatch, CurStep, "", IsFinishAllSteps); action = DoIfFinishAllSteps(action); } } diff --git a/Tiger.Business.MES/Transaction/PackingNode.cs b/Tiger.Business.MES/Transaction/PackingNode.cs index ee18012..404ff34 100644 --- a/Tiger.Business.MES/Transaction/PackingNode.cs +++ b/Tiger.Business.MES/Transaction/PackingNode.cs @@ -146,12 +146,7 @@ } else { - 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); } } //濡傛灉鎵�鏈夊伐姝ラ兘瀹屾垚 @@ -284,7 +279,6 @@ Steps.Clear(); var curStep = new Biz.WorkStep(IWorkStep.Types.Node, this) { - NodeID = curNode.ID, Sequence = Steps.Count + 1, Node = curNode, DBSubmitAction = () => @@ -327,11 +321,7 @@ NextSteps.Clear(); NextSteps.Add(next); //鏍规嵁鍚庣画宸ユ杩斿洖ApiAction - 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.NextStepID = next.ID; + result.Data.SetValue(CurBatch, CurStep, next.ID, IsFinishAllSteps); //鏍规嵁宸ュ簭鑺傜偣宸ユ鐨勫簭鍙疯繑鍥炵浉搴旂殑鎿嶄綔鎻愮ず switch (next.Sequence) @@ -354,11 +344,7 @@ //宸插畬鎴愭墍鏈夊伐姝� else { - action.Data.IsFinished = IsFinishAllSteps; - action.Data.CurWO = CurBatch.WO.ORDER_NO; - action.Data.CurBatch = CurBatch.Batch.BATCH_NO; - action.Data.CurNode = CurStep?.Node.NODE_NAME; - action.Data.NextStepID = ""; + action.Data.SetValue(CurBatch, CurStep, "", IsFinishAllSteps); action = DoIfFinishAllSteps(action); } } diff --git a/Tiger.Business.MES/Transaction/Position.cs b/Tiger.Business.MES/Transaction/Position.cs index 7f76771..eabfb3b 100644 --- a/Tiger.Business.MES/Transaction/Position.cs +++ b/Tiger.Business.MES/Transaction/Position.cs @@ -217,7 +217,6 @@ { var next = new WorkStep(IWorkStep.Types.Action, this) { - NodeID = act.ID, Sequence = parent.Sequence + 1, Node = parent.Node, NodeAct = act, @@ -298,24 +297,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) diff --git a/Tiger.Business.MES/Transaction/TestNode.cs b/Tiger.Business.MES/Transaction/TestNode.cs index 7739e6b..f63c4d9 100644 --- a/Tiger.Business.MES/Transaction/TestNode.cs +++ b/Tiger.Business.MES/Transaction/TestNode.cs @@ -124,12 +124,7 @@ } else { - 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); } } //濡傛灉鎵�鏈夊伐姝ラ兘瀹屾垚 @@ -261,7 +256,6 @@ Steps.Clear(); var curStep = new Biz.WorkStep(IWorkStep.Types.Node, this) { - NodeID = curNode.ID, Sequence = Steps.Count + 1, Node = curNode, DBSubmitAction = () => @@ -304,11 +298,7 @@ NextSteps.Clear(); NextSteps.Add(next); //鏍规嵁鍚庣画宸ユ杩斿洖ApiAction - 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.NextStepID = next.ID; + result.Data.SetValue(CurBatch, CurStep, next.ID, IsFinishAllSteps); //鏍规嵁宸ュ簭鑺傜偣宸ユ鐨勫簭鍙疯繑鍥炵浉搴旂殑鎿嶄綔鎻愮ず switch (next.Sequence) @@ -331,11 +321,7 @@ //宸插畬鎴愭墍鏈夊伐姝� else { - action.Data.IsFinished = IsFinishAllSteps; - action.Data.CurWO = CurBatch.WO.ORDER_NO; - action.Data.CurBatch = CurBatch.Batch.BATCH_NO; - action.Data.CurNode = CurStep?.Node.NODE_NAME; - action.Data.NextStepID = ""; + action.Data.SetValue(CurBatch, CurStep, "", IsFinishAllSteps); action = DoIfFinishAllSteps(action); } } diff --git a/Tiger.Business.WMS/Extensions/JsonExtention.cs b/Tiger.Business.WMS/Extensions/JsonExtension.cs similarity index 99% rename from Tiger.Business.WMS/Extensions/JsonExtention.cs rename to Tiger.Business.WMS/Extensions/JsonExtension.cs index baadfd2..fd22044 100644 --- a/Tiger.Business.WMS/Extensions/JsonExtention.cs +++ b/Tiger.Business.WMS/Extensions/JsonExtension.cs @@ -8,7 +8,7 @@ /// <summary> /// /// </summary> - public static class JsonExtention + public static class JsonExtension { /// <summary> /// diff --git a/Tiger.Business/MES/Biz.WorkBatch.cs b/Tiger.Business/MES/Biz.WorkBatch.cs index 4d425b4..7b2ce63 100644 --- a/Tiger.Business/MES/Biz.WorkBatch.cs +++ b/Tiger.Business/MES/Biz.WorkBatch.cs @@ -8,13 +8,9 @@ using Rhea.Common; using System.Net; using System.Linq; -using Newtonsoft.Json; using Tiger.IBusiness; -using Microsoft.AspNetCore.Http; using Tiger.Business.MES; -using Org.BouncyCastle.Ocsp; using Tiger.Model.Entitys.MES.Position; -using static System.Net.Mime.MediaTypeNames; namespace Tiger.Business { @@ -115,7 +111,7 @@ /// <returns></returns> public ApiAction<SubmitOutput> CheckStatus() { - var action = new ApiAction<SubmitOutput>(new SubmitOutput(),true); + var action = new ApiAction<SubmitOutput>(new SubmitOutput(), true); WO = Biz.Db.Queryable<BIZ_MES_WO>().Where(q => q.ORDER_NO == OrderNo).First(); Batch = Biz.Db.Queryable<BIZ_MES_WO_BATCH>().Where(q => q.ORDER_NO == OrderNo && q.ACT_LINE == LineCode).First(); @@ -123,8 +119,7 @@ if (Batch.STATUS != BIZ_MES_WO_BATCH.STATUSs.Release.GetValue() && Batch.STATUS != BIZ_MES_WO_BATCH.STATUSs.Working.GetValue()) { action.IsSuccessed = false; - action.Data.CurWO = WO.ORDER_NO; - action.Data.CurBatch = Batch.BATCH_NO; + action.Data.SetValue(this, null); //action.LocaleMsg = new($"宸ュ崟鎵规[{Batch.BATCH_NO}]鐘舵�乕{Batch.STATUS.GetEnum<BIZ_MES_WO_BATCH.STATUSs>().GetName()}]涓嶆槸鍏佽鐢熶骇鐨勭姸鎬侊紝璇锋壂鎻忓厑璁哥敓浜х殑浜у搧鏉$爜"); action.LocaleMsg = new("MES.WorkBatch.WoBatchStatusCanNotWork", Batch.BATCH_NO, Batch.STATUS.GetEnum<BIZ_MES_WO_BATCH.STATUSs>().GetName()); } @@ -132,8 +127,7 @@ if (WO.STATUS != BIZ_MES_WO.STATUSs.Release.GetValue() && WO.STATUS != BIZ_MES_WO.STATUSs.Working.GetValue()) { action.IsSuccessed = false; - action.Data.CurWO = WO.ORDER_NO; - action.Data.CurBatch = Batch.BATCH_NO; + action.Data.SetValue(this, null); //action.LocaleMsg = new($"宸ュ崟[{WO.ORDER_NO}]鐘舵�乕{Batch.STATUS.GetEnum<BIZ_MES_WO.STATUSs>().GetName()}]涓嶆槸鍏佽鐢熶骇鐨勭姸鎬侊紝璇锋壂鎻忓厑璁哥敓浜х殑浜у搧鏉$爜"); action.LocaleMsg = new("MES.WorkBatch.WoStatusCanNotWork", WO.ORDER_NO, Batch.STATUS.GetEnum<BIZ_MES_WO.STATUSs>().GetName()); } @@ -239,8 +233,7 @@ else { action.IsSuccessed = false; - action.Data.CurWO = WO.ORDER_NO; - action.Data.CurBatch = Batch.BATCH_NO; + action.Data.SetValue(this, null); var nextList = Nodes.Where(q => q.IS_FIRST_NODE == "Y"); action.LocaleMsg = new("MES.WorkBatch.GotoNextNodeException", wipSN.SN, nextNode.NODE_NAME, string.Join(", ", nextList.Select(q => q.NODE_NAME + (q.CAN_SKIP == "Y" ? $"({T(L("MES.WorkBatch.Optional"), input.Locale)})" : "")))); return action; @@ -275,8 +268,7 @@ else { action.IsSuccessed = false; - action.Data.CurWO = WO.ORDER_NO; - action.Data.CurBatch = Batch.BATCH_NO; + action.Data.SetValue(this, null); var nextList = reflowNodes.Where(q => wipSN.REFLOW_NODE.IsNullOrEmpty() || wipSN.REFLOW_NODE == q.NODE_NAME); action.LocaleMsg = new("MES.WorkBatch.ReflowToNodeException", nextNode.NODE_NAME, wipSN.SN, curNode.NODE_NAME, string.Join(", ", nextList.Select(q => q.NODE_NAME + (q.CAN_SKIP == "Y" ? $"({T(L("MES.WorkBatch.Optional"), input.Locale)})" : "")))); return action; @@ -287,8 +279,7 @@ && curSetting.ALLOW_DFT_IN != "Y" && nextNode.Operation.OPER_TYPE != MES_OPERATION.OPER_TYPEs.Repair.GetValue()) { action.IsSuccessed = false; - action.Data.CurWO = WO.ORDER_NO; - action.Data.CurBatch = Batch.BATCH_NO; + action.Data.SetValue(this, null); action.LocaleMsg = new("MES.WorkBatch.PleaseGotoRepair", curNode.NODE_NAME, wipSN.SN); return action; } @@ -308,8 +299,7 @@ if (nextNodes.Any(q => NodeSets.Any(s => s.NODE_ID == q.ID && s.IS_ACTIVE == "Y" && s.CAN_SKIP != "Y"))) { action.IsSuccessed = false; - action.Data.CurWO = WO.ORDER_NO; - action.Data.CurBatch = Batch.BATCH_NO; + action.Data.SetValue(this, null); var nextList = nextNodes.Where(q => NodeSets.Any(s => s.NODE_ID == q.ID && s.IS_ACTIVE == "Y" && s.CAN_SKIP != "Y")); action.LocaleMsg = new("MES.WorkBatch.GotoNextNodeException", wipSN.SN, nextNode.NODE_NAME, string.Join(", ", nextList.Select(q => q.NODE_NAME + (q.CAN_SKIP == "Y" ? $"({T(L("MES.WorkBatch.Optional"), input.Locale)})" : "")))); return action; @@ -338,8 +328,7 @@ else { action.IsSuccessed = false; - action.Data.CurWO = WO.ORDER_NO; - action.Data.CurBatch = Batch.BATCH_NO; + action.Data.SetValue(this, null); var nextList = nextNodes.Where(q => NodeSets.Any(s => s.NODE_ID == q.ID && s.IS_ACTIVE == "Y")); action.LocaleMsg = new("MES.WorkBatch.GotoNextNodeException", wipSN.SN, nextNode.NODE_NAME, string.Join(", ", nextList.Select(q => q.NODE_NAME + (q.CAN_SKIP == "Y" ? $"({T(L("MES.WorkBatch.Optional"), input.Locale)})" : "")))); return action; diff --git a/Tiger.Business/MES/Biz.WorkStep.cs b/Tiger.Business/MES/Biz.WorkStep.cs index 10afd43..5b906c1 100644 --- a/Tiger.Business/MES/Biz.WorkStep.cs +++ b/Tiger.Business/MES/Biz.WorkStep.cs @@ -30,7 +30,7 @@ #region Propertys & Variables public string ID { get; set; } = Guid.NewGuid().ToString("N"); - public string NodeID { get; set; } + public IWorkStep.Types Type { get; set; } public MES_WO_NODE Node { get; set; } public MES_WO_NODE_ACT NodeAct { get; set; } @@ -39,6 +39,8 @@ public IWorkAction CurAction { get; set; } public int Sequence { get; set; } public List<string> PrepNodeIDs { get; set; } = new(); + public string NodeID => Type == IWorkStep.Types.Action ? NodeAct.ID : Node.ID; + public string NodeName => Type == IWorkStep.Types.Action ? NodeAct.ACT_NAME : Node.NODE_NAME; private bool _IsFinished = false; public bool IsFinished { diff --git a/Tiger.IBusiness/Extensions/ModelExtension.cs b/Tiger.IBusiness/Extensions/ModelExtension.cs new file mode 100644 index 0000000..476cba1 --- /dev/null +++ b/Tiger.IBusiness/Extensions/ModelExtension.cs @@ -0,0 +1,33 @@ +锘縰sing Rhea.Common; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Tiger.Model.Entitys.MES.Position; + +namespace Tiger.IBusiness +{ + public static class ModelExtension + { + public static void SetValue(this SubmitOutput value, IWorkBatch CurBatch, IWorkStep CurStep, string NextStepID = "", bool IsNodeFinished = false) + { + value.IsFinished = IsNodeFinished; + value.CurWO = CurBatch?.WO; + value.CurBatch = CurBatch?.Batch; + value.CurNode = CurStep?.NodeName; + value.StepActCode = CurStep?.NodeAct?.ACT_CODE; + value.NextStepID = NextStepID; + } + + public static void SetData(this SubmitOutput value, object Data) + { + value.Data = Data; + } + + public static void SetData<T>(this SubmitOutput value, T Data) + { + value.Data = Data; + } + } +} diff --git a/Tiger.IBusiness/MES/IWorkStep.cs b/Tiger.IBusiness/MES/IWorkStep.cs index f5441dc..0de2f20 100644 --- a/Tiger.IBusiness/MES/IWorkStep.cs +++ b/Tiger.IBusiness/MES/IWorkStep.cs @@ -13,7 +13,6 @@ { #region Propertys & Variables public string ID { get; set; } - public Types Type { get; set; } public int Sequence { get; set; } public MES_WO_NODE Node { get; set; } @@ -22,6 +21,8 @@ public IPosition CurPosition { get; set; } public IWorkAction CurAction { get; set; } public List<string> PrepNodeIDs { get; set; } + public string NodeID { get; } + public string NodeName { get; } public bool IsFinished { get; set; } public Action DBSubmitAction { get; set; } #endregion Propertys & Variables diff --git a/Tiger.Model.Net/Entitys/MES/ParameterEntity/PositionParameter.cs b/Tiger.Model.Net/Entitys/MES/ParameterEntity/PositionParameter.cs index ecd55cd..5437c96 100644 --- a/Tiger.Model.Net/Entitys/MES/ParameterEntity/PositionParameter.cs +++ b/Tiger.Model.Net/Entitys/MES/ParameterEntity/PositionParameter.cs @@ -54,13 +54,13 @@ /// </summary> public bool IsFinished { get; set; } = false; /// <summary> - /// 褰撳墠鎿嶄綔鐨勫伐鍗� + /// 褰撳墠鎿嶄綔鐨勫伐鍗曞璞� /// </summary> - public string CurWO { get; set; } + public BIZ_MES_WO CurWO { get; set; } /// <summary> - /// 褰撳墠鎿嶄綔鐨勫伐鍗曟壒娆� + /// 褰撳墠鎿嶄綔鐨勫伐鍗曟壒娆″璞� /// </summary> - public string CurBatch { get; set; } + public BIZ_MES_WO_BATCH CurBatch { get; set; } /// <summary> /// 褰撳墠鎿嶄綔鐨勮妭鐐瑰悕绉� /// </summary> @@ -77,6 +77,7 @@ /// 褰撳墠鎿嶄綔杩斿洖鐨勬暟鎹� /// </summary> public object Data { get; set; } + } public class DefectOutput -- Gitblit v1.9.3