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

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

@ApiModel
public class DrpProductionPlanPageVO {
   @ApiModelProperty("审批状态(1待审批,2审批中,3审批同意,4审批拒绝)")
   private Integer approveStatus;
   @ApiModelProperty("提交状态 1待提交 2已提交")
   private Integer status;
   @ApiModelProperty("生产计划单号")
   private String productionPlanId;
   @ApiModelProperty("生产计划名称")
   private String productionPlanName;
   @ApiModelProperty("计划货品总数量")
   private int materialTotal;
   @ApiModelProperty("生产计划类型(1直接生成,2按菜谱生成,3按预定单生成)")
   private Integer productionPlanType;
   @ApiModelProperty("计划日期")
   private List<LocalDate> detailPlanDate;
   @ApiModelProperty("所属区域id")
   private Long areaId;
   @ApiModelProperty("所属区域")
   private String areaName;
   @ApiModelProperty("食堂id")
   private Long canteenId;
   @ApiModelProperty("档口id")
   private Long stallId;
   @ApiModelProperty("食堂名称")
   private String canteenName;
   @ApiModelProperty("档口名称")
   private String stallName;
   @ApiModelProperty("审批人")
   private String approveBy;
   @ApiModelProperty("审批完成时间")
   private LocalDateTime approveTime;
   @ApiModelProperty("创建人")
   private String createBy;
   @ApiModelProperty("创建时间")
   private LocalDateTime createTime;
   @ApiModelProperty("更新人")
   private String updateBy;
   @ApiModelProperty("更新时间")
   private LocalDateTime updateTime;
   @ApiModelProperty("审批流ID")
   private Long processInstanceId;
   @ApiModelProperty("当前用户是否可以审批")
   private Boolean curUserApprove;
   @ApiModelProperty("开始时间")
   private LocalDate startDate;
   @ApiModelProperty("结束时间")
   private LocalDate endDate;
   @ApiModelProperty("当前是否可以生成采购计划")
   private Boolean curUCreatePurchasePlan;

   public Integer getApproveStatus() {
      return this.approveStatus;
   }

   public Integer getStatus() {
      return this.status;
   }

   public String getProductionPlanId() {
      return this.productionPlanId;
   }

   public String getProductionPlanName() {
      return this.productionPlanName;
   }

   public int getMaterialTotal() {
      return this.materialTotal;
   }

   public Integer getProductionPlanType() {
      return this.productionPlanType;
   }

   public List<LocalDate> getDetailPlanDate() {
      return this.detailPlanDate;
   }

   public Long getAreaId() {
      return this.areaId;
   }

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

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

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

   public String getCanteenName() {
      return this.canteenName;
   }

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

   public String getApproveBy() {
      return this.approveBy;
   }

   public LocalDateTime getApproveTime() {
      return this.approveTime;
   }

   public Long getProcessInstanceId() {
      return this.processInstanceId;
   }

   public Boolean getCurUserApprove() {
      return this.curUserApprove;
   }

   public LocalDate getStartDate() {
      return this.startDate;
   }

   public LocalDate getEndDate() {
      return this.endDate;
   }

   public Boolean getCurUCreatePurchasePlan() {
      return this.curUCreatePurchasePlan;
   }

   public DrpProductionPlanPageVO setApproveStatus(final Integer approveStatus) {
      this.approveStatus = approveStatus;
      return this;
   }

   public DrpProductionPlanPageVO setStatus(final Integer status) {
      this.status = status;
      return this;
   }

   public DrpProductionPlanPageVO setProductionPlanId(final String productionPlanId) {
      this.productionPlanId = productionPlanId;
      return this;
   }

   public DrpProductionPlanPageVO setProductionPlanName(final String productionPlanName) {
      this.productionPlanName = productionPlanName;
      return this;
   }

   public DrpProductionPlanPageVO setMaterialTotal(final int materialTotal) {
      this.materialTotal = materialTotal;
      return this;
   }

   public DrpProductionPlanPageVO setProductionPlanType(final Integer productionPlanType) {
      this.productionPlanType = productionPlanType;
      return this;
   }

   public DrpProductionPlanPageVO setDetailPlanDate(final List<LocalDate> detailPlanDate) {
      this.detailPlanDate = detailPlanDate;
      return this;
   }

   public DrpProductionPlanPageVO setAreaId(final Long areaId) {
      this.areaId = areaId;
      return this;
   }

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

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

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

   public DrpProductionPlanPageVO setCanteenName(final String canteenName) {
      this.canteenName = canteenName;
      return this;
   }

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

   public DrpProductionPlanPageVO setApproveBy(final String approveBy) {
      this.approveBy = approveBy;
      return this;
   }

   public DrpProductionPlanPageVO setApproveTime(final LocalDateTime approveTime) {
      this.approveTime = approveTime;
      return this;
   }

   public DrpProductionPlanPageVO setProcessInstanceId(final Long processInstanceId) {
      this.processInstanceId = processInstanceId;
      return this;
   }

   public DrpProductionPlanPageVO setCurUserApprove(final Boolean curUserApprove) {
      this.curUserApprove = curUserApprove;
      return this;
   }

   public DrpProductionPlanPageVO setStartDate(final LocalDate startDate) {
      this.startDate = startDate;
      return this;
   }

   public DrpProductionPlanPageVO setEndDate(final LocalDate endDate) {
      this.endDate = endDate;
      return this;
   }

   public DrpProductionPlanPageVO setCurUCreatePurchasePlan(final Boolean curUCreatePurchasePlan) {
      this.curUCreatePurchasePlan = curUCreatePurchasePlan;
      return this;
   }

   public String getCreateBy() {
      return createBy;
   }

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

   public LocalDateTime getCreateTime() {
      return createTime;
   }

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

   public String getUpdateBy() {
      return updateBy;
   }

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

   public LocalDateTime getUpdateTime() {
      return updateTime;
   }

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