package com.bonus.core.nutrition.common.dto;

import com.bonus.core.common.page.PageDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.util.List;

@ApiModel("人员健康信息分页查询入参")
public class HealthInfoPageDto extends PageDTO {
   @ApiModelProperty("人员信息: 用户姓名,编号,手机号")
   private String keyword;
   @ApiModelProperty("性别 1-男 2-女 3-未知")
   private Integer sex;
   @ApiModelProperty("所属组织id")
   private List<Long> orgIdList;
   @ApiModelProperty("所属位置Id")
   private List<Long> placeIdList;
   @ApiModelProperty("慢性病id")
   private List<Long> chronicIds;
   @ApiModelProperty("饮食类型")
   private List<Integer> doctorAdviceList;
   private List<String> exportCols;

   public boolean equals(final Object o) {
      if (o == this) {
         return true;
      } else if (!(o instanceof HealthInfoPageDto)) {
         return false;
      } else {
         HealthInfoPageDto other = (HealthInfoPageDto)o;
         if (!other.canEqual(this)) {
            return false;
         } else if (!super.equals(o)) {
            return false;
         } else {
            label97: {
               Object this$sex = this.getSex();
               Object other$sex = other.getSex();
               if (this$sex == null) {
                  if (other$sex == null) {
                     break label97;
                  }
               } else if (this$sex.equals(other$sex)) {
                  break label97;
               }

               return false;
            }

            Object this$keyword = this.getKeyword();
            Object other$keyword = other.getKeyword();
            if (this$keyword == null) {
               if (other$keyword != null) {
                  return false;
               }
            } else if (!this$keyword.equals(other$keyword)) {
               return false;
            }

            Object this$orgIdList = this.getOrgIdList();
            Object other$orgIdList = other.getOrgIdList();
            if (this$orgIdList == null) {
               if (other$orgIdList != null) {
                  return false;
               }
            } else if (!this$orgIdList.equals(other$orgIdList)) {
               return false;
            }

            label76: {
               Object this$placeIdList = this.getPlaceIdList();
               Object other$placeIdList = other.getPlaceIdList();
               if (this$placeIdList == null) {
                  if (other$placeIdList == null) {
                     break label76;
                  }
               } else if (this$placeIdList.equals(other$placeIdList)) {
                  break label76;
               }

               return false;
            }

            Object this$chronicIds = this.getChronicIds();
            Object other$chronicIds = other.getChronicIds();
            if (this$chronicIds == null) {
               if (other$chronicIds != null) {
                  return false;
               }
            } else if (!this$chronicIds.equals(other$chronicIds)) {
               return false;
            }

            Object this$doctorAdviceList = this.getDoctorAdviceList();
            Object other$doctorAdviceList = other.getDoctorAdviceList();
            if (this$doctorAdviceList == null) {
               if (other$doctorAdviceList != null) {
                  return false;
               }
            } else if (!this$doctorAdviceList.equals(other$doctorAdviceList)) {
               return false;
            }

            Object this$exportCols = this.getExportCols();
            Object other$exportCols = other.getExportCols();
            if (this$exportCols == null) {
               if (other$exportCols != null) {
                  return false;
               }
            } else if (!this$exportCols.equals(other$exportCols)) {
               return false;
            }

            return true;
         }
      }
   }

   protected boolean canEqual(final Object other) {
      return other instanceof HealthInfoPageDto;
   }

   @Override
   public int hashCode() {
      int result = super.hashCode();
      Object $sex = this.getSex();
      result = result * 59 + ($sex == null ? 43 : $sex.hashCode());
      Object $keyword = this.getKeyword();
      result = result * 59 + ($keyword == null ? 43 : $keyword.hashCode());
      Object $orgIdList = this.getOrgIdList();
      result = result * 59 + ($orgIdList == null ? 43 : $orgIdList.hashCode());
      Object $placeIdList = this.getPlaceIdList();
      result = result * 59 + ($placeIdList == null ? 43 : $placeIdList.hashCode());
      Object $chronicIds = this.getChronicIds();
      result = result * 59 + ($chronicIds == null ? 43 : $chronicIds.hashCode());
      Object $doctorAdviceList = this.getDoctorAdviceList();
      result = result * 59 + ($doctorAdviceList == null ? 43 : $doctorAdviceList.hashCode());
      Object $exportCols = this.getExportCols();
      result = result * 59 + ($exportCols == null ? 43 : $exportCols.hashCode());
      return result;
   }

   public String getKeyword() {
      return this.keyword;
   }

   public Integer getSex() {
      return this.sex;
   }

   public List<Long> getOrgIdList() {
      return this.orgIdList;
   }

   public List<Long> getPlaceIdList() {
      return this.placeIdList;
   }

   public List<Long> getChronicIds() {
      return this.chronicIds;
   }

   public List<Integer> getDoctorAdviceList() {
      return this.doctorAdviceList;
   }

   public List<String> getExportCols() {
      return this.exportCols;
   }

   public void setKeyword(final String keyword) {
      this.keyword = keyword;
   }

   public void setSex(final Integer sex) {
      this.sex = sex;
   }

   public void setOrgIdList(final List<Long> orgIdList) {
      this.orgIdList = orgIdList;
   }

   public void setPlaceIdList(final List<Long> placeIdList) {
      this.placeIdList = placeIdList;
   }

   public void setChronicIds(final List<Long> chronicIds) {
      this.chronicIds = chronicIds;
   }

   public void setDoctorAdviceList(final List<Integer> doctorAdviceList) {
      this.doctorAdviceList = doctorAdviceList;
   }

   public void setExportCols(final List<String> exportCols) {
      this.exportCols = exportCols;
   }

   @Override
   public String toString() {
      String var10000 = this.getKeyword();
      return "HealthInfoPageDto(keyword=" + var10000 + ", sex=" + this.getSex() + ", orgIdList=" + String.valueOf(this.getOrgIdList()) + ", placeIdList=" + String.valueOf(this.getPlaceIdList()) + ", chronicIds=" + String.valueOf(this.getChronicIds()) + ", doctorAdviceList=" + String.valueOf(this.getDoctorAdviceList()) + ", exportCols=" + String.valueOf(this.getExportCols()) + ")";
   }

   public HealthInfoPageDto() {
   }

   public HealthInfoPageDto(final String keyword, final Integer sex, final List<Long> orgIdList, final List<Long> placeIdList, final List<Long> chronicIds, final List<Integer> doctorAdviceList, final List<String> exportCols) {
      this.keyword = keyword;
      this.sex = sex;
      this.orgIdList = orgIdList;
      this.placeIdList = placeIdList;
      this.chronicIds = chronicIds;
      this.doctorAdviceList = doctorAdviceList;
      this.exportCols = exportCols;
   }
}
