package com.ruoyi.web.modules.industryservice.domain;

import java.math.BigDecimal;
import javax.validation.constraints.NotNull;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 疫苗接种数据填报实体，对应表 {@code biz_vaccination_data}。
 * <p>
 * 粒度：某一自然年、某一自然月、某一行政村快照。<br>
 * 唯一键：{@code (stat_year, stat_month, village_dept_id)}。<br>
 * 免疫率派生落库：{@code (实免数/应免数)×100}，保留 2 位小数（如 98.33）。
 * </p>
 */
public class BizVaccinationData extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    private Long id;

    @NotNull(message = "所属年份不能为空")
    private Integer statYear;

    @NotNull(message = "所属月份不能为空")
    private Integer statMonth;

    /** 由村反推 */
    private Long townDeptId;

    private String townName;

    @NotNull(message = "所属村不能为空")
    private Long villageDeptId;

    private String villageName;

    /** 应免数（头） */
    private Integer shouldVaccinateCount;

    /** 实免数（头） */
    private Integer actualVaccinateCount;

    /** 免疫率（派生：(实免/应免)×100，保留 2 位小数） */
    private BigDecimal immunityRate;

    public Long getId()
    {
        return id;
    }

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

    public Integer getStatYear()
    {
        return statYear;
    }

    public void setStatYear(Integer statYear)
    {
        this.statYear = statYear;
    }

    public Integer getStatMonth()
    {
        return statMonth;
    }

    public void setStatMonth(Integer statMonth)
    {
        this.statMonth = statMonth;
    }

    public Long getTownDeptId()
    {
        return townDeptId;
    }

    public void setTownDeptId(Long townDeptId)
    {
        this.townDeptId = townDeptId;
    }

    public String getTownName()
    {
        return townName;
    }

    public void setTownName(String townName)
    {
        this.townName = townName;
    }

    public Long getVillageDeptId()
    {
        return villageDeptId;
    }

    public void setVillageDeptId(Long villageDeptId)
    {
        this.villageDeptId = villageDeptId;
    }

    public String getVillageName()
    {
        return villageName;
    }

    public void setVillageName(String villageName)
    {
        this.villageName = villageName;
    }

    public Integer getShouldVaccinateCount()
    {
        return shouldVaccinateCount;
    }

    public void setShouldVaccinateCount(Integer shouldVaccinateCount)
    {
        this.shouldVaccinateCount = shouldVaccinateCount;
    }

    public Integer getActualVaccinateCount()
    {
        return actualVaccinateCount;
    }

    public void setActualVaccinateCount(Integer actualVaccinateCount)
    {
        this.actualVaccinateCount = actualVaccinateCount;
    }

    public BigDecimal getImmunityRate()
    {
        return immunityRate;
    }

    public void setImmunityRate(BigDecimal immunityRate)
    {
        this.immunityRate = immunityRate;
    }
}
