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-05-10
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("OVERSEA_INV_CHECK_ACTION")
@ApiModel(value="InventoryCheckAction对象", description="仓库盘盈盘亏")
public class OverseaInvCheckAction implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "仓库盘盈盘亏任务UUID")
    @TableId("UUID")
    private String uuid;

    @ApiModelProperty(value = "仓库盘盈盘亏单号")
    @TableField("SPMS_ID")
    private String spmsId;

    @ApiModelProperty(value = "盘盈盘亏类别 1-盘盈 2-盘亏")
    @TableField("INVENTORY_ACTION_TYPE")
    private String inventoryActionType;

    @ApiModelProperty(value = "工厂编号")
    @TableField("WERKS")
    private String werks;

    @ApiModelProperty(value = "仓库地点代码")
    @TableField("WHS_LOCATION_CODE")
    private String whsLocationCode;

    @ApiModelProperty(value = "盘点单据号")
    @TableField("INVENTORY_CHECK_ID")
    private String inventoryCheckId;

    @ApiModelProperty(value = "盘点结果 1-账实相符 2-盘盈 3-盘亏 4-盘盈盘亏")
    @TableField("INVENTORY_CHECK_RESULT")
    private String inventoryCheckResult;

    @ApiModelProperty(value = "是否杂货 X-备件货 M-贸易货")
    @TableField("INVENTORY_CHECK_TYPE")
    private String inventoryCheckType;

    @ApiModelProperty(value = "盘点类别 1-日常盘点 2-月度盘点 3-动态盘点 4-其它盘点")
    @TableField("INVENTORY_CHECK_CATEGORY")
    private String inventoryCheckCategory;

    @ApiModelProperty(value = "盘点类型 1-明盘 2-暗盘")
    @TableField("INVENTORY_CHECK_MOLD")
    private String inventoryCheckMold;

    @ApiModelProperty(value = "创建日期")
    @TableField("CREATE_DATE")
    private String createDate;

    @ApiModelProperty(value = "任务状态：1-草稿;2-提交OA成功；3-提交OA失败；4-OA审批不通过；5-OA审批通过待上传SAP; 6-上传SAP失败 7 -上传SAP成功 8 - 已撤销 ")
    @TableField("SPMS_STATUS")
    private String spmsStatus;

    @ApiModelProperty(value = "创建人工号")
    @TableField("REQUESTER")
    private String requester;

    @ApiModelProperty(value = "申请人")
    @TableField("OPERATOR")
    private String operator;

    @ApiModelProperty(value = "复核人")
    @TableField("REVIEWER")
    private String reviewer;

    @ApiModelProperty(value = "审批人")
    @TableField("APPROVER")
    private String approver;

    @ApiModelProperty(value = "创建时间")
    @TableField("CREATE_TIME")
    private Date createTime;

    @ApiModelProperty(value = "更新人姓名")
    @TableField("UPDATE_USERNAME")
    private String updateUsername;

    @ApiModelProperty(value = "更新时间")
    @TableField("UPDATE_TIME")
    private Date updateTime;

    @ApiModelProperty(value = "申请原因")
    @TableField("JUSTIFICATION")
    private String justification;

    @ApiModelProperty(value = "备注")
    @TableField("REMARKS")
    private String remarks;

    @ApiModelProperty(value = "凭证中的过账日期-用户选")
    @TableField("POSTING_DATE")
    private String postingDate;

    @ApiModelProperty(value = "成本中心")
    @TableField("COST_CENTER")
    private String costCenter;

    @ApiModelProperty(value = "移动类型")
    @TableField("MOVE_TYPE")
    private String moveType;

    @ApiModelProperty(value = "凭证抬头文本")
    @TableField("VOUCHER_TEXT")
    private String voucherText;

    @ApiModelProperty(value = "SAP物料凭证-提交SAP成功后回写")
    @TableField("SAP_VOUCHER_NUMBER")
    private String sapVoucherNumber;

    @ApiModelProperty(value = "会计年份/SAP凭证年份")
    @TableField("SAP_VOUCHER_YEAR")
    private String sapVoucherYear;

    @ApiModelProperty(value = "OA流程编号")
    @TableField("OA_WORKFLOW")
    private String oaWorkflow;

    @ApiModelProperty(value = "OA单据编号")
    @TableField("OA_BIANHAO")
    private String oaBianhao;

    @ApiModelProperty(value = "提交OA审批备注")
    @TableField("OA_REMARK")
    private String oaRemark;

    @ApiModelProperty(value = "提交OA日期")
    @TableField("SUBMIT_OA_DATE")
    private String submitOaDate;

    @ApiModelProperty(value = "OA审批通过日期")
    @TableField("OA_APPROVAL_DATE")
    private String oaApprovalDate;

    @ApiModelProperty(value = "OA预留字段")
    @TableField("OA_FIELD")
    private String oaField;

    @ApiModelProperty(value = "业务标识")
    @TableField("BUSINESS_TYPE")
    private String businessType;


    @ApiModelProperty(value = "工厂性质")
    @TableField("NATURE_OF_THE_FACTORY")
    private String natureOfTheFactory;

    @ApiModelProperty(value = "对接OA的client")
    @TableField("OA_CLIENT")
    private String oaClient;
    
    @ApiModelProperty(value = "撤销凭证号")
    @TableField("CANCEL_VOUCHER_NUMBER")
    private String cancelVoucherNumber;

}
