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

import com.bonus.canteen.core.supply.purchase.domain.bo.DrpWarehouseInventoryNum;
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;
import java.util.HashSet;
import java.util.List;

@ApiModel
public class DrpPurPlanDetailPageVO {
   @ApiModelProperty("采购计划详情id")
   private Long detailId;
   @ApiModelProperty("货品id")
   private Long materialId;
   @ApiModelProperty("货品编码")
   private String materialCode;
   @ApiModelProperty("货品名称")
   private String materialName;
   @ApiModelProperty("类别id")
   private Long categoryId;
   @ApiModelProperty("类别")
   private String categoryName;
   @ApiModelProperty("采购数量")
   private BigDecimal purNum;
   @ApiModelProperty("生产计划数量")
   private BigDecimal proPlanNum;
   @ApiModelProperty("计量单位id")
   private Long unitId;
   @ApiModelProperty("计量单位名称")
   private String unitName;
   @ApiModelProperty("规格")
   private String size;
   @ApiModelProperty("图片")
   private String imageUrl;
   @ApiModelProperty("当前采购计划库存数")
   private BigDecimal inventoryNum;
   @ApiModelProperty("预计采购金额")
   private BigDecimal purchasingBudgetPrice;
   @ApiModelProperty("上次采购单价")
   private Long lastPurMaterialPrice;
   @ApiModelProperty("参考价格")
   private Long unitPrice;
   @ApiModelProperty("仓库库存")
   private List<DrpWarehouseInventoryNum> inventoryNumList;
   @ApiModelProperty("档口id")
   private Long stallId;
   @ApiModelProperty("档口名称")
   private String stallName;
   @ApiModelProperty("供应商id")
   private Long supllerId;
   @ApiModelProperty("创建时间")
   private LocalDateTime createTime;
   @ApiModelProperty("备注")
   private String remark;
   @ApiModelProperty("货品首选供应商id")
   private Long supplierId;
   @ApiModelProperty("货品首选供应商名称")
   private String supplierName;
   @ApiModelProperty("货品备选供应商列表")
   private String alternativeSupplier;
   @ApiModelProperty("货品首选可选供应商列表")
   private HashSet<DrpSupplierSimpleVo> drpSupplierSimpleVos;
   @ApiModelProperty("货品分类首选供应商id")
   private Long caSupplierId;
   @ApiModelProperty("货品分类首选供应商名称")
   private String caSupplierName;
   @ApiModelProperty("货品分类备选供应商列表")
   private String caAlternativeSupplier;
   @ApiModelProperty("货品分类首选可选供应商列表")
   private HashSet<DrpSupplierSimpleVo> caDrpSuppliers;
   @ApiModelProperty("食堂Id")
   private Long canteenId;
   @ApiModelProperty("资格证书Id")
   private Long certId;
   @ApiModelProperty("资格证书名称")
   private String certName;

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

   public Long getDetailId() {
      return this.detailId;
   }

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

   public String getMaterialCode() {
      return this.materialCode;
   }

   public String getMaterialName() {
      return this.materialName;
   }

   public Long getCategoryId() {
      return this.categoryId;
   }

   public String getCategoryName() {
      return this.categoryName;
   }

   public BigDecimal getPurNum() {
      return this.purNum;
   }

   public BigDecimal getProPlanNum() {
      return this.proPlanNum;
   }

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

   public String getUnitName() {
      return this.unitName;
   }

   public String getSize() {
      return this.size;
   }

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

   public BigDecimal getPurchasingBudgetPrice() {
      return this.purchasingBudgetPrice;
   }

   public Long getLastPurMaterialPrice() {
      return this.lastPurMaterialPrice;
   }

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

   public List<DrpWarehouseInventoryNum> getInventoryNumList() {
      return this.inventoryNumList;
   }

   public Long getStallId() {
      return this.stallId;
   }

   public String getStallName() {
      return this.stallName;
   }

   public Long getSupllerId() {
      return this.supllerId;
   }

   public String getRemark() {
      return this.remark;
   }

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

   public String getSupplierName() {
      return this.supplierName;
   }

   public String getAlternativeSupplier() {
      return this.alternativeSupplier;
   }

   public HashSet<DrpSupplierSimpleVo> getDrpSupplierSimpleVos() {
      return this.drpSupplierSimpleVos;
   }

   public Long getCaSupplierId() {
      return this.caSupplierId;
   }

   public String getCaSupplierName() {
      return this.caSupplierName;
   }

   public String getCaAlternativeSupplier() {
      return this.caAlternativeSupplier;
   }

   public HashSet<DrpSupplierSimpleVo> getCaDrpSuppliers() {
      return this.caDrpSuppliers;
   }

   public Long getCanteenId() {
      return this.canteenId;
   }

   public Long getCertId() {
      return this.certId;
   }

   public String getCertName() {
      return this.certName;
   }

   public void setDetailId(final Long detailId) {
      this.detailId = detailId;
   }

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

   public void setMaterialCode(final String materialCode) {
      this.materialCode = materialCode;
   }

   public void setMaterialName(final String materialName) {
      this.materialName = materialName;
   }

   public void setCategoryId(final Long categoryId) {
      this.categoryId = categoryId;
   }

   public void setCategoryName(final String categoryName) {
      this.categoryName = categoryName;
   }

   public void setPurNum(final BigDecimal purNum) {
      this.purNum = purNum;
   }

   public void setProPlanNum(final BigDecimal proPlanNum) {
      this.proPlanNum = proPlanNum;
   }

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

   public void setUnitName(final String unitName) {
      this.unitName = unitName;
   }

   public void setSize(final String size) {
      this.size = size;
   }

   public void setImageUrl(final String imageUrl) {
      this.imageUrl = imageUrl;
   }

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

   public void setPurchasingBudgetPrice(final BigDecimal purchasingBudgetPrice) {
      this.purchasingBudgetPrice = purchasingBudgetPrice;
   }

   public void setLastPurMaterialPrice(final Long lastPurMaterialPrice) {
      this.lastPurMaterialPrice = lastPurMaterialPrice;
   }

   public void setUnitPrice(final Long unitPrice) {
      this.unitPrice = unitPrice;
   }

   public void setInventoryNumList(final List<DrpWarehouseInventoryNum> inventoryNumList) {
      this.inventoryNumList = inventoryNumList;
   }

   public void setStallId(final Long stallId) {
      this.stallId = stallId;
   }

   public void setStallName(final String stallName) {
      this.stallName = stallName;
   }

   public void setSupllerId(final Long supllerId) {
      this.supllerId = supllerId;
   }

   public void setRemark(final String remark) {
      this.remark = remark;
   }

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

   public void setSupplierName(final String supplierName) {
      this.supplierName = supplierName;
   }

   public void setAlternativeSupplier(final String alternativeSupplier) {
      this.alternativeSupplier = alternativeSupplier;
   }

   public void setDrpSupplierSimpleVos(final HashSet<DrpSupplierSimpleVo> drpSupplierSimpleVos) {
      this.drpSupplierSimpleVos = drpSupplierSimpleVos;
   }

   public void setCaSupplierId(final Long caSupplierId) {
      this.caSupplierId = caSupplierId;
   }

   public void setCaSupplierName(final String caSupplierName) {
      this.caSupplierName = caSupplierName;
   }

   public void setCaAlternativeSupplier(final String caAlternativeSupplier) {
      this.caAlternativeSupplier = caAlternativeSupplier;
   }

   public void setCaDrpSuppliers(final HashSet<DrpSupplierSimpleVo> caDrpSuppliers) {
      this.caDrpSuppliers = caDrpSuppliers;
   }

   public void setCanteenId(final Long canteenId) {
      this.canteenId = canteenId;
   }

   public void setCertId(final Long certId) {
      this.certId = certId;
   }

   public void setCertName(final String certName) {
      this.certName = certName;
   }

   public LocalDateTime getCreateTime() {
      return createTime;
   }

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