服务端的TigerApi 框架,基于.NET6 2024 版本
Rodney Chen
2024-08-02 8bfaf7141c88f41d3dbd1995cfb9cb015ca0d1d6
Tiger.Business.MES/Transaction/Position.cs
@@ -147,9 +147,25 @@
        }
        /// <summary>
        /// 重置当前工步
        /// 重置工序操作
        /// </summary>
        public void ResetSteps()
        /// <returns></returns>
        public ApiAction Reset()
        {
            var action = new ApiAction();
            ResetNode();
            action.IsSuccessed = true;
            action.LocaleMsg = new($"工序操作已重置,请重新扫描进站产品条码");
            action.LocaleMsg = new("MES.Transaction.Position.ResetNode");
            return action;
        }
        /// <summary>
        /// 重置当前工序,有需要则重写此方法
        /// </summary>
        public virtual void ResetNode()
        {
            Steps.Clear();
            CurWipSN = null;
@@ -201,7 +217,6 @@
                {
                    var next = new WorkStep(IWorkStep.Types.Action, this)
                    {
                        NodeID = act.ID,
                        Sequence = parent.Sequence + 1,
                        Node = parent.Node,
                        NodeAct = act,
@@ -282,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;
                }
            }
            //没有可以直接开始的后续工步,根据后续工步返回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.StepActCode = CurStep?.NodeAct.ACT_CODE;
            result.Data.NextStepID = "";
            result.Data.SetValue(CurBatch, CurStep, "", IsFinishAllSteps);
            //没有可以直接开始的后续工步,根据后续可执行工步列表返回相应的操作提示
            if (NextSteps.Count == 1)