package com.huaheng.pc.shipment.shipmentHeader.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import lombok.Data;

@ApiModel(value = "com.huaheng.pc.shipment.shipmentHeader.domain.ShipmentHeader")
@Data
@TableName(value = "shipment_header")
public class ShipmentHeader implements Serializable {
    /**
     * 出库单内部号
     */
    @TableId(value = "id", type = IdType.AUTO)
    @ApiModelProperty(value = "出库单内部号")
    private Integer id;

    /**
     * 仓库
     */
    @TableField(value = "warehouseCode")
    @ApiModelProperty(value = "仓库")
    private String warehouseCode;

    /**
     * 货主
     */
    @TableField(value = "companyCode")
    @ApiModelProperty(value = "货主")
    private String companyCode;



    /**
     * 出库单号
     */
    @TableField(value = "code")
    @ApiModelProperty(value = "出库单号")
    private String code;

    /**
     * erp订单号
     */
    @TableField(value = "referCode")
    @ApiModelProperty(value = "erp订单号")
    private String referCode;

    /**
     * erp订单类型
     */
    @TableField(value = "referCodeType")
    @ApiModelProperty(value = "erp订单类型")
    private String referCodeType;

    /**
     * erp订单内部号
     */
    @TableField(value = "referId")
    @ApiModelProperty(value = "erp订单内部号")
    private Integer referId;

    /**
     * 订单平台
     */
    @TableField(value = "referPlatform")
    @ApiModelProperty(value = "订单平台")
    private Integer referPlatform;

    /**
     * 主状态
     */
    @TableField(value = "firstStatus")
    @ApiModelProperty(value = "主状态")
    private Integer firstStatus;

    /**
     * 拖状态
     */
    @TableField(value = "lastStatus")
    @ApiModelProperty(value = "拖状态")
    private Integer lastStatus;

    /**
     * 出库单类型
     */
    @TableField(value = "shipmentType")
    @ApiModelProperty(value = "出库单类型")
    private String shipmentType;

    /**
     * 路线
     */
    @TableField(value = "route")
    @ApiModelProperty(value = "路线")
    private String route;

    /**
     * 客户编号
     */
    @TableField(value = "customerCode")
    @ApiModelProperty(value = "客户编号")
    private String customerCode;

    /**
     * 客户名称
     */
    @TableField(value = "customerName")
    @ApiModelProperty(value = "客户名称")
    private String customerName;

    /**
     * 优先级
     */
    @TableField(value = "priority")
    @ApiModelProperty(value = "优先级")
    private Integer priority;

    /**
     * 要求到货时间
     */
    @TableField(value = "requestedDeliveryDate")
    @ApiModelProperty(value = "要求到货时间")
    private Date requestedDeliveryDate;



    /**
     * 计划发车日期
     */
    @TableField(value = "scheduledShipDate")
    @ApiModelProperty(value = "计划发车日期")
    private Date scheduledShipDate;

    /**
     * 实际发车时间
     */
    @TableField(value = "actualShipDateTime")
    @ApiModelProperty(value = "实际发车时间")
    private Date actualShipDateTime;

    /**
     * 实际到货时间
     */
    @TableField(value = "actualDeliveryDate")
    @ApiModelProperty(value = "实际到货时间")
    private Date actualDeliveryDate;

    /**
     * 配送要求
     */
    @TableField(value = "deliveryNote")
    @ApiModelProperty(value = "配送要求")
    private String deliveryNote;

    /**
     * 失败原因
     */
    @TableField(value = "rejectionNote")
    @ApiModelProperty(value = "失败原因")
    private String rejectionNote;

    /**
     * 波次号
     */
    @TableField(value = "waveId")
    @ApiModelProperty(value = "波次号")
    private Integer waveId;

    /**
     * 发货月台
     */
    @TableField(value = "shipDock")
    @ApiModelProperty(value = "发货月台")
    private String shipDock;

    /**
     * 分配完成
     */
    @TableField(value = "allocateComplete")
    @ApiModelProperty(value = "分配完成")
    private Integer allocateComplete;

    /**
     * 总重量
     */
    @TableField(value = "totalWeight")
    @ApiModelProperty(value = "总重量")
    private BigDecimal totalWeight;

    /**
     * 总数量
     */
    @TableField(value = "totalQty")
    @ApiModelProperty(value = "总数量")
    private BigDecimal totalQty;

    /**
     * 总体积
     */
    @TableField(value = "totalVolume")
    @ApiModelProperty(value = "总体积")
    private BigDecimal totalVolume;

    /**
     * 总行数
     */
    @TableField(value = "totalLines")
    @ApiModelProperty(value = "总行数")
    private Integer totalLines;



    /**
     * 处理类型
     */
    @TableField(value = "processType")
    @ApiModelProperty(value = "处理类型")
    private String processType;

    /**
     * 上次波次号
     */
    @TableField(value = "lastWaveId")
    @ApiModelProperty(value = "上次波次号")
    private Integer lastWaveId;

    /**
     * 特征值
     */
    @TableField(value = "signValue")
    @ApiModelProperty(value = "特征值")
    private String signValue;

    /**
     * 承运人
     */
    @TableField(value = "carrierCode")
    @ApiModelProperty(value = "承运人")
    private String carrierCode;

    /**
     * 承运人服务商
     */
    @TableField(value = "carrierService")
    @ApiModelProperty(value = "承运人服务商")
    private String carrierService;

    /**
     * 订单备注
     */
    @TableField(value = "shipmentNote")
    @ApiModelProperty(value = "订单备注")
    private String shipmentNote;

    /**
     * 承运商编码
     */
    @TableField(value = "carrierServer")
    @ApiModelProperty(value = "承运商编码")
    private String carrierServer;

    /**
     * 承运商名称
     */
    @TableField(value = "carrierServerName")
    @ApiModelProperty(value = "承运商名称")
    private String carrierServerName;

    /**
     * 车牌号
     */
    @TableField(value = "plateNumber")
    @ApiModelProperty(value = "车牌号")
    private String plateNumber;

    /**
     * 车型
     */
    @TableField(value = "carModel")
    @ApiModelProperty(value = "车型")
    private String carModel;

    /**
     * 司机名称
     */
    @TableField(value = "driverName")
    @ApiModelProperty(value = "司机名称")
    private String driverName;

    /**
     * 司机联系方式
     */
    @TableField(value = "driverTel")
    @ApiModelProperty(value = "司机联系方式")
    private String driverTel;

    /**
     * 创建时间
     */
    @TableField(value = "created")
    @ApiModelProperty(value = "创建时间")
    private Date created;

    /**
     * 创建用户
     */
    @TableField(value = "createdBy")
    @ApiModelProperty(value = "创建用户")
    private String createdBy;

    /**
     * 创建时间
     */
    @TableField(value = "lastUpdated")
    @ApiModelProperty(value = "创建时间")
    private Date lastUpdated;

    /**
     * 更新用户
     */
    @TableField(value = "lastUpdatedBy")
    @ApiModelProperty(value = "更新用户")
    private String lastUpdatedBy;

    /**
     * 数据版本
     */
    @TableField(value = "version")
    @ApiModelProperty(value = "数据版本")
    private Integer version;

    /**
     * 自定义字段1
     */
    @TableField(value = "userDef1")
    @ApiModelProperty(value = "自定义字段1")
    private String userDef1;

    /**
     * 自定义字段2
     */
    @TableField(value = "userDef2")
    @ApiModelProperty(value = "自定义字段2")
    private String userDef2;

    /**
     * 自定义字段3
     */
    @TableField(value = "userDef3")
    @ApiModelProperty(value = "自定义字段3")
    private String userDef3;
    /**
     * 处理标记
     */
    @TableField(value = "processStamp")
    @ApiModelProperty(value = "处理标记")
    private String processStamp;

    /**
     * 是否删除
     */
    @TableField(value = "deleted")
    @ApiModelProperty(value = "是否删除")
    private Boolean deleted;

    private static final long serialVersionUID = 1L;

    public static final String COL_WAREHOUSECODE = "warehouseCode";

    public static final String COL_COMPANYCODE = "companyCode";

    public static final String COL_CODE = "code";

    public static final String COL_REFERCODE = "referCode";

    public static final String COL_REFERCODETYPE = "referCodeType";

    public static final String COL_REFERID = "referId";

    public static final String COL_REFERPLATFORM = "referPlatform";

    public static final String COL_FIRSTSTATUS = "firstStatus";

    public static final String COL_LASTSTATUS = "lastStatus";

    public static final String COL_SHIPMENTTYPE = "shipmentType";

    public static final String COL_ROUTE = "route";

    public static final String COL_CUSTOMERCODE = "customerCode";

    public static final String COL_CUSTOMERNAME = "customerName";

    public static final String COL_PRIORITY = "priority";

    public static final String COL_REQUESTEDDELIVERYDATE = "requestedDeliveryDate";

    public static final String COL_SCHEDULEDSHIPDATE = "scheduledShipDate";

    public static final String COL_ACTUALSHIPDATETIME = "actualShipDateTime";

    public static final String COL_ACTUALDELIVERYDATE = "actualDeliveryDate";

    public static final String COL_DELIVERYNOTE = "deliveryNote";

    public static final String COL_REJECTIONNOTE = "rejectionNote";

    public static final String COL_WAVEID = "waveId";

    public static final String COL_SHIPDOCK = "shipDock";

    public static final String COL_ALLOCATECOMPLETE = "allocateComplete";

    public static final String COL_TOTALWEIGHT = "totalWeight";

    public static final String COL_TOTALQTY = "totalQty";

    public static final String COL_TOTALVOLUME = "totalVolume";

    public static final String COL_TOTALLINES = "totalLines";

    public static final String COL_PROCESSTYPE = "processType";

    public static final String COL_LASTWAVEID = "lastWaveId";

    public static final String COL_SIGNVALUE = "signValue";

    public static final String COL_CARRIERCODE = "carrierCode";

    public static final String COL_CARRIERSERVICE = "carrierService";

    public static final String COL_SHIPMENTNOTE = "shipmentNote";

    public static final String COL_CARRIERSERVER = "carrierServer";

    public static final String COL_CARRIERSERVERNAME = "carrierServerName";

    public static final String COL_PLATENUMBER = "plateNumber";

    public static final String COL_CARMODEL = "carModel";

    public static final String COL_DRIVERNAME = "driverName";

    public static final String COL_DRIVERTEL = "driverTel";

    public static final String COL_CREATED = "created";

    public static final String COL_CREATEDBY = "createdBy";

    public static final String COL_LASTUPDATED = "lastUpdated";

    public static final String COL_LASTUPDATEDBY = "lastUpdatedBy";

    public static final String COL_VERSION = "version";

    public static final String COL_USERDEF1 = "userDef1";

    public static final String COL_USERDEF2 = "userDef2";

    public static final String COL_USERDEF3 = "userDef3";

    public static final String COL_PROCESSSTAMP = "processStamp";

    public static final String COL_DELETED = "deleted";
}