From 01a5cb6f77739630a88fc2f95be694b53ade0d41 Mon Sep 17 00:00:00 2001
From: Rodney Chen <rodney.chen@hotmail.com>
Date: 星期五, 19 七月 2024 14:14:47 +0800
Subject: [PATCH] 工步修改为支持并行执行行为,优化工步执行逻辑

---
 Tiger.Business/MES/Biz.WorkStep.cs |   32 +++++++++++++++++++++++++-------
 1 files changed, 25 insertions(+), 7 deletions(-)

diff --git a/Tiger.Business/MES/Biz.WorkStep.cs b/Tiger.Business/MES/Biz.WorkStep.cs
index de8c0f2..5ac5564 100644
--- a/Tiger.Business/MES/Biz.WorkStep.cs
+++ b/Tiger.Business/MES/Biz.WorkStep.cs
@@ -22,14 +22,15 @@
         /// </summary>
         public partial class WorkStep : IWorkStep
         {
-            public WorkStep(string id, IWorkStep.Types type)
+            public WorkStep(IWorkStep.Types type, IPosition position)
             {
-                ID = id;
                 Type = type;
+                CurPosition = position;
             }
 
             #region Propertys & Variables
             public string ID { get; set; } = Guid.NewGuid().ToString("N");
+            public string NodeID { get; set; } 
             public IWorkStep.Types Type { get; set; }
             public int Sequence { get; set; }
             public MES_WO_NODE Node { get; set; }
@@ -37,6 +38,7 @@
             public MES_WO_ACTION Setting { get; set; }
             public IPosition CurPosition { get; set; }
             public IWorkAction CurAction { get; set; }
+            public List<string> PrepNodeIDs { get; set; } = new();
             private bool _IsFinished = false;
             public bool IsFinished
             {
@@ -48,16 +50,32 @@
 
             #region Functions
             /// <summary>
-            /// 寮�濮嬫墽琛屽伐姝�
+            /// 鍒濆鍖栧伐姝�
             /// </summary>
-            /// <param name="position"></param>
             /// <returns></returns>
-            public ApiAction<SubmitOutput> Begin(IPosition position)
+            public void Init()
             {
-                CurPosition = position;
                 CurAction = DI.Resolve(NodeAct.Definition.SERVICE_TYPE) as IWorkAction;
                 //CurAction = DI.Resolve("Tiger.IBusiness.IPrintLabel,Tiger.IBusiness") as IWorkAction;
-                return CurAction.Begin(this, position, NodeAct, Setting);
+                CurAction.Init(this, CurPosition, NodeAct, Setting);
+            }
+
+            /// <summary>
+            /// 灏濊瘯寮�濮嬫墽琛屽伐姝�
+            /// </summary>
+            /// <returns></returns>
+            public ApiAction<SubmitOutput> TryBegin(SubmitInput input)
+            {
+                return CurAction.TryBegin(input);
+            }
+
+            /// <summary>
+            /// 鑾峰彇琛屼负寮�濮嬬殑鎻愮ず淇℃伅
+            /// </summary>
+            /// <returns></returns>
+            public Locale GetBeginMsg()
+            {
+                return CurAction.GetBeginMsg();
             }
 
             /// <summary>

--
Gitblit v1.9.3