服务端的TigerApi 框架,基于.NET6 2024 版本
Ben Lin
2024-08-20 b97c46c3a70ac278c36b1e51342cdba5ab363ed1
Tiger.Business.MES/Transaction/TestNode.cs
@@ -49,9 +49,16 @@
                    {
                        action = NodeSubmit(action, input);
                        //更新工序信息
                        var info = WoContext.GetSnOperInfo(input.SN).Data;
                        info.InputQty = OperInfoDic[CurBatch.Batch.BATCH_NO].InputQty;
                        action.Data.OperInfo = info;
                        if (!action.IsSuccessed)
                        {
                            var info = WoContext.GetSnOperInfo(input.SN).Data;
                            info.InputQty = OperInfoDic[CurBatch.Batch.BATCH_NO].InputQty;
                            action.Data.OperInfo = info;
                        }
                        else if (!IsFinishAllSteps)
                        {
                            action.Data.OperInfo = SetOperNodeInfo(OperInfoDic[CurBatch.Batch.BATCH_NO]);
                        }
                    }
                    //当前岗位在当前工单不是首站,则查找条码已绑定的工单当作当前工单
                    else
@@ -87,7 +94,16 @@
                                }
                                //条码过站
                                action = NodeSubmit(action, input);
                                action.Data.OperInfo = SetOperNodeInfo(OperInfoDic[CurBatch.Batch.BATCH_NO]);
                                if (!action.IsSuccessed && !CurWipSNs.Any())
                                {
                                    var info = WoContext.GetSnOperInfo(input.SN).Data;
                                    info.InputQty = OperInfoDic[CurBatch.Batch.BATCH_NO].InputQty;
                                    action.Data.OperInfo = info;
                                }
                                else if (!IsFinishAllSteps)
                                {
                                    action.Data.OperInfo = SetOperNodeInfo(OperInfoDic[CurBatch.Batch.BATCH_NO]);
                                }
                            }
                        }
                        //查找不到条码已绑定的工单
@@ -149,7 +165,10 @@
                        {
                            result = DoIfFinishAllSteps(result);
                        }
                        result.Data.OperInfo = OperInfoDic[CurBatch.Batch.BATCH_NO];
                        else
                        {
                            result.Data.OperInfo = OperInfoDic[CurBatch.Batch.BATCH_NO];
                        }
                        return result;
                    }
                }
@@ -204,6 +223,10 @@
                        ITEM_CODE = CurBatch.WO.ITEM_CODE,
                        WORK_ORDER = CurBatch.Batch.ORDER_NO,
                        BATCH_NO = CurBatch.Batch.BATCH_NO,
                        FTY_CODE = CurFactory.FTY_CODE,
                        WS_CODE = CurWorkshop.WS_CODE,
                        LINE_CODE = CurLine.LINE_CODE,
                        POST_CODE = CurPosition.POST_CODE,
                        HOLD_FLAG = "N",
                        REWORK_FLAG = CurBatch.WO.ORDER_TYPE == BIZ_MES_WO.ORDER_TYPEs.Rework.GetValue() ? "Y" : "N",
                        FINISHED_FLAG = "N",
@@ -365,7 +388,9 @@
                    CurWipSNHiss.Clear();
                    foreach (var wipSN in wipSNs)
                    {
                        CurWipSNHiss.Add(new MES_WIP_HIS(wipSN, $"工单[{wipSN.WORK_ORDER}]条码[{wipSN.SN}]在岗位[{wipSN.POST_CODE}]过站工序[{wipSN.NODE_NAME}]成功"));
                        var his = new MES_WIP_HIS(wipSN, $"工单[{wipSN.WORK_ORDER}]条码[{wipSN.SN}]在岗位[{wipSN.POST_CODE}]过站工序[{wipSN.NODE_NAME}]成功");
                        wipSN.History.Add(his);
                        CurWipSNHiss.Add(his);
                    }
                    //创建变量克隆对象用于传入DBSubmitAction中保存当前需要暂存的数据值
@@ -497,9 +522,11 @@
            //保存成功,返回过站消息
            OperInfoDic[CurBatch.Batch.BATCH_NO].InputQty += CurWipSNs.Count;
            action.Data.OperInfo = SetOperNodeInfo(OperInfoDic[CurBatch.Batch.BATCH_NO]);
            action.Data.ShortMsg = new("过站成功", ShortMessage.Types.Success);
            //action.LocaleMsg = new($"工单[{CurWipSN.WORK_ORDER}]的条码[{CurWipSN.SN}]在岗位[{CurWipSN.POST_CODE}]工序[{CurWipSN.NODE_NAME}]过站成功,状态[{CurWipSN.STATUS.GetEnumDesc<MES_WIP_DATA.STATUSs>()}]");
            action.LocaleMsg = new("MES.Transaction.CollectNode.ScanSn.PassSuccess", CurWipSNs.First().WORK_ORDER, CurSN, CurWipSNs.First().POST_CODE, CurWipSNs.First().NODE_NAME, CurWipSNs.First().STATUS.GetEnumDesc<MES_WIP_DATA.STATUSs>());
            //重置工序
            ResetNode();
            return action;