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

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

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

@ApiModel(
   value = "DrpDetailFlow对象",
   description = "出入库明细流水表"
)
public class DrpDetailFlow {
   @ApiModelProperty("流水号")
   private Long drpFlowId;
   @ApiModelProperty("明细id")
   private Long drpDetailId;
   @ApiModelProperty("库存id")
   private Long inventoryId;
   @ApiModelProperty("单据号")
   private String drpOrderId;
   @ApiModelProperty("货品id")
   private Long materialId;
   @ApiModelProperty("单位id")
   private Long unitId;
   @ApiModelProperty("供应商id")
   private Long supplierId;
   @ApiModelProperty("单价")
   private Integer unitPrice;
   @ApiModelProperty("数量")
   private BigDecimal num;
   @ApiModelProperty("合计金额")
   private Integer totalPrice;
   @ApiModelProperty("库存数")
   private BigDecimal inventoryNum;
   @ApiModelProperty("单据类型(1入库2出库3透支)")
   private Integer drpOrderType;
   @ApiModelProperty("仓库id")
   private Long warehouseId;
   @ApiModelProperty("单据时间")
   private LocalDateTime drpOrderTime;
   @ApiModelProperty("记录时间")
   private String recordTime;
   @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;
   @ApiModelProperty("数据来源，1正常，2修复")
   private Integer source;

   public Long getDrpFlowId() {
      return this.drpFlowId;
   }

   public Long getDrpDetailId() {
      return this.drpDetailId;
   }

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

   public String getDrpOrderId() {
      return this.drpOrderId;
   }

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

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

   public Long getSupplierId() {
      return this.supplierId;
   }

   public Integer getUnitPrice() {
      return this.unitPrice;
   }

   public BigDecimal getNum() {
      return this.num;
   }

   public Integer getTotalPrice() {
      return this.totalPrice;
   }

   public BigDecimal getInventoryNum() {
      return this.inventoryNum;
   }

   public Integer getDrpOrderType() {
      return this.drpOrderType;
   }

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

   public LocalDateTime getDrpOrderTime() {
      return this.drpOrderTime;
   }

   public String getRecordTime() {
      return this.recordTime;
   }

   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 Integer getSource() {
      return this.source;
   }

   public DrpDetailFlow setDrpFlowId(final Long drpFlowId) {
      this.drpFlowId = drpFlowId;
      return this;
   }

   public DrpDetailFlow setDrpDetailId(final Long drpDetailId) {
      this.drpDetailId = drpDetailId;
      return this;
   }

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

   public DrpDetailFlow setDrpOrderId(final String drpOrderId) {
      this.drpOrderId = drpOrderId;
      return this;
   }

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

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

   public DrpDetailFlow setSupplierId(final Long supplierId) {
      this.supplierId = supplierId;
      return this;
   }

   public DrpDetailFlow setUnitPrice(final Integer unitPrice) {
      this.unitPrice = unitPrice;
      return this;
   }

   public DrpDetailFlow setNum(final BigDecimal num) {
      this.num = num;
      return this;
   }

   public DrpDetailFlow setTotalPrice(final Integer totalPrice) {
      this.totalPrice = totalPrice;
      return this;
   }

   public DrpDetailFlow setInventoryNum(final BigDecimal inventoryNum) {
      this.inventoryNum = inventoryNum;
      return this;
   }

   public DrpDetailFlow setDrpOrderType(final Integer drpOrderType) {
      this.drpOrderType = drpOrderType;
      return this;
   }

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

   public DrpDetailFlow setDrpOrderTime(final LocalDateTime drpOrderTime) {
      this.drpOrderTime = drpOrderTime;
      return this;
   }

   public DrpDetailFlow setRecordTime(final String recordTime) {
      this.recordTime = recordTime;
      return this;
   }

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

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

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

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

   public DrpDetailFlow setSource(final Integer source) {
      this.source = source;
      return this;
   }

}
