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

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 草畜失衡预警，对应表 {@code biz_grass_livestock_imbalance_warning}。
 * <p>由家庭牧场 / 农牧户 / 养殖大户填报在核定载畜量 &lt; 存栏绵羊单位时写入。</p>
 */
public class BizGrassLivestockImbalanceWarning extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    private Long id;

    /** 业务键，如 FR-123 */
    private String sourceKey;

    private String dataSource;

    private Long sourceRecordId;

    private Integer statYear;

    private Integer statMonth;

    private Long townDeptId;

    private String townName;

    private Long villageDeptId;

    private String villageName;

    /** 主体名称（企业名或村名等） */
    private String subjectName;

    private BigDecimal approvedCarryingCapacity;

    private BigDecimal yearEndStockSheepUnit;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date alertTime;

    private String alertMessage;

    /** 列表筛选：预警开始日 yyyy-MM-dd */
    private String startDate;

    /** 列表筛选：预警结束日 yyyy-MM-dd */
    private String endDate;

    private Date alertTimeBegin;

    private Date alertTimeEnd;

    public Long getId()
    {
        return id;
    }

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

    public String getSourceKey()
    {
        return sourceKey;
    }

    public void setSourceKey(String sourceKey)
    {
        this.sourceKey = sourceKey;
    }

    public String getDataSource()
    {
        return dataSource;
    }

    public void setDataSource(String dataSource)
    {
        this.dataSource = dataSource;
    }

    public Long getSourceRecordId()
    {
        return sourceRecordId;
    }

    public void setSourceRecordId(Long sourceRecordId)
    {
        this.sourceRecordId = sourceRecordId;
    }

    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 String getSubjectName()
    {
        return subjectName;
    }

    public void setSubjectName(String subjectName)
    {
        this.subjectName = subjectName;
    }

    public BigDecimal getApprovedCarryingCapacity()
    {
        return approvedCarryingCapacity;
    }

    public void setApprovedCarryingCapacity(BigDecimal approvedCarryingCapacity)
    {
        this.approvedCarryingCapacity = approvedCarryingCapacity;
    }

    public BigDecimal getYearEndStockSheepUnit()
    {
        return yearEndStockSheepUnit;
    }

    public void setYearEndStockSheepUnit(BigDecimal yearEndStockSheepUnit)
    {
        this.yearEndStockSheepUnit = yearEndStockSheepUnit;
    }

    public Date getAlertTime()
    {
        return alertTime;
    }

    public void setAlertTime(Date alertTime)
    {
        this.alertTime = alertTime;
    }

    public String getAlertMessage()
    {
        return alertMessage;
    }

    public void setAlertMessage(String alertMessage)
    {
        this.alertMessage = alertMessage;
    }

    public String getStartDate()
    {
        return startDate;
    }

    public void setStartDate(String startDate)
    {
        this.startDate = startDate;
    }

    public String getEndDate()
    {
        return endDate;
    }

    public void setEndDate(String endDate)
    {
        this.endDate = endDate;
    }

    public Date getAlertTimeBegin()
    {
        return alertTimeBegin;
    }

    public void setAlertTimeBegin(Date alertTimeBegin)
    {
        this.alertTimeBegin = alertTimeBegin;
    }

    public Date getAlertTimeEnd()
    {
        return alertTimeEnd;
    }

    public void setAlertTimeEnd(Date alertTimeEnd)
    {
        this.alertTimeEnd = alertTimeEnd;
    }
}
