package com.bonus.canteen.core.supply.purchase.domain.bo;

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 com.bonus.canteen.core.utils.SysUtil;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

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

@ApiModel(
   value = "验货单明细表",
   description = "验货单明细表"
)
public class DrpInspectGoodsDetail {
   @ApiModelProperty("主键id")
   @TableId(
      value = "id",
      type = IdType.AUTO
   )
   private Long id;
   @ApiModelProperty("验货单号")
   private String inspectGoodsId;
   @ApiModelProperty("验货明细id")
   private Long inspectGoodsDetailId;
   @ApiModelProperty("送货明细id")
   private Long deliveryGoodsDetailId;
   @ApiModelProperty("货品id")
   private Long materialId;
   @ApiModelProperty("单价")
   private Integer unitPrice;
   @ApiModelProperty("订货数量")
   private BigDecimal orderNum;
   @ApiModelProperty("送货数量")
   private BigDecimal deliveryNum;
   @ApiModelProperty("累计合格数量")
   private BigDecimal totalQualifiedNum;
   @ApiModelProperty("本次合格数量")
   private BigDecimal qualifiedNum;
   @ApiModelProperty("不合格原因")
   private String unqualifiedReason;
   @ApiModelProperty("货品拍照")
   private String checkPicUrls;
   @TableField(
      value = "createBy",
      fill = FieldFill.INSERT
   )
   @ApiModelProperty("创建人")
   private String createBy;
   @TableField(
      value = "createTime",
      fill = FieldFill.INSERT
   )
   @ApiModelProperty("创建时间")
   private LocalDateTime createTime;
   @TableField(
      value = "updateBy",
      fill = FieldFill.UPDATE
   )
   @ApiModelProperty("更新人")
   private String updateBy;
   @TableField(
      value = "updateTime",
      fill = FieldFill.UPDATE
   )
   @ApiModelProperty("更新时间")
   private LocalDateTime updateTime;
   @ApiModelProperty("图片")
   private String imageUrl;

   public String getImageUrl() {
      return SysUtil.getCutFileUrl(this.imageUrl);
   }

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

   public String getInspectGoodsId() {
      return this.inspectGoodsId;
   }

   public Long getInspectGoodsDetailId() {
      return this.inspectGoodsDetailId;
   }

   public Long getDeliveryGoodsDetailId() {
      return this.deliveryGoodsDetailId;
   }

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

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

   public BigDecimal getOrderNum() {
      return this.orderNum;
   }

   public BigDecimal getDeliveryNum() {
      return this.deliveryNum;
   }

   public BigDecimal getTotalQualifiedNum() {
      return this.totalQualifiedNum;
   }

   public BigDecimal getQualifiedNum() {
      return this.qualifiedNum;
   }

   public String getUnqualifiedReason() {
      return this.unqualifiedReason;
   }

   public String getCheckPicUrls() {
      return this.checkPicUrls;
   }

   public DrpInspectGoodsDetail setId(final Long id) {
      this.id = id;
      return this;
   }

   public DrpInspectGoodsDetail setInspectGoodsId(final String inspectGoodsId) {
      this.inspectGoodsId = inspectGoodsId;
      return this;
   }

   public DrpInspectGoodsDetail setInspectGoodsDetailId(final Long inspectGoodsDetailId) {
      this.inspectGoodsDetailId = inspectGoodsDetailId;
      return this;
   }

   public DrpInspectGoodsDetail setDeliveryGoodsDetailId(final Long deliveryGoodsDetailId) {
      this.deliveryGoodsDetailId = deliveryGoodsDetailId;
      return this;
   }

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

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

   public DrpInspectGoodsDetail setOrderNum(final BigDecimal orderNum) {
      this.orderNum = orderNum;
      return this;
   }

   public DrpInspectGoodsDetail setDeliveryNum(final BigDecimal deliveryNum) {
      this.deliveryNum = deliveryNum;
      return this;
   }

   public DrpInspectGoodsDetail setTotalQualifiedNum(final BigDecimal totalQualifiedNum) {
      this.totalQualifiedNum = totalQualifiedNum;
      return this;
   }

   public DrpInspectGoodsDetail setQualifiedNum(final BigDecimal qualifiedNum) {
      this.qualifiedNum = qualifiedNum;
      return this;
   }

   public DrpInspectGoodsDetail setUnqualifiedReason(final String unqualifiedReason) {
      this.unqualifiedReason = unqualifiedReason;
      return this;
   }

   public DrpInspectGoodsDetail setCheckPicUrls(final String checkPicUrls) {
      this.checkPicUrls = checkPicUrls;
      return this;
   }
   public DrpInspectGoodsDetail setImageUrl(final String imageUrl) {
      this.imageUrl = imageUrl;
      return this;
   }

   public String getCreateBy() {
      return createBy;
   }

   public DrpInspectGoodsDetail setCreateBy(String createBy) {
      this.createBy = createBy;
      return this;
   }

   public LocalDateTime getCreateTime() {
      return createTime;
   }

   public DrpInspectGoodsDetail setCreateTime(LocalDateTime createTime) {
      this.createTime = createTime;
      return this;
   }

   public String getUpdateBy() {
      return updateBy;
   }

   public DrpInspectGoodsDetail setUpdateBy(String updateBy) {
      this.updateBy = updateBy;
      return this;
   }

   public LocalDateTime getUpdateTime() {
      return updateTime;
   }

   public DrpInspectGoodsDetail setUpdateTime(LocalDateTime updateTime) {
      this.updateTime = updateTime;
      return this;
   }
}
