服务端的TigerApi 框架,基于.NET6 2024 版本
Ben Lin
2024-08-02 297abc24fdbd3987fe529e6895387940502ee864
Tiger.Business.MES/Transaction/Position.cs
@@ -222,6 +222,7 @@
                        NodeAct = act,
                        Setting = CurBatch.ActionSets.FirstOrDefault(q => q.ACT_ID == act.ID),
                    };
                    next.Init();
                    next.PrepNodeIDs.Add(parent.NodeID);
                    next.PrepNodeIDs.AddRange(parent.PrepNodeIDs);
                    next.PrepNodeIDs = next.PrepNodeIDs.Distinct().ToList();
@@ -280,7 +281,7 @@
        /// <param name="input"></param>
        public ApiAction<SubmitOutput> BeginNextActionStep(SubmitInput input)
        {
            var result = new ApiAction<SubmitOutput>();
            var result = new ApiAction<SubmitOutput>(new SubmitOutput());
            //设置后续可执行的工步列表
            NextSteps = GetNextSteps(CurStep);
            //尝试有没有可以直接开始的后续工步
@@ -298,7 +299,7 @@
                    //返回结果到客户端
                    result = canBegin;
                    result.Data.SetValue(CurBatch, CurStep, CurStep?.ID, IsFinishAllSteps);
                    return result;
                }
            }
@@ -372,6 +373,8 @@
                                    return WorkBatch.Product.ToJson();
                                case "GetCustomer":
                                    return WorkBatch.Batch.ToJson();
                                case "GetVarByWo":
                                    return GetLabelVarWo(lv);
                                default:
                                    return "";
                            }
@@ -387,6 +390,26 @@
            return "";
        }
        /// <summary>
        /// 获取工单维护的模板变量
        /// </summary>
        /// <param name="labelId"></param>
        /// <returns></returns>
        private string GetLabelVarWo(BAS_LABEL_VAR lv)
        {
            string result = "";
            var labelVarwos = Biz.Db.Queryable<BAS_LABEL_VAR_WO>().Where(x => x.LABEL_ID == lv.LABEL_ID && x.VAR_NAME == lv.VAR_NAME).ToList();
            if (labelVarwos.Any(q => q.WORK_ORDER == WorkBatch.Batch.ORDER_NO))
            {
                result = labelVarwos.First(q => q.WORK_ORDER == WorkBatch.Batch.ORDER_NO).VAR_VALUE;
            }
            else
            {
                result = labelVarwos.Count > 0 ? labelVarwos[0].DEFAULT_VALUE : "";
            }
            return result;
        }
        #endregion Functions
        public override bool Close(bool needSaveHistoryLog = false)