服务端的TigerApi 框架,基于.NET6 2024 版本
Rodney Chen
2024-08-10 f12084241b438c025550d4f9337935abf9a52c81
在制品的生产信息的关联使用在制品的ID来关联,优化生产信息保存逻辑
已修改17个文件
3079 ■■■■ 文件已修改
Tiger.Business.MES/Transaction/CollectNode.cs 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.MES/Transaction/PackingNode.cs 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.MES/Transaction/Position.cs 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.MES/Transaction/TestNode.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.MES/WorkAction/Assembly.cs 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.MES/WorkAction/IPQC.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.MES/WorkAction/PackingAction.cs 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.MES/WorkAction/PrintLabel.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.MES/WorkAction/WipExtInfo.cs 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Model.Net/Entitys/MES/BIZ_MES_WO_SN.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Model.Net/Entitys/MES/MES_WIP_ACT.cs 517 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Model.Net/Entitys/MES/MES_WIP_ASSY.cs 265 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Model.Net/Entitys/MES/MES_WIP_DATA.cs 547 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Model.Net/Entitys/MES/MES_WIP_DFT.cs 538 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Model.Net/Entitys/MES/MES_WIP_EXT.cs 300 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Model.Net/Entitys/MES/MES_WIP_HIS.cs 520 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Model.Net/Entitys/MES/MES_WIP_PKG.cs 254 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.MES/Transaction/CollectNode.cs
@@ -181,6 +181,7 @@
                    var wipSN = new MES_WIP_DATA()
                    {
                        SN = input.SN,
                        FLOW_SN = input.SN,
                        STATUS = MES_WIP_DATA.STATUSs.Init.GetValue(),
                        ITEM_CODE = CurBatch.WO.ITEM_CODE,
                        WORK_ORDER = CurBatch.Batch.ORDER_NO,
@@ -206,11 +207,12 @@
                    //绑定条码到工单
                    foreach (var wipSN in wipSNs)
                    {
                        if (!CurBatch.WoSNs.Any(q => q.SN == wipSN.SN))
                        if (!CurBatch.WoSNs.Any(q => q.WIP_ID == wipSN.ID))
                        {
                            CurBatch.WoSNs.Add(new()
                            {
                                WORK_ORDER = CurBatch.Batch.ORDER_NO,
                                WIP_ID = wipSN.ID,
                                SN = wipSN.SN,
                                TRAY_SN = wipSN.TRAY_SN,
                                STATUS = BIZ_MES_WO_SN.STATUSs.NotInput.GetValue(),
@@ -295,8 +297,10 @@
                                DFT_CODE = dft.DFT_CODE,
                                DFT_NAME = dft.DFT_NAME,
                                DFT_LEVEL = dft.DFT_LEVEL,
                                FLOW_SN = wipSN.FLOW_SN,
                                TRAY_SN = wipSN.TRAY_SN,
                                CONTAINER_SN = wipSN.CONTAINER_SN,
                                INNER_SN = wipSN.INNER_SN,
                                CARTON_SN = wipSN.CARTON_SN,
                                PALLET_SN = wipSN.PALLET_SN,
                                INV_FLAG = wipSN.INV_FLAG,
                                OPERATION_TIME = DateTime.Now,
Tiger.Business.MES/Transaction/PackingNode.cs
@@ -212,7 +212,8 @@
                    var wipSN = new MES_WIP_DATA()
                    {
                        SN = input.SN,
                        STATUS = MES_WIP_DATA.STATUSs.Init.GetValue(),
                        FLOW_SN = input.SN,
                        STATUS = MES_WIP_DATA.STATUSs.Init.GetValue(),
                        ITEM_CODE = CurBatch.WO.ITEM_CODE,
                        WORK_ORDER = CurBatch.Batch.ORDER_NO,
                        BATCH_NO = CurBatch.Batch.BATCH_NO,
@@ -242,6 +243,7 @@
                            CurBatch.WoSNs.Add(new()
                            {
                                WORK_ORDER = CurBatch.Batch.ORDER_NO,
                                WIP_ID = wipSN.ID,
                                SN = wipSN.SN,
                                TRAY_SN = wipSN.TRAY_SN,
                                STATUS = BIZ_MES_WO_SN.STATUSs.NotInput.GetValue(),
@@ -326,8 +328,10 @@
                                DFT_CODE = dft.DFT_CODE,
                                DFT_NAME = dft.DFT_NAME,
                                DFT_LEVEL = dft.DFT_LEVEL,
                                FLOW_SN = wipSN.FLOW_SN,
                                TRAY_SN = wipSN.TRAY_SN,
                                CONTAINER_SN = wipSN.CONTAINER_SN,
                                INNER_SN = wipSN.INNER_SN,
                                CARTON_SN = wipSN.CARTON_SN,
                                PALLET_SN = wipSN.PALLET_SN,
                                INV_FLAG = wipSN.INV_FLAG,
                                OPERATION_TIME = DateTime.Now,
Tiger.Business.MES/Transaction/Position.cs
@@ -17,7 +17,7 @@
    /// <summary>
    /// MES岗位事务
    /// </summary>
    public class Position : MESTransactionBase, IPosition, ICloneable
    public class Position : MESTransactionBase, IPosition
    {
        public IPosition Init(string id, string apiHost, string userCode, string postCode)
        {
@@ -330,15 +330,6 @@
            return result;
        }
        public object Clone()
        {
            var newObject = this.MemberwiseClone() as Position;
            newObject.Steps = Steps.Clone();
            newObject.CurWipSNs = CurWipSNs.Clone();
            return newObject;
        }
        /// <summary>
        /// 保存工步的数据库提交操作到数据库
        /// </summary>
@@ -374,25 +365,6 @@
                    throw dbTran.ErrorException;
                }
            }
            //if (NeedTemporaryStoreDBCommitAction)
            //{
            //    NodeCommitList.Add(this.Clone() as Position);
            //}
            //else
            //{
            //    //保存成功则清空提交操作列表
            //    foreach (var item in NodeCommitList)
            //    {
            //        item?.DoSaveToDB();
            //        item?.Dispose();
            //    }
            //    DoSaveToDB();
            //    NodeCommitList.Clear();
            //}
        }
        protected void DoSaveToDB()
@@ -503,7 +475,7 @@
                            switch (pv.VAR_METHOD)
                            {
                                case "GetCartonGenerate":
                                    return Biz.CodeRule[lv.BARCODE_RULE].Generate($"{WorkBatch.Batch.BATCH_NO}-{WorkBatch.Batch.PLAN_QTY}-").Data.ToString();
                                    return Biz.CodeRule[lv.BARCODE_RULE ?? ""]?.Generate($"{WorkBatch.Batch.BATCH_NO}-{WorkBatch.Batch.PLAN_QTY}-").Data.ToString() ?? "";
                                default:
                                    return "";
                            }
Tiger.Business.MES/Transaction/TestNode.cs
@@ -182,6 +182,7 @@
                    var wipSN = new MES_WIP_DATA()
                    {
                        SN = input.SN,
                        FLOW_SN = input.SN,
                        STATUS = MES_WIP_DATA.STATUSs.Init.GetValue(),
                        ITEM_CODE = CurBatch.WO.ITEM_CODE,
                        WORK_ORDER = CurBatch.Batch.ORDER_NO,
@@ -212,6 +213,7 @@
                            CurBatch.WoSNs.Add(new()
                            {
                                WORK_ORDER = CurBatch.Batch.ORDER_NO,
                                WIP_ID = wipSN.ID,
                                SN = wipSN.SN,
                                TRAY_SN = wipSN.TRAY_SN,
                                STATUS = BIZ_MES_WO_SN.STATUSs.NotInput.GetValue(),
@@ -296,8 +298,10 @@
                                DFT_CODE = dft.DFT_CODE,
                                DFT_NAME = dft.DFT_NAME,
                                DFT_LEVEL = dft.DFT_LEVEL,
                                FLOW_SN = wipSN.FLOW_SN,
                                TRAY_SN = wipSN.TRAY_SN,
                                CONTAINER_SN = wipSN.CONTAINER_SN,
                                INNER_SN = wipSN.INNER_SN,
                                CARTON_SN = wipSN.CARTON_SN,
                                PALLET_SN = wipSN.PALLET_SN,
                                INV_FLAG = wipSN.INV_FLAG,
                                OPERATION_TIME = DateTime.Now,
Tiger.Business.MES/WorkAction/Assembly.cs
@@ -180,6 +180,7 @@
                                {
                                    AUTH_ORG = CurPosition.WorkBatch.WO.AUTH_ORG,
                                    AUTH_PROD = CurPosition.CurLine.LINE_CODE,
                                    WIP_ID = wipSn.ID,
                                    SN = input.SN,
                                    PROD_SN = wipSn.SN,
                                    ITEM_CODE = item.ItemInfo.ITEM_CODE,
@@ -203,30 +204,34 @@
                        }
                        else 
                        {
                            var record = new MES_WIP_ASSY()
                            foreach (var wipSn in CurPosition.CurWipSNs)
                            {
                                AUTH_ORG = CurPosition.WorkBatch.WO.AUTH_ORG,
                                AUTH_PROD = CurPosition.CurLine.LINE_CODE,
                                SN = input.SN,
                                PROD_SN = CurPosition.CurSN,
                                ITEM_CODE = item.ItemInfo.ITEM_CODE,
                                QTY = 1,
                                UNIT = item.ItemInfo.UNIT,
                                WORK_ORDER = CurPosition.CurWipSNs.First().WORK_ORDER,
                                BATCH_NO = CurPosition.CurWipSNs.First().BATCH_NO,
                                ROT_CODE = CurPosition.CurWipSNs.First().ROT_CODE,
                                NODE_ID = CurPosition.CurWipSNs.First().NODE_ID,
                                NODE_NAME = CurPosition.CurWipSNs.First().NODE_NAME,
                                FTY_CODE = CurPosition.CurWipSNs.First().FTY_CODE,
                                WS_CODE = CurPosition.CurWipSNs.First().WS_CODE,
                                LINE_CODE = CurPosition.CurWipSNs.First().LINE_CODE,
                                POST_CODE = CurPosition.CurWipSNs.First().POST_CODE,
                                OPER_CODE = CurPosition.CurWipSNs.First().OPER_CODE,
                                SEGMENT = CurPosition.CurWipSNs.First().SEGMENT,
                            };
                            item.Records.Add(record);
                                var record = new MES_WIP_ASSY()
                                {
                                    AUTH_ORG = CurPosition.WorkBatch.WO.AUTH_ORG,
                                    AUTH_PROD = CurPosition.CurLine.LINE_CODE,
                                    WIP_ID = wipSn.ID,
                                    SN = input.SN,
                                    PROD_SN = wipSn.SN,
                                    ITEM_CODE = item.ItemInfo.ITEM_CODE,
                                    QTY = 1,
                                    UNIT = item.ItemInfo.UNIT,
                                    WORK_ORDER = wipSn.WORK_ORDER,
                                    BATCH_NO = wipSn.BATCH_NO,
                                    ROT_CODE = wipSn.ROT_CODE,
                                    NODE_ID = wipSn.NODE_ID,
                                    NODE_NAME = wipSn.NODE_NAME,
                                    FTY_CODE = wipSn.FTY_CODE,
                                    WS_CODE = wipSn.WS_CODE,
                                    LINE_CODE = wipSn.LINE_CODE,
                                    POST_CODE = wipSn.POST_CODE,
                                    OPER_CODE = wipSn.OPER_CODE,
                                    SEGMENT = wipSn.SEGMENT,
                                };
                                item.Records.Add(record);
                            }
                            if (item.Records.Sum(q => q.QTY) >= item.LoadQty * CurPosition.CurWipSNs.Count)
                            if (item.Records.Sum(q => q.QTY) / item.Records.Count >= item.LoadQty * CurPosition.CurWipSNs.Count)
                            {
                                item.IsFinished = true;
                            }
@@ -277,6 +282,7 @@
                {
                    AUTH_ORG = CurPosition.WorkBatch.WO.AUTH_ORG,
                    AUTH_PROD = CurPosition.CurLine.LINE_CODE,
                    WIP_ID = wipSn.ID,
                    HIS_ID = CurPosition.CurWipSNHiss.First(q => q.SN == wipSn.SN).ID,
                    SN = wipSn.SN,
                    STATUS = wipSn.STATUS,
@@ -294,7 +300,11 @@
                    POST_CODE = wipSn.POST_CODE,
                    OPER_CODE = wipSn.OPER_CODE,
                    SEGMENT = wipSn.SEGMENT,
                    FLOW_SN = wipSn.FLOW_SN,
                    TRAY_SN = wipSn.TRAY_SN,
                    INNER_SN = wipSn.INNER_SN,
                    CARTON_SN = wipSn.CARTON_SN,
                    PALLET_SN = wipSn.PALLET_SN,
                    OPERATION_TIME = DateTime.Now,
                    SFTS_CODE = wipSn.SFTS_CODE,
                    SFT_CODE = wipSn.SFT_CODE,
Tiger.Business.MES/WorkAction/IPQC.cs
@@ -113,6 +113,7 @@
                {
                    AUTH_ORG = CurPosition.WorkBatch.WO.AUTH_ORG,
                    AUTH_PROD = CurPosition.CurLine.LINE_CODE,
                    WIP_ID = wipSn.ID,
                    HIS_ID = CurPosition.CurWipSNHiss.First(q => q.SN == wipSn.SN).ID,
                    SN = wipSn.SN,
                    STATUS = wipSn.STATUS,
@@ -130,7 +131,11 @@
                    POST_CODE = wipSn.POST_CODE,
                    OPER_CODE = wipSn.OPER_CODE,
                    SEGMENT = wipSn.SEGMENT,
                    FLOW_SN = wipSn.FLOW_SN,
                    TRAY_SN = wipSn.TRAY_SN,
                    INNER_SN = wipSn.INNER_SN,
                    CARTON_SN = wipSn.CARTON_SN,
                    PALLET_SN = wipSn.PALLET_SN,
                    OPERATION_TIME = DateTime.Now,
                    SFTS_CODE = wipSn.SFTS_CODE,
                    SFT_CODE = wipSn.SFT_CODE,
Tiger.Business.MES/WorkAction/PackingAction.cs
@@ -350,6 +350,7 @@
                            AUTH_ORG = CurPosition.WorkBatch.WO.AUTH_ORG,
                            AUTH_PROD = CurPosition.CurLine.LINE_CODE,
                            SN = pInput.PkgSN,
                            WIP_ID = CurPosition.CurWipSNs.Count == 1 ? CurPosition.CurWipSNs.First().ID : null,
                            PKG_TYPE = dtl.PkgType.PKG_NAME,
                            ITEM_CODE = CurPosition.CurWipSNs.First().ITEM_CODE,
                            QTY = CurPosition.CurWipSNs.First().QTY,
@@ -549,6 +550,7 @@
                {
                    AUTH_ORG = CurPosition.WorkBatch.WO.AUTH_ORG,
                    AUTH_PROD = CurPosition.CurLine.LINE_CODE,
                    WIP_ID = wipSn.ID,
                    HIS_ID = CurPosition.CurWipSNHiss.First(q => q.SN == wipSn.SN).ID,
                    SN = wipSn.SN,
                    STATUS = wipSn.STATUS,
@@ -566,7 +568,11 @@
                    POST_CODE = wipSn.POST_CODE,
                    OPER_CODE = wipSn.OPER_CODE,
                    SEGMENT = wipSn.SEGMENT,
                    FLOW_SN = wipSn.FLOW_SN,
                    TRAY_SN = wipSn.TRAY_SN,
                    INNER_SN = wipSn.INNER_SN,
                    CARTON_SN = wipSn.CARTON_SN,
                    PALLET_SN = wipSn.PALLET_SN,
                    OPERATION_TIME = DateTime.Now,
                    SFTS_CODE = wipSn.SFTS_CODE,
                    SFT_CODE = wipSn.SFT_CODE,
@@ -595,7 +601,7 @@
                        //包装信息保存到在制品信息表
                        db.Updateable<MES_WIP_DATA>()
                            .SetColumns(q => q.TRAY_SN == CurPkg.Item.Package.SN)
                            .SetColumns(q => q.CONTAINER_SN == q.CARTON_SN)
                            .SetColumns(q => q.INNER_SN == q.CARTON_SN)
                            .SetColumns(q => q.CARTON_SN == CurPkg.Item.Package.SN)
                            .Where(q => q.WORK_ORDER == pkg.WORK_ORDER && q.SN == pkg.SN)
                            .ExecuteCommand();
Tiger.Business.MES/WorkAction/PrintLabel.cs
@@ -115,6 +115,7 @@
                    AUTH_ORG = CurPosition.WorkBatch.WO.AUTH_ORG,
                    AUTH_PROD = CurPosition.CurLine.LINE_CODE,
                    HIS_ID = CurPosition.CurWipSNHiss.First(q => q.SN == wipSn.SN).ID,
                    WIP_ID = wipSn.ID,
                    SN = wipSn.SN,
                    STATUS = wipSn.STATUS,
                    ITEM_CODE = wipSn.ITEM_CODE,
@@ -131,7 +132,11 @@
                    POST_CODE = wipSn.POST_CODE,
                    OPER_CODE = wipSn.OPER_CODE,
                    SEGMENT = wipSn.SEGMENT,
                    FLOW_SN = wipSn.FLOW_SN,
                    TRAY_SN = wipSn.TRAY_SN,
                    INNER_SN = wipSn.INNER_SN,
                    CARTON_SN = wipSn.CARTON_SN,
                    PALLET_SN = wipSn.PALLET_SN,
                    OPERATION_TIME = DateTime.Now,
                    SFTS_CODE = wipSn.SFTS_CODE,
                    SFT_CODE = wipSn.SFT_CODE,
Tiger.Business.MES/WorkAction/WipExtInfo.cs
@@ -54,6 +54,7 @@
                        AUTH_ORG = wipSN.AUTH_ORG,
                        AUTH_PROD = wipSN.AUTH_PROD,
                        SN = wipSN.SN,
                        WIP_ID = wipSN.ID,
                    });
                }
            }
@@ -133,7 +134,6 @@
                }
                //都没有物料验证通过,则返回错误信息
            }
            catch (System.Exception ex)
            {
@@ -162,6 +162,7 @@
                {
                    AUTH_ORG = CurPosition.WorkBatch.WO.AUTH_ORG,
                    AUTH_PROD = CurPosition.CurLine.LINE_CODE,
                    WIP_ID = wipSn.ID,
                    HIS_ID = CurPosition.CurWipSNHiss.First(q => q.SN == wipSn.SN).ID,
                    SN = wipSn.SN,
                    STATUS = wipSn.STATUS,
@@ -179,7 +180,11 @@
                    POST_CODE = wipSn.POST_CODE,
                    OPER_CODE = wipSn.OPER_CODE,
                    SEGMENT = wipSn.SEGMENT,
                    FLOW_SN = wipSn.FLOW_SN,
                    TRAY_SN = wipSn.TRAY_SN,
                    INNER_SN = wipSn.INNER_SN,
                    CARTON_SN = wipSn.CARTON_SN,
                    PALLET_SN = wipSn.PALLET_SN,
                    OPERATION_TIME = DateTime.Now,
                    SFTS_CODE = wipSn.SFTS_CODE,
                    SFT_CODE = wipSn.SFT_CODE,
Tiger.Model.Net/Entitys/MES/BIZ_MES_WO_SN.cs
@@ -34,6 +34,11 @@
        [DisplayName("工单批次号")]
        public string BATCH_NO { get; set; }
        /// <summary>
        /// 在制品ID
        /// </summary>
        [DisplayName("在制品ID")]
        public string WIP_ID { get; set; }
        /// <summary>
        /// 条码
        /// </summary>
        [DisplayName("条码")]
Tiger.Model.Net/Entitys/MES/MES_WIP_ACT.cs
@@ -6,269 +6,294 @@
namespace Tiger.Model
{
    /// <summary>
    /// 实体:生产行为记录
    /// </summary>
    [Description("Primary:ID")]
    [DisplayName("生产行为记录")]
    [Serializable]
    [SugarTable("MES_WIP_ACT")]
    public class MES_WIP_ACT : DbEntityWithAuth
    {
        #region 构造函数
        /// <summary>
        /// 实体:生产行为记录
        /// </summary>
        public MES_WIP_ACT() {}
        #endregion
    /// <summary>
    /// 实体:生产行为记录
    /// </summary>
    [Description("Primary:ID")]
    [DisplayName("生产行为记录")]
    [Serializable]
    [SugarTable("MES_WIP_ACT")]
    public class MES_WIP_ACT : DbEntityWithAuth
    {
        #region 构造函数
        /// <summary>
        /// 实体:生产行为记录
        /// </summary>
        public MES_WIP_ACT() { }
        #endregion
        #region 公共属性
        /// <summary>
        /// 生产过程记录ID
        /// </summary>
        [DisplayName("生产过程记录ID")]
        public string HIS_ID { get; set; }
        /// <summary>
        /// 过站条码
        /// </summary>
        [DisplayName("过站条码")]
        public string SN { get; set; }
        /// <summary>
        /// 状态(0Init初始化|1Input已投入|2OK良品过站|3NG不良过站|4Repair维修中|5Finished已完工|6Scrap已报废|7InStorage已入库|8Reject已拒收|9Shipped已出货)
        /// </summary>
        [DisplayName("状态(0Init初始化|1Input已投入|2OK良品过站|3NG不良过站|4Repair维修中|5Finished已完工|6Scrap已报废|7InStorage已入库|8Reject已拒收|9Shipped已出货)")]
        public int STATUS { get; set; }
        /// <summary>
        /// 物料编码
        /// </summary>
        [DisplayName("物料编码")]
        public string ITEM_CODE { get; set; }
        /// <summary>
        /// 工单号
        /// </summary>
        [DisplayName("工单号")]
        public string WORK_ORDER { get; set; }
        /// <summary>
        /// 工单批次号
        /// </summary>
        [DisplayName("工单批次号")]
        public string BATCH_NO { get; set; }
        /// <summary>
        /// 工艺路线编码
        /// </summary>
        [DisplayName("工艺路线编码")]
        public string ROT_CODE { get; set; }
        /// <summary>
        /// 工艺路线节点ID
        /// </summary>
        [DisplayName("工艺路线节点ID")]
        public string NODE_ID { get; set; }
        /// <summary>
        /// 工艺路线节点名称
        /// </summary>
        [DisplayName("工艺路线节点名称")]
        public string NODE_NAME { get; set; }
        /// <summary>
        /// 工序行为ID
        /// </summary>
        [DisplayName("工序行为ID")]
        public string ACT_ID { get; set; }
        /// <summary>
        /// 行为名称
        /// </summary>
        [DisplayName("行为名称")]
        public string ACT_NAME { get; set; }
        /// <summary>
        /// 工厂编码
        /// </summary>
        [DisplayName("工厂编码")]
        public string FTY_CODE { get; set; }
        /// <summary>
        /// 车间编码
        /// </summary>
        [DisplayName("车间编码")]
        public string WS_CODE { get; set; }
        /// <summary>
        /// 产线编码
        /// </summary>
        [DisplayName("产线编码")]
        public string LINE_CODE { get; set; }
        /// <summary>
        /// 岗位编码
        /// </summary>
        [DisplayName("岗位编码")]
        public string POST_CODE { get; set; }
        /// <summary>
        /// 工序编码
        /// </summary>
        [DisplayName("工序编码")]
        public string OPER_CODE { get; set; }
        /// <summary>
        /// 加工段
        /// </summary>
        [DisplayName("加工段")]
        public string SEGMENT { get; set; }
        /// <summary>
        /// 托盘/载具条码
        /// </summary>
        [DisplayName("托盘/载具条码")]
        public string TRAY_SN { get; set; }
        /// <summary>
        /// 当前操作时间
        /// </summary>
        [DisplayName("当前操作时间")]
        public DateTime OPERATION_TIME { get; set; } = DateTime.MinValue;
        /// <summary>
        /// 班制编码
        /// </summary>
        [DisplayName("班制编码")]
        public string SFTS_CODE { get; set; }
        /// <summary>
        /// 班次编码
        /// </summary>
        [DisplayName("班次编码")]
        public string SFT_CODE { get; set; }
        /// <summary>
        /// 时段编码
        /// </summary>
        [DisplayName("时段编码")]
        public string PRD_CODE { get; set; }
        /// <summary>
        /// 行为类型(0Normal默认行为|1Scan扫码验证|2Assy组装上料|3Test产品测试|4Audit产品抽检|5Print标签打印|6Package包装规则)
        /// </summary>
        [DisplayName("行为类型(0Normal默认行为|1Scan扫码验证|2Assy组装上料|3Test产品测试|4Audit产品抽检|5Print标签打印|6Package包装规则)")]
        public int ACT_TYPE { get; set; }
        /// <summary>
        /// 行为扫码
        /// </summary>
        [DisplayName("行为扫码")]
        public string ACT_SN { get; set; }
        /// <summary>
        /// 行为操作值1
        /// </summary>
        [DisplayName("行为操作值1")]
        public string ACT_VALUE_1 { get; set; }
        /// <summary>
        /// 行为操作值2
        /// </summary>
        [DisplayName("行为操作值2")]
        public string ACT_VALUE_2 { get; set; }
        /// <summary>
        /// 行为操作值3
        /// </summary>
        [DisplayName("行为操作值3")]
        public string ACT_VALUE_3 { get; set; }
        /// <summary>
        /// 行为操作值4
        /// </summary>
        [DisplayName("行为操作值4")]
        public string ACT_VALUE_4 { get; set; }
        /// <summary>
        /// 行为操作值5
        /// </summary>
        [DisplayName("行为操作值5")]
        public string ACT_VALUE_5 { get; set; }
        /// <summary>
        /// 行为是否成功(Y/N)
        /// </summary>
        [DisplayName("行为是否成功(Y/N)")]
        public string ACT_RESULT { get; set; }
        /// <summary>
        /// 备注
        /// </summary>
        [DisplayName("备注")]
        public string REMARK { get; set; }
        /// <summary>
        /// 追溯信息
        /// </summary>
        [DisplayName("追溯信息")]
        public string TRACE_INFO { get; set; }
        #endregion
        #region 公共属性
        /// <summary>
        /// 在制品ID
        /// </summary>
        [DisplayName("在制品ID")]
        public string WIP_ID { get; set; }
        /// <summary>
        /// 生产过程记录ID
        /// </summary>
        [DisplayName("生产过程记录ID")]
        public string HIS_ID { get; set; }
        /// <summary>
        /// 过站条码
        /// </summary>
        [DisplayName("过站条码")]
        public string SN { get; set; }
        /// <summary>
        /// 状态(0Init初始化|1Input已投入|2OK良品过站|3NG不良过站|4Repair维修中|5Finished已完工|6Scrap已报废|7InStorage已入库|8Reject已拒收|9Shipped已出货)
        /// </summary>
        [DisplayName("状态(0Init初始化|1Input已投入|2OK良品过站|3NG不良过站|4Repair维修中|5Finished已完工|6Scrap已报废|7InStorage已入库|8Reject已拒收|9Shipped已出货)")]
        public int STATUS { get; set; }
        /// <summary>
        /// 物料编码
        /// </summary>
        [DisplayName("物料编码")]
        public string ITEM_CODE { get; set; }
        /// <summary>
        /// 工单号
        /// </summary>
        [DisplayName("工单号")]
        public string WORK_ORDER { get; set; }
        /// <summary>
        /// 工单批次号
        /// </summary>
        [DisplayName("工单批次号")]
        public string BATCH_NO { get; set; }
        /// <summary>
        /// 工艺路线编码
        /// </summary>
        [DisplayName("工艺路线编码")]
        public string ROT_CODE { get; set; }
        /// <summary>
        /// 工艺路线节点ID
        /// </summary>
        [DisplayName("工艺路线节点ID")]
        public string NODE_ID { get; set; }
        /// <summary>
        /// 工艺路线节点名称
        /// </summary>
        [DisplayName("工艺路线节点名称")]
        public string NODE_NAME { get; set; }
        /// <summary>
        /// 工序行为ID
        /// </summary>
        [DisplayName("工序行为ID")]
        public string ACT_ID { get; set; }
        /// <summary>
        /// 行为名称
        /// </summary>
        [DisplayName("行为名称")]
        public string ACT_NAME { get; set; }
        /// <summary>
        /// 工厂编码
        /// </summary>
        [DisplayName("工厂编码")]
        public string FTY_CODE { get; set; }
        /// <summary>
        /// 车间编码
        /// </summary>
        [DisplayName("车间编码")]
        public string WS_CODE { get; set; }
        /// <summary>
        /// 产线编码
        /// </summary>
        [DisplayName("产线编码")]
        public string LINE_CODE { get; set; }
        /// <summary>
        /// 岗位编码
        /// </summary>
        [DisplayName("岗位编码")]
        public string POST_CODE { get; set; }
        /// <summary>
        /// 工序编码
        /// </summary>
        [DisplayName("工序编码")]
        public string OPER_CODE { get; set; }
        /// <summary>
        /// 加工段
        /// </summary>
        [DisplayName("加工段")]
        public string SEGMENT { get; set; }
        /// <summary>
        /// 厂内流转条码
        /// </summary>
        [DisplayName("厂内流转条码")]
        public string FLOW_SN { get; set; }
        /// <summary>
        /// 托盘/载具条码
        /// </summary>
        [DisplayName("托盘/载具条码")]
        public string TRAY_SN { get; set; }
        /// <summary>
        /// 内包装条码
        /// </summary>
        [DisplayName("内包装条码")]
        public string INNER_SN { get; set; }
        /// <summary>
        /// 外箱条码
        /// </summary>
        [DisplayName("外箱条码")]
        public string CARTON_SN { get; set; }
        /// <summary>
        /// 栈板条码
        /// </summary>
        [DisplayName("栈板条码")]
        public string PALLET_SN { get; set; }
        /// <summary>
        /// 当前操作时间
        /// </summary>
        [DisplayName("当前操作时间")]
        public DateTime OPERATION_TIME { get; set; } = DateTime.MinValue;
        /// <summary>
        /// 班制编码
        /// </summary>
        [DisplayName("班制编码")]
        public string SFTS_CODE { get; set; }
        /// <summary>
        /// 班次编码
        /// </summary>
        [DisplayName("班次编码")]
        public string SFT_CODE { get; set; }
        /// <summary>
        /// 时段编码
        /// </summary>
        [DisplayName("时段编码")]
        public string PRD_CODE { get; set; }
        /// <summary>
        /// 行为类型(0Normal默认行为|1Scan扫码验证|2Assy组装上料|3Test产品测试|4Audit产品抽检|5Print标签打印|6Package包装规则)
        /// </summary>
        [DisplayName("行为类型(0Normal默认行为|1Scan扫码验证|2Assy组装上料|3Test产品测试|4Audit产品抽检|5Print标签打印|6Package包装规则)")]
        public int ACT_TYPE { get; set; }
        /// <summary>
        /// 行为扫码
        /// </summary>
        [DisplayName("行为扫码")]
        public string ACT_SN { get; set; }
        /// <summary>
        /// 行为操作值1
        /// </summary>
        [DisplayName("行为操作值1")]
        public string ACT_VALUE_1 { get; set; }
        /// <summary>
        /// 行为操作值2
        /// </summary>
        [DisplayName("行为操作值2")]
        public string ACT_VALUE_2 { get; set; }
        /// <summary>
        /// 行为操作值3
        /// </summary>
        [DisplayName("行为操作值3")]
        public string ACT_VALUE_3 { get; set; }
        /// <summary>
        /// 行为操作值4
        /// </summary>
        [DisplayName("行为操作值4")]
        public string ACT_VALUE_4 { get; set; }
        /// <summary>
        /// 行为操作值5
        /// </summary>
        [DisplayName("行为操作值5")]
        public string ACT_VALUE_5 { get; set; }
        /// <summary>
        /// 行为是否成功(Y/N)
        /// </summary>
        [DisplayName("行为是否成功(Y/N)")]
        public string ACT_RESULT { get; set; }
        /// <summary>
        /// 备注
        /// </summary>
        [DisplayName("备注")]
        public string REMARK { get; set; }
        /// <summary>
        /// 追溯信息
        /// </summary>
        [DisplayName("追溯信息")]
        public string TRACE_INFO { get; set; }
        #endregion
        #region 虚拟属性
        /*例子
        #region 虚拟属性
        /*例子
        [SugarColumn(IsIgnore = true)]
        public string FieldName { get; set; }
        */
        #endregion
        #endregion
        #region 外键属性
        /*例子
        //一对一外键导航
        [Navigate(NavigateType.OneToOne, nameof(ClassAId))]//一对一 ClassAId是MES_WIP_ACT类里面的外键ID字段
        public ClassA ClassA { get; set; } //注意禁止手动赋值,只能是null
        //一对多外键导航
        [Navigate(NavigateType.OneToMany, nameof(ClassA.MES_WIP_ACTId))]//ClassA表中的MES_WIP_ACTId
        public List<ClassA> ClassAList { get; set; }//注意禁止手动赋值,只能是null
        //多对多外键导航
        [Navigate(typeof(MappingClass), nameof(MappingClass.MES_WIP_ACTId), nameof(MappingClass.ClassAId))]//注意顺序
        public List<ClassA> ClassAList { get; set; } //注意禁止手动赋值,只能是null
        #region 外键属性
        /*例子
        //一对一外键导航
        [Navigate(NavigateType.OneToOne, nameof(ClassAId))]//一对一 ClassAId是MES_WIP_ACT类里面的外键ID字段
        public ClassA ClassA { get; set; } //注意禁止手动赋值,只能是null
        //一对多外键导航
        [Navigate(NavigateType.OneToMany, nameof(ClassA.MES_WIP_ACTId))]//ClassA表中的MES_WIP_ACTId
        public List<ClassA> ClassAList { get; set; }//注意禁止手动赋值,只能是null
        //多对多外键导航
        [Navigate(typeof(MappingClass), nameof(MappingClass.MES_WIP_ACTId), nameof(MappingClass.ClassAId))]//注意顺序
        public List<ClassA> ClassAList { get; set; } //注意禁止手动赋值,只能是null
        */
        #endregion
        #endregion
        #region 枚举变量
        /*例子
        #region 枚举变量
        /*例子
        public enum FieldNames
        {
            [Description("枚举描述0")]
            [Description("枚举描述0")]
            Enum0,
            [Description("枚举描述1")]
            [Description("枚举描述1")]
            Enum1,
        }
        */
        /// <summary>
        /// 枚举:状态(0Init初始化|1Input已投入|2OK良品过站|3NG不良过站|4Repair维修中|5Finished已完工|6Scrap已报废|7InStorage已入库|8Reject已拒收|9Shipped已出货)
        /// </summary>
        public enum STATUSs
        {
            [Description("初始化")]
            Init = 0,
            [Description("已投入")]
            Input = 1,
            [Description("良品过站")]
            OK = 2,
            [Description("不良过站")]
            NG = 3,
            [Description("维修中")]
            Repair = 4,
            [Description("已完工")]
            Finished = 5,
            [Description("已报废")]
            Scrap = 6,
            [Description("已入库")]
            InStorage = 7,
            [Description("已拒收")]
            Reject = 8,
            [Description("已出货")]
            Shipped = 9,
        }
        /// <summary>
        /// 枚举:状态(0Init初始化|1Input已投入|2OK良品过站|3NG不良过站|4Repair维修中|5Finished已完工|6Scrap已报废|7InStorage已入库|8Reject已拒收|9Shipped已出货)
        /// </summary>
        public enum STATUSs
        {
            [Description("初始化")]
            Init = 0,
            [Description("已投入")]
            Input = 1,
            [Description("良品过站")]
            OK = 2,
            [Description("不良过站")]
            NG = 3,
            [Description("维修中")]
            Repair = 4,
            [Description("已完工")]
            Finished = 5,
            [Description("已报废")]
            Scrap = 6,
            [Description("已入库")]
            InStorage = 7,
            [Description("已拒收")]
            Reject = 8,
            [Description("已出货")]
            Shipped = 9,
        }
        /// <summary>
        /// 枚举:行为类型(0Normal默认行为|1Scan扫码验证|2Assy组装上料|3Test产品测试|4Audit产品抽检|5Print标签打印|6Package包装规则)
        /// </summary>
        public enum ACT_TYPEs
        {
            [Description("默认行为")]
            Normal = 0,
            [Description("扫码验证")]
            Scan = 1,
            [Description("组装上料")]
            Assy = 2,
            [Description("产品测试")]
            Test = 3,
            [Description("产品抽检")]
            Audit = 4,
            [Description("标签打印")]
            Print = 5,
            [Description("包装规则")]
            Package = 6,
        }
        #endregion
        /// <summary>
        /// 枚举:行为类型(0Normal默认行为|1Scan扫码验证|2Assy组装上料|3Test产品测试|4Audit产品抽检|5Print标签打印|6Package包装规则)
        /// </summary>
        public enum ACT_TYPEs
        {
            [Description("默认行为")]
            Normal = 0,
            [Description("扫码验证")]
            Scan = 1,
            [Description("组装上料")]
            Assy = 2,
            [Description("产品测试")]
            Test = 3,
            [Description("产品抽检")]
            Audit = 4,
            [Description("标签打印")]
            Print = 5,
            [Description("包装规则")]
            Package = 6,
        }
        #endregion
        #region 公共方法
        #region 公共方法
        #endregion
        #endregion
    }//endClass
    }//endClass
}
Tiger.Model.Net/Entitys/MES/MES_WIP_ASSY.cs
@@ -6,151 +6,156 @@
namespace Tiger.Model
{
    /// <summary>
    /// 实体:生产上料记录
    /// </summary>
    [Description("Primary:ID")]
    [DisplayName("生产上料记录")]
    [Serializable]
    [SugarTable("MES_WIP_ASSY")]
    public class MES_WIP_ASSY : DbEntityWithAuth
    {
        #region 构造函数
        /// <summary>
        /// 实体:生产上料记录
        /// </summary>
        public MES_WIP_ASSY() {}
        #endregion
    /// <summary>
    /// 实体:生产上料记录
    /// </summary>
    [Description("Primary:ID")]
    [DisplayName("生产上料记录")]
    [Serializable]
    [SugarTable("MES_WIP_ASSY")]
    public class MES_WIP_ASSY : DbEntityWithAuth
    {
        #region 构造函数
        /// <summary>
        /// 实体:生产上料记录
        /// </summary>
        public MES_WIP_ASSY() { }
        #endregion
        #region 公共属性
        /// <summary>
        /// 物料条码
        /// </summary>
        [DisplayName("物料条码")]
        public string SN { get; set; }
        /// <summary>
        /// 产品条码
        /// </summary>
        [DisplayName("产品条码")]
        public string PROD_SN { get; set; }
        /// <summary>
        /// 物料编码
        /// </summary>
        [DisplayName("物料编码")]
        public string ITEM_CODE { get; set; }
        /// <summary>
        /// 数量
        /// </summary>
        [DisplayName("数量")]
        public double QTY { get; set; }
        /// <summary>
        /// 单位
        /// </summary>
        [DisplayName("单位")]
        public string UNIT { get; set; }
        /// <summary>
        /// 工单号
        /// </summary>
        [DisplayName("工单号")]
        public string WORK_ORDER { get; set; }
        /// <summary>
        /// 工单批次号
        /// </summary>
        [DisplayName("工单批次号")]
        public string BATCH_NO { get; set; }
        /// <summary>
        /// 工艺路线编码
        /// </summary>
        [DisplayName("工艺路线编码")]
        public string ROT_CODE { get; set; }
        /// <summary>
        /// 工艺路线节点ID
        /// </summary>
        [DisplayName("工艺路线节点ID")]
        public string NODE_ID { get; set; }
        /// <summary>
        /// 工艺路线节点名称
        /// </summary>
        [DisplayName("工艺路线节点名称")]
        public string NODE_NAME { get; set; }
        /// <summary>
        /// 工厂编码
        /// </summary>
        [DisplayName("工厂编码")]
        public string FTY_CODE { get; set; }
        /// <summary>
        /// 车间编码
        /// </summary>
        [DisplayName("车间编码")]
        public string WS_CODE { get; set; }
        /// <summary>
        /// 产线编码
        /// </summary>
        [DisplayName("产线编码")]
        public string LINE_CODE { get; set; }
        /// <summary>
        /// 岗位编码
        /// </summary>
        [DisplayName("岗位编码")]
        public string POST_CODE { get; set; }
        /// <summary>
        /// 工序编码
        /// </summary>
        [DisplayName("工序编码")]
        public string OPER_CODE { get; set; }
        /// <summary>
        /// 加工段
        /// </summary>
        [DisplayName("加工段")]
        public string SEGMENT { get; set; }
        /// <summary>
        /// 备注
        /// </summary>
        [DisplayName("备注")]
        public string REMARK { get; set; }
        /// <summary>
        /// 追溯信息
        /// </summary>
        [DisplayName("追溯信息")]
        public string TRACE_INFO { get; set; }
        #endregion
        #region 公共属性
        /// <summary>
        /// 在制品ID
        /// </summary>
        [DisplayName("在制品ID")]
        public string WIP_ID { get; set; }
        /// <summary>
        /// 物料条码
        /// </summary>
        [DisplayName("物料条码")]
        public string SN { get; set; }
        /// <summary>
        /// 产品条码(厂内流转条码)
        /// </summary>
        [DisplayName("产品条码(厂内流转条码)")]
        public string PROD_SN { get; set; }
        /// <summary>
        /// 物料编码
        /// </summary>
        [DisplayName("物料编码")]
        public string ITEM_CODE { get; set; }
        /// <summary>
        /// 数量
        /// </summary>
        [DisplayName("数量")]
        public double QTY { get; set; }
        /// <summary>
        /// 单位
        /// </summary>
        [DisplayName("单位")]
        public string UNIT { get; set; }
        /// <summary>
        /// 工单号
        /// </summary>
        [DisplayName("工单号")]
        public string WORK_ORDER { get; set; }
        /// <summary>
        /// 工单批次号
        /// </summary>
        [DisplayName("工单批次号")]
        public string BATCH_NO { get; set; }
        /// <summary>
        /// 工艺路线编码
        /// </summary>
        [DisplayName("工艺路线编码")]
        public string ROT_CODE { get; set; }
        /// <summary>
        /// 工艺路线节点ID
        /// </summary>
        [DisplayName("工艺路线节点ID")]
        public string NODE_ID { get; set; }
        /// <summary>
        /// 工艺路线节点名称
        /// </summary>
        [DisplayName("工艺路线节点名称")]
        public string NODE_NAME { get; set; }
        /// <summary>
        /// 工厂编码
        /// </summary>
        [DisplayName("工厂编码")]
        public string FTY_CODE { get; set; }
        /// <summary>
        /// 车间编码
        /// </summary>
        [DisplayName("车间编码")]
        public string WS_CODE { get; set; }
        /// <summary>
        /// 产线编码
        /// </summary>
        [DisplayName("产线编码")]
        public string LINE_CODE { get; set; }
        /// <summary>
        /// 岗位编码
        /// </summary>
        [DisplayName("岗位编码")]
        public string POST_CODE { get; set; }
        /// <summary>
        /// 工序编码
        /// </summary>
        [DisplayName("工序编码")]
        public string OPER_CODE { get; set; }
        /// <summary>
        /// 加工段
        /// </summary>
        [DisplayName("加工段")]
        public string SEGMENT { get; set; }
        /// <summary>
        /// 备注
        /// </summary>
        [DisplayName("备注")]
        public string REMARK { get; set; }
        /// <summary>
        /// 追溯信息
        /// </summary>
        [DisplayName("追溯信息")]
        public string TRACE_INFO { get; set; }
        #endregion
        #region 虚拟属性
        /*例子
        #region 虚拟属性
        /*例子
        [SugarColumn(IsIgnore = true)]
        public string FieldName { get; set; }
        */
        #endregion
        #endregion
        #region 外键属性
        /*例子
        //一对一外键导航
        [Navigate(NavigateType.OneToOne, nameof(ClassAId))]//一对一 ClassAId是MES_WIP_ASSY类里面的外键ID字段
        public ClassA ClassA { get; set; } //注意禁止手动赋值,只能是null
        //一对多外键导航
        [Navigate(NavigateType.OneToMany, nameof(ClassA.MES_WIP_ASSYId))]//ClassA表中的MES_WIP_ASSYId
        public List<ClassA> ClassAList { get; set; }//注意禁止手动赋值,只能是null
        //多对多外键导航
        [Navigate(typeof(MappingClass), nameof(MappingClass.MES_WIP_ASSYId), nameof(MappingClass.ClassAId))]//注意顺序
        public List<ClassA> ClassAList { get; set; } //注意禁止手动赋值,只能是null
        #region 外键属性
        /*例子
        //一对一外键导航
        [Navigate(NavigateType.OneToOne, nameof(ClassAId))]//一对一 ClassAId是MES_WIP_ASSY类里面的外键ID字段
        public ClassA ClassA { get; set; } //注意禁止手动赋值,只能是null
        //一对多外键导航
        [Navigate(NavigateType.OneToMany, nameof(ClassA.MES_WIP_ASSYId))]//ClassA表中的MES_WIP_ASSYId
        public List<ClassA> ClassAList { get; set; }//注意禁止手动赋值,只能是null
        //多对多外键导航
        [Navigate(typeof(MappingClass), nameof(MappingClass.MES_WIP_ASSYId), nameof(MappingClass.ClassAId))]//注意顺序
        public List<ClassA> ClassAList { get; set; } //注意禁止手动赋值,只能是null
        */
        #endregion
        #endregion
        #region 枚举变量
        /*例子
        #region 枚举变量
        /*例子
        public enum FieldNames
        {
            [Description("枚举描述0")]
            [Description("枚举描述0")]
            Enum0,
            [Description("枚举描述1")]
            [Description("枚举描述1")]
            Enum1,
        }
        */
        #endregion
        #endregion
        #region 公共方法
        #region 公共方法
        #endregion
        #endregion
    }//endClass
    }//endClass
}
Tiger.Model.Net/Entitys/MES/MES_WIP_DATA.cs
@@ -6,38 +6,38 @@
namespace Tiger.Model
{
    /// <summary>
    /// 实体:在制品信息表
    /// </summary>
    [Description("Primary:ID")]
    [DisplayName("在制品信息表")]
    [Serializable]
    [SugarTable("MES_WIP_DATA")]
    public class MES_WIP_DATA : DbEntityWithAuth
    {
        #region 构造函数
        /// <summary>
        /// 实体:在制品信息表
        /// </summary>
        public MES_WIP_DATA() {}
        #endregion
    /// <summary>
    /// 实体:在制品信息表
    /// </summary>
    [Description("Primary:ID")]
    [DisplayName("在制品信息表")]
    [Serializable]
    [SugarTable("MES_WIP_DATA")]
    public class MES_WIP_DATA : DbEntityWithAuth
    {
        #region 构造函数
        /// <summary>
        /// 实体:在制品信息表
        /// </summary>
        public MES_WIP_DATA() { }
        #endregion
        #region 公共属性
        /// <summary>
        /// 过站条码
        /// </summary>
        [DisplayName("过站条码")]
        public string SN { get; set; }
        /// <summary>
        /// 状态(0Init初始化|1Input已投入|2OK良品过站|3NG不良过站|4Repair维修中|5Finished已完工|6Scrap已报废|7InStorage已入库|8Reject已拒收|9Shipped已出货)
        /// </summary>
        [DisplayName("状态(0Init初始化|1Input已投入|2OK良品过站|3NG不良过站|4Repair维修中|5Finished已完工|6Scrap已报废|7InStorage已入库|8Reject已拒收|9Shipped已出货)")]
        public int STATUS { get; set; }
        /// <summary>
        /// 物料编码
        /// </summary>
        [DisplayName("物料编码")]
        public string ITEM_CODE { get; set; }
        #region 公共属性
        /// <summary>
        /// 过站条码
        /// </summary>
        [DisplayName("过站条码")]
        public string SN { get; set; }
        /// <summary>
        /// 状态(0Init初始化|1Input已投入|2OK良品过站|3NG不良过站|4Repair维修中|5Finished已完工|6Scrap已报废|7InStorage已入库|8Reject已拒收|9Shipped已出货)
        /// </summary>
        [DisplayName("状态(0Init初始化|1Input已投入|2OK良品过站|3NG不良过站|4Repair维修中|5Finished已完工|6Scrap已报废|7InStorage已入库|8Reject已拒收|9Shipped已出货)")]
        public int STATUS { get; set; }
        /// <summary>
        /// 物料编码
        /// </summary>
        [DisplayName("物料编码")]
        public string ITEM_CODE { get; set; }
        /// <summary>
        /// 数量
        /// </summary>
@@ -47,221 +47,226 @@
        /// 工单号
        /// </summary>
        [DisplayName("工单号")]
        public string WORK_ORDER { get; set; }
        /// <summary>
        /// 工单批次号
        /// </summary>
        [DisplayName("工单批次号")]
        public string BATCH_NO { get; set; }
        /// <summary>
        /// 工艺路线编码
        /// </summary>
        [DisplayName("工艺路线编码")]
        public string ROT_CODE { get; set; }
        /// <summary>
        /// 工艺路线节点ID
        /// </summary>
        [DisplayName("工艺路线节点ID")]
        public string NODE_ID { get; set; }
        /// <summary>
        /// 工艺路线节点名称
        /// </summary>
        [DisplayName("工艺路线节点名称")]
        public string NODE_NAME { get; set; }
        /// <summary>
        /// 工厂编码
        /// </summary>
        [DisplayName("工厂编码")]
        public string FTY_CODE { get; set; }
        /// <summary>
        /// 车间编码
        /// </summary>
        [DisplayName("车间编码")]
        public string WS_CODE { get; set; }
        /// <summary>
        /// 产线编码
        /// </summary>
        [DisplayName("产线编码")]
        public string LINE_CODE { get; set; }
        /// <summary>
        /// 岗位编码
        /// </summary>
        [DisplayName("岗位编码")]
        public string POST_CODE { get; set; }
        /// <summary>
        /// 工序编码
        /// </summary>
        [DisplayName("工序编码")]
        public string OPER_CODE { get; set; }
        /// <summary>
        /// 加工段
        /// </summary>
        [DisplayName("加工段")]
        public string SEGMENT { get; set; }
        /// <summary>
        /// 锁定标记
        /// </summary>
        [DisplayName("锁定标记")]
        public string HOLD_FLAG { get; set; }
        /// <summary>
        /// 返工标记
        /// </summary>
        [DisplayName("返工标记")]
        public string REWORK_FLAG { get; set; }
        /// <summary>
        /// 是否完工
        /// </summary>
        [DisplayName("是否完工")]
        public string FINISHED_FLAG { get; set; }
        /// <summary>
        /// 是否不良
        /// </summary>
        [DisplayName("是否不良")]
        public string DFT_FLAG { get; set; }
        /// <summary>
        /// 不良计数
        /// </summary>
        [DisplayName("不良计数")]
        public int DFT_COUNT { get; set; }
        /// <summary>
        /// 不良代码编码
        /// </summary>
        [DisplayName("不良代码编码")]
        public string DFT_CODE { get; set; }
        public string WORK_ORDER { get; set; }
        /// <summary>
        /// 工单批次号
        /// </summary>
        [DisplayName("工单批次号")]
        public string BATCH_NO { get; set; }
        /// <summary>
        /// 工艺路线编码
        /// </summary>
        [DisplayName("工艺路线编码")]
        public string ROT_CODE { get; set; }
        /// <summary>
        /// 工艺路线节点ID
        /// </summary>
        [DisplayName("工艺路线节点ID")]
        public string NODE_ID { get; set; }
        /// <summary>
        /// 工艺路线节点名称
        /// </summary>
        [DisplayName("工艺路线节点名称")]
        public string NODE_NAME { get; set; }
        /// <summary>
        /// 工厂编码
        /// </summary>
        [DisplayName("工厂编码")]
        public string FTY_CODE { get; set; }
        /// <summary>
        /// 车间编码
        /// </summary>
        [DisplayName("车间编码")]
        public string WS_CODE { get; set; }
        /// <summary>
        /// 产线编码
        /// </summary>
        [DisplayName("产线编码")]
        public string LINE_CODE { get; set; }
        /// <summary>
        /// 岗位编码
        /// </summary>
        [DisplayName("岗位编码")]
        public string POST_CODE { get; set; }
        /// <summary>
        /// 工序编码
        /// </summary>
        [DisplayName("工序编码")]
        public string OPER_CODE { get; set; }
        /// <summary>
        /// 加工段
        /// </summary>
        [DisplayName("加工段")]
        public string SEGMENT { get; set; }
        /// <summary>
        /// 锁定标记
        /// </summary>
        [DisplayName("锁定标记")]
        public string HOLD_FLAG { get; set; }
        /// <summary>
        /// 返工标记
        /// </summary>
        [DisplayName("返工标记")]
        public string REWORK_FLAG { get; set; }
        /// <summary>
        /// 是否完工
        /// </summary>
        [DisplayName("是否完工")]
        public string FINISHED_FLAG { get; set; }
        /// <summary>
        /// 是否不良
        /// </summary>
        [DisplayName("是否不良")]
        public string DFT_FLAG { get; set; }
        /// <summary>
        /// 不良计数
        /// </summary>
        [DisplayName("不良计数")]
        public int DFT_COUNT { get; set; }
        /// <summary>
        /// 不良代码编码
        /// </summary>
        [DisplayName("不良代码编码")]
        public string DFT_CODE { get; set; }
        /// <summary>
        /// 维修回流工序名称(为空则不指定回流工序)
        /// </summary>
        [DisplayName("维修回流工序名称(为空则不指定回流工序)")]
        public string REFLOW_NODE { get; set; }
        /// <summary>
        /// 厂内流转条码
        /// </summary>
        [DisplayName("厂内流转条码")]
        public string FLOW_SN { get; set; }
        /// <summary>
        /// 托盘/载具条码
        /// </summary>
        [DisplayName("托盘/载具条码")]
        public string TRAY_SN { get; set; }
        /// <summary>
        /// 容器/内包装条码
        /// </summary>
        [DisplayName("容器/内包装条码")]
        public string CONTAINER_SN { get; set; }
        /// <summary>
        /// 外箱条码
        /// </summary>
        [DisplayName("外箱条码")]
        public string CARTON_SN { get; set; }
        /// <summary>
        /// 栈板条码
        /// </summary>
        [DisplayName("栈板条码")]
        public string PALLET_SN { get; set; }
        /// <summary>
        /// 是否入库
        /// </summary>
        [DisplayName("是否入库")]
        public string INV_FLAG { get; set; }
        /// <summary>
        /// 入库日期
        /// </summary>
        [DisplayName("入库日期")]
        public DateTime INV_DATE { get; set; } = DateTime.MinValue;
        /// <summary>
        /// 投入时间
        /// </summary>
        [DisplayName("投入时间")]
        public DateTime INLINE_DATE { get; set; } = DateTime.MinValue;
        /// <summary>
        /// 产出时间
        /// </summary>
        [DisplayName("产出时间")]
        public DateTime OUTLINE_DATE { get; set; } = DateTime.MinValue;
        /// <summary>
        /// 当前操作时间
        /// </summary>
        [DisplayName("当前操作时间")]
        public DateTime OPERATION_TIME { get; set; } = DateTime.MinValue;
        /// <summary>
        /// 班制编码
        /// </summary>
        [DisplayName("班制编码")]
        public string SFTS_CODE { get; set; }
        /// <summary>
        /// 班次编码
        /// </summary>
        [DisplayName("班次编码")]
        public string SFT_CODE { get; set; }
        /// <summary>
        /// 时段编码
        /// </summary>
        [DisplayName("时段编码")]
        public string PRD_CODE { get; set; }
        /// <summary>
        /// 抽检状态(0Unsampled未抽检|1NoSampling不抽检|2WaitCheck待检验|3Checking检验中|4Completed检验完|5Locked已锁定)
        /// </summary>
        [DisplayName("抽检状态(0Unsampled未抽检|1NoSampling不抽检|2WaitCheck待检验|3Checking检验中|4Completed检验完|5Locked已锁定)")]
        public int OBA_STATUS { get; set; }
        /// <summary>
        /// 抽检批次号
        /// </summary>
        [DisplayName("抽检批次号")]
        public string OBA_BATCH { get; set; }
        /// <summary>
        /// 锁定批次号
        /// </summary>
        [DisplayName("锁定批次号")]
        public string LOCK_BATCH { get; set; }
        /// <summary>
        /// 出货时间
        /// </summary>
        [DisplayName("出货时间")]
        public DateTime SHIPPING_DATE { get; set; } = DateTime.MinValue;
        /// <summary>
        /// 出货单号
        /// </summary>
        [DisplayName("出货单号")]
        public string SHIPPING_ORDER { get; set; }
        /// <summary>
        /// 备注
        /// </summary>
        [DisplayName("备注")]
        public string REMARK { get; set; }
        #endregion
        public string TRAY_SN { get; set; }
        /// <summary>
        /// 内包装条码
        /// </summary>
        [DisplayName("内包装条码")]
        public string INNER_SN { get; set; }
        /// <summary>
        /// 外箱条码
        /// </summary>
        [DisplayName("外箱条码")]
        public string CARTON_SN { get; set; }
        /// <summary>
        /// 栈板条码
        /// </summary>
        [DisplayName("栈板条码")]
        public string PALLET_SN { get; set; }
        /// <summary>
        /// 是否入库
        /// </summary>
        [DisplayName("是否入库")]
        public string INV_FLAG { get; set; }
        /// <summary>
        /// 入库日期
        /// </summary>
        [DisplayName("入库日期")]
        public DateTime INV_DATE { get; set; } = DateTime.MinValue;
        /// <summary>
        /// 投入时间
        /// </summary>
        [DisplayName("投入时间")]
        public DateTime INLINE_DATE { get; set; } = DateTime.MinValue;
        /// <summary>
        /// 产出时间
        /// </summary>
        [DisplayName("产出时间")]
        public DateTime OUTLINE_DATE { get; set; } = DateTime.MinValue;
        /// <summary>
        /// 当前操作时间
        /// </summary>
        [DisplayName("当前操作时间")]
        public DateTime OPERATION_TIME { get; set; } = DateTime.MinValue;
        /// <summary>
        /// 班制编码
        /// </summary>
        [DisplayName("班制编码")]
        public string SFTS_CODE { get; set; }
        /// <summary>
        /// 班次编码
        /// </summary>
        [DisplayName("班次编码")]
        public string SFT_CODE { get; set; }
        /// <summary>
        /// 时段编码
        /// </summary>
        [DisplayName("时段编码")]
        public string PRD_CODE { get; set; }
        /// <summary>
        /// 抽检状态(0Unsampled未抽检|1NoSampling不抽检|2WaitCheck待检验|3Checking检验中|4Completed检验完|5Locked已锁定)
        /// </summary>
        [DisplayName("抽检状态(0Unsampled未抽检|1NoSampling不抽检|2WaitCheck待检验|3Checking检验中|4Completed检验完|5Locked已锁定)")]
        public int OBA_STATUS { get; set; }
        /// <summary>
        /// 抽检批次号
        /// </summary>
        [DisplayName("抽检批次号")]
        public string OBA_BATCH { get; set; }
        /// <summary>
        /// 锁定批次号
        /// </summary>
        [DisplayName("锁定批次号")]
        public string LOCK_BATCH { get; set; }
        /// <summary>
        /// 出货时间
        /// </summary>
        [DisplayName("出货时间")]
        public DateTime SHIPPING_DATE { get; set; } = DateTime.MinValue;
        /// <summary>
        /// 出货单号
        /// </summary>
        [DisplayName("出货单号")]
        public string SHIPPING_ORDER { get; set; }
        /// <summary>
        /// 备注
        /// </summary>
        [DisplayName("备注")]
        public string REMARK { get; set; }
        #endregion
        #region 虚拟属性
        /*例子
        #region 虚拟属性
        /*例子
        [SugarColumn(IsIgnore = true)]
        public string FieldName { get; set; }
        */
        #endregion
        #endregion
        #region 外键属性
        /*例子
        //一对一外键导航
        [Navigate(NavigateType.OneToOne, nameof(ClassAId))]//一对一 ClassAId是MES_WIP_DATA类里面的外键ID字段
        public ClassA ClassA { get; set; } //注意禁止手动赋值,只能是null
        //一对多外键导航
        [Navigate(NavigateType.OneToMany, nameof(ClassA.MES_WIP_DATAId))]//ClassA表中的MES_WIP_DATAId
        public List<ClassA> ClassAList { get; set; }//注意禁止手动赋值,只能是null
        //多对多外键导航
        [Navigate(typeof(MappingClass), nameof(MappingClass.MES_WIP_DATAId), nameof(MappingClass.ClassAId))]//注意顺序
        public List<ClassA> ClassAList { get; set; } //注意禁止手动赋值,只能是null
        */
        //[Navigate(NavigateType.OneToOne, nameof(ITEM_CODE), nameof(BAS_ITEM.ITEM_CODE), "GHOST_ROW = 0")]//一对一 ClassAId是MES_WIP_DATA类里面的外键ID字段
        //public BAS_ITEM ItemInfo { get; set; } //注意禁止手动赋值,只能是null
        [Navigate(NavigateType.OneToMany, nameof(BAS_ITEM.ITEM_CODE), nameof(ITEM_CODE), "GHOST_ROW = 0")]//一对一 ClassAId是MES_WIP_DATA类里面的外键ID字段
        public List<BAS_ITEM> _ItemInfos { get; set; } //注意禁止手动赋值,只能是null
        #region 外键属性
        /*例子
        //一对一外键导航
        [Navigate(NavigateType.OneToOne, nameof(ClassAId))]//一对一 ClassAId是MES_WIP_DATA类里面的外键ID字段
        public ClassA ClassA { get; set; } //注意禁止手动赋值,只能是null
        //一对多外键导航
        [Navigate(NavigateType.OneToMany, nameof(ClassA.MES_WIP_DATAId))]//ClassA表中的MES_WIP_DATAId
        public List<ClassA> ClassAList { get; set; }//注意禁止手动赋值,只能是null
        //多对多外键导航
        [Navigate(typeof(MappingClass), nameof(MappingClass.MES_WIP_DATAId), nameof(MappingClass.ClassAId))]//注意顺序
        public List<ClassA> ClassAList { get; set; } //注意禁止手动赋值,只能是null
        */
        //[Navigate(NavigateType.OneToOne, nameof(ITEM_CODE), nameof(BAS_ITEM.ITEM_CODE), "GHOST_ROW = 0")]//一对一 ClassAId是MES_WIP_DATA类里面的外键ID字段
        //public BAS_ITEM ItemInfo { get; set; } //注意禁止手动赋值,只能是null
        [Navigate(NavigateType.OneToMany, nameof(BAS_ITEM.ITEM_CODE), nameof(ITEM_CODE), "GHOST_ROW = 0")]//一对一 ClassAId是MES_WIP_DATA类里面的外键ID字段
        public List<BAS_ITEM> _ItemInfos { get; set; } //注意禁止手动赋值,只能是null
        [SugarColumn(IsIgnore = true)]
        public BAS_ITEM ItemInfo => _ItemInfos?.FirstOrDefault(q => q.AUTH_ORG == AUTH_ORG);
        [Navigate(NavigateType.OneToMany, nameof(MES_WIP_HIS.SN), nameof(SN), "GHOST_ROW = 0")]//ClassA表中的MES_WIP_DATAId
        public List<MES_WIP_HIS> _History { get; set; }//注意禁止手动赋值,只能是null
        [SugarColumn(IsIgnore = true)]
        public List<MES_WIP_HIS> History => _History ?? new List<MES_WIP_HIS>();
        [Navigate(NavigateType.OneToMany, nameof(MES_WIP_DFT.SN), nameof(SN), "GHOST_ROW = 0")]//ClassA表中的MES_WIP_DATAId
        public List<MES_WIP_DFT> _Defects { get; set; }//注意禁止手动赋值,只能是null
        [Navigate(NavigateType.OneToMany, nameof(MES_WIP_DFT.SN), nameof(SN), "GHOST_ROW = 0")]//ClassA表中的MES_WIP_DATAId
        public List<MES_WIP_DFT> _Defects { get; set; }//注意禁止手动赋值,只能是null
        [SugarColumn(IsIgnore = true)]
        public List<MES_WIP_DFT> Defects => _Defects ?? new List<MES_WIP_DFT>();
        #endregion
        #endregion
        #region 枚举变量
        /*例子
        #region 枚举变量
        /*例子
        public enum FieldNames
        {
            [Description("枚举描述0")]
@@ -271,56 +276,56 @@
        }
        */
        /// <summary>
        /// 枚举:状态(0Init初始化|1Input已投入|2OK良品过站|3NG不良过站|4Repair维修中|5Finished已完工|6Scrap已报废|7InStorage已入库|8Reject已拒收|9Shipped已出货)
        /// </summary>
        public enum STATUSs
        {
            [Description("初始化")]
            Init = 0,
            [Description("已投入")]
            Input = 1,
            [Description("良品过站")]
            OK = 2,
            [Description("不良过站")]
            NG = 3,
            [Description("维修中")]
            Repair = 4,
            [Description("已完工")]
            Finished = 5,
            [Description("已报废")]
            Scrap = 6,
            [Description("已入库")]
            InStorage = 7,
            [Description("已拒收")]
            Reject = 8,
            [Description("已出货")]
            Shipped = 9,
        }
        /// <summary>
        /// 枚举:状态(0Init初始化|1Input已投入|2OK良品过站|3NG不良过站|4Repair维修中|5Finished已完工|6Scrap已报废|7InStorage已入库|8Reject已拒收|9Shipped已出货)
        /// </summary>
        public enum STATUSs
        {
            [Description("初始化")]
            Init = 0,
            [Description("已投入")]
            Input = 1,
            [Description("良品过站")]
            OK = 2,
            [Description("不良过站")]
            NG = 3,
            [Description("维修中")]
            Repair = 4,
            [Description("已完工")]
            Finished = 5,
            [Description("已报废")]
            Scrap = 6,
            [Description("已入库")]
            InStorage = 7,
            [Description("已拒收")]
            Reject = 8,
            [Description("已出货")]
            Shipped = 9,
        }
        /// <summary>
        /// 枚举:抽检状态(0Unsampled未抽检|1NoSampling不抽检|2WaitCheck待检验|3Checking检验中|4Completed检验完|5Locked已锁定)
        /// </summary>
        public enum OBA_STATUSs
        {
            [Description("未抽检")]
            Unsampled = 0,
            [Description("不抽检")]
            NoSampling = 1,
            [Description("待检验")]
            WaitCheck = 2,
            [Description("检验中")]
            Checking = 3,
            [Description("检验完")]
            Completed = 4,
            [Description("已锁定")]
            Locked = 5,
        }
        #endregion
        /// <summary>
        /// 枚举:抽检状态(0Unsampled未抽检|1NoSampling不抽检|2WaitCheck待检验|3Checking检验中|4Completed检验完|5Locked已锁定)
        /// </summary>
        public enum OBA_STATUSs
        {
            [Description("未抽检")]
            Unsampled = 0,
            [Description("不抽检")]
            NoSampling = 1,
            [Description("待检验")]
            WaitCheck = 2,
            [Description("检验中")]
            Checking = 3,
            [Description("检验完")]
            Completed = 4,
            [Description("已锁定")]
            Locked = 5,
        }
        #endregion
        #region 公共方法
        #region 公共方法
        #endregion
        #endregion
    }//endClass
    }//endClass
}
Tiger.Model.Net/Entitys/MES/MES_WIP_DFT.cs
@@ -6,292 +6,292 @@
namespace Tiger.Model
{
    /// <summary>
    /// 实体:生产不良记录
    /// </summary>
    [Description("Primary:ID")]
    [DisplayName("生产不良记录")]
    [Serializable]
    [SugarTable("MES_WIP_DFT")]
    public class MES_WIP_DFT : DbEntityWithAuth
    {
        #region 构造函数
        /// <summary>
        /// 实体:生产不良记录
        /// </summary>
        public MES_WIP_DFT() {}
        #endregion
    /// <summary>
    /// 实体:生产不良记录
    /// </summary>
    [Description("Primary:ID")]
    [DisplayName("生产不良记录")]
    [Serializable]
    [SugarTable("MES_WIP_DFT")]
    public class MES_WIP_DFT : DbEntityWithAuth
    {
        #region 构造函数
        /// <summary>
        /// 实体:生产不良记录
        /// </summary>
        public MES_WIP_DFT() { }
        #endregion
        #region 公共属性
        /// <summary>
        /// 过站条码
        /// </summary>
        [DisplayName("过站条码")]
        public string SN { get; set; }
        /// <summary>
        /// 状态(0WaitHandle待处理|1Repairing维修中|2Resolved已处理)
        /// </summary>
        [DisplayName("状态(0WaitHandle待处理|1Repairing维修中|2Resolved已处理)")]
        public int STATUS { get; set; }
        /// <summary>
        /// 物料编码
        /// </summary>
        [DisplayName("物料编码")]
        public string ITEM_CODE { get; set; }
        /// <summary>
        /// 工单号
        /// </summary>
        [DisplayName("工单号")]
        public string WORK_ORDER { get; set; }
        /// <summary>
        /// 工单批次号
        /// </summary>
        [DisplayName("工单批次号")]
        public string BATCH_NO { get; set; }
        /// <summary>
        /// 工艺路线编码
        /// </summary>
        [DisplayName("工艺路线编码")]
        public string ROT_CODE { get; set; }
        /// <summary>
        /// 工艺路线节点ID
        /// </summary>
        [DisplayName("工艺路线节点ID")]
        public string NODE_ID { get; set; }
        /// <summary>
        /// 工艺路线节点名称
        /// </summary>
        [DisplayName("工艺路线节点名称")]
        public string NODE_NAME { get; set; }
        /// <summary>
        /// 工厂编码
        /// </summary>
        [DisplayName("工厂编码")]
        public string FTY_CODE { get; set; }
        /// <summary>
        /// 车间编码
        /// </summary>
        [DisplayName("车间编码")]
        public string WS_CODE { get; set; }
        /// <summary>
        /// 产线编码
        /// </summary>
        [DisplayName("产线编码")]
        public string LINE_CODE { get; set; }
        /// <summary>
        /// 岗位编码
        /// </summary>
        [DisplayName("岗位编码")]
        public string POST_CODE { get; set; }
        /// <summary>
        /// 工序编码
        /// </summary>
        [DisplayName("工序编码")]
        public string OPER_CODE { get; set; }
        /// <summary>
        /// 加工段
        /// </summary>
        [DisplayName("加工段")]
        public string SEGMENT { get; set; }
        /// <summary>
        /// 是否不良
        /// </summary>
        [DisplayName("是否不良")]
        public string DFT_FLAG { get; set; }
        /// <summary>
        /// 不良计数
        /// </summary>
        [DisplayName("不良计数")]
        public int DFT_COUNT { get; set; }
        /// <summary>
        /// 不良代码编码
        /// </summary>
        [DisplayName("不良代码编码")]
        public string DFT_CODE { get; set; }
        /// <summary>
        /// 不良代码名称
        /// </summary>
        [DisplayName("不良代码名称")]
        public string DFT_NAME { get; set; }
        /// <summary>
        /// 缺陷等级(0MI轻微缺陷|1MA严重缺陷|2CR致命缺陷)
        /// </summary>
        [DisplayName("缺陷等级(0MI轻微缺陷|1MA严重缺陷|2CR致命缺陷)")]
        public int DFT_LEVEL { get; set; }
        /// <summary>
        /// 托盘/载具条码
        /// </summary>
        [DisplayName("托盘/载具条码")]
        public string TRAY_SN { get; set; }
        /// <summary>
        /// 容器/内包装条码
        /// </summary>
        [DisplayName("容器/内包装条码")]
        public string CONTAINER_SN { get; set; }
        /// <summary>
        /// 外箱条码
        /// </summary>
        [DisplayName("外箱条码")]
        public string CARTON_SN { get; set; }
        /// <summary>
        /// 栈板条码
        /// </summary>
        [DisplayName("栈板条码")]
        public string PALLET_SN { get; set; }
        /// <summary>
        /// 是否入库
        /// </summary>
        [DisplayName("是否入库")]
        public string INV_FLAG { get; set; }
        /// <summary>
        /// 当前操作时间
        /// </summary>
        [DisplayName("当前操作时间")]
        public DateTime OPERATION_TIME { get; set; } = DateTime.MinValue;
        /// <summary>
        /// 班制编码
        /// </summary>
        [DisplayName("班制编码")]
        public string SFTS_CODE { get; set; }
        /// <summary>
        /// 班次编码
        /// </summary>
        [DisplayName("班次编码")]
        public string SFT_CODE { get; set; }
        /// <summary>
        /// 时段编码
        /// </summary>
        [DisplayName("时段编码")]
        public string PRD_CODE { get; set; }
        /// <summary>
        /// 抽检批次号
        /// </summary>
        [DisplayName("抽检批次号")]
        public string OBA_BATCH { get; set; }
        /// <summary>
        /// 锁定批次号
        /// </summary>
        [DisplayName("锁定批次号")]
        public string LOCK_BATCH { get; set; }
        /// <summary>
        /// 不良原因编码
        /// </summary>
        [DisplayName("不良原因编码")]
        public string RSN_CODE { get; set; }
        /// <summary>
        /// 不良原因名称
        /// </summary>
        [DisplayName("不良原因名称")]
        public string RSN_NAME { get; set; }
        /// <summary>
        /// 是否必须更换零件(Y/N)
        /// </summary>
        [DisplayName("是否必须更换零件(Y/N)")]
        public string NEED_REPLACE { get; set; }
        /// <summary>
        /// 不良责任编码
        /// </summary>
        [DisplayName("不良责任编码")]
        public string DUTY_CODE { get; set; }
        /// <summary>
        /// 不良责任名称
        /// </summary>
        [DisplayName("不良责任名称")]
        public string DUTY_NAME { get; set; }
        /// <summary>
        /// 缺陷位置编码
        /// </summary>
        [DisplayName("缺陷位置编码")]
        public string LOC_CODE { get; set; }
        /// <summary>
        /// 缺陷位置名称
        /// </summary>
        [DisplayName("缺陷位置名称")]
        public string LOC_NAME { get; set; }
        /// <summary>
        /// 不良解决方案编码
        /// </summary>
        [DisplayName("不良解决方案编码")]
        public string SOL_CODE { get; set; }
        /// <summary>
        /// 不良解决方案名称
        /// </summary>
        [DisplayName("不良解决方案名称")]
        public string SOL_NAME { get; set; }
        /// <summary>
        /// 备注
        /// </summary>
        [DisplayName("备注")]
        public string REMARK { get; set; }
        /// <summary>
        /// 追溯信息
        /// </summary>
        [DisplayName("追溯信息")]
        public string TRACE_INFO { get; set; }
        #endregion
        #region 公共属性
        /// <summary>
        /// 在制品ID
        /// </summary>
        [DisplayName("在制品ID")]
        public string WIP_ID { get; set; }
        /// <summary>
        /// 过站条码
        /// </summary>
        [DisplayName("过站条码")]
        public string SN { get; set; }
        /// <summary>
        /// 状态(0WaitHandle待处理|1Repairing维修中|2Resolved已处理)
        /// </summary>
        [DisplayName("状态(0WaitHandle待处理|1Repairing维修中|2Resolved已处理)")]
        public int STATUS { get; set; }
        /// <summary>
        /// 物料编码
        /// </summary>
        [DisplayName("物料编码")]
        public string ITEM_CODE { get; set; }
        /// <summary>
        /// 工单号
        /// </summary>
        [DisplayName("工单号")]
        public string WORK_ORDER { get; set; }
        /// <summary>
        /// 工单批次号
        /// </summary>
        [DisplayName("工单批次号")]
        public string BATCH_NO { get; set; }
        /// <summary>
        /// 工艺路线编码
        /// </summary>
        [DisplayName("工艺路线编码")]
        public string ROT_CODE { get; set; }
        /// <summary>
        /// 工艺路线节点ID
        /// </summary>
        [DisplayName("工艺路线节点ID")]
        public string NODE_ID { get; set; }
        /// <summary>
        /// 工艺路线节点名称
        /// </summary>
        [DisplayName("工艺路线节点名称")]
        public string NODE_NAME { get; set; }
        /// <summary>
        /// 工厂编码
        /// </summary>
        [DisplayName("工厂编码")]
        public string FTY_CODE { get; set; }
        /// <summary>
        /// 车间编码
        /// </summary>
        [DisplayName("车间编码")]
        public string WS_CODE { get; set; }
        /// <summary>
        /// 产线编码
        /// </summary>
        [DisplayName("产线编码")]
        public string LINE_CODE { get; set; }
        /// <summary>
        /// 岗位编码
        /// </summary>
        [DisplayName("岗位编码")]
        public string POST_CODE { get; set; }
        /// <summary>
        /// 工序编码
        /// </summary>
        [DisplayName("工序编码")]
        public string OPER_CODE { get; set; }
        /// <summary>
        /// 加工段
        /// </summary>
        [DisplayName("加工段")]
        public string SEGMENT { get; set; }
        /// <summary>
        /// 不良代码编码
        /// </summary>
        [DisplayName("不良代码编码")]
        public string DFT_CODE { get; set; }
        /// <summary>
        /// 不良代码名称
        /// </summary>
        [DisplayName("不良代码名称")]
        public string DFT_NAME { get; set; }
        /// <summary>
        /// 缺陷等级(0MI轻微缺陷|1MA严重缺陷|2CR致命缺陷)
        /// </summary>
        [DisplayName("缺陷等级(0MI轻微缺陷|1MA严重缺陷|2CR致命缺陷)")]
        public int DFT_LEVEL { get; set; }
        /// <summary>
        /// 厂内流转条码
        /// </summary>
        [DisplayName("厂内流转条码")]
        public string FLOW_SN { get; set; }
        /// <summary>
        /// 托盘/载具条码
        /// </summary>
        [DisplayName("托盘/载具条码")]
        public string TRAY_SN { get; set; }
        /// <summary>
        /// 内包装条码
        /// </summary>
        [DisplayName("内包装条码")]
        public string INNER_SN { get; set; }
        /// <summary>
        /// 外箱条码
        /// </summary>
        [DisplayName("外箱条码")]
        public string CARTON_SN { get; set; }
        /// <summary>
        /// 栈板条码
        /// </summary>
        [DisplayName("栈板条码")]
        public string PALLET_SN { get; set; }
        /// <summary>
        /// 是否入库
        /// </summary>
        [DisplayName("是否入库")]
        public string INV_FLAG { get; set; }
        /// <summary>
        /// 当前操作时间
        /// </summary>
        [DisplayName("当前操作时间")]
        public DateTime OPERATION_TIME { get; set; } = DateTime.MinValue;
        /// <summary>
        /// 班制编码
        /// </summary>
        [DisplayName("班制编码")]
        public string SFTS_CODE { get; set; }
        /// <summary>
        /// 班次编码
        /// </summary>
        [DisplayName("班次编码")]
        public string SFT_CODE { get; set; }
        /// <summary>
        /// 时段编码
        /// </summary>
        [DisplayName("时段编码")]
        public string PRD_CODE { get; set; }
        /// <summary>
        /// 抽检批次号
        /// </summary>
        [DisplayName("抽检批次号")]
        public string OBA_BATCH { get; set; }
        /// <summary>
        /// 锁定批次号
        /// </summary>
        [DisplayName("锁定批次号")]
        public string LOCK_BATCH { get; set; }
        /// <summary>
        /// 不良原因编码
        /// </summary>
        [DisplayName("不良原因编码")]
        public string RSN_CODE { get; set; }
        /// <summary>
        /// 不良原因名称
        /// </summary>
        [DisplayName("不良原因名称")]
        public string RSN_NAME { get; set; }
        /// <summary>
        /// 是否必须更换零件(Y/N)
        /// </summary>
        [DisplayName("是否必须更换零件(Y/N)")]
        public string NEED_REPLACE { get; set; }
        /// <summary>
        /// 不良责任编码
        /// </summary>
        [DisplayName("不良责任编码")]
        public string DUTY_CODE { get; set; }
        /// <summary>
        /// 不良责任名称
        /// </summary>
        [DisplayName("不良责任名称")]
        public string DUTY_NAME { get; set; }
        /// <summary>
        /// 缺陷位置编码
        /// </summary>
        [DisplayName("缺陷位置编码")]
        public string LOC_CODE { get; set; }
        /// <summary>
        /// 缺陷位置名称
        /// </summary>
        [DisplayName("缺陷位置名称")]
        public string LOC_NAME { get; set; }
        /// <summary>
        /// 不良解决方案编码
        /// </summary>
        [DisplayName("不良解决方案编码")]
        public string SOL_CODE { get; set; }
        /// <summary>
        /// 不良解决方案名称
        /// </summary>
        [DisplayName("不良解决方案名称")]
        public string SOL_NAME { get; set; }
        /// <summary>
        /// 备注
        /// </summary>
        [DisplayName("备注")]
        public string REMARK { get; set; }
        /// <summary>
        /// 追溯信息
        /// </summary>
        [DisplayName("追溯信息")]
        public string TRACE_INFO { get; set; }
        #endregion
        #region 虚拟属性
        /*例子
        #region 虚拟属性
        /*例子
        [SugarColumn(IsIgnore = true)]
        public string FieldName { get; set; }
        */
        #endregion
        #endregion
        #region 外键属性
        /*例子
        //一对一外键导航
        [Navigate(NavigateType.OneToOne, nameof(ClassAId))]//一对一 ClassAId是MES_WIP_DFT类里面的外键ID字段
        public ClassA ClassA { get; set; } //注意禁止手动赋值,只能是null
        //一对多外键导航
        [Navigate(NavigateType.OneToMany, nameof(ClassA.MES_WIP_DFTId))]//ClassA表中的MES_WIP_DFTId
        public List<ClassA> ClassAList { get; set; }//注意禁止手动赋值,只能是null
        //多对多外键导航
        [Navigate(typeof(MappingClass), nameof(MappingClass.MES_WIP_DFTId), nameof(MappingClass.ClassAId))]//注意顺序
        public List<ClassA> ClassAList { get; set; } //注意禁止手动赋值,只能是null
        #region 外键属性
        /*例子
        //一对一外键导航
        [Navigate(NavigateType.OneToOne, nameof(ClassAId))]//一对一 ClassAId是MES_WIP_DFT类里面的外键ID字段
        public ClassA ClassA { get; set; } //注意禁止手动赋值,只能是null
        //一对多外键导航
        [Navigate(NavigateType.OneToMany, nameof(ClassA.MES_WIP_DFTId))]//ClassA表中的MES_WIP_DFTId
        public List<ClassA> ClassAList { get; set; }//注意禁止手动赋值,只能是null
        //多对多外键导航
        [Navigate(typeof(MappingClass), nameof(MappingClass.MES_WIP_DFTId), nameof(MappingClass.ClassAId))]//注意顺序
        public List<ClassA> ClassAList { get; set; } //注意禁止手动赋值,只能是null
        */
        #endregion
        #endregion
        #region 枚举变量
        /*例子
        #region 枚举变量
        /*例子
        public enum FieldNames
        {
            [Description("枚举描述0")]
            [Description("枚举描述0")]
            Enum0,
            [Description("枚举描述1")]
            [Description("枚举描述1")]
            Enum1,
        }
        */
        /// <summary>
        /// 枚举:状态(0WaitHandle待处理|1Repairing维修中|2Resolved已处理)
        /// </summary>
        public enum STATUSs
        {
            [Description("待处理")]
            WaitHandle = 0,
            [Description("维修中")]
            Repairing = 1,
            [Description("已处理")]
            Resolved = 2,
        }
        /// <summary>
        /// 枚举:状态(0WaitHandle待处理|1Repairing维修中|2Resolved已处理)
        /// </summary>
        public enum STATUSs
        {
            [Description("待处理")]
            WaitHandle = 0,
            [Description("维修中")]
            Repairing = 1,
            [Description("已处理")]
            Resolved = 2,
        }
        /// <summary>
        /// 枚举:缺陷等级(0MI轻微缺陷|1MA严重缺陷|2CR致命缺陷)
        /// </summary>
        public enum DFT_LEVELs
        {
            [Description("轻微缺陷")]
            MI = 0,
            [Description("严重缺陷")]
            MA = 1,
            [Description("致命缺陷")]
            CR = 2,
        }
        #endregion
        /// <summary>
        /// 枚举:缺陷等级(0MI轻微缺陷|1MA严重缺陷|2CR致命缺陷)
        /// </summary>
        public enum DFT_LEVELs
        {
            [Description("轻微缺陷")]
            MI = 0,
            [Description("严重缺陷")]
            MA = 1,
            [Description("致命缺陷")]
            CR = 2,
        }
        #endregion
        #region 公共方法
        #region 公共方法
        #endregion
        #endregion
    }//endClass
    }//endClass
}
Tiger.Model.Net/Entitys/MES/MES_WIP_EXT.cs
@@ -6,171 +6,171 @@
namespace Tiger.Model
{
    /// <summary>
    /// 实体:在制品扩展信息表
    /// </summary>
    [Description("Primary:ID")]
    [DisplayName("在制品扩展信息表")]
    [Serializable]
    [SugarTable("MES_WIP_EXT")]
    public class MES_WIP_EXT : DbEntityWithAuth
    {
        #region 构造函数
        /// <summary>
        /// 实体:在制品扩展信息表
        /// </summary>
        public MES_WIP_EXT() {}
        #endregion
    /// <summary>
    /// 实体:在制品扩展信息表
    /// </summary>
    [Description("Primary:ID")]
    [DisplayName("在制品扩展信息表")]
    [Serializable]
    [SugarTable("MES_WIP_EXT")]
    public class MES_WIP_EXT : DbEntityWithAuth
    {
        #region 构造函数
        /// <summary>
        /// 实体:在制品扩展信息表
        /// </summary>
        public MES_WIP_EXT() { }
        #endregion
        #region 公共属性
        /// <summary>
        /// 过站条码
        /// </summary>
        [DisplayName("过站条码")]
        public string SN { get; set; }
        /// <summary>
        /// 彩盒条码
        /// </summary>
        [DisplayName("彩盒条码")]
        public string BOX_SN { get; set; }
        /// <summary>
        /// 扩展字段值01
        /// </summary>
        [DisplayName("扩展字段值01")]
        public string FIELD_01 { get; set; }
        /// <summary>
        /// 扩展字段值02
        /// </summary>
        [DisplayName("扩展字段值02")]
        public string FIELD_02 { get; set; }
        /// <summary>
        /// 扩展字段值03
        /// </summary>
        [DisplayName("扩展字段值03")]
        public string FIELD_03 { get; set; }
        /// <summary>
        /// 扩展字段值04
        /// </summary>
        [DisplayName("扩展字段值04")]
        public string FIELD_04 { get; set; }
        /// <summary>
        /// 扩展字段值05
        /// </summary>
        [DisplayName("扩展字段值05")]
        public string FIELD_05 { get; set; }
        /// <summary>
        /// 扩展字段值06
        /// </summary>
        [DisplayName("扩展字段值06")]
        public string FIELD_06 { get; set; }
        /// <summary>
        /// 扩展字段值07
        /// </summary>
        [DisplayName("扩展字段值07")]
        public string FIELD_07 { get; set; }
        /// <summary>
        /// 扩展字段值08
        /// </summary>
        [DisplayName("扩展字段值08")]
        public string FIELD_08 { get; set; }
        /// <summary>
        /// 扩展字段值09
        /// </summary>
        [DisplayName("扩展字段值09")]
        public string FIELD_09 { get; set; }
        /// <summary>
        /// 扩展字段值10
        /// </summary>
        [DisplayName("扩展字段值10")]
        public string FIELD_10 { get; set; }
        /// <summary>
        /// 扩展字段值11
        /// </summary>
        [DisplayName("扩展字段值11")]
        public string FIELD_11 { get; set; }
        /// <summary>
        /// 扩展字段值12
        /// </summary>
        [DisplayName("扩展字段值12")]
        public string FIELD_12 { get; set; }
        /// <summary>
        /// 扩展字段值13
        /// </summary>
        [DisplayName("扩展字段值13")]
        public string FIELD_13 { get; set; }
        /// <summary>
        /// 扩展字段值14
        /// </summary>
        [DisplayName("扩展字段值14")]
        public string FIELD_14 { get; set; }
        /// <summary>
        /// 扩展字段值15
        /// </summary>
        [DisplayName("扩展字段值15")]
        public string FIELD_15 { get; set; }
        /// <summary>
        /// 扩展字段值16
        /// </summary>
        [DisplayName("扩展字段值16")]
        public string FIELD_16 { get; set; }
        /// <summary>
        /// 扩展字段值17
        /// </summary>
        [DisplayName("扩展字段值17")]
        public string FIELD_17 { get; set; }
        /// <summary>
        /// 扩展字段值18
        /// </summary>
        [DisplayName("扩展字段值18")]
        public string FIELD_18 { get; set; }
        /// <summary>
        /// 扩展字段值19
        /// </summary>
        [DisplayName("扩展字段值19")]
        public string FIELD_19 { get; set; }
        /// <summary>
        /// 扩展字段值20
        /// </summary>
        [DisplayName("扩展字段值20")]
        public string FIELD_20 { get; set; }
        #endregion
        #region 公共属性
        /// <summary>
        /// 条码(不限于在制品条码)
        /// </summary>
        [DisplayName("条码(不限于在制品条码)")]
        public string SN { get; set; }
        /// <summary>
        /// 在制品ID(不是在制品则留空)
        /// </summary>
        [DisplayName("在制品ID(不是在制品则留空)")]
        public string WIP_ID { get; set; }
        /// <summary>
        /// 扩展字段值01
        /// </summary>
        [DisplayName("扩展字段值01")]
        public string FIELD_01 { get; set; }
        /// <summary>
        /// 扩展字段值02
        /// </summary>
        [DisplayName("扩展字段值02")]
        public string FIELD_02 { get; set; }
        /// <summary>
        /// 扩展字段值03
        /// </summary>
        [DisplayName("扩展字段值03")]
        public string FIELD_03 { get; set; }
        /// <summary>
        /// 扩展字段值04
        /// </summary>
        [DisplayName("扩展字段值04")]
        public string FIELD_04 { get; set; }
        /// <summary>
        /// 扩展字段值05
        /// </summary>
        [DisplayName("扩展字段值05")]
        public string FIELD_05 { get; set; }
        /// <summary>
        /// 扩展字段值06
        /// </summary>
        [DisplayName("扩展字段值06")]
        public string FIELD_06 { get; set; }
        /// <summary>
        /// 扩展字段值07
        /// </summary>
        [DisplayName("扩展字段值07")]
        public string FIELD_07 { get; set; }
        /// <summary>
        /// 扩展字段值08
        /// </summary>
        [DisplayName("扩展字段值08")]
        public string FIELD_08 { get; set; }
        /// <summary>
        /// 扩展字段值09
        /// </summary>
        [DisplayName("扩展字段值09")]
        public string FIELD_09 { get; set; }
        /// <summary>
        /// 扩展字段值10
        /// </summary>
        [DisplayName("扩展字段值10")]
        public string FIELD_10 { get; set; }
        /// <summary>
        /// 扩展字段值11
        /// </summary>
        [DisplayName("扩展字段值11")]
        public string FIELD_11 { get; set; }
        /// <summary>
        /// 扩展字段值12
        /// </summary>
        [DisplayName("扩展字段值12")]
        public string FIELD_12 { get; set; }
        /// <summary>
        /// 扩展字段值13
        /// </summary>
        [DisplayName("扩展字段值13")]
        public string FIELD_13 { get; set; }
        /// <summary>
        /// 扩展字段值14
        /// </summary>
        [DisplayName("扩展字段值14")]
        public string FIELD_14 { get; set; }
        /// <summary>
        /// 扩展字段值15
        /// </summary>
        [DisplayName("扩展字段值15")]
        public string FIELD_15 { get; set; }
        /// <summary>
        /// 扩展字段值16
        /// </summary>
        [DisplayName("扩展字段值16")]
        public string FIELD_16 { get; set; }
        /// <summary>
        /// 扩展字段值17
        /// </summary>
        [DisplayName("扩展字段值17")]
        public string FIELD_17 { get; set; }
        /// <summary>
        /// 扩展字段值18
        /// </summary>
        [DisplayName("扩展字段值18")]
        public string FIELD_18 { get; set; }
        /// <summary>
        /// 扩展字段值19
        /// </summary>
        [DisplayName("扩展字段值19")]
        public string FIELD_19 { get; set; }
        /// <summary>
        /// 扩展字段值20
        /// </summary>
        [DisplayName("扩展字段值20")]
        public string FIELD_20 { get; set; }
        #endregion
        #region 虚拟属性
        /*例子
        #region 虚拟属性
        /*例子
        [SugarColumn(IsIgnore = true)]
        public string FieldName { get; set; }
        */
        #endregion
        #endregion
        #region 外键属性
        /*例子
        //一对一外键导航
        [Navigate(NavigateType.OneToOne, nameof(ClassAId))]//一对一 ClassAId是MES_WIP_EXT类里面的外键ID字段
        public ClassA ClassA { get; set; } //注意禁止手动赋值,只能是null
        //一对多外键导航
        [Navigate(NavigateType.OneToMany, nameof(ClassA.MES_WIP_EXTId))]//ClassA表中的MES_WIP_EXTId
        public List<ClassA> ClassAList { get; set; }//注意禁止手动赋值,只能是null
        //多对多外键导航
        [Navigate(typeof(MappingClass), nameof(MappingClass.MES_WIP_EXTId), nameof(MappingClass.ClassAId))]//注意顺序
        public List<ClassA> ClassAList { get; set; } //注意禁止手动赋值,只能是null
        #region 外键属性
        /*例子
        //一对一外键导航
        [Navigate(NavigateType.OneToOne, nameof(ClassAId))]//一对一 ClassAId是MES_WIP_EXT类里面的外键ID字段
        public ClassA ClassA { get; set; } //注意禁止手动赋值,只能是null
        //一对多外键导航
        [Navigate(NavigateType.OneToMany, nameof(ClassA.MES_WIP_EXTId))]//ClassA表中的MES_WIP_EXTId
        public List<ClassA> ClassAList { get; set; }//注意禁止手动赋值,只能是null
        //多对多外键导航
        [Navigate(typeof(MappingClass), nameof(MappingClass.MES_WIP_EXTId), nameof(MappingClass.ClassAId))]//注意顺序
        public List<ClassA> ClassAList { get; set; } //注意禁止手动赋值,只能是null
        */
        #endregion
        #endregion
        #region 枚举变量
        /*例子
        #region 枚举变量
        /*例子
        public enum FieldNames
        {
            [Description("枚举描述0")]
            [Description("枚举描述0")]
            Enum0,
            [Description("枚举描述1")]
            [Description("枚举描述1")]
            Enum1,
        }
        */
        #endregion
        #endregion
        #region 公共方法
        #region 公共方法
        #endregion
        #endregion
    }//endClass
    }//endClass
}
Tiger.Model.Net/Entitys/MES/MES_WIP_HIS.cs
@@ -6,38 +6,39 @@
namespace Tiger.Model
{
    /// <summary>
    /// 实体:生产过程记录
    /// </summary>
    [Description("Primary:ID")]
    [DisplayName("生产过程记录")]
    [Serializable]
    [SugarTable("MES_WIP_HIS")]
    public class MES_WIP_HIS : DbEntityWithAuth
    {
        #region 构造函数
        /// <summary>
        /// 实体:生产过程记录
        /// </summary>
        public MES_WIP_HIS() {}
    /// <summary>
    /// 实体:生产过程记录
    /// </summary>
    [Description("Primary:ID")]
    [DisplayName("生产过程记录")]
    [Serializable]
    [SugarTable("MES_WIP_HIS")]
    public class MES_WIP_HIS : DbEntityWithAuth
    {
        #region 构造函数
        /// <summary>
        /// 实体:生产过程记录
        /// </summary>
        public MES_WIP_HIS() { }
        /// <summary>
        /// 实体:库存历史
        /// 实体:生产过程记录
        /// </summary>
        /// <param name="data">历史的来源Item</param>
        /// <param name="traceInfo">追溯信息</param>
        public MES_WIP_HIS(MES_WIP_DATA data, string traceInfo)
        {
            ID = Guid.NewGuid().ToString("N");
            ID = Guid.NewGuid().ToString("N");
            CREATE_USER = data.CREATE_USER;
            UPDATE_USER = data.UPDATE_USER;
            AUTH_ORG = data.AUTH_ORG;
            AUTH_PROD = data.AUTH_PROD;
            AUTH_WH = data.AUTH_WH;
            WIP_ID = data.ID;
            SN = data.SN;
            STATUS = data.STATUS;
            ITEM_CODE = data.ITEM_CODE;
            QTY = data.QTY;
            QTY = data.QTY;
            WORK_ORDER = data.WORK_ORDER;
            BATCH_NO = data.BATCH_NO;
            ROT_CODE = data.ROT_CODE;
@@ -55,9 +56,10 @@
            DFT_FLAG = data.DFT_FLAG;
            DFT_COUNT = data.DFT_COUNT;
            DFT_CODE = data.DFT_CODE;
            REFLOW_NODE = data.REFLOW_NODE;
            REFLOW_NODE = data.REFLOW_NODE;
            FLOW_SN = data.FLOW_SN;
            TRAY_SN = data.TRAY_SN;
            CONTAINER_SN = data.CONTAINER_SN;
            INNER_SN = data.INNER_SN;
            CARTON_SN = data.CARTON_SN;
            PALLET_SN = data.PALLET_SN;
            INV_FLAG = data.INV_FLAG;
@@ -80,20 +82,25 @@
        #region 公共属性
        /// <summary>
        /// 在制品ID
        /// </summary>
        [DisplayName("在制品ID")]
        public string WIP_ID { get; set; }
        /// <summary>
        /// 过站条码
        /// </summary>
        [DisplayName("过站条码")]
        public string SN { get; set; }
        /// <summary>
        /// 状态(0Init初始化|1Input已投入|2OK良品过站|3NG不良过站|4Repair维修中|5Finished已完工|6Scrap已报废|7InStorage已入库|8Reject已拒收|9Shipped已出货)
        /// </summary>
        [DisplayName("状态(0Init初始化|1Input已投入|2OK良品过站|3NG不良过站|4Repair维修中|5Finished已完工|6Scrap已报废|7InStorage已入库|8Reject已拒收|9Shipped已出货)")]
        public int STATUS { get; set; }
        /// <summary>
        /// 物料编码
        /// </summary>
        [DisplayName("物料编码")]
        public string ITEM_CODE { get; set; }
        public string SN { get; set; }
        /// <summary>
        /// 状态(0Init初始化|1Input已投入|2OK良品过站|3NG不良过站|4Repair维修中|5Finished已完工|6Scrap已报废|7InStorage已入库|8Reject已拒收|9Shipped已出货)
        /// </summary>
        [DisplayName("状态(0Init初始化|1Input已投入|2OK良品过站|3NG不良过站|4Repair维修中|5Finished已完工|6Scrap已报废|7InStorage已入库|8Reject已拒收|9Shipped已出货)")]
        public int STATUS { get; set; }
        /// <summary>
        /// 物料编码
        /// </summary>
        [DisplayName("物料编码")]
        public string ITEM_CODE { get; set; }
        /// <summary>
        /// 数量
        /// </summary>
@@ -103,199 +110,204 @@
        /// 工单号
        /// </summary>
        [DisplayName("工单号")]
        public string WORK_ORDER { get; set; }
        /// <summary>
        /// 工单批次号
        /// </summary>
        [DisplayName("工单批次号")]
        public string BATCH_NO { get; set; }
        /// <summary>
        /// 工艺路线编码
        /// </summary>
        [DisplayName("工艺路线编码")]
        public string ROT_CODE { get; set; }
        /// <summary>
        /// 工艺路线节点ID
        /// </summary>
        [DisplayName("工艺路线节点ID")]
        public string NODE_ID { get; set; }
        /// <summary>
        /// 工艺路线节点名称
        /// </summary>
        [DisplayName("工艺路线节点名称")]
        public string NODE_NAME { get; set; }
        /// <summary>
        /// 工厂编码
        /// </summary>
        [DisplayName("工厂编码")]
        public string FTY_CODE { get; set; }
        /// <summary>
        /// 车间编码
        /// </summary>
        [DisplayName("车间编码")]
        public string WS_CODE { get; set; }
        /// <summary>
        /// 产线编码
        /// </summary>
        [DisplayName("产线编码")]
        public string LINE_CODE { get; set; }
        /// <summary>
        /// 岗位编码
        /// </summary>
        [DisplayName("岗位编码")]
        public string POST_CODE { get; set; }
        /// <summary>
        /// 工序编码
        /// </summary>
        [DisplayName("工序编码")]
        public string OPER_CODE { get; set; }
        /// <summary>
        /// 加工段
        /// </summary>
        [DisplayName("加工段")]
        public string SEGMENT { get; set; }
        /// <summary>
        /// 锁定标记
        /// </summary>
        [DisplayName("锁定标记")]
        public string HOLD_FLAG { get; set; }
        /// <summary>
        /// 返工标记
        /// </summary>
        [DisplayName("返工标记")]
        public string REWORK_FLAG { get; set; }
        /// <summary>
        /// 是否完工
        /// </summary>
        [DisplayName("是否完工")]
        public string FINISHED_FLAG { get; set; }
        /// <summary>
        /// 是否不良
        /// </summary>
        [DisplayName("是否不良")]
        public string DFT_FLAG { get; set; }
        /// <summary>
        /// 不良计数
        /// </summary>
        [DisplayName("不良计数")]
        public int DFT_COUNT { get; set; }
        /// <summary>
        /// 不良代码编码
        /// </summary>
        [DisplayName("不良代码编码")]
        public string DFT_CODE { get; set; }
        public string WORK_ORDER { get; set; }
        /// <summary>
        /// 工单批次号
        /// </summary>
        [DisplayName("工单批次号")]
        public string BATCH_NO { get; set; }
        /// <summary>
        /// 工艺路线编码
        /// </summary>
        [DisplayName("工艺路线编码")]
        public string ROT_CODE { get; set; }
        /// <summary>
        /// 工艺路线节点ID
        /// </summary>
        [DisplayName("工艺路线节点ID")]
        public string NODE_ID { get; set; }
        /// <summary>
        /// 工艺路线节点名称
        /// </summary>
        [DisplayName("工艺路线节点名称")]
        public string NODE_NAME { get; set; }
        /// <summary>
        /// 工厂编码
        /// </summary>
        [DisplayName("工厂编码")]
        public string FTY_CODE { get; set; }
        /// <summary>
        /// 车间编码
        /// </summary>
        [DisplayName("车间编码")]
        public string WS_CODE { get; set; }
        /// <summary>
        /// 产线编码
        /// </summary>
        [DisplayName("产线编码")]
        public string LINE_CODE { get; set; }
        /// <summary>
        /// 岗位编码
        /// </summary>
        [DisplayName("岗位编码")]
        public string POST_CODE { get; set; }
        /// <summary>
        /// 工序编码
        /// </summary>
        [DisplayName("工序编码")]
        public string OPER_CODE { get; set; }
        /// <summary>
        /// 加工段
        /// </summary>
        [DisplayName("加工段")]
        public string SEGMENT { get; set; }
        /// <summary>
        /// 锁定标记
        /// </summary>
        [DisplayName("锁定标记")]
        public string HOLD_FLAG { get; set; }
        /// <summary>
        /// 返工标记
        /// </summary>
        [DisplayName("返工标记")]
        public string REWORK_FLAG { get; set; }
        /// <summary>
        /// 是否完工
        /// </summary>
        [DisplayName("是否完工")]
        public string FINISHED_FLAG { get; set; }
        /// <summary>
        /// 是否不良
        /// </summary>
        [DisplayName("是否不良")]
        public string DFT_FLAG { get; set; }
        /// <summary>
        /// 不良计数
        /// </summary>
        [DisplayName("不良计数")]
        public int DFT_COUNT { get; set; }
        /// <summary>
        /// 不良代码编码
        /// </summary>
        [DisplayName("不良代码编码")]
        public string DFT_CODE { get; set; }
        /// <summary>
        /// 维修回流工序名称(为空则不指定回流工序)
        /// </summary>
        [DisplayName("维修回流工序名称(为空则不指定回流工序)")]
        public string REFLOW_NODE { get; set; }
        /// <summary>
        /// 厂内流转条码
        /// </summary>
        [DisplayName("厂内流转条码")]
        public string FLOW_SN { get; set; }
        /// <summary>
        /// 托盘/载具条码
        /// </summary>
        [DisplayName("托盘/载具条码")]
        public string TRAY_SN { get; set; }
        /// <summary>
        /// 容器/内包装条码
        /// </summary>
        [DisplayName("容器/内包装条码")]
        public string CONTAINER_SN { get; set; }
        /// <summary>
        /// 外箱条码
        /// </summary>
        [DisplayName("外箱条码")]
        public string CARTON_SN { get; set; }
        /// <summary>
        /// 栈板条码
        /// </summary>
        [DisplayName("栈板条码")]
        public string PALLET_SN { get; set; }
        /// <summary>
        /// 是否入库
        /// </summary>
        [DisplayName("是否入库")]
        public string INV_FLAG { get; set; }
        /// <summary>
        /// 入库日期
        /// </summary>
        [DisplayName("入库日期")]
        public DateTime INV_DATE { get; set; } = DateTime.MinValue;
        /// <summary>
        /// 投入时间
        /// </summary>
        [DisplayName("投入时间")]
        public DateTime INLINE_DATE { get; set; } = DateTime.MinValue;
        /// <summary>
        /// 产出时间
        /// </summary>
        [DisplayName("产出时间")]
        public DateTime OUTLINE_DATE { get; set; } = DateTime.MinValue;
        /// <summary>
        /// 当前操作时间
        /// </summary>
        [DisplayName("当前操作时间")]
        public DateTime OPERATION_TIME { get; set; } = DateTime.MinValue;
        /// <summary>
        /// 班制编码
        /// </summary>
        [DisplayName("班制编码")]
        public string SFTS_CODE { get; set; }
        /// <summary>
        /// 班次编码
        /// </summary>
        [DisplayName("班次编码")]
        public string SFT_CODE { get; set; }
        /// <summary>
        /// 时段编码
        /// </summary>
        [DisplayName("时段编码")]
        public string PRD_CODE { get; set; }
        /// <summary>
        /// 抽检状态(0Unsampled未抽检|1NoSampling不抽检|2WaitCheck待检验|3Checking检验中|4Completed检验完|5Locked已锁定)
        /// </summary>
        [DisplayName("抽检状态(0Unsampled未抽检|1NoSampling不抽检|2WaitCheck待检验|3Checking检验中|4Completed检验完|5Locked已锁定)")]
        public int OBA_STATUS { get; set; }
        /// <summary>
        /// 抽检批次号
        /// </summary>
        [DisplayName("抽检批次号")]
        public string OBA_BATCH { get; set; }
        /// <summary>
        /// 锁定批次号
        /// </summary>
        [DisplayName("锁定批次号")]
        public string LOCK_BATCH { get; set; }
        /// <summary>
        /// 出货时间
        /// </summary>
        [DisplayName("出货时间")]
        public DateTime SHIPPING_DATE { get; set; } = DateTime.MinValue;
        /// <summary>
        /// 出货单号
        /// </summary>
        [DisplayName("出货单号")]
        public string SHIPPING_ORDER { get; set; }
        /// <summary>
        /// 备注
        /// </summary>
        [DisplayName("备注")]
        public string REMARK { get; set; }
        /// <summary>
        /// 追溯信息
        /// </summary>
        [DisplayName("追溯信息")]
        public string TRACE_INFO { get; set; }
        #endregion
        public string TRAY_SN { get; set; }
        /// <summary>
        /// 内包装条码
        /// </summary>
        [DisplayName("内包装条码")]
        public string INNER_SN { get; set; }
        /// <summary>
        /// 外箱条码
        /// </summary>
        [DisplayName("外箱条码")]
        public string CARTON_SN { get; set; }
        /// <summary>
        /// 栈板条码
        /// </summary>
        [DisplayName("栈板条码")]
        public string PALLET_SN { get; set; }
        /// <summary>
        /// 是否入库
        /// </summary>
        [DisplayName("是否入库")]
        public string INV_FLAG { get; set; }
        /// <summary>
        /// 入库日期
        /// </summary>
        [DisplayName("入库日期")]
        public DateTime INV_DATE { get; set; } = DateTime.MinValue;
        /// <summary>
        /// 投入时间
        /// </summary>
        [DisplayName("投入时间")]
        public DateTime INLINE_DATE { get; set; } = DateTime.MinValue;
        /// <summary>
        /// 产出时间
        /// </summary>
        [DisplayName("产出时间")]
        public DateTime OUTLINE_DATE { get; set; } = DateTime.MinValue;
        /// <summary>
        /// 当前操作时间
        /// </summary>
        [DisplayName("当前操作时间")]
        public DateTime OPERATION_TIME { get; set; } = DateTime.MinValue;
        /// <summary>
        /// 班制编码
        /// </summary>
        [DisplayName("班制编码")]
        public string SFTS_CODE { get; set; }
        /// <summary>
        /// 班次编码
        /// </summary>
        [DisplayName("班次编码")]
        public string SFT_CODE { get; set; }
        /// <summary>
        /// 时段编码
        /// </summary>
        [DisplayName("时段编码")]
        public string PRD_CODE { get; set; }
        /// <summary>
        /// 抽检状态(0Unsampled未抽检|1NoSampling不抽检|2WaitCheck待检验|3Checking检验中|4Completed检验完|5Locked已锁定)
        /// </summary>
        [DisplayName("抽检状态(0Unsampled未抽检|1NoSampling不抽检|2WaitCheck待检验|3Checking检验中|4Completed检验完|5Locked已锁定)")]
        public int OBA_STATUS { get; set; }
        /// <summary>
        /// 抽检批次号
        /// </summary>
        [DisplayName("抽检批次号")]
        public string OBA_BATCH { get; set; }
        /// <summary>
        /// 锁定批次号
        /// </summary>
        [DisplayName("锁定批次号")]
        public string LOCK_BATCH { get; set; }
        /// <summary>
        /// 出货时间
        /// </summary>
        [DisplayName("出货时间")]
        public DateTime SHIPPING_DATE { get; set; } = DateTime.MinValue;
        /// <summary>
        /// 出货单号
        /// </summary>
        [DisplayName("出货单号")]
        public string SHIPPING_ORDER { get; set; }
        /// <summary>
        /// 备注
        /// </summary>
        [DisplayName("备注")]
        public string REMARK { get; set; }
        /// <summary>
        /// 追溯信息
        /// </summary>
        [DisplayName("追溯信息")]
        public string TRACE_INFO { get; set; }
        #endregion
        #region 虚拟属性
        /*例子
        #region 虚拟属性
        /*例子
        [SugarColumn(IsIgnore = true)]
        public string FieldName { get; set; }
        */
        /// <summary>
        /// 是否已经良品过站
        /// </summary>
        [SugarColumn(IsIgnore = true)]
        public bool IsFinished => DFT_FLAG != "Y";
        /// <summary>
        /// 是否已经良品过站
        /// </summary>
        [SugarColumn(IsIgnore = true)]
        public bool IsFinished => DFT_FLAG != "Y";
        #endregion
        #region 外键属性
@@ -327,52 +339,52 @@
        /// 枚举:状态(0Init初始化|1Input已投入|2OK良品过站|3NG不良过站|4Repair维修中|5Finished已完工|6Scrap已报废|7InStorage已入库|8Reject已拒收|9Shipped已出货)
        /// </summary>
        public enum STATUSs
        {
            [Description("初始化")]
            Init = 0,
            [Description("已投入")]
            Input = 1,
            [Description("良品过站")]
            OK = 2,
            [Description("不良过站")]
            NG = 3,
            [Description("维修中")]
            Repair = 4,
            [Description("已完工")]
            Finished = 5,
            [Description("已报废")]
            Scrap = 6,
            [Description("已入库")]
            InStorage = 7,
            [Description("已拒收")]
            Reject = 8,
            [Description("已出货")]
            Shipped = 9,
        }
        {
            [Description("初始化")]
            Init = 0,
            [Description("已投入")]
            Input = 1,
            [Description("良品过站")]
            OK = 2,
            [Description("不良过站")]
            NG = 3,
            [Description("维修中")]
            Repair = 4,
            [Description("已完工")]
            Finished = 5,
            [Description("已报废")]
            Scrap = 6,
            [Description("已入库")]
            InStorage = 7,
            [Description("已拒收")]
            Reject = 8,
            [Description("已出货")]
            Shipped = 9,
        }
        /// <summary>
        /// 枚举:抽检状态(0Unsampled未抽检|1NoSampling不抽检|2WaitCheck待检验|3Checking检验中|4Completed检验完|5Locked已锁定)
        /// </summary>
        public enum OBA_STATUSs
        {
            [Description("未抽检")]
            Unsampled = 0,
            [Description("不抽检")]
            NoSampling = 1,
            [Description("待检验")]
            WaitCheck = 2,
            [Description("检验中")]
            Checking = 3,
            [Description("检验完")]
            Completed = 4,
            [Description("已锁定")]
            Locked = 5,
        }
        #endregion
        /// <summary>
        /// 枚举:抽检状态(0Unsampled未抽检|1NoSampling不抽检|2WaitCheck待检验|3Checking检验中|4Completed检验完|5Locked已锁定)
        /// </summary>
        public enum OBA_STATUSs
        {
            [Description("未抽检")]
            Unsampled = 0,
            [Description("不抽检")]
            NoSampling = 1,
            [Description("待检验")]
            WaitCheck = 2,
            [Description("检验中")]
            Checking = 3,
            [Description("检验完")]
            Completed = 4,
            [Description("已锁定")]
            Locked = 5,
        }
        #endregion
        #region 公共方法
        #region 公共方法
        #endregion
        #endregion
    }//endClass
    }//endClass
}
Tiger.Model.Net/Entitys/MES/MES_WIP_PKG.cs
@@ -6,129 +6,134 @@
namespace Tiger.Model
{
    /// <summary>
    /// 实体:生产包装记录
    /// </summary>
    [Description("Primary:ID")]
    [DisplayName("生产包装记录")]
    [Serializable]
    [SugarTable("MES_WIP_PKG")]
    public class MES_WIP_PKG : DbEntityWithAuth
    {
        #region 构造函数
        /// <summary>
        /// 实体:生产包装记录
        /// </summary>
        public MES_WIP_PKG() {}
        #endregion
    /// <summary>
    /// 实体:生产包装记录
    /// </summary>
    [Description("Primary:ID")]
    [DisplayName("生产包装记录")]
    [Serializable]
    [SugarTable("MES_WIP_PKG")]
    public class MES_WIP_PKG : DbEntityWithAuth
    {
        #region 构造函数
        /// <summary>
        /// 实体:生产包装记录
        /// </summary>
        public MES_WIP_PKG() { }
        #endregion
        #region 公共属性
        /// <summary>
        /// 条码
        /// </summary>
        [DisplayName("条码")]
        public string SN { get; set; }
        /// <summary>
        /// 父包装条码
        /// </summary>
        [DisplayName("父包装条码")]
        public string PARENT_SN { get; set; }
        /// <summary>
        /// 包装类型
        /// </summary>
        [DisplayName("包装类型")]
        public string PKG_TYPE { get; set; }
        /// <summary>
        /// 物料编码
        /// </summary>
        [DisplayName("物料编码")]
        public string ITEM_CODE { get; set; }
        /// <summary>
        /// 数量
        /// </summary>
        [DisplayName("数量")]
        public double QTY { get; set; }
        /// <summary>
        /// 单位
        /// </summary>
        [DisplayName("单位")]
        public string UNIT { get; set; }
        /// <summary>
        /// 工单号
        /// </summary>
        [DisplayName("工单号")]
        public string WORK_ORDER { get; set; }
        /// <summary>
        /// 工单批次号
        /// </summary>
        [DisplayName("工单批次号")]
        public string BATCH_NO { get; set; }
        /// <summary>
        /// 工艺路线编码
        /// </summary>
        [DisplayName("工艺路线编码")]
        public string ROT_CODE { get; set; }
        /// <summary>
        /// 工艺路线节点ID
        /// </summary>
        [DisplayName("工艺路线节点ID")]
        public string NODE_ID { get; set; }
        /// <summary>
        /// 工艺路线节点名称
        /// </summary>
        [DisplayName("工艺路线节点名称")]
        public string NODE_NAME { get; set; }
        /// <summary>
        /// 工厂编码
        /// </summary>
        [DisplayName("工厂编码")]
        public string FTY_CODE { get; set; }
        /// <summary>
        /// 车间编码
        /// </summary>
        [DisplayName("车间编码")]
        public string WS_CODE { get; set; }
        /// <summary>
        /// 产线编码
        /// </summary>
        [DisplayName("产线编码")]
        public string LINE_CODE { get; set; }
        /// <summary>
        /// 岗位编码
        /// </summary>
        [DisplayName("岗位编码")]
        public string POST_CODE { get; set; }
        /// <summary>
        /// 工序编码
        /// </summary>
        [DisplayName("工序编码")]
        public string OPER_CODE { get; set; }
        /// <summary>
        /// 加工段
        /// </summary>
        [DisplayName("加工段")]
        public string SEGMENT { get; set; }
        /// <summary>
        /// 备注
        /// </summary>
        [DisplayName("备注")]
        public string REMARK { get; set; }
        /// <summary>
        /// 追溯信息
        /// </summary>
        [DisplayName("追溯信息")]
        public string TRACE_INFO { get; set; }
        #endregion
        #region 公共属性
        /// <summary>
        /// 被包装条码
        /// </summary>
        [DisplayName("被包装条码")]
        public string SN { get; set; }
        /// <summary>
        /// 父包装条码(最外层包装留空)
        /// </summary>
        [DisplayName("父包装条码(最外层包装留空)")]
        public string PARENT_SN { get; set; }
        /// <summary>
        /// 在制品ID(不是最小包装则留空)
        /// </summary>
        [DisplayName("在制品ID(不是最小包装则留空)")]
        public string WIP_ID { get; set; }
        /// <summary>
        /// 包装类型
        /// </summary>
        [DisplayName("包装类型")]
        public string PKG_TYPE { get; set; }
        /// <summary>
        /// 物料编码
        /// </summary>
        [DisplayName("物料编码")]
        public string ITEM_CODE { get; set; }
        /// <summary>
        /// 数量
        /// </summary>
        [DisplayName("数量")]
        public double QTY { get; set; }
        /// <summary>
        /// 单位
        /// </summary>
        [DisplayName("单位")]
        public string UNIT { get; set; }
        /// <summary>
        /// 工单号
        /// </summary>
        [DisplayName("工单号")]
        public string WORK_ORDER { get; set; }
        /// <summary>
        /// 工单批次号
        /// </summary>
        [DisplayName("工单批次号")]
        public string BATCH_NO { get; set; }
        /// <summary>
        /// 工艺路线编码
        /// </summary>
        [DisplayName("工艺路线编码")]
        public string ROT_CODE { get; set; }
        /// <summary>
        /// 工艺路线节点ID
        /// </summary>
        [DisplayName("工艺路线节点ID")]
        public string NODE_ID { get; set; }
        /// <summary>
        /// 工艺路线节点名称
        /// </summary>
        [DisplayName("工艺路线节点名称")]
        public string NODE_NAME { get; set; }
        /// <summary>
        /// 工厂编码
        /// </summary>
        [DisplayName("工厂编码")]
        public string FTY_CODE { get; set; }
        /// <summary>
        /// 车间编码
        /// </summary>
        [DisplayName("车间编码")]
        public string WS_CODE { get; set; }
        /// <summary>
        /// 产线编码
        /// </summary>
        [DisplayName("产线编码")]
        public string LINE_CODE { get; set; }
        /// <summary>
        /// 岗位编码
        /// </summary>
        [DisplayName("岗位编码")]
        public string POST_CODE { get; set; }
        /// <summary>
        /// 工序编码
        /// </summary>
        [DisplayName("工序编码")]
        public string OPER_CODE { get; set; }
        /// <summary>
        /// 加工段
        /// </summary>
        [DisplayName("加工段")]
        public string SEGMENT { get; set; }
        /// <summary>
        /// 备注
        /// </summary>
        [DisplayName("备注")]
        public string REMARK { get; set; }
        /// <summary>
        /// 追溯信息
        /// </summary>
        [DisplayName("追溯信息")]
        public string TRACE_INFO { get; set; }
        #endregion
        #region 虚拟属性
        /*例子
        #region 虚拟属性
        /*例子
        [SugarColumn(IsIgnore = true)]
        public string FieldName { get; set; }
        */
        #endregion
        #endregion
        #region 外键属性
        /*例子
        #region 外键属性
        /*例子
        //一对一外键导航
        [Navigate(NavigateType.OneToOne, nameof(ClassAId))]//一对一 ClassAId是MES_WIP_PKG类里面的外键ID字段
        public ClassA ClassA { get; set; } //注意禁止手动赋值,只能是null
@@ -139,10 +144,10 @@
        [Navigate(typeof(MappingClass), nameof(MappingClass.MES_WIP_PKGId), nameof(MappingClass.ClassAId))]//注意顺序
        public List<ClassA> ClassAList { get; set; } //注意禁止手动赋值,只能是null
        */
        #endregion
        #endregion
        #region 枚举变量
        /*例子
        #region 枚举变量
        /*例子
        public enum FieldNames
        {
            [Description("枚举描述0")]
@@ -151,12 +156,11 @@
            Enum1,
        }
        */
        #endregion
        #endregion
        #region 公共方法
        #region 公共方法
        #endregion
        #endregion
    }//endClass
    }//endClass
}