package com.sunda.spmswms.entity;

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 lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 出库任务表
 * </p>
 *
 * @author Wayne
 * @since 2021-04-23
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("WHS_OUT")
@ApiModel(value="WhsOut对象", description="出库任务表")
public class WhsOut implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "出库任务表主键UUID")
    @TableId("UUID")
    private String uuid;

    @ApiModelProperty(value = "出库任务单号-工厂+仓库+日期+三位流水")
    @TableField("WHS_OUT_NO")
    private String whsOutNo;

    @ApiModelProperty(value = "工厂代码")
    @TableField("WERKS")
    private String werks;

    @ApiModelProperty(value = "仓库地点代码")
    @TableField("WHS_LOCATION_CODE")
    private String whsLocationCode;

    @ApiModelProperty(value = "装箱单号")
    @TableField("PACKAGE_LIST")
    private String packageList;

    @ApiModelProperty(value = "货物类型")
    @TableField("GOODS_TYPE")
    private String goodsType;

    @ApiModelProperty(value = "可装柜日期")
    @TableField("DATE_OF_LOADING")
    private String dateOfLoading;

    @ApiModelProperty(value = "柜号")
    @TableField("CABINET_NUMBER")
    private String cabinetNumber;

    @ApiModelProperty(value = "柜序号")
    @TableField("CABINET_SERIAL_NUMBER")
    private String cabinetSerialNumber;

    @ApiModelProperty(value = "出库任务状态")
    @TableField("TASK_STATUS")
    private String taskStatus;

    @ApiModelProperty(value = "出库任务创建人工号")
    @TableField("CREATE_USERID")
    private String createUserid;

    @ApiModelProperty(value = "创建日期")
    @TableField("CREATE_DATE")
    private String createDate;

    @ApiModelProperty(value = "创建时间")
    @TableField("CREATE_TIME")
    private Date createTime;

    @ApiModelProperty(value = "SAP物料凭证号")
    @TableField("SAP_VOUCHER_NUMBER")
    private String sapVoucherNumber;

    @ApiModelProperty(value = "SAP凭证年份")
    @TableField("SAP_VOUCHER_YEAR")
    private String sapVoucherYear;

    @ApiModelProperty(value = "实际装柜日期")
    @TableField("ACTUAL_LOADING_DATE")
    private String actualLoadingDate;

    @ApiModelProperty(value = "监装人员")
    @TableField("MONITOR_LOADING")
    private String monitorLoading;

    @ApiModelProperty(value = "装柜方式（仅参考）")
    @TableField("LOADING_TYPE")
    private String loadingType;

    @ApiModelProperty(value = "备注信息")
    @TableField("REMARKS")
    private String remarks;

    @ApiModelProperty(value = "货柜检验结果")
    @TableField("CABINET_CHECK_RESULT")
    private String cabinetCheckResult;

    @ApiModelProperty(value = "铅封号")
    @TableField("LEAD_SEAL")
    private String leadSeal;

    @ApiModelProperty(value = "空柜重量")
    @TableField("EMPTY_CABINET_WEIGHT")
    private Double emptyCabinetWeight;

    @ApiModelProperty(value = "操作员/现场搬运工计费")
    @TableField("OPERATE_USER")
    private String operateUser;
    
    @ApiModelProperty(value = "发货主体")
    @TableField("SHIPPER")
    private String shipper;
    
    @ApiModelProperty(value = "柜型")
    @TableField("CABINET_MODEL")
    private String cabinetModel;
    
    @ApiModelProperty(value = "数据来源：1SAP推送，2手动创建")
    @TableField("DATA_SOURCE")
    private String dataSource;
    
    @ApiModelProperty(value = "设备来源：PDA")
    @TableField("PDA_SN")
    private String pdaSN;
    
    @ApiModelProperty(value = "PDA操作时间")
    @TableField("PDA_TIME")
    private String pdaTime;
}
