package com.sunda.spmsoversea.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-09-22
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("OVERSEA_WHS_OUT")
@ApiModel(value="OverseaWhsOut对象", description="海外出库任务表")
public class OverseaWhsOut implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "出库任务表自增ID")
    @TableField("AUTO_ID_WHS_OUT")
    private Integer autoIdWhsOut;

    @ApiModelProperty(value = "出库任务UUID")
    @TableId("UUID_WHS_OUT")
    private String uuidWhsOut;

    @ApiModelProperty(value = "出库任务单号")
    @TableField("SPMS_ID")
    private String spmsId;

    @ApiModelProperty(value = "创建日期")
    @TableField("CREATE_DATE")
    private String createDate;

    @ApiModelProperty(value = "移动类型")
    @TableField("MOVEMENT_TYPE")
    private String movementType;

    @ApiModelProperty(value = "单据状态(0已删除;1出库中;2出库完成;3提交SAP成功;4提交SAP失败;5已撤销;)")
    @TableField("SPMS_STATUS")
    private String spmsStatus;

    @ApiModelProperty(value = "创建人")
    @TableField("CREATE_USERID")
    private String createUserid;

    @ApiModelProperty(value = "工厂代码")
    @TableField("WERKS")
    private String werks;

    @ApiModelProperty(value = "车间代码")
    @TableField("WORKSHOP_CODE")
    private String workshopCode;

    @ApiModelProperty(value = "仓库地点代码")
    @TableField("WHS_LOCATION_CODE")
    private String whsLocationCode;

    @ApiModelProperty(value = "来源单号/关联单据号")
    @TableField("RELATE_DOCUMENT")
    private String relateDocument;

    @ApiModelProperty(value = "成本中心")
    @TableField("COST_CENTER")
    private String costCenter;

    @ApiModelProperty(value = "成本中心名称")
    @TableField("COST_CENTER_NAME")
    private String costCenterName;

    @ApiModelProperty(value = "数据版本号")
    @TableField("DATA_VERSION")
    private Integer dataVersion;

    @ApiModelProperty(value = "备注")
    @TableField("REMARKS")
    private String remarks;

    @ApiModelProperty(value = "评论")
    @TableField("COMMENTS")
    private String comments;

    @ApiModelProperty(value = "SAP过账日期")
    @TableField("POSTING_DATE")
    private String postingDate;

    @ApiModelProperty(value = "SAP物料凭证")
    @TableField("SAP_VOUCHER_NUMBER")
    private String sapVoucherNumber;

    @ApiModelProperty(value = "SAP物料凭证年份")
    @TableField("SAP_VOUCHER_YEAR")
    private String sapVoucherYear;

    @ApiModelProperty(value = "SAP撤销过账日期")
    @TableField("CANCEL_POSTING_DATE")
    private String cancelPostingDate;

    @ApiModelProperty(value = "SAP撤销凭证")
    @TableField("SAP_CANCEL_VOUCHER_NUMBER")
    private String sapCancelVoucherNumber;

    @ApiModelProperty(value = "SAP撤销凭证年份")
    @TableField("SAP_CANCEL_VOUCHER_YEAR")
    private String sapCancelVoucherYear;

    @ApiModelProperty(value = "创建时间")
    @TableField("CREATE_TIME")
    private Date createTime;

    @ApiModelProperty(value = "更新时间")
    @TableField("UPDATE_TIME")
    private Date updateTime;
    
    @ApiModelProperty(value = "OA编号")
    @TableField("OA_NUMBER")
    private String oaNumber;
    
    @ApiModelProperty(value = "作废原因")
    @TableField("CANCEL_REASON")
    private String cancelReason;

    @ApiModelProperty(value = "推送到SAP的幂等ID")
    @TableField("SAP_KEY_CODE")
    private String sapKeyCode;

    @ApiModelProperty(value = "单据类型")
    @TableField("DOCUMENT_TYPE")
    private String documentType;
    
    @ApiModelProperty(value = "OAid")
    @TableField("OA_ID")
    private String oaId;
    
    @ApiModelProperty(value = "设备来源：PDA")
    @TableField("PDA_SN")
    private String pdaSN;
    
    @ApiModelProperty(value = "PDA操作时间")
    @TableField("PDA_TIME")
    private String pdaTime;
}
