using SqlSugar;

namespace YBDevice.Entity
{
    /// <summary>
    /// 出货系统
    /// </summary>
    [SugarTable("YB_OutProduct", TableDescription = "出货系统", IsDisabledUpdateAll = false, IsDisabledDelete = true)]
    public class YB_OutProduct
    {
        /// <summary>
        /// 
        /// </summary>
        [SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
        public System.Int32 Id { get; set; }

        /// <summary>
        /// 出货类型,1-出货,2-退货
        /// </summary>
        [SugarColumn(ColumnDescription = "出货类型,1-出货,2-退货")]
        public OutProductType Type { get; set; }

        /// <summary>
        /// 支付类型,1-发货付款,2-到付
        /// </summary>
        [SugarColumn(ColumnDescription = "支付类型,1-发货付款,2-到付")]
        public OutProductPayType PayType { get; set; }

        /// <summary>
        /// 设备类型,参考设备类型表
        /// </summary>
        [SugarColumn(ColumnDescription = "设备类型,参考设备类型表")]
        public System.Int32 DevType { get; set; }

        /// <summary>
        /// 快递公司
        /// </summary>
        [SugarColumn(ColumnDescription = "快递公司")]
        public System.Int32 Express { get; set; }

        /// <summary>
        /// 快递单号
        /// </summary>
        [SugarColumn(ColumnDescription = "快递单号", ColumnDataType = "varchar(50)")]
        public System.String ExpressNo { get; set; }

        /// <summary>
        /// 物流费用
        /// </summary>
        [SugarColumn(ColumnDescription = "物流费用", ColumnDataType = "decimal(18,2)")]
        public System.Decimal ExpressAmount { get; set; }

        /// <summary>
        /// 服务商ID
        /// </summary>
        [SugarColumn(ColumnDescription = "服务商ID")]
        public System.Int32 BusinessId { get; set; }

        /// <summary>
        /// 设备数量
        /// </summary>
        [SugarColumn(ColumnDescription = "设备数量")]
        public System.Int32 Cnt { get; set; }

        /// <summary>
        /// 发件人
        /// </summary>
        [SugarColumn(ColumnDescription = "发件人", ColumnDataType = "nvarchar(50)")]
        public System.String Sender { get; set; }

        /// <summary>
        /// 发件人电话
        /// </summary>
        [SugarColumn(ColumnDescription = "发件人电话", ColumnDataType = "varchar(20)")]
        public System.String SenderPhone { get; set; }

        /// <summary>
        /// 发送地址
        /// </summary>
        [SugarColumn(ColumnDescription = "发送地址", ColumnDataType = "nvarchar(200)")]
        public System.String SenderAddress { get; set; }

        /// <summary>
        /// 收件人
        /// </summary>
        [SugarColumn(ColumnDescription = "收件人", ColumnDataType = "nvarchar(50)")]
        public System.String Recver { get; set; }

        /// <summary>
        /// 收件电话
        /// </summary>
        [SugarColumn(ColumnDescription = "收件电话", ColumnDataType = "varchar(20)")]
        public System.String RecverPhone { get; set; }

        /// <summary>
        /// 收货地址
        /// </summary>
        [SugarColumn(ColumnDescription = "收货地址", ColumnDataType = "nvarchar(200)")]
        public System.String RecverAdderess { get; set; }

        /// <summary>
        /// 发货备注
        /// </summary>
        [SugarColumn(ColumnDescription = "发货备注", ColumnDataType = "nvarchar(200)")]
        public System.String SenderRemark { get; set; }

        /// <summary>
        /// 收货备注
        /// </summary>
        [SugarColumn(ColumnDescription = "收货备注", ColumnDataType = "nvarchar(200)")]
        public System.String RecverRemark { get; set; }

        /// <summary>
        /// 取消原因
        /// </summary>
        [SugarColumn(ColumnDescription = "取消原因", ColumnDataType = "nvarchar(200)")]
        public System.String CancelRemark { get; set; }

        /// <summary>
        /// 收货时间
        /// </summary>
        [SugarColumn(ColumnDescription = "收货时间", IsNullable =true)]
        public System.DateTime? RecvTime { get; set; }

        /// <summary>
        /// 发货时间
        /// </summary>
        [SugarColumn(ColumnDescription = "发货时间", IsNullable =true)]
        public System.DateTime? SendTime { get; set; }

        /// <summary>
        /// 状态,0-已下单,1-设备已打包,2-已发货,3-运送中,4-已收货,5-取消
        /// </summary>
        [SugarColumn(ColumnDescription = "状态,0-已下单,1-设备已打包,2-已发货,3-运送中,4-已收货,5-取消")]
        public OutProductStatus Status { get; set; }

        /// <summary>
        /// 上传的设备文件
        /// </summary>
        [SugarColumn(ColumnDescription = "上传的设备文件", ColumnDataType = "varchar(100)")]
        public System.String FilePath { get; set; }

        /// <summary>
        /// 上传失败的文件
        /// </summary>
        [SugarColumn(ColumnDescription = "上传失败的文件", ColumnDataType = "varchar(100)")]
        public System.String FailPath { get; set; }

        /// <summary>
        /// 下单时间
        /// </summary>
        [SugarColumn(ColumnDescription = "下单时间")]
        public System.DateTime CreateTime { get; set; }
    }
}
