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

import java.util.Date;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 疫情上报 biz_epidemic_report
 */
public class BizEpidemicReport extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    private Long id;

    @NotNull(message = "上报日期不能为空")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date reportDate;

    @NotNull(message = "传播途径不能为空")
    private Integer transmissionRoute;

    @NotBlank(message = "涉疫点位/轨迹不能为空")
    @Size(min = 1, max = 500, message = "涉疫点位/轨迹长度为1到500个字符")
    private String affectedLocationTrack;

    @NotNull(message = "疫病类型不能为空")
    private Integer epidemicType;

    @NotBlank(message = "疫病名称不能为空")
    @Size(min = 1, max = 50, message = "疫病名称长度为1到50个字符")
    private String epidemicName;

    @NotNull(message = "风险等级不能为空")
    private Integer riskLevel;

    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date releaseDate;

    /** 派生：0 未解除 1 已解除（非表字段，列表筛选可用） */
    private Integer relieveStatus;

    public Long getId()
    {
        return id;
    }

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

    public Date getReportDate()
    {
        return reportDate;
    }

    public void setReportDate(Date reportDate)
    {
        this.reportDate = reportDate;
    }

    public Integer getTransmissionRoute()
    {
        return transmissionRoute;
    }

    public void setTransmissionRoute(Integer transmissionRoute)
    {
        this.transmissionRoute = transmissionRoute;
    }

    public String getAffectedLocationTrack()
    {
        return affectedLocationTrack;
    }

    public void setAffectedLocationTrack(String affectedLocationTrack)
    {
        this.affectedLocationTrack = affectedLocationTrack;
    }

    public Integer getEpidemicType()
    {
        return epidemicType;
    }

    public void setEpidemicType(Integer epidemicType)
    {
        this.epidemicType = epidemicType;
    }

    public String getEpidemicName()
    {
        return epidemicName;
    }

    public void setEpidemicName(String epidemicName)
    {
        this.epidemicName = epidemicName;
    }

    public Integer getRiskLevel()
    {
        return riskLevel;
    }

    public void setRiskLevel(Integer riskLevel)
    {
        this.riskLevel = riskLevel;
    }

    public Date getReleaseDate()
    {
        return releaseDate;
    }

    public void setReleaseDate(Date releaseDate)
    {
        this.releaseDate = releaseDate;
    }

    public Integer getRelieveStatus()
    {
        return relieveStatus;
    }

    public void setRelieveStatus(Integer relieveStatus)
    {
        this.relieveStatus = relieveStatus;
    }
}
