using FreeSql.DataAnnotations;

namespace BBWYB.Server.Model.Db
{

    /// <summary>
    /// 采购快递单表
    /// </summary>
    [Table(Name = "purchaseexpressorder", DisableSyncStructure = true)]
    public partial class PurchaseExpressOrder
    {

        /// <summary>
        /// 快递单号
        /// </summary>
        [Column(StringLength = 100, IsPrimary = true, IsNullable = false)]
        public string WaybillNo { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        [Column(DbType = "datetime")]
        public DateTime? CreateTime { get; set; }

        /// <summary>
        /// 变更时间
        /// </summary>
        [Column(DbType = "datetime")]
        public DateTime? ExpressChangedTime { get; set; }

        /// <summary>
        /// 物流内容
        /// </summary>
        [Column(StringLength = 2000)]
        public string ExpressContent { get; set; }

        /// <summary>
        /// 物流状态 (ZaiTu,LanShou,QianShou,PaiJian,Unknow)
        /// </summary>
        [Column(StringLength = 100)]
        public string ExpressState { get; set; }


        [Column(StringLength = 100)]
        public long ShopId { get; set; }

        /// <summary>
        /// 原快递公司Id
        /// </summary>
        [Column(StringLength = 100)]
        public string SourceExpressId { get; set; }

        /// <summary>
        /// 原快递公司名称
        /// </summary>
        [Column(StringLength = 100)]
        public string SourceExpressName { get; set; }

        /// <summary>
        /// 目标快递公司Id(kuaidi100)
        /// </summary>
        [Column(StringLength = 100)]
        public string TargetExpressId { get; set; }

        /// <summary>
        /// 目标快递公司名称(kuaidi100)
        /// </summary>
        [Column(StringLength = 100)]
        public string TargetExpressName { get; set; }

        /// <summary>
        /// 是否订阅快递100
        /// </summary>
        [Column(DbType = "bit")]
        public bool IsSubscribeKD100 { get; set; } = false;

        [Column(IsIgnore = true)]
        public string OrderId { get; set; }

        [Column(IsIgnore = true)]
        public string PurchaseOrderId { get; set; }

    }

}