package com.bonus.canteen.core.drp.model;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.math.BigDecimal;
import java.time.LocalDateTime;

@ApiModel(
   value = "DrpInventory对象",
   description = "库存表"
)
public class DrpInventory {
   @ApiModelProperty("主键id")
   @TableId(
      value = "id",
      type = IdType.AUTO
   )
   private Integer id;
   @ApiModelProperty("库存id")
   private Long inventoryId;
   @ApiModelProperty("仓库id")
   private Long warehouseId;
   @ApiModelProperty("原料id")
   private Long materialId;
   @ApiModelProperty("计量单位id")
   private Long unitId;
   @ApiModelProperty("最小库存")
   private BigDecimal minNum;
   @ApiModelProperty("最大库存")
   private BigDecimal maxNum;
   @ApiModelProperty("当前库存数量")
   private BigDecimal materialNum;
   @ApiModelProperty("库存状态(1-正常,2-不足,3-超额)")
   private Integer inventoryStatus;
   @ApiModelProperty("删除标识(1-删除,2-正常)")
   private Integer delFlag;
   @ApiModelProperty("乐观锁")
   private Integer revision;
   @TableField(
      value = "crby",
      fill = FieldFill.INSERT
   )
   @ApiModelProperty("创建人")
   private String crby;
   @TableField(
      value = "crtime",
      fill = FieldFill.INSERT
   )
   @ApiModelProperty("创建时间")
   private LocalDateTime crtime;
   @TableField(
      value = "upby",
      fill = FieldFill.UPDATE
   )
   @ApiModelProperty("更新人")
   private String upby;
   @TableField(
      value = "uptime",
      fill = FieldFill.UPDATE
   )
   @ApiModelProperty("更新时间")
   private LocalDateTime uptime;

   public Integer getId() {
      return this.id;
   }

   public Long getInventoryId() {
      return this.inventoryId;
   }

   public Long getWarehouseId() {
      return this.warehouseId;
   }

   public Long getMaterialId() {
      return this.materialId;
   }

   public Long getUnitId() {
      return this.unitId;
   }

   public BigDecimal getMinNum() {
      return this.minNum;
   }

   public BigDecimal getMaxNum() {
      return this.maxNum;
   }

   public BigDecimal getMaterialNum() {
      return this.materialNum;
   }

   public Integer getInventoryStatus() {
      return this.inventoryStatus;
   }

   public Integer getDelFlag() {
      return this.delFlag;
   }

   public Integer getRevision() {
      return this.revision;
   }

   public String getCrby() {
      return this.crby;
   }

   public LocalDateTime getCrtime() {
      return this.crtime;
   }

   public String getUpby() {
      return this.upby;
   }

   public LocalDateTime getUptime() {
      return this.uptime;
   }

   public DrpInventory setId(final Integer id) {
      this.id = id;
      return this;
   }

   public DrpInventory setInventoryId(final Long inventoryId) {
      this.inventoryId = inventoryId;
      return this;
   }

   public DrpInventory setWarehouseId(final Long warehouseId) {
      this.warehouseId = warehouseId;
      return this;
   }

   public DrpInventory setMaterialId(final Long materialId) {
      this.materialId = materialId;
      return this;
   }

   public DrpInventory setUnitId(final Long unitId) {
      this.unitId = unitId;
      return this;
   }

   public DrpInventory setMinNum(final BigDecimal minNum) {
      this.minNum = minNum;
      return this;
   }

   public DrpInventory setMaxNum(final BigDecimal maxNum) {
      this.maxNum = maxNum;
      return this;
   }

   public DrpInventory setMaterialNum(final BigDecimal materialNum) {
      this.materialNum = materialNum;
      return this;
   }

   public DrpInventory setInventoryStatus(final Integer inventoryStatus) {
      this.inventoryStatus = inventoryStatus;
      return this;
   }

   public DrpInventory setDelFlag(final Integer delFlag) {
      this.delFlag = delFlag;
      return this;
   }

   public DrpInventory setRevision(final Integer revision) {
      this.revision = revision;
      return this;
   }

   public DrpInventory setCrby(final String crby) {
      this.crby = crby;
      return this;
   }

   public DrpInventory setCrtime(final LocalDateTime crtime) {
      this.crtime = crtime;
      return this;
   }

   public DrpInventory setUpby(final String upby) {
      this.upby = upby;
      return this;
   }

   public DrpInventory setUptime(final LocalDateTime uptime) {
      this.uptime = uptime;
      return this;
   }
}
