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-14
 */
@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出库(减仓库库存)；")
    @TableField("OPERATION_TYPE")
    private String operationType;

    @ApiModelProperty(value = "交货单号")
    @TableField("DELIVERY_NOTE_SAP")
    private String deliveryNoteSap;

    @ApiModelProperty(value = "关联单据号(预留)")
    @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 Date createTime;

    @ApiModelProperty(value = "备注说明")
    @TableField("REMARK")
    private String remark;

    @ApiModelProperty(value = "单据日志信息表自增ID")
    @TableField("LOG_AUTO_ID")
    private Integer logAutoId;

    @ApiModelProperty(value = "工厂代码")
    @TableField("WERKS")
    private String werks;

    @ApiModelProperty(value = "仓库代码")
    @TableField("WHS_LOCATION_CODE")
    private String whsLocationCode;
    
    @ApiModelProperty(value = "行号")
    @TableField("ITEM_NUMBER")
    private String itemNumber;

    public static long getSerialVersionUID() {
        return serialVersionUID;
    }

    public String getLogId() {
        return logId;
    }

    public void setLogId(String logId) {
        this.logId = logId;
    }

    public String getDocumentType() {
        return documentType;
    }

    public void setDocumentType(String documentType) {
        this.documentType = documentType;
    }

    public String getUuidStorage() {
        return uuidStorage;
    }

    public void setUuidStorage(String uuidStorage) {
        this.uuidStorage = uuidStorage;
    }

    public String getMaterialNo() {
        return materialNo;
    }

    public void setMaterialNo(String materialNo) {
        this.materialNo = materialNo;
    }

    public String getBoxNote() {
        return boxNote;
    }

    public void setBoxNote(String boxNote) {
        this.boxNote = boxNote;
    }

    public Double getQuantity() {
        return quantity;
    }

    public void setQuantity(Double quantity) {
        this.quantity = quantity;
    }

    public String getOperationType() {
        return operationType;
    }

    public void setOperationType(String operationType) {
        this.operationType = operationType;
    }

    public String getDeliveryNoteSap() {
        return deliveryNoteSap;
    }

    public void setDeliveryNoteSap(String deliveryNoteSap) {
        this.deliveryNoteSap = deliveryNoteSap;
    }

    public String getRelateDocumentNumber() {
        return relateDocumentNumber;
    }

    public void setRelateDocumentNumber(String relateDocumentNumber) {
        this.relateDocumentNumber = relateDocumentNumber;
    }

    public String getComments() {
        return comments;
    }

    public void setComments(String comments) {
        this.comments = comments;
    }

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public Integer getLogAutoId() {
        return logAutoId;
    }

    public void setLogAutoId(Integer logAutoId) {
        this.logAutoId = logAutoId;
    }

    public String getWerks() {
        return werks;
    }

    public void setWerks(String werks) {
        this.werks = werks;
    }

    public String getWhsLocationCode() {
        return whsLocationCode;
    }

    public void setWhsLocationCode(String whsLocationCode) {
        this.whsLocationCode = whsLocationCode;
    }
}
