package com.bonus.canteen.core.nutrition.common.model;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;

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

@TableName("health_info")
public class HealthInfo {
   @TableId("id")
   private Long id;
   @TableField("user_id")
   private Long userId;
   @TableField("blood_type")
   private Integer bloodType;
   @TableField("marital_status")
   private Integer maritalStatus;
   @TableField("pregnant_status")
   private Integer pregnantStatus;
   @TableField("pregnancy_date")
   private LocalDate pregnancyDate;
   @TableField("doctor_advice")
   private Integer doctorAdvice;
   @TableField("if_hospitalized")
   private Integer ifHospitalized;
   @ApiModelProperty("就诊号")
   @TableField("doctor_num")
   private String doctorNum;
   @ApiModelProperty("住院号")
   @TableField("hospital_num")
   private String hospitalNum;
   @TableField("inpatient_date")
   private LocalDate inpatientDate;
   @TableField("inpatient_result")
   private String inpatientResult;
   @TableField("weight_control")
   private Integer weightControl;
   @TableField("allergen")
   private String allergen;
   @TableField("labour_intensity")
   private Integer labourIntensity;
   @TableField("health_state")
   private Integer healthState;
   @TableField("del_flag")
   private Integer delFlag;
   @TableField("create_by")
   private String createBy;
   @TableField("create_time")
   private LocalDateTime createTime;
   @TableField("update_by")
   private String updateBy;
   @TableField("update_time")
   private LocalDateTime updateTime;
   @ApiModelProperty("人员编号")
   @TableField(
      exist = false
   )
   private String custNum;
   @ApiModelProperty("人员名称")
   @TableField(
      exist = false
   )
   private String custName;
   @ApiModelProperty("所属组织")
   @TableField(
      exist = false
   )
   private String orgFullName;
   @ApiModelProperty("位置信息")
   @TableField(
      exist = false
   )
   private String placeFullName;
   @ApiModelProperty("手机号")
   @TableField(
      exist = false
   )
   private String mobile;
   @ApiModelProperty("人员头像")
   @TableField(
      exist = false
   )
   private String custPhotoUrl;
   @ApiModelProperty("年龄")
   @TableField(
      exist = false
   )
   private Integer age;
   @ApiModelProperty("性别")
   @TableField(
      exist = false
   )
   private Integer sex;
   @ApiModelProperty("身高")
   @TableField(
      exist = false
   )
   private BigDecimal height;
   @ApiModelProperty("体重")
   @TableField(
      exist = false
   )
   private BigDecimal weight;
   @ApiModelProperty("BMI指数")
   @TableField(
      exist = false
   )
   private BigDecimal bmi;

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

   public Long getUserId() {
      return this.userId;
   }

   public Integer getBloodType() {
      return this.bloodType;
   }

   public Integer getMaritalStatus() {
      return this.maritalStatus;
   }

   public Integer getPregnantStatus() {
      return this.pregnantStatus;
   }

   public LocalDate getPregnancyDate() {
      return this.pregnancyDate;
   }

   public Integer getDoctorAdvice() {
      return this.doctorAdvice;
   }

   public Integer getIfHospitalized() {
      return this.ifHospitalized;
   }

   public String getDoctorNum() {
      return this.doctorNum;
   }

   public String getHospitalNum() {
      return this.hospitalNum;
   }

   public LocalDate getInpatientDate() {
      return this.inpatientDate;
   }

   public String getInpatientResult() {
      return this.inpatientResult;
   }

   public Integer getWeightControl() {
      return this.weightControl;
   }

   public String getAllergen() {
      return this.allergen;
   }

   public Integer getLabourIntensity() {
      return this.labourIntensity;
   }

   public Integer getHealthState() {
      return this.healthState;
   }

   public Integer getDelFlag() {
      return this.delFlag;
   }

   public String getCreateBy() {
      return this.createBy;
   }

   public LocalDateTime getCreateTime() {
      return this.createTime;
   }

   public String getUpdateBy() {
      return this.updateBy;
   }

   public LocalDateTime getUpdateTime() {
      return this.updateTime;
   }

   public String getCustNum() {
      return this.custNum;
   }

   public String getCustName() {
      return this.custName;
   }

   public String getOrgFullName() {
      return this.orgFullName;
   }

   public String getPlaceFullName() {
      return this.placeFullName;
   }

   public String getMobile() {
      return this.mobile;
   }

   public String getCustPhotoUrl() {
      return this.custPhotoUrl;
   }

   public Integer getAge() {
      return this.age;
   }

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

   public BigDecimal getHeight() {
      return this.height;
   }

   public BigDecimal getWeight() {
      return this.weight;
   }

   public BigDecimal getBmi() {
      return this.bmi;
   }

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

   public void setUserId(final Long userId) {
      this.userId = userId;
   }

   public void setBloodType(final Integer bloodType) {
      this.bloodType = bloodType;
   }

   public void setMaritalStatus(final Integer maritalStatus) {
      this.maritalStatus = maritalStatus;
   }

   public void setPregnantStatus(final Integer pregnantStatus) {
      this.pregnantStatus = pregnantStatus;
   }

   public void setPregnancyDate(final LocalDate pregnancyDate) {
      this.pregnancyDate = pregnancyDate;
   }

   public void setDoctorAdvice(final Integer doctorAdvice) {
      this.doctorAdvice = doctorAdvice;
   }

   public void setIfHospitalized(final Integer ifHospitalized) {
      this.ifHospitalized = ifHospitalized;
   }

   public void setDoctorNum(final String doctorNum) {
      this.doctorNum = doctorNum;
   }

   public void setHospitalNum(final String hospitalNum) {
      this.hospitalNum = hospitalNum;
   }

   public void setInpatientDate(final LocalDate inpatientDate) {
      this.inpatientDate = inpatientDate;
   }

   public void setInpatientResult(final String inpatientResult) {
      this.inpatientResult = inpatientResult;
   }

   public void setWeightControl(final Integer weightControl) {
      this.weightControl = weightControl;
   }

   public void setAllergen(final String allergen) {
      this.allergen = allergen;
   }

   public void setLabourIntensity(final Integer labourIntensity) {
      this.labourIntensity = labourIntensity;
   }

   public void setHealthState(final Integer healthState) {
      this.healthState = healthState;
   }

   public void setDelFlag(final Integer delFlag) {
      this.delFlag = delFlag;
   }

   public void setCreateBy(final String createBy) {
      this.createBy = createBy;
   }

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

   public void setUpdateBy(final String updateBy) {
      this.updateBy = updateBy;
   }

   public void setUpdateTime(final LocalDateTime updateTime) {
      this.updateTime = updateTime;
   }

   public void setCustNum(final String custNum) {
      this.custNum = custNum;
   }

   public void setCustName(final String custName) {
      this.custName = custName;
   }

   public void setOrgFullName(final String orgFullName) {
      this.orgFullName = orgFullName;
   }

   public void setPlaceFullName(final String placeFullName) {
      this.placeFullName = placeFullName;
   }

   public void setMobile(final String mobile) {
      this.mobile = mobile;
   }

   public void setCustPhotoUrl(final String custPhotoUrl) {
      this.custPhotoUrl = custPhotoUrl;
   }

   public void setAge(final Integer age) {
      this.age = age;
   }

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

   public void setHeight(final BigDecimal height) {
      this.height = height;
   }

   public void setWeight(final BigDecimal weight) {
      this.weight = weight;
   }

   public void setBmi(final BigDecimal bmi) {
      this.bmi = bmi;
   }


   public HealthInfo(final Long id, final Long userId, final Integer bloodType, final Integer maritalStatus,
                     final Integer pregnantStatus, final LocalDate pregnancyDate,
                     final Integer doctorAdvice, final Integer ifHospitalized,
                     final String doctorNum, final String hospitalNum, final LocalDate inpatientDate,
                     final String inpatientResult, final Integer weightControl,
                     final String allergen, final Integer labourIntensity, final Integer healthState,
                     final Integer delFlag, final String createBy, final LocalDateTime createTime,
                     final String updateBy, final LocalDateTime updateTime, final String custNum,
                     final String custName, final String orgFullName, final String placeFullName,
                     final String mobile, final String custPhotoUrl, final Integer age,
                     final Integer sex, final BigDecimal height, final BigDecimal weight, final BigDecimal bmi) {
      this.id = id;
      this.userId = userId;
      this.bloodType = bloodType;
      this.maritalStatus = maritalStatus;
      this.pregnantStatus = pregnantStatus;
      this.pregnancyDate = pregnancyDate;
      this.doctorAdvice = doctorAdvice;
      this.ifHospitalized = ifHospitalized;
      this.doctorNum = doctorNum;
      this.hospitalNum = hospitalNum;
      this.inpatientDate = inpatientDate;
      this.inpatientResult = inpatientResult;
      this.weightControl = weightControl;
      this.allergen = allergen;
      this.labourIntensity = labourIntensity;
      this.healthState = healthState;
      this.delFlag = delFlag;
      this.createBy = createBy;
      this.createTime = createTime;
      this.updateBy = updateBy;
      this.updateTime = updateTime;
      this.custNum = custNum;
      this.custName = custName;
      this.orgFullName = orgFullName;
      this.placeFullName = placeFullName;
      this.mobile = mobile;
      this.custPhotoUrl = custPhotoUrl;
      this.age = age;
      this.sex = sex;
      this.height = height;
      this.weight = weight;
      this.bmi = bmi;
   }

   public HealthInfo() {
   }
}
