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.time.LocalDateTime;

/**
 * <p>
 * 库存操作日志表
 * </p>
 *
 * @author Wayne
 * @since 2021-09-10
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("WHS_OPERATE_LOG")
@ApiModel(value="WhsOperateLog对象", description="库存操作日志表")
public class WhsOperateLog implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "日志表主键UUID")
    @TableId("LOG_ID")
    private String logId;

    @ApiModelProperty(value = "日志单据类型：1自管仓仓库库存日志；2自管仓储位库存日志；3海外仓仓库库存日志；4海外仓储位库存日志；")
    @TableField("DOCUMENT_TYPE")
    private String documentType;

    @ApiModelProperty(value = "储位UUID-储位库存变化时使用")
    @TableField("UUID_STORAGE")
    private String uuidStorage;

    @ApiModelProperty(value = "物料编码")
    @TableField("MATERIAL_NO")
    private String materialNo;

    @ApiModelProperty(value = "箱码，自管仓备件货出入库、上下架时使用")
    @TableField("BOX_NOTE")
    private String boxNote;

    @ApiModelProperty(value = "数量")
    @TableField("QUANTITY")
    private Double quantity;

    @ApiModelProperty(value = "操作类型:1入库(加仓库库存);2上架(加储位库存);3下架(减储位库存);4出库(减仓库库存);5移位(出储位);6移位(进储位);7盘点(盘盈入储位);8盘点(盘亏出储位);9盘点(盘盈入仓库);10盘点(盘亏出仓库);11移仓(出储位);12移仓(入储位);13移仓(出仓库);14移仓(入仓库);15转储(出仓库);16转储(出储位);17转储(入仓库);18转储(入储位);19撤销(入储位);20撤销(出储位);")
    @TableField("OPERATION_TYPE")
    private String operationType;

    @ApiModelProperty(value = "交货单号")
    @TableField("DELIVERY_NOTE_SAP")
    private String deliveryNoteSap;

    @ApiModelProperty(value = "关联单据号(预留)/出库任务uuid")
    @TableField("RELATE_DOCUMENT_NUMBER")
    private String relateDocumentNumber;

    @ApiModelProperty(value = "操作内容/评论")
    @TableField("COMMENTS")
    private String comments;

    @ApiModelProperty(value = "用户工号")
    @TableField("USER_ID")
    private String userId;

    @ApiModelProperty(value = "创建时间")
    @TableField("CREATE_TIME")
    private LocalDateTime createTime;

    @ApiModelProperty(value = "备注说明")
    @TableField("REMARK")
    private String remark;

    @ApiModelProperty(value = "日志表自增ID")
    @TableField("LOG_AUTO_ID")
    private Double logAutoId;

    @ApiModelProperty(value = "工厂代码")
    @TableField("WERKS")
    private String werks;

    @ApiModelProperty(value = "仓库代码")
    @TableField("WHS_LOCATION_CODE")
    private String whsLocationCode;

    @ApiModelProperty(value = "移动类型")
    @TableField("MOVEMENT_TYPE")
    private String movementType;
    
    @ApiModelProperty(value = "行号")
    @TableField("ITEM_NUMBER")
    private String itemNumber;

}
