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

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;

/**
 * 第三方健康源实体，对应表 {@code biz_yak_health_source_record}。
 * <p>
 * 字段与 OpenAPI 检疫/诊疗/养殖过程返回对齐；经同步落库后由疾病预警分析器消费。<br>
 * {@code external_id} 全局唯一；{@code analyzed_flag} 为 {@code 0}/{@code 1}，分析后置 1 避免重复告警。
 * </p>
 */
public class BizYakHealthSourceRecord
{
    private Long id;

    /** 第三方唯一键，如 {@code Q:123} / {@code D:456} / {@code B:789} */
    private String externalId;

    /** 1检疫 2诊疗 3养殖过程，见 YakDiseaseWarningAnalysisRules */
    private Integer recordType;

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

    /** 地区键，与自然日一起作为集中预警分组维度 */
    private String regionKey;

    private Long farmId;

    private String farmName;

    private Long enclosureId;

    private String enclosureName;

    private Long cattleId;

    private String earTagNumber;

    /** 展示用编号：优先耳标，否则牛只ID */
    private String yakNo;

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

    private Long quarantineUnitId;

    private String quarantineUnitName;

    private Long quarantinePersonnelId;

    private String quarantinePersonnelName;

    private String quarantineItem;

    private String quarantineResult;

    private String quarantineReport;

    private String certificate;

    private String scenePicture;

    private String age;

    private String etiology;

    private String diagnosisResult;

    private String medicationName;

    private String medicationMethod;

    private String clinic;

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

    private String treatmentCycle;

    private String treatmentEffect;

    private String conditionChange;

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

    private String recoveryHealthStatus;

    private String recordNo;

    private String sourceType;

    private Long taskId;

    private String operationType;

    private Long batchId;

    private String cattleIds;

    private Long executorUserId;

    private String executorName;

    private String executeResult;

    private String detailJson;

    private String materialUsageJson;

    private String attachments;

    private String exceptionFlag;

    private String exceptionDesc;

    private String remark;

    /** 0未分析 1已分析；分析器处理后置 1，更新同步时保留原值 */
    private String analyzedFlag;

    /** 本条最近从第三方同步的时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date lastSyncTime;

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

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

    public Long getId()
    {
        return id;
    }

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

    public String getExternalId()
    {
        return externalId;
    }

    public void setExternalId(String externalId)
    {
        this.externalId = externalId;
    }

    public Integer getRecordType()
    {
        return recordType;
    }

    public void setRecordType(Integer recordType)
    {
        this.recordType = recordType;
    }

    public Date getRecordTime()
    {
        return recordTime;
    }

    public void setRecordTime(Date recordTime)
    {
        this.recordTime = recordTime;
    }

    public String getRegionKey()
    {
        return regionKey;
    }

    public void setRegionKey(String regionKey)
    {
        this.regionKey = regionKey;
    }

    public Long getFarmId()
    {
        return farmId;
    }

    public void setFarmId(Long farmId)
    {
        this.farmId = farmId;
    }

    public String getFarmName()
    {
        return farmName;
    }

    public void setFarmName(String farmName)
    {
        this.farmName = farmName;
    }

    public Long getEnclosureId()
    {
        return enclosureId;
    }

    public void setEnclosureId(Long enclosureId)
    {
        this.enclosureId = enclosureId;
    }

    public String getEnclosureName()
    {
        return enclosureName;
    }

    public void setEnclosureName(String enclosureName)
    {
        this.enclosureName = enclosureName;
    }

    public Long getCattleId()
    {
        return cattleId;
    }

    public void setCattleId(Long cattleId)
    {
        this.cattleId = cattleId;
    }

    public String getEarTagNumber()
    {
        return earTagNumber;
    }

    public void setEarTagNumber(String earTagNumber)
    {
        this.earTagNumber = earTagNumber;
    }

    public String getYakNo()
    {
        return yakNo;
    }

    public void setYakNo(String yakNo)
    {
        this.yakNo = yakNo;
    }

    public Date getSourceCreateTime()
    {
        return sourceCreateTime;
    }

    public void setSourceCreateTime(Date sourceCreateTime)
    {
        this.sourceCreateTime = sourceCreateTime;
    }

    public Long getQuarantineUnitId()
    {
        return quarantineUnitId;
    }

    public void setQuarantineUnitId(Long quarantineUnitId)
    {
        this.quarantineUnitId = quarantineUnitId;
    }

    public String getQuarantineUnitName()
    {
        return quarantineUnitName;
    }

    public void setQuarantineUnitName(String quarantineUnitName)
    {
        this.quarantineUnitName = quarantineUnitName;
    }

    public Long getQuarantinePersonnelId()
    {
        return quarantinePersonnelId;
    }

    public void setQuarantinePersonnelId(Long quarantinePersonnelId)
    {
        this.quarantinePersonnelId = quarantinePersonnelId;
    }

    public String getQuarantinePersonnelName()
    {
        return quarantinePersonnelName;
    }

    public void setQuarantinePersonnelName(String quarantinePersonnelName)
    {
        this.quarantinePersonnelName = quarantinePersonnelName;
    }

    public String getQuarantineItem()
    {
        return quarantineItem;
    }

    public void setQuarantineItem(String quarantineItem)
    {
        this.quarantineItem = quarantineItem;
    }

    public String getQuarantineResult()
    {
        return quarantineResult;
    }

    public void setQuarantineResult(String quarantineResult)
    {
        this.quarantineResult = quarantineResult;
    }

    public String getQuarantineReport()
    {
        return quarantineReport;
    }

    public void setQuarantineReport(String quarantineReport)
    {
        this.quarantineReport = quarantineReport;
    }

    public String getCertificate()
    {
        return certificate;
    }

    public void setCertificate(String certificate)
    {
        this.certificate = certificate;
    }

    public String getScenePicture()
    {
        return scenePicture;
    }

    public void setScenePicture(String scenePicture)
    {
        this.scenePicture = scenePicture;
    }

    public String getAge()
    {
        return age;
    }

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

    public String getEtiology()
    {
        return etiology;
    }

    public void setEtiology(String etiology)
    {
        this.etiology = etiology;
    }

    public String getDiagnosisResult()
    {
        return diagnosisResult;
    }

    public void setDiagnosisResult(String diagnosisResult)
    {
        this.diagnosisResult = diagnosisResult;
    }

    public String getMedicationName()
    {
        return medicationName;
    }

    public void setMedicationName(String medicationName)
    {
        this.medicationName = medicationName;
    }

    public String getMedicationMethod()
    {
        return medicationMethod;
    }

    public void setMedicationMethod(String medicationMethod)
    {
        this.medicationMethod = medicationMethod;
    }

    public String getClinic()
    {
        return clinic;
    }

    public void setClinic(String clinic)
    {
        this.clinic = clinic;
    }

    public Date getTreatmentTime()
    {
        return treatmentTime;
    }

    public void setTreatmentTime(Date treatmentTime)
    {
        this.treatmentTime = treatmentTime;
    }

    public String getTreatmentCycle()
    {
        return treatmentCycle;
    }

    public void setTreatmentCycle(String treatmentCycle)
    {
        this.treatmentCycle = treatmentCycle;
    }

    public String getTreatmentEffect()
    {
        return treatmentEffect;
    }

    public void setTreatmentEffect(String treatmentEffect)
    {
        this.treatmentEffect = treatmentEffect;
    }

    public String getConditionChange()
    {
        return conditionChange;
    }

    public void setConditionChange(String conditionChange)
    {
        this.conditionChange = conditionChange;
    }

    public Date getRecoveryTime()
    {
        return recoveryTime;
    }

    public void setRecoveryTime(Date recoveryTime)
    {
        this.recoveryTime = recoveryTime;
    }

    public String getRecoveryHealthStatus()
    {
        return recoveryHealthStatus;
    }

    public void setRecoveryHealthStatus(String recoveryHealthStatus)
    {
        this.recoveryHealthStatus = recoveryHealthStatus;
    }

    public String getRecordNo()
    {
        return recordNo;
    }

    public void setRecordNo(String recordNo)
    {
        this.recordNo = recordNo;
    }

    public String getSourceType()
    {
        return sourceType;
    }

    public void setSourceType(String sourceType)
    {
        this.sourceType = sourceType;
    }

    public Long getTaskId()
    {
        return taskId;
    }

    public void setTaskId(Long taskId)
    {
        this.taskId = taskId;
    }

    public String getOperationType()
    {
        return operationType;
    }

    public void setOperationType(String operationType)
    {
        this.operationType = operationType;
    }

    public Long getBatchId()
    {
        return batchId;
    }

    public void setBatchId(Long batchId)
    {
        this.batchId = batchId;
    }

    public String getCattleIds()
    {
        return cattleIds;
    }

    public void setCattleIds(String cattleIds)
    {
        this.cattleIds = cattleIds;
    }

    public Long getExecutorUserId()
    {
        return executorUserId;
    }

    public void setExecutorUserId(Long executorUserId)
    {
        this.executorUserId = executorUserId;
    }

    public String getExecutorName()
    {
        return executorName;
    }

    public void setExecutorName(String executorName)
    {
        this.executorName = executorName;
    }

    public String getExecuteResult()
    {
        return executeResult;
    }

    public void setExecuteResult(String executeResult)
    {
        this.executeResult = executeResult;
    }

    public String getDetailJson()
    {
        return detailJson;
    }

    public void setDetailJson(String detailJson)
    {
        this.detailJson = detailJson;
    }

    public String getMaterialUsageJson()
    {
        return materialUsageJson;
    }

    public void setMaterialUsageJson(String materialUsageJson)
    {
        this.materialUsageJson = materialUsageJson;
    }

    public String getAttachments()
    {
        return attachments;
    }

    public void setAttachments(String attachments)
    {
        this.attachments = attachments;
    }

    public String getExceptionFlag()
    {
        return exceptionFlag;
    }

    public void setExceptionFlag(String exceptionFlag)
    {
        this.exceptionFlag = exceptionFlag;
    }

    public String getExceptionDesc()
    {
        return exceptionDesc;
    }

    public void setExceptionDesc(String exceptionDesc)
    {
        this.exceptionDesc = exceptionDesc;
    }

    public String getRemark()
    {
        return remark;
    }

    public void setRemark(String remark)
    {
        this.remark = remark;
    }

    public String getAnalyzedFlag()
    {
        return analyzedFlag;
    }

    public void setAnalyzedFlag(String analyzedFlag)
    {
        this.analyzedFlag = analyzedFlag;
    }

    public Date getLastSyncTime()
    {
        return lastSyncTime;
    }

    public void setLastSyncTime(Date lastSyncTime)
    {
        this.lastSyncTime = lastSyncTime;
    }

    public Date getCreateTime()
    {
        return createTime;
    }

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

    public Date getUpdateTime()
    {
        return updateTime;
    }

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