using DS.Module.Core.Data;
using SqlSugar;
using System.ComponentModel;

namespace DS.WMS.Core.Op.Entity;

/// <summary>
/// 海运出口舱单信息
/// </summary>
[SqlSugar.SugarTable("op_sea_export_shippingbill", "海运出口舱单信息")]
public class SeaExportShippingBill : BaseModel<long>
{
    /// <summary>
    /// 业务Id
    /// </summary>
    [SqlSugar.SugarColumn(ColumnDescription = "业务Id", IsNullable = false, Length = 100)]
    public long BusinessId { get; set; }

    /// <summary>
    /// 是否分单
    /// </summary>
    [SqlSugar.SugarColumn(ColumnDescription = "是否分单", IsNullable = true,DefaultValue ="0")]
    public bool IsPart { get; set; } = false;
    /// <summary>
    /// 主提单号
    /// </summary>
    [SqlSugar.SugarColumn(ColumnDescription = "主提单号", IsNullable = true, Length = 30)]
    public string MBLNO { get; set; }

    /// <summary>
    /// 分提单号
    /// </summary>
    [SqlSugar.SugarColumn(ColumnDescription = "分提单号", IsNullable = true, Length = 30)]
    public string HBLNO { get; set; }
    /// <summary>
    /// 开船日期
    /// </summary>
    [SugarColumn(ColumnDescription = "开船日期", IsNullable = true)]
    public DateTime? ETD { get; set; }

    /// <summary>
    /// 货代公司Id
    /// </summary>
    [SugarColumn(ColumnDescription = "货代公司Id", IsNullable = true, DefaultValue = "0")]
    public long ForwarderId { get; set; }
    /// <summary>
    /// 货代公司
    /// </summary>
    [SugarColumn(ColumnDescription = "货代公司", IsNullable = true, Length = 100)]
    public string Forwarder { get; set; }
    /// <summary>
    /// 船名    t_code_vessel
    /// </summary>
    [SqlSugar.SugarColumn(ColumnDescription = "船名", IsNullable = true, Length = 60)]
    public string Vessel { get; set; }

    /// <summary>
    /// 船名Id    t_code_vessel
    /// </summary>
    [SqlSugar.SugarColumn(ColumnDescription = "船名Id", IsNullable = true, DefaultValue = "0")]
    public long VesselId { get; set; }

    /// <summary>
    /// 海关航次 
    /// </summary>
    [SqlSugar.SugarColumn(ColumnDescription = "海关航次", IsNullable = true, Length = 20)]
    public string Voyno { get; set; }
    /// <summary>
    /// 内部航次 
    /// </summary>
    [SqlSugar.SugarColumn(ColumnDescription = "内部航次", IsNullable = true, Length = 20)]
    public string InnerVoyno { get; set; }
    /// <summary>
    /// 船公司Id 
    /// </summary>
    [SugarColumn(ColumnDescription = "船公司Id", IsNullable = true, DefaultValue = "0")]
    public long CarrierId { get; set; }
    /// <summary>
    /// 船公司EDICode
    /// </summary>
    [SugarColumn(ColumnDescription = "船公司EDICode", IsNullable = true, Length = 100)]
    public string Carrier { get; set; }
    /// <summary>
    /// 船公司名称 
    /// </summary>
    [SugarColumn(ColumnDescription = "船公司名称", IsNullable = true, Length = 100)]
    public string CarrierName { get; set; }

    /// <summary>
    /// 发货人    t_info_client CUSTNAME
    /// </summary>
    [SqlSugar.SugarColumn(ColumnDescription = "发货人", IsNullable = true)]
    public long? ShipperId { get; set; }
    /// <summary>
    /// 收货人    t_info_client CUSTNAME
    /// </summary>
    [SqlSugar.SugarColumn(ColumnDescription = "收货人", IsNullable = true)]
    public long? ConsigneeId { get; set; }

    /// <summary>
    /// 通知人    t_info_client CUSTNAME
    /// </summary>
    [SqlSugar.SugarColumn(ColumnDescription = "通知人", IsNullable = true)]
    public long? NotifyPartyId { get; set; }
    /// <summary>
    /// 发货人名称 
    /// </summary>
    [SugarColumn(ColumnDescription = "发货人名称", IsNullable = true, Length = 50)]
    public string ShipperName { get; set; }
    /// <summary>
    /// 发货人地址 
    /// </summary>
    [SugarColumn(ColumnDescription = "发货人地址", IsNullable = true, Length = 100)]
    public string ShipperAddress { get; set; }
    /// <summary>
    /// 发货人国家code 
    /// </summary>
    [SugarColumn(ColumnDescription = "发货人国家code", IsNullable = true, Length = 50)]
    public string ShipperCountry { get; set; }
    /// <summary>
    /// 发货人国家
    /// </summary>
    [SugarColumn(ColumnDescription = "发货人国家", IsNullable = true, Length = 50)]
    public string ShipperCountryName { get; set; }
    /// <summary>
    /// 发货人电话
    /// </summary>
    [SugarColumn(ColumnDescription = "发货人电话", IsNullable = true, Length = 50)]
    public string ShipperTel { get; set; }

    /// <summary>
    /// 收货人名称 
    /// </summary>
    [SugarColumn(ColumnDescription = "收货人名称", IsNullable = true, Length = 50)]
    public string ConsigneeName { get; set; }
    /// <summary>
    /// 收货人地址 
    /// </summary>
    [SugarColumn(ColumnDescription = "收货人地址", IsNullable = true, Length = 100)]
    public string ConsigneeAddress { get; set; }
    /// <summary>
    /// 收货人国家code 
    /// </summary>
    [SugarColumn(ColumnDescription = "收货人国家code", IsNullable = true, Length = 50)]
    public string ConsigneeCountry { get; set; }
    /// <summary>
    /// 收货人国家
    /// </summary>
    [SugarColumn(ColumnDescription = "收货人国家", IsNullable = true, Length = 50)]
    public string ConsigneeCountryName { get; set; }
    /// <summary>
    /// 收货人电话
    /// </summary>
    [SugarColumn(ColumnDescription = "收货人电话", IsNullable = true, Length = 50)]
    public string ConsigneeTel { get; set; }

    /// <summary>
    /// 通知人名称 
    /// </summary>
    [SugarColumn(ColumnDescription = "通知人名称", IsNullable = true, Length = 50)]
    public string NotifyPartyName { get; set; }
    /// <summary>
    /// 通知人地址 
    /// </summary>
    [SugarColumn(ColumnDescription = "通知人地址", IsNullable = true, Length = 100)]
    public string NotifyPartyAddress { get; set; }
    /// <summary>
    /// 通知人国家code 
    /// </summary>
    [SugarColumn(ColumnDescription = "通知人国家code", IsNullable = true, Length = 50)]
    public string NotifyPartyCountry { get; set; }
    /// <summary>
    /// 通知人国家
    /// </summary>
    [SugarColumn(ColumnDescription = "通知人国家", IsNullable = true, Length = 50)]
    public string NotifyPartyCountryName { get; set; }
    /// <summary>
    /// 通知人电话
    /// </summary>
    [SugarColumn(ColumnDescription = "通知人电话", IsNullable = true, Length = 50)]
    public string NotifyPartyTel { get; set; }

    /// <summary>
    /// 装货港Id
    /// </summary>
    [SugarColumn(ColumnDescription = "装货港Id", IsNullable = true)]
    public long LoadPortId { get; set; }
    /// <summary>
    /// 装货港代码
    /// </summary>
    [SugarColumn(ColumnDescription = "装货港代码", IsNullable = true, Length = 60)]
    public string LoadPortCode { get; set; }
    /// <summary>
    /// 装货港
    /// </summary>
    [SugarColumn(ColumnDescription = "装货港", IsNullable = true, Length = 60)]
    public string LoadPort { get; set; }

    /// <summary>
    /// 卸货港Id
    /// </summary>
    [SugarColumn(ColumnDescription = "卸货港Id", IsNullable = true)]
    public long DischargePortId { get; set; }
    /// <summary>
    /// 卸货港代码
    /// </summary>
    [SugarColumn(ColumnDescription = "卸货港代码", IsNullable = true, Length = 60)]
    public string DischargePortCode { get; set; }
    /// <summary>
    /// 卸货港
    /// </summary>
    [SugarColumn(ColumnDescription = "卸货港", IsNullable = true, Length = 60)]
    public string DischargePort { get; set; }

    /// <summary>
    /// 收货地Id
    /// </summary>
    [SugarColumn(ColumnDescription = "收货地Id", IsNullable = true)]
    public long DeliveryPlaceId { get; set; }
    /// <summary>
    /// 收货地代码
    /// </summary>
    [SugarColumn(ColumnDescription = "收货地代码", IsNullable = true, Length = 60)]
    public string DeliveryPlaceCode { get; set; }
    /// <summary>
    /// 收货地
    /// </summary>
    [SugarColumn(ColumnDescription = "收货地", IsNullable = true, Length = 60)]
    public string DeliveryPlace { get; set; }

    /// <summary>
    /// 场站Id    t_crm_client CUSTNAME
    /// </summary>
    [SqlSugar.SugarColumn(ColumnDescription = "场站Id", IsNullable = true, DefaultValue = "0")]
    public long YardId { get; set; }
    /// <summary>
    /// 场站    t_crm_client CUSTNAME
    /// </summary>
    [SqlSugar.SugarColumn(ColumnDescription = "场站", IsNullable = true, Length = 100)]
    public string Yard { get; set; }
    /// <summary>
    /// 场站代码    t_crm_client CUSTNAME
    /// </summary>
    [SqlSugar.SugarColumn(ColumnDescription = "场站代码", IsNullable = true, Length = 100)]
    public string YardCode { get; set; }
    /// <summary>
    /// 唛头    N/M
    /// </summary>
    [SugarColumn(ColumnDescription = "唛头", IsNullable = true, ColumnDataType = StaticConfig.CodeFirst_BigString)]
    public string Marks { get; set; }
    /// <summary>
    /// 货物描述
    /// </summary>
    [SugarColumn(ColumnDescription = "货物描述", IsNullable = true, ColumnDataType = StaticConfig.CodeFirst_BigString)]
    public string Description { get; set; }
    /// <summary>
    /// 货物标识    S/R/D/O
    /// </summary>
    [SugarColumn(ColumnDescription = "货物标识  S/R/D/O", IsNullable = true, Length = 1)]
    public string CargoId { get; set; }

    /// <summary>
    /// 设置温度
    /// </summary>
    [SugarColumn(ColumnDescription = "设置温度", IsNullable = true, Length = 5)]
    public string TemperatureSet { get; set; }

    /// <summary>
    /// 温度单位
    /// </summary>
    [SugarColumn(ColumnDescription = "温度单位", IsNullable = true, Length = 1)]
    public string TemperatureUnit { get; set; }

    /// <summary>
    /// 冷藏通风量
    /// </summary>
    [SugarColumn(ColumnDescription = "冷藏通风量", IsNullable = true, Length = 10)]
    public string ReeferQuantity { get; set; }

    /// <summary>
    /// 危险品分类
    /// </summary>
    [SugarColumn(ColumnDescription = "危险品分类", IsNullable = true, Length = 5)]
    public string DangerClass { get; set; }

    /// <summary>
    /// 危险品编号
    /// </summary>
    [SugarColumn(ColumnDescription = "危险品编号", IsNullable = true, Length = 16)]
    public string DangerNo { get; set; }

    /// <summary>
    /// 危险品联系人
    /// </summary>
    [SugarColumn(ColumnDescription = "危险品联系人", IsNullable = true, Length = 30)]
    public string DangerAttn { get; set; }
    /// <summary>
    /// 危险品电话
    /// </summary>
    [SugarColumn(ColumnDescription = "危险品电话", IsNullable = true, Length = 30)]
    public string DangerTel { get; set; }

    /// <summary>
    /// 包装    t_code_package
    /// </summary>
    [SugarColumn(ColumnDescription = "包装", IsNullable = true, Length = 20)]
    public string KindPkgs { get; set; }
    /// <summary>
    /// Desc:备注
    /// </summary>
    [SugarColumn(ColumnDescription = "备注", IsNullable = true, ColumnDataType = StaticConfig.CodeFirst_BigString)]
    public string Remark { get; set; }
    /// <summary>
    /// Desc:发送备注
    /// </summary>
    [SugarColumn(ColumnDescription = "发送备注", IsNullable = true, ColumnDataType = StaticConfig.CodeFirst_BigString)]
    public string SendRemark { get; set; }

    /// <summary>
    /// 状态
    /// </summary>
    [SugarColumn(ColumnDescription = "状态", IsNullable = true, Length = 20)]
    public string State { get; set; }
}