服务端的TigerApi 框架,基于.NET6 2024 版本
Rodney Chen
2025-04-11 f0d620633b67d78c45d39ba3e91ba84c4fed0aa4
优化了U9接口逻辑
已修改3个文件
245 ■■■■■ 文件已修改
Tiger.Business.WMS/ERP/U9C_WMS.cs 123 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Model.Net/Entitys/WMS/BIZ_U9_MISC_IN_DTL.cs 120 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Model.Net/Entitys/WMS/BIZ_U9_MISC_OUT_DTL.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.WMS/ERP/U9C_WMS.cs
@@ -102,9 +102,10 @@
                .GroupBy(x => new { x.DocNo })
                .Select(x => new BIZ_U9_ASN
                {
                    ID = x.Max(t => t.AsnId).ToString(),
                    AUTH_ORG = orgs.FirstOrDefault(q => q.ID == x.Max(t => t.Org).ToString())?.ORG_CODE,
                    STATUS = BIZ_U9_ASN.STATUSs.Imported.GetValue(),
                    ORDER_NO = x.Key.DocNo,
                    ID = x.Max(t => t.AsnId).ToString(),
                    SUPP_CODE = x.Max(t => t.SupplierCode),
                    SUPP_NAME = x.Max(t => t.SupplierName),
                    DELIVERY_DATE = x.Max(t => t.ShipDate),
@@ -114,9 +115,6 @@
                    CREATE_USER= UserCode,
                    UPDATE_TIME = x.Max(t => t.ModifiedOn).ToDateTime(),
                    UPDATE_USER = UserCode,
                    AUTH_ORG = orgs.FirstOrDefault(q => q.ID == x.Max(t => t.Org).ToString())?.ORG_CODE,
                    HANDLED=-1,  //未处理
                    HANDLED_DATE=DateTime.Now,
                })
                .ToList();
                Logger.Scheduler.Info($"送货单表头信息存入实体中,总数:[{asns.Count}]");
@@ -313,20 +311,16 @@
                .GroupBy(x => new { x.DocNo })
                .Select(x => new BIZ_U9_RECEIPT
                {
                    STATUS = BIZ_U9_RECEIPT.STATUSs.Init.GetValue(),
                    AUTH_ORG = orgs.FirstOrDefault(q => q.ID == x.Max(t => t.Org).ToString())?.ORG_CODE,
                    STATUS = BIZ_U9_RECEIPT.STATUSs.Imported.GetValue(),
                    ORDER_NO = x.Key.DocNo,
                    SUPP_CODE = x.Max(t => t.SupplierCode),
                    SUPP_NAME = x.Max(t => t.SupplierName),
                    ORDER_DATE = x.Max(t => t.ModifiedOn),
                    //RECEIVER  收货人
                    //RECEIVE_DATE 收货日期
                    CREATE_TIME = x.Max(t => t.ModifiedOn).ToDateTime(),//--时间不更新
                    CREATE_USER = UserCode,
                    UPDATE_TIME = x.Max(t => t.ModifiedOn).ToDateTime(),
                    UPDATE_USER = UserCode,
                    AUTH_ORG = orgs.FirstOrDefault(q => q.ID == x.Max(t => t.Org).ToString())?.ORG_CODE,
                    HANDLED = -1,
                    HANDLED_DATE = DateTime.Now,
                })
                .ToList();
                Logger.Scheduler.Info($"收货单表头信息存入实体中,总数:[{result.Count}]");
@@ -403,8 +397,9 @@
                .GroupBy(x => new { x.DocNo })
                .Select(x => new BIZ_U9_RMA
                {
                    STATUS = BIZ_U9_RECEIPT.STATUSs.Init.GetValue(),  //状态
                    AUTH_ORG = orgs.FirstOrDefault(q => q.ID == x.Max(t => t.Org).ToString())?.ORG_CODE,
                    ORDER_NO = x.Key.DocNo,   //单号
                    STATUS = BIZ_U9_RECEIPT.STATUSs.Imported.GetValue(),  //状态
                    SUPP_CODE = x.Max(t => t.SupplierCode),  //供应商编码
                    SUPP_NAME = x.Max(t => t.SupplierName),//供应商名称
                    ORDER_DATE = x.Max(t => t.ModifiedOn), //单据日期
@@ -412,10 +407,6 @@
                    CREATE_USER = UserCode,
                    UPDATE_TIME = x.Max(t => t.ModifiedOn).ToDateTime(),
                    UPDATE_USER = UserCode,
                    AUTH_ORG = orgs.FirstOrDefault(q => q.ID == x.Max(t => t.Org).ToString())?.ORG_CODE,
                    HANDLED = -1,
                    HANDLED_DATE = DateTime.Now,
                    GHOST_ROW = false,
                })
                .ToList();
                Logger.Scheduler.Info($"退货单表头信息存入实体中,总数:[{result.Count}]");
@@ -446,7 +437,7 @@
                               .WhereColumns(t => new { t.ORDER_NO, t.GHOST_ROW })
                               .ToStorage();
                        y.AsInsertable.ExecuteCommand();
                        y.AsUpdateable.IgnoreColumns(x => x.ID).UpdateColumns(q => new { q.STATUS, q.ORDER_NO, q.SUPP_CODE, q.SUPP_NAME, q.ORDER_DATE, q.AUTH_ORG, q.CREATE_USER, q.UPDATE_TIME, q.UPDATE_USER, q.HANDLED, q.HANDLED_DATE, }).ExecuteCommand();
                        y.AsUpdateable.IgnoreColumns(x => x.ID).UpdateColumns(q => new { q.STATUS, q.ORDER_NO, q.SUPP_CODE, q.SUPP_NAME, q.ORDER_DATE, q.AUTH_ORG, q.CREATE_USER, q.UPDATE_TIME, q.UPDATE_USER }).ExecuteCommand();
                    });
                }
@@ -487,34 +478,30 @@
            List<BIZ_U9_MISC_IN_DTL> resultDt = new();
            if (list != null && list.Count > 0)
            {
                result = list
                .GroupBy(x => new { x.DocNo })
                .Select(x => new BIZ_U9_MISC_IN
                result = list.Select(x => new BIZ_U9_MISC_IN
                {
                    ORDER_NO = x.Key.DocNo,   //单据号
                    STATUS = BIZ_U9_MISC_IN.STATUSs.Init.GetValue(), //状态
                    TYPE_CODE =x.Max(t =>t.MiscRcvDocType), //单据类型编码
                    TYPE_NAME= x.Max(t => t.MiscRcvDocTypeName), //单据类型名称
                    ERP_STATUS_CODE = x.Max(t => t.Status).ToString(), // ERP单据状态
                    ERP_STATUS_NAME = x.Max(t => t.StatusName), // ERP单据状态名称
                    ORDER_DATE = x.Max(t => t.ModifiedOn), //单据日期
                    CREATE_TIME = x.Max(t => t.ModifiedOn).ToDateTime(),//--时间不更新
                  // RECEIVER  收货人
                  //RECEIVE_DATE  收货日期
                    AUTH_ORG = orgs.FirstOrDefault(q => q.ID == x.Max(t => t.Org).ToString())?.ORG_CODE, //组织
                    ID = x.MiscRcvTransID.ToString(),
                    AUTH_ORG = orgs.FirstOrDefault(q => q.ID == x.Org.ToString())?.ORG_CODE, //组织
                    ORDER_NO = x.DocNo,   //单据号
                    STATUS = BIZ_U9_MISC_IN.STATUSs.Imported.GetValue(), //状态
                    TYPE_CODE =x.MiscRcvDocType, //单据类型编码
                    TYPE_NAME= x.MiscRcvDocTypeName, //单据类型名称
                    ERP_STATUS_CODE = x.Status.ToString(), // ERP单据状态
                    ERP_STATUS_NAME = x.StatusName, // ERP单据状态名称
                    ORDER_DATE = x.BusinessDate, //单据日期
                    CREATE_TIME = x.ModifiedOn,//--时间不更新
                    CREATE_USER = UserCode,
                    UPDATE_TIME = x.Max(t => t.ModifiedOn).ToDateTime(),
                    UPDATE_TIME = x.ModifiedOn,
                    UPDATE_USER = UserCode,
                    HANDLED = -1, //-1:未处理,0:同步处理完,>0:同步处理失败次数
                    HANDLED_DATE = DateTime.Now, //最后一次同步处理日期
                })
                .ToList();
                }).ToList();
                Logger.Scheduler.Info($"杂收单据表头信息存入实体中,总数:[{result.Count}]");
                foreach (var item in listLine)
                {
                    var org = db.Queryable<mes_MiscRcvTrans>().Where(x => x.MiscRcvTransID == listLine.First().MiscRcvTransID).First();
                    var order = result.Where(x => x.ID == item.MiscRcvTransID.ToString()).First();
                    BIZ_U9_MISC_IN_DTL info = new()
                    {
                        ID = item.MiscRcvTransLineID.ToString(),
                        AUTH_ORG = order.AUTH_ORG, //组织
                        ORDER_NO = item.DocNo,  //单据号
                        LINE_NO = item.DocLineNo.ToString(), //单据行号
                        STATUS = BIZ_U9_MISC_IN.STATUSs.Imported.GetValue(), //状态
@@ -522,17 +509,16 @@
                        UNIT = item.StoreUOM,// UNIT 单位  
                        QTY = item.StoreUOMQty,//QTY 单据数量
                        UNIT_COST = item. CostUOM,   // 成本单位  
                        QTY_GIFT = item.CostUOMQty,   //  成本数量
                        QTY_COST = item.CostUOMQty,   //  成本数量
                        COST_PRICE =item.CostPrice, //   单价
                        COST_MNY = item.CostMny, //  成本
                        WH_CODE = item.WhCode,//  存储地点
                        WH_NAME = item.WhName,  //  存储地点名称
                        BNF_DEPT_CODE = item.BenefitDept,//  受益部门编码
                        BNF_DEPT_NAME = item.BenefitDeptName,  // 收益部门名称
                        // ERP_CODE ERP编码
                        ERP_CODE = item.SapCode, //ERP编码
                        RETURN_REASON = item.ReturnStorageReason,//  退料原因 
                        INSTORE_REASON = item.InStorageReason,  // INSTORE_REASON 入库原因
                        AUTH_ORG = orgs.FirstOrDefault(q => q.ID == org.Org.ToString())?.ORG_CODE, //组织
                        CREATE_TIME = item.ModifiedOn,//--时间不更新
                        CREATE_USER = UserCode,
                        UPDATE_TIME = item.ModifiedOn,
@@ -550,7 +536,7 @@
                               .WhereColumns(t => new { t.ORDER_NO, t.GHOST_ROW })
                               .ToStorage();
                        y.AsInsertable.ExecuteCommand();
                        y.AsUpdateable.IgnoreColumns(x => x.ID).UpdateColumns(q => new { q.STATUS, q.ORDER_NO, q.TYPE_CODE, q.TYPE_NAME, q.ERP_STATUS_CODE, q.ERP_STATUS_NAME, q.ORDER_DATE, q.AUTH_ORG, q.CREATE_USER, q.UPDATE_TIME, q.UPDATE_USER, q.HANDLED, q.HANDLED_DATE, }).ExecuteCommand();
                        y.AsUpdateable.IgnoreColumns(x => x.ID).UpdateColumns(q => new { q.TYPE_CODE, q.TYPE_NAME, q.ERP_STATUS_CODE, q.ERP_STATUS_NAME, q.ORDER_DATE, q.AUTH_ORG, q.UPDATE_TIME, q.UPDATE_USER }).ExecuteCommand();
                    });
                }
@@ -562,7 +548,7 @@
                               .WhereColumns(t => new { t.ORDER_NO, t.LINE_NO, t.GHOST_ROW })
                               .ToStorage();
                        y.AsInsertable.ExecuteCommand();
                        y.AsUpdateable.UpdateColumns(q => new { q.ORDER_NO, q.LINE_NO, q.STATUS, q.ITEM_CODE, q.UNIT, q.QTY, q.UNIT_COST, q.QTY_GIFT, q.COST_PRICE, q.COST_MNY, q.WH_CODE, q.WH_NAME, q.BNF_DEPT_CODE, q.BNF_DEPT_NAME, q.RETURN_REASON, q.INSTORE_REASON, q.AUTH_ORG, q.CREATE_USER, q.UPDATE_TIME, q.UPDATE_USER }).ExecuteCommand();
                        y.AsUpdateable.UpdateColumns(q => new { q.ITEM_CODE, q.UNIT, q.QTY, q.UNIT_COST, q.QTY_COST, q.COST_PRICE, q.COST_MNY, q.WH_CODE, q.WH_NAME, q.BNF_DEPT_CODE, q.BNF_DEPT_NAME, q.ERP_CODE, q.RETURN_REASON, q.INSTORE_REASON, q.AUTH_ORG, q.UPDATE_TIME, q.UPDATE_USER }).ExecuteCommand();
                    });
                }
                Logger.Scheduler.Info($"杂收单据表头信息存入数据库,总数:[{resultDt.Count}]");
@@ -590,57 +576,46 @@
            List<BIZ_U9_MISC_OUT_DTL> resultDt = new();
            if (list != null && list.Count > 0)
            {
                result = list
                .GroupBy(x => new { x.DocNo })
                .Select(x => new BIZ_U9_MISC_OUT
                result = list.Select(x => new BIZ_U9_MISC_OUT
                {
                    ORDER_NO = x.Key.DocNo,   //单据号
                    ID = x.MiscShipID.ToString(),
                    AUTH_ORG = orgs.FirstOrDefault(q => q.ID == x.Org.ToString())?.ORG_CODE, //组织
                    ORDER_NO = x.DocNo,   //单据号
                    STATUS = BIZ_U9_MISC_OUT.STATUSs.Init.GetValue(), //状态
                    TYPE_CODE = x.Max(t => t.MiscShipDocType), //单据类型编码
                    TYPE_NAME = x.Max(t => t.MiscShipDocTypeName), //单据类型名称
                    ERP_STATUS_CODE = x.Max(t => t.Status).ToString(), // ERP单据状态
                    ERP_STATUS_NAME = x.Max(t => t.StatusName), // ERP单据状态名称
                    ORDER_DATE = x.Max(t => t.BusinessDate), //单据日期
 /*                    PREP_PERSON      //备料人
                   FINISH_TIME  //备料完成时间
                   REQ_PERSON //领料人
                   REQ_DEPT  //领料部门
                   DLVY_TIME //出库时间*/
                    CREATE_TIME = x.Max(t => t.ModifiedOn).ToDateTime(),//--时间不更新
                    AUTH_ORG = orgs.FirstOrDefault(q => q.ID == x.Max(t => t.Org).ToString())?.ORG_CODE, //组织
                    TYPE_CODE = x.MiscShipDocType, //单据类型编码
                    TYPE_NAME = x.MiscShipDocTypeName, //单据类型名称
                    ERP_STATUS_CODE = x.Status.ToString(), // ERP单据状态
                    ERP_STATUS_NAME = x.StatusName, // ERP单据状态名称
                    ORDER_DATE = x.BusinessDate, //单据日期
                    CREATE_TIME = x.ModifiedOn,//--时间不更新
                    CREATE_USER = UserCode,
                    UPDATE_TIME = x.Max(t => t.ModifiedOn).ToDateTime(),
                    UPDATE_TIME = x.ModifiedOn,
                    UPDATE_USER = UserCode,
                    HANDLED = -1, //-1:未处理,0:同步处理完,>0:同步处理失败次数
                    HANDLED_DATE = DateTime.Now, //最后一次同步处理日期
                    // COMMIT_JSON 过账提交的JSON
                  //COMMIT_MSG  过账提交的返回信息
                })
                .ToList();
                }).ToList();
                Logger.Scheduler.Info($"杂发单据表头信息存入实体中,总数:[{result.Count}]");
                foreach (var item in listLine)
                {
                    var org = db.Queryable<mes_MiscShip>().Where(x => x.MiscShipID == listLine.First().MiscShipID).First();
                    var order = result.Where(x => x.ID == item.MiscShipID.ToString()).First();
                    BIZ_U9_MISC_OUT_DTL info = new()
                    {
                        ID = item.MiscShipLineID.ToString(),
                        AUTH_ORG = order.AUTH_ORG, //组织
                        ORDER_NO = item.DocNo,  //单据号
                        LINE_NO = item.DocLineNo.ToString(), //单据行号
                        STATUS = BIZ_U9_RMA.STATUSs.Imported.GetValue(), //状态
                        STATUS = BIZ_U9_MISC_OUT.STATUSs.Init.GetValue(), //状态
                        ITEM_CODE = item.ItemCode, //物料编码
                       UNIT =item.StoreUOM,// UNIT 单位
                       QTY = item.StoreUOMQty,//QTY 单据数量
                        UNIT = item.StoreUOM,// UNIT 单位
                        QTY = item.StoreUOMQty,//QTY 单据数量
                        UNIT_COST = item.CostUOM,   // 成本单位  
                        QTY_GIFT = item.CostUOMQty,   //  成本数量
                        QTY_COST = item.CostUOMQty,   //  成本数量
                        COST_PRICE = item.CostPrice, //   单价
                        COST_MNY = item.CostMny, //  成本
                        WH_CODE = item.WhCode,//  存储地点
                        WH_NAME = item.WhName,  //  存储地点名称
                        BNF_DEPT_CODE = item.BenefitDept,//  受益部门编码
                        BNF_DEPT_NAME = item.BenefitDeptName,  // 收益部门名称
                        // ERP_CODE ERP编码
                        ERP_CODE = item.SapCode, //ERP编码
                        OUTSTORE_REASON = item.OutStorageReason,  // OUTSTORE_REASON 出库原因
                        AUTH_ORG = orgs.FirstOrDefault(q => q.ID == org.Org.ToString())?.ORG_CODE, //组织
                        CREATE_TIME = item.ModifiedOn,//--时间不更新
                        CREATE_USER = UserCode,
                        UPDATE_TIME = item.ModifiedOn,
@@ -658,7 +633,7 @@
                               .WhereColumns(t => new { t.ORDER_NO, t.GHOST_ROW })
                               .ToStorage();
                        y.AsInsertable.ExecuteCommand();
                        y.AsUpdateable.IgnoreColumns(x => x.ID).UpdateColumns(q => new { q.STATUS, q.ORDER_NO, q.TYPE_CODE, q.TYPE_NAME, q.ERP_STATUS_CODE, q.ERP_STATUS_NAME, q.ORDER_DATE, q.AUTH_ORG, q.CREATE_USER, q.UPDATE_TIME, q.UPDATE_USER, q.HANDLED, q.HANDLED_DATE, }).ExecuteCommand();
                        y.AsUpdateable.IgnoreColumns(x => x.ID).UpdateColumns(q => new { q.TYPE_CODE, q.TYPE_NAME, q.ERP_STATUS_CODE, q.ERP_STATUS_NAME, q.ORDER_DATE, q.AUTH_ORG, q.UPDATE_TIME, q.UPDATE_USER }).ExecuteCommand();
                    });
                }
@@ -670,7 +645,7 @@
                               .WhereColumns(t => new { t.ORDER_NO, t.LINE_NO, t.GHOST_ROW })
                               .ToStorage();
                        y.AsInsertable.ExecuteCommand();
                        y.AsUpdateable.UpdateColumns(q => new { q.ORDER_NO, q.LINE_NO, q.STATUS, q.ITEM_CODE, q.UNIT, q.QTY, q.UNIT_COST, q.QTY_GIFT, q.COST_PRICE, q.COST_MNY, q.WH_CODE, q.WH_NAME, q.BNF_DEPT_CODE, q.BNF_DEPT_NAME, q.OUTSTORE_REASON, q.AUTH_ORG, q.CREATE_USER, q.UPDATE_TIME, q.UPDATE_USER }).ExecuteCommand();
                        y.AsUpdateable.UpdateColumns(q => new { q.ITEM_CODE, q.UNIT, q.QTY, q.UNIT_COST, q.QTY_COST, q.COST_PRICE, q.COST_MNY, q.WH_CODE, q.WH_NAME, q.BNF_DEPT_CODE, q.BNF_DEPT_NAME, q.ERP_CODE, q.OUTSTORE_REASON, q.AUTH_ORG, q.UPDATE_TIME, q.UPDATE_USER }).ExecuteCommand();
                    });
                }
                Logger.Scheduler.Info($"杂发单据表头信息存入数据库,总数:[{resultDt.Count}]");
Tiger.Model.Net/Entitys/WMS/BIZ_U9_MISC_IN_DTL.cs
@@ -7,148 +7,148 @@
namespace Tiger.Model
{
    /// <summary>
    /// 实体:杂收单(U9)明细
    /// 实体:杂收单(U9)明细
    /// </summary>
    [Description("Primary:ID")]
    [DisplayName("杂收单(U9)明细")]
    [DisplayName("杂收单(U9)明细")]
    [Serializable]
    [SugarTable("BIZ_U9_MISC_IN_DTL")]
    public class BIZ_U9_MISC_IN_DTL : DbEntityWithAuth
    {
        #region 构造函数
        #region 构造函数
        /// <summary>
        /// 实体:杂收单(U9)明细
        /// 实体:杂收单(U9)明细
        /// </summary>
        public BIZ_U9_MISC_IN_DTL() {}
        #endregion
        #region 公共属性
        #region 公共属性
        /// <summary>
        /// 单据号
        /// 单据号
        /// </summary>
        [DisplayName("单据号")]
        [DisplayName("单据号")]
        public string ORDER_NO { get; set; }
        /// <summary>
        /// 单据行号
        /// 单据行号
        /// </summary>
        [DisplayName("单据行号")]
        [DisplayName("单据行号")]
        public string LINE_NO { get; set; }
        /// <summary>
        /// 状态(同单据状态)
        /// 状态(同单据状态)
        /// </summary>
        [DisplayName("状态(同单据状态)")]
        [DisplayName("状态(同单据状态)")]
        public int STATUS { get; set; }
        /// <summary>
        /// 物料编码
        /// 物料编码
        /// </summary>
        [DisplayName("物料编码")]
        [DisplayName("物料编码")]
        public string ITEM_CODE { get; set; }
        /// <summary>
        /// 单位
        /// 单位
        /// </summary>
        [DisplayName("单位")]
        [DisplayName("单位")]
        public string UNIT { get; set; }
        /// <summary>
        /// 单据数量
        /// 单据数量
        /// </summary>
        [DisplayName("单据数量")]
        [DisplayName("单据数量")]
        public double QTY { get; set; }
        /// <summary>
        /// 成本单位
        /// 成本单位
        /// </summary>
        [DisplayName("成本单位")]
        [DisplayName("成本单位")]
        public string UNIT_COST { get; set; }
        /// <summary>
        /// 成本数量
        /// 成本数量
        /// </summary>
        [DisplayName("成本数量")]
        public double QTY_GIFT { get; set; }
        [DisplayName("成本数量")]
        public double QTY_COST { get; set; }
        /// <summary>
        /// 单价
        /// 单价
        /// </summary>
        [DisplayName("单价")]
        [DisplayName("单价")]
        public double COST_PRICE { get; set; }
        /// <summary>
        /// 成本
        /// 成本
        /// </summary>
        [DisplayName("成本")]
        [DisplayName("成本")]
        public double COST_MNY { get; set; }
        /// <summary>
        /// 存储地点
        /// 存储地点
        /// </summary>
        [DisplayName("存储地点")]
        [DisplayName("存储地点")]
        public string WH_CODE { get; set; }
        /// <summary>
        /// 存储地点名称
        /// 存储地点名称
        /// </summary>
        [DisplayName("存储地点名称")]
        [DisplayName("存储地点名称")]
        public string WH_NAME { get; set; }
        /// <summary>
        /// 受益部门编码
        /// 受益部门编码
        /// </summary>
        [DisplayName("受益部门编码")]
        [DisplayName("受益部门编码")]
        public string BNF_DEPT_CODE { get; set; }
        /// <summary>
        /// 收益部门名称
        /// 收益部门名称
        /// </summary>
        [DisplayName("收益部门名称")]
        [DisplayName("收益部门名称")]
        public string BNF_DEPT_NAME { get; set; }
        /// <summary>
        /// ERP编码
        /// ERP编码
        /// </summary>
        [DisplayName("ERP编码")]
        [DisplayName("ERP编码")]
        public string ERP_CODE { get; set; }
        /// <summary>
        /// 退料原因
        /// 退料原因
        /// </summary>
        [DisplayName("退料原因")]
        [DisplayName("退料原因")]
        public string RETURN_REASON { get; set; }
        /// <summary>
        /// 入库原因
        /// 入库原因
        /// </summary>
        [DisplayName("入库原因")]
        [DisplayName("入库原因")]
        public string INSTORE_REASON { get; set; }
        /// <summary>
        /// 备注
        /// 备注
        /// </summary>
        [DisplayName("备注")]
        [DisplayName("备注")]
        public string REMARK { get; set; }
        #endregion
        #region 虚拟属性
        /*例子
        #region 虚拟属性
        /*例子
        [SugarColumn(IsIgnore = true)]
        public string FieldName { get; set; }
        */
        #endregion
        #region 外键属性
        /*例子
        //一对一外键导航
        [Navigate(NavigateType.OneToOne, nameof(ClassAId))]//一对一 ClassAId是BIZ_U9_MISC_IN_DTL类里面的外键ID字段
        public ClassA ClassA { get; set; } //注意禁止手动赋值,只能是null
        //一对多外键导航
        [Navigate(NavigateType.OneToMany, nameof(ClassA.BIZ_U9_MISC_IN_DTLId))]//ClassA表中的BIZ_U9_MISC_IN_DTLId
        public List<ClassA> ClassAList { get; set; }//注意禁止手动赋值,只能是null
        //多对多外键导航
        [Navigate(typeof(MappingClass), nameof(MappingClass.BIZ_U9_MISC_IN_DTLId), nameof(MappingClass.ClassAId))]//注意顺序
        public List<ClassA> ClassAList { get; set; } //注意禁止手动赋值,只能是null
        #region 外键属性
        /*例子
        //一对一外键导航
        [Navigate(NavigateType.OneToOne, nameof(ClassAId))]//一对一 ClassAId是BIZ_U9_MISC_IN_DTL类里面的外键ID字段
        public ClassA ClassA { get; set; } //注意禁止手动赋值,只能是null
        //一对多外键导航
        [Navigate(NavigateType.OneToMany, nameof(ClassA.BIZ_U9_MISC_IN_DTLId))]//ClassA表中的BIZ_U9_MISC_IN_DTLId
        public List<ClassA> ClassAList { get; set; }//注意禁止手动赋值,只能是null
        //多对多外键导航
        [Navigate(typeof(MappingClass), nameof(MappingClass.BIZ_U9_MISC_IN_DTLId), nameof(MappingClass.ClassAId))]//注意顺序
        public List<ClassA> ClassAList { get; set; } //注意禁止手动赋值,只能是null
        */
        #endregion
        #region 枚举变量
        /*例子
        #region 枚举变量
        /*例子
        public enum FieldNames
        {
            [Description("枚举描述0")]
            [Description("枚举描述0")]
            Enum0,
            [Description("枚举描述1")]
            [Description("枚举描述1")]
            Enum1,
        }
        */
        #endregion
        #region 公共方法
        #region 公共方法
        #endregion
Tiger.Model.Net/Entitys/WMS/BIZ_U9_MISC_OUT_DTL.cs
@@ -65,7 +65,7 @@
        /// 成本数量
        /// </summary>
        [DisplayName("成本数量")]
        public double QTY_GIFT { get; set; }
        public double QTY_COST { get; set; }
        /// <summary>
        /// 单价
        /// </summary>