From c598e4bf57de2b4703d6c0e4d0905c9159273d26 Mon Sep 17 00:00:00 2001 From: Rodney Chen <rodney.chen@hotmail.com> Date: 星期二, 06 八月 2024 10:16:18 +0800 Subject: [PATCH] 条码增加托盘批量过站逻辑和包装外箱过站逻辑 --- Tiger.Business/MES/Biz.WorkStep.cs | 58 +++++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 43 insertions(+), 15 deletions(-) diff --git a/Tiger.Business/MES/Biz.WorkStep.cs b/Tiger.Business/MES/Biz.WorkStep.cs index 332be9e..dfff6ea 100644 --- a/Tiger.Business/MES/Biz.WorkStep.cs +++ b/Tiger.Business/MES/Biz.WorkStep.cs @@ -10,12 +10,8 @@ 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 Tiger.Business.Biz; -using System.ComponentModel; namespace Tiger.Business { @@ -24,38 +20,70 @@ /// <summary> /// 宸ユ /// </summary> - public partial class WorkStep + public partial class WorkStep : IWorkStep { - public WorkStep(string id, 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 enum Types { Node, Action } - public Types Type { get; set; } - public int Sequence { get; set; } - //public bool IsFinished { get; set; } = false; + + public IWorkStep.Types Type { get; set; } public MES_WO_NODE Node { get; set; } public MES_WO_NODE_ACT NodeAct { get; set; } public MES_WO_ACTION Setting { get; set; } public IPosition CurPosition { get; set; } public IWorkAction CurAction { get; set; } - public bool IsFinished => (Type == Types.Action && CurAction.IsFinished) || Type == Types.Node; + public int Sequence { get; set; } + public List<string> PrepNodeIDs { get; set; } = new(); + public string NodeID => Type == IWorkStep.Types.Action ? NodeAct.ID : Node.ID; + private bool _IsFinished = false; + public bool IsFinished + { + get => Type == IWorkStep.Types.Action ? CurAction.IsFinished : _IsFinished; + set { _IsFinished = value; } + } public Action DBSubmitAction { get; set; } = () => { }; #endregion #region Functions - public ApiAction<SubmitOutput> Begin(IPosition position) + /// <summary> + /// 鍒濆鍖栧伐姝� + /// </summary> + /// <returns></returns> + 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(ID, 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> + /// 宸ユ鎻愪氦鏁版嵁 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> public ApiAction<SubmitOutput> Submit(SubmitInput input) { return CurAction.Submit(input); -- Gitblit v1.9.3