服务端的TigerApi 框架,基于.NET6 2024 版本
Rodney Chen
2024-07-21 f656805650f0024d30ede19d8c32070f319ed507
MES逻辑增加组织的判断和保存
已修改9个文件
35 ■■■■ 文件已修改
Tiger.Business.MES/Transaction/CollectNode.cs 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.MES/Transaction/LoadingMaterial.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.MES/Transaction/PackingNode.cs 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.MES/Transaction/Position.cs 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.MES/Transaction/TestNode.cs 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.MES/WorkAction/IPQC.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.MES/WorkAction/PrintLabel.cs 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business/MES/Biz.WorkBatch.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.IBusiness/MES/IWorkBatch.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.MES/Transaction/CollectNode.cs
@@ -164,6 +164,8 @@
                //当工步列表为空,则执行当前工序的必要逻辑当作第一个工序节点,完成后按需求创建后续的工步列表
                if (Steps.IsNullOrEmpty())
                {
                    var curNode = CurBatch.GetNode(PostCode);
                    //绑定条码到工单
                    if (!CurBatch.WoSNs.Any(q => q.SN == input.SN))
                    {
@@ -172,11 +174,12 @@
                            WORK_ORDER = CurBatch.Batch.ORDER_NO,
                            SN = input.SN,
                            STATUS = BIZ_MES_WO_SN.STATUSs.NotInput.GetValue(),
                            BATCH_NO = CurBatch.Batch.BATCH_NO,
                        });
                    }
                    var woSN = CurBatch.WoSNs.FirstOrDefault(q => q.SN == input.SN);
                    var curNode = CurBatch.GetNode(PostCode);
                    woSN.AUTH_ORG = CurBatch.WO.AUTH_ORG;
                    woSN.AUTH_PROD = CurLine.LINE_CODE;
                    woSN.BATCH_NO = CurBatch.Batch.BATCH_NO;
                    //条码过站
                    var wipSN = Biz.Db.Queryable<MES_WIP_DATA>().First(q => q.SN == input.SN && q.BATCH_NO == CurBatch.Batch.BATCH_NO) ?? new MES_WIP_DATA()
@@ -193,6 +196,7 @@
                        DFT_FLAG = "N",
                        DFT_COUNT = 0,
                    };
                    wipSN.AUTH_ORG = CurBatch.WO.AUTH_ORG;
                    wipSN.AUTH_PROD = CurLine.LINE_CODE;
                    wipSN.STATUS = wipSN.STATUS > 0 ? MES_WIP_DATA.STATUSs.OK.GetValue() : wipSN.STATUS;
                    wipSN.ROT_CODE = CurBatch.WO.ROUTE_CODE;
Tiger.Business.MES/Transaction/LoadingMaterial.cs
@@ -34,7 +34,7 @@
        public string UserCode { get; set; }
        public long UserId { get; set; }
        public string OrgCode { get; set; }
        public string CurrSmtCode { get; set; }
        public string CurSmtCode { get; set; }
        public string CurrSlotNo { get; set; }
        /// <summary>
        /// 步骤类型
Tiger.Business.MES/Transaction/PackingNode.cs
@@ -164,6 +164,8 @@
                //当工步列表为空,则执行当前工序的必要逻辑当作第一个工序节点,完成后按需求创建后续的工步列表
                if (Steps.IsNullOrEmpty())
                {
                    var curNode = CurBatch.GetNode(PostCode);
                    //绑定条码到工单
                    if (!CurBatch.WoSNs.Any(q => q.SN == input.SN))
                    {
@@ -172,11 +174,12 @@
                            WORK_ORDER = CurBatch.Batch.ORDER_NO,
                            SN = input.SN,
                            STATUS = BIZ_MES_WO_SN.STATUSs.NotInput.GetValue(),
                            BATCH_NO = CurBatch.Batch.BATCH_NO,
                        });
                    }
                    var woSN = CurBatch.WoSNs.FirstOrDefault(q => q.SN == input.SN);
                    var curNode = CurBatch.GetNode(PostCode);
                    woSN.AUTH_ORG = CurBatch.WO.AUTH_ORG;
                    woSN.AUTH_PROD = CurLine.LINE_CODE;
                    woSN.BATCH_NO = CurBatch.Batch.BATCH_NO;
    
                    //条码过站
                    var wipSN = Biz.Db.Queryable<MES_WIP_DATA>().First(q => q.SN == input.SN && q.BATCH_NO == CurBatch.Batch.BATCH_NO) ?? new MES_WIP_DATA()
@@ -193,6 +196,7 @@
                        DFT_FLAG = "N",
                        DFT_COUNT = 0,
                    };
                    wipSN.AUTH_ORG = CurBatch.WO.AUTH_ORG;
                    wipSN.AUTH_PROD = CurLine.LINE_CODE;
                    wipSN.STATUS = wipSN.STATUS > 0 ? MES_WIP_DATA.STATUSs.OK.GetValue() : wipSN.STATUS;
                    wipSN.ROT_CODE = CurBatch.WO.ROUTE_CODE;
Tiger.Business.MES/Transaction/Position.cs
Tiger.Business.MES/Transaction/TestNode.cs
@@ -165,6 +165,8 @@
                //当工步列表为空,则执行当前工序的必要逻辑当作第一个工序节点,完成后按需求创建后续的工步列表
                if (Steps.IsNullOrEmpty())
                {
                    var curNode = CurBatch.GetNode(PostCode);
                    //绑定条码到工单
                    if (!CurBatch.WoSNs.Any(q => q.SN == input.SN))
                    {
@@ -173,11 +175,12 @@
                            WORK_ORDER = CurBatch.Batch.ORDER_NO,
                            SN = input.SN,
                            STATUS = BIZ_MES_WO_SN.STATUSs.NotInput.GetValue(),
                            BATCH_NO = CurBatch.Batch.BATCH_NO,
                        });
                    }
                    var woSN = CurBatch.WoSNs.FirstOrDefault(q => q.SN == input.SN);
                    var curNode = CurBatch.GetNode(PostCode);
                    woSN.AUTH_ORG = CurBatch.WO.AUTH_ORG;
                    woSN.AUTH_PROD = CurLine.LINE_CODE;
                    woSN.BATCH_NO = CurBatch.Batch.BATCH_NO;
                    //条码过站
                    var wipSN = Biz.Db.Queryable<MES_WIP_DATA>().First(q => q.SN == input.SN && q.BATCH_NO == CurBatch.Batch.BATCH_NO) ?? new MES_WIP_DATA()
@@ -194,6 +197,7 @@
                        DFT_FLAG = "N",
                        DFT_COUNT = 0,
                    };
                    wipSN.AUTH_ORG = CurBatch.WO.AUTH_ORG;
                    wipSN.AUTH_PROD = CurLine.LINE_CODE;
                    wipSN.STATUS = wipSN.STATUS > 0 ? MES_WIP_DATA.STATUSs.OK.GetValue() : wipSN.STATUS;
                    wipSN.ROT_CODE = CurBatch.WO.ROUTE_CODE;
Tiger.Business.MES/WorkAction/IPQC.cs
@@ -107,6 +107,8 @@
            //记录行为操作记录
            var wipAct = new MES_WIP_ACT()
            {
                AUTH_ORG = CurPosition.WorkBatch.WO.AUTH_ORG,
                AUTH_PROD = CurPosition.CurLine.LINE_CODE,
                HIS_ID = CurPosition.CurWipSNHis.ID,
                SN = CurPosition.CurWipSN.SN,
                STATUS = CurPosition.CurWipSN.STATUS,
Tiger.Business.MES/WorkAction/PrintLabel.cs
@@ -122,6 +122,8 @@
            //记录行为操作记录
            var wipAct = new MES_WIP_ACT()
            {
                AUTH_ORG = CurPosition.WorkBatch.WO.AUTH_ORG,
                AUTH_PROD = CurPosition.CurLine.LINE_CODE,
                HIS_ID = CurPosition.CurWipSNHis.ID,
                SN = CurPosition.CurWipSN.SN,
                STATUS = CurPosition.CurWipSN.STATUS,
@@ -179,7 +181,7 @@
                                case "GetSN":
                                    return CurPosition.CurWipSN.SN;
                                case "GetBAS_ITEM":
                                    return Biz.Db.Queryable<BAS_ITEM>().Where(q => q.ITEM_CODE == CurPosition.CurWipSN.ITEM_CODE).First()?.ToJson();
                                    return CurPosition.WorkBatch.Product.ToJson();
                                case "GetCustomer":
                                    return CurPosition.WorkBatch.Batch.ToJson();
                                default:
Tiger.Business/MES/Biz.WorkBatch.cs
@@ -31,6 +31,7 @@
            #region Propertys & Variables
            public string OrderNo { get; set; }
            public BIZ_MES_WO WO { get; set; }
            public BAS_ITEM Product { get; set; }
            public BIZ_MES_WO_BATCH Batch { get; set; }
            public BAS_CUSTOMER Customer { get; set; }
            public List<BIZ_MES_WO_SN> WoSNs { get; set; }
@@ -56,6 +57,7 @@
            public WorkBatch Init(string lineCode)
            {
                WO = Biz.Db.Queryable<BIZ_MES_WO>().Where(q => q.ORDER_NO == OrderNo).First();
                Product = Biz.Db.Queryable<BAS_ITEM>().Where(q => q.ITEM_CODE == WO.ITEM_CODE && q.AUTH_ORG == WO.AUTH_ORG).First();
                Batch = Biz.Db.Queryable<BIZ_MES_WO_BATCH>().Where(q => q.ORDER_NO == OrderNo && q.ACT_LINE == lineCode 
                                        && (q.STATUS == BIZ_MES_WO_BATCH.STATUSs.Release.GetValue() || q.STATUS == BIZ_MES_WO_BATCH.STATUSs.Working.GetValue())).First();
                Customer = Biz.Db.Queryable<BAS_CUSTOMER>().Where(q => q.CUST_CODE == WO.CUST_CODE).First();    
Tiger.IBusiness/MES/IWorkBatch.cs
@@ -13,6 +13,7 @@
    {
        public string OrderNo { get; set; }
        public BIZ_MES_WO WO { get; set; }
        public BAS_ITEM Product { get; set; }
        public BIZ_MES_WO_BATCH Batch { get; set; }
        public BAS_CUSTOMER Customer { get; set; }
        public List<BIZ_MES_WO_SN> WoSNs { get; set; }