服务端的TigerApi 框架,基于.NET6 2024 版本
Ben Lin
2024-09-22 8b5e14886c0d036ce5af9ee20a56c646e254531b
Tiger.Business/MES/Biz.WorkStep.cs
@@ -30,6 +30,7 @@
            #region Propertys & Variables
            public string ID { get; set; } = Guid.NewGuid().ToString("N");
            public string Name { get; set; }
            public IWorkStep.NodeTypes NodeType { get; set; }
            public MES_WO_NODE Node { get; set; }
            public MES_WO_OPER OperSetting { get; set; }
@@ -43,9 +44,19 @@
            private bool _IsFinished = false;
            public bool IsFinished
            {
                get => NodeType == IWorkStep.NodeTypes.Action ? CurAction.IsFinished : _IsFinished;
                get => NodeType == IWorkStep.NodeTypes.Action ? CurAction.IsFinished : _IsFinished;
                set { _IsFinished = value; }
            }
            public StepStatus Status { get; set; } = StepStatus.Normal;
            //public bool IsFinished => Status == StepStatus.Finished;
            private Locale _Message;
            public Locale Message
            {
                get => _Message;
                set { _MsgHistory.Add(_Message = value); }
            }
            private List<Locale> _MsgHistory = new();
            public List<Locale> MsgHistory => _MsgHistory;
            public Action DBSubmitAction { get; set; } = () => { };
            #endregion
@@ -93,19 +104,30 @@
            /// 结束工步执行
            /// </summary>
            /// <returns></returns>
            public ApiAction<SubmitOutput> End()
            public ApiAction<SubmitOutput> End(SubmitInput input)
            {
                return CurAction.End();
                return CurAction.End(input);
            }
            /// <summary>
            /// 设置工步状态和消息
            /// </summary>
            /// <returns></returns>
            public void SetStatusMessage(StepStatus status, Locale msg)
            {
                Message = msg;
                Status = status;
            }
            /// <summary>
            /// 获取当前工步的信息
            /// </summary>
            /// <returns></returns>
            public WorkStepInfo GetInfo()
            public WorkStepInfo GetInfo(string locale)
            {
                return new WorkStepInfo() { 
                    ID = ID,
                    Name = Name,
                    Sequence = Sequence,
                    NodeID = NodeID,
                    NodeType = NodeType.ToString(),
@@ -113,7 +135,8 @@
                    OperSetting = OperSetting,
                    NodeAct = NodeAct,
                    ActSetting = ActSetting,
                    IsFinished = IsFinished,
                    Status = Status.ToString(),
                    Message = Message.IsNullOrEmpty() ? "" : Biz.T(Message, locale),
                };
            }
            #endregion