服务端的TigerApi 框架,基于.NET6 2024 版本
Rodney Chen
2024-09-13 94f78e8c3fa502bc52eba2b88d45d5813609036c
Tiger.Business.MES/Transaction/CollectNode.cs
@@ -40,14 +40,15 @@
            var action = new ApiAction<SubmitOutput>(new SubmitOutput());
            try
            {
                //更新CurBatch
                CurBatch = WoContext.GetBatch(CurBatch?.OrderNo, CurLine.LINE_CODE);
                //工步列表为空或者工序节点工步有未完成时,优先完成工序节点工步
                if (Steps.IsNullOrEmpty() || !IsFinishNodeSteps)
                {
                    //先判断当前工单不为空且当前岗位在当前工单是不是首站,如果是则不允许变更当前工单,尝试把条码绑定到当前工单
                    if (!CurBatch.IsNullOrEmpty() && CurBatch.IsFirstNode(PostCode))
                    {
                        //更新CurBatch
                        CurBatch?.Update();
                        //提交数据
                        action = NodeSubmit(action, input);
                        //更新工序信息
                        if (!action.IsSuccessed)
@@ -93,6 +94,8 @@
                                        return action;
                                    }
                                }
                                //更新CurBatch
                                CurBatch?.Update();
                                //条码过站
                                action = NodeSubmit(action, input);
                                if (!action.IsSuccessed && !CurWipSNs.Any())
@@ -134,6 +137,9 @@
                //完成工序节点工步后,后开始执行当前工序的行为工步
                else if (IsFinishNodeSteps && !IsFinishAllSteps)
                {
                    //更新CurBatch
                    CurBatch?.Update();
                    var submitStep = Steps.Where(q => q.ID == input.CurStepID && !q.IsFinished).FirstOrDefault();
                    if (submitStep.IsNullOrEmpty())
                    {
@@ -214,7 +220,7 @@
                    return woStatus;
                }
                
                var wipSNs = Biz.Db.Queryable<MES_WIP_DATA>().IncludesAllFirstLayer().Where(q => (q.SN == input.SN || q.TRAY_SN == input.SN) && q.WORK_ORDER == CurBatch.WO.ORDER_NO).ToList();
                var wipSNs = Biz.Db.Queryable<MES_WIP_DATA>().IncludesAllFirstLayer().Where(q => q.SN == input.SN || q.FLOW_SN == input.SN || q.TRAY_SN == input.SN).ToList();
                if (wipSNs.IsNullOrEmpty())
                {
                    var wipSN = new MES_WIP_DATA()