package com.unis.crk.cplbusiness.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
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 TangSong
 * @since 2022-05-23
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="NventoryAdjustment对象", description="库存调整")
public class NventoryAdjustment implements Serializable {

private static final long serialVersionUID=1L;

    @ApiModelProperty(value = "数据记录id")
    @TableId(value = "dataId", type = IdType.UUID)
    private String dataId;

    @ApiModelProperty(value = "单位ID")
    private String unitid;

    @ApiModelProperty(value = "条目创建人")
    private String builder;

    @ApiModelProperty(value = "创建时间")
    @TableField(value = "builderDate",fill = FieldFill.INSERT)
    private Date builderDate;

    @ApiModelProperty(value = "编辑人")
    private String editor;

    @ApiModelProperty(value = "修改时间")
    @TableField(value = "modifyDate",fill = FieldFill.INSERT_UPDATE)
    private Date modifyDate;

    @ApiModelProperty(value = "上传数据时间")
    @TableField(value = "updateTime",strategy = FieldStrategy.IGNORED,update = "null",fill = FieldFill.UPDATE)
    private Date updateTime;

    @ApiModelProperty(value = "库存调整编号")
    private String nventoryAdjustmentNumber;

    @ApiModelProperty(value = "仓房号")
    private String arehouseNumber;

    @ApiModelProperty(value = "货位号")
    private String locationNumber;

    @ApiModelProperty(value = "商品名称")
    private String commodityName;

    @ApiModelProperty(value = "商品编码")
    private String commodityCode;

    @ApiModelProperty(value = "品牌")
    private String brand;

    @ApiModelProperty(value = "品种")
    private String varieties;

    @ApiModelProperty(value = "计量单位")
    private String unitOfMeasurement;

    @ApiModelProperty(value = "生产日期")
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd")
    private Date dateOfManufacture;

    @ApiModelProperty(value = "库存数量")
    private Double inventoryQuantity;

    @ApiModelProperty(value = "单价")
    private Double unitPrice;

    @ApiModelProperty(value = "生产批次")
    private String roductionBatch;

    @ApiModelProperty(value = "调整时间")
    private Date adjustmentTime;

    @ApiModelProperty(value = "调整前商品名称")
    private String commodityNameBeforeAdjustment;

    @ApiModelProperty(value = "调整前品牌")
    private String brandBeforeAdjustment;

    @ApiModelProperty(value = "调整前规格")
    private String beforeSpecificationAdjustment;

    @ApiModelProperty(value = "调整前件数")
    private Double numberOfPiecesBeforeAdjustment;

    @ApiModelProperty(value = "调整前单价")
    private Double unitPriceBeforeAdjustment;

    @ApiModelProperty(value = "调整前总额")
    private Double totalBeforeAdjustment;

    @ApiModelProperty(value = "调整后商品名称")
    private String adjustedProductName;

    @ApiModelProperty(value = "调整后品牌")
    private String adjustedBrand;

    @ApiModelProperty(value = "调整后规格")
    private String adjustedSpecification;

    @ApiModelProperty(value = "调整后计量单位")
    private String adjustedUom;

    @ApiModelProperty(value = "调整后单价")
    private Double adjustedUnitPrice;

    @ApiModelProperty(value = "调整后总额")
    private Double adjustedTotal;

    @ApiModelProperty(value = "计量单位名称")
    @TableField(exist = false)
    private String unitOfMeasurementName;

    @ApiModelProperty(value = "调整后件数")
    private Double numberOfPiecesAfterAdjustment;


}
