package com.bonus.canteen.core.menu.vo;

import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.bonus.canteen.core.common.utils.CustomNumberConverter;
import com.bonus.canteen.core.menu.converter.SalesModeConverter;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.time.LocalDateTime;

@ColumnWidth(20)
@ApiModel("原材料导出内容")
public class MenuMaterialExportVO {
   @ExcelProperty({"所属区域"})
   private String areaName;
   @ExcelProperty({"原料编码"})
   @ApiModelProperty("原料编码")
   private String materialCode;
   @ExcelProperty({"原料类别"})
   @ApiModelProperty("原料类别")
   private String categoryName;
   @ExcelProperty({"原料名称"})
   @ApiModelProperty("原料名称")
   private String materialName;
   @ExcelProperty({"营养信息名称"})
   @ApiModelProperty("营养信息名称")
   private String nutritionName;
   @ExcelProperty({"单位"})
   @ApiModelProperty("单位")
   private String unitName;
   @ExcelProperty({"条码"})
   @ApiModelProperty("条码")
   private String barCode;
   @ExcelProperty(
      value = {"原料进价(元)"},
      converter = CustomNumberConverter.class
   )
   @ApiModelProperty("进价(元)")
   private Integer unitPrice;
   @ExcelProperty(
      value = {"最近进价(元)"},
      converter = CustomNumberConverter.class
   )
   @ApiModelProperty("最近进价")
   private Integer leastIntoPrice;
   @ExcelProperty({"最近入库时间"})
   @ApiModelProperty("最近入库时间")
   private LocalDateTime leastIntoDate;
   @ExcelProperty(
      value = {"月度均价(元)"},
      converter = CustomNumberConverter.class
   )
   @ApiModelProperty("月度均价")
   private Integer monthAvgPrice;
   @ExcelProperty(
      value = {"售卖类型(1按份2称重)"},
      converter = SalesModeConverter.class
   )
   @ApiModelProperty("售卖类型(1按份2称重)")
   private Integer salesMode;

   public String getAreaName() {
      return this.areaName;
   }

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

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

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

   public String getNutritionName() {
      return this.nutritionName;
   }

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

   public String getBarCode() {
      return this.barCode;
   }

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

   public Integer getLeastIntoPrice() {
      return this.leastIntoPrice;
   }

   public LocalDateTime getLeastIntoDate() {
      return this.leastIntoDate;
   }

   public Integer getMonthAvgPrice() {
      return this.monthAvgPrice;
   }

   public Integer getSalesMode() {
      return this.salesMode;
   }

   public void setAreaName(final String areaName) {
      this.areaName = areaName;
   }

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

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

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

   public void setNutritionName(final String nutritionName) {
      this.nutritionName = nutritionName;
   }

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

   public void setBarCode(final String barCode) {
      this.barCode = barCode;
   }

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

   public void setLeastIntoPrice(final Integer leastIntoPrice) {
      this.leastIntoPrice = leastIntoPrice;
   }

   public void setLeastIntoDate(final LocalDateTime leastIntoDate) {
      this.leastIntoDate = leastIntoDate;
   }

   public void setMonthAvgPrice(final Integer monthAvgPrice) {
      this.monthAvgPrice = monthAvgPrice;
   }

   public void setSalesMode(final Integer salesMode) {
      this.salesMode = salesMode;
   }
}
