package com.zhyc.module.base.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.zhyc.common.annotation.Excel;
import com.zhyc.common.core.domain.BaseEntity;

/**
 * VIEW对象 sheep_pedigree
 * 
 * @author ruoyi
 * @date 2026-02-04
 */
public class SheepPedigree extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 管理耳号 */
    @Excel(name = "管理耳号")
    private String bsManageTags;

    /** 牧场id */
    @Excel(name = "牧场id")
    private Long ranchId;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String drRanch;

    /** 羊舍id */
    @Excel(name = "羊舍id")
    private Long sheepfoldId;

    /** 羊舍名称 */
    @Excel(name = "羊舍名称")
    private String sheepfoldName;

    /** 电子耳号 */
    @Excel(name = "电子耳号")
    private String electronicTags;

    /** 品种id */
    @Excel(name = "品种id")
    private Long varietyId;

    /** 品种 */
    @Excel(name = "品种")
    private String variety;

    /** 家系 */
    @Excel(name = "家系")
    private String family;

    /** 羊只类型 */
    @Excel(name = "羊只类型")
    private String name;

    /** 性别 */
    @Excel(name = "性别")
    private Long gender;

    /** 出生日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出生日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date birthday;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private Long dayAge;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private Long monthAge;

    /** 胎次 */
    @Excel(name = "胎次")
    private Long parity;

    /** 出生体重 */
    @Excel(name = "出生体重")
    private Long birthWeight;

    /** 断奶日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "断奶日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date weaningDate;

    /** 羊只状态 */
    @Excel(name = "羊只状态")
    private Long statusId;

    /** 断奶体重 */
    @Excel(name = "断奶体重")
    private Long weaningWeight;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private Long weaningDayAge;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private BigDecimal weaningDailyGain;

    /** 当前体重 */
    @Excel(name = "当前体重")
    private Long currentWeight;

    /** 繁育状态id */
    @Excel(name = "繁育状态id")
    private Long breedStatusId;

    /** 繁殖状态 */
    @Excel(name = "繁殖状态")
    private String breed;

    /** 父号id */
    @Excel(name = "父号id")
    private Long bsFatherId;

    /** 管理耳号 */
    @Excel(name = "管理耳号")
    private String fatherManageTags;

    /** 母号id */
    @Excel(name = "母号id")
    private Long bsMotherId;

    /** 管理耳号 */
    @Excel(name = "管理耳号")
    private String motherManageTags;

    /** 受体id */
    @Excel(name = "受体id")
    private Long receptorId;

    /** 管理耳号 */
    @Excel(name = "管理耳号")
    private String receptorManageTags;

    /** 父号id */
    @Excel(name = "父号id")
    private Long fatherFatherId;

    /** 管理耳号 */
    @Excel(name = "祖父管理耳号")
    private String grandfatherManageTags;

    /** 母号id */
    @Excel(name = "母号id")
    private Long fatherMotherId;

    /** 管理耳号 */
    @Excel(name = "祖母管理耳号")
    private String grandmotherManageTags;

    /** 父号id */
    @Excel(name = "父号id")
    private Long fatherId;

    /** 管理耳号 */
    @Excel(name = "管理耳号")
    private String maternalGrandfatherManageTags;

    /** 母号id */
    @Excel(name = "母号id")
    private Long motherId;

    /** 管理耳号 */
    @Excel(name = "管理耳号")
    private String maternalGrandmotherManageTags;

    /** 配种日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "配种日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date matingDate;

    /** 配种类型 */
    @Excel(name = "配种类型")
    private Long matingTypeId;

    /** 孕检日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "孕检日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date pregDate;

    /** 产羔日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "产羔日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date lambingDate;

    /** 产羔时怀孕天数 */
    @Excel(name = "产羔时怀孕天数")
    private Long lambingDay;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private Long matingDay;

    /** 怀孕天数 */
    @Excel(name = "怀孕天数")
    private Long gestationDay;

    /** 预产日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "预产日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date expectedDate;

    /** 产后天数 */
    @Excel(name = "产后天数")
    private Long postLambingDay;

    /** 泌乳天数 */
    @Excel(name = "泌乳天数")
    private Long lactationDay;

    /** 空怀天数 */
    @Excel(name = "空怀天数")
    private Long anestrousDay;

    /** 配种次数 */
    @Excel(name = "配种次数")
    private Long matingCounts;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private Long matingTotal;

    /** 累计流产次数 */
    @Excel(name = "累计流产次数")
    private Long miscarriageCounts;

    /** 备注 */
    @Excel(name = "备注")
    private String comment;

    /** 是否性控 */
    @Excel(name = "是否性控")
    private Long controlled;

    /** 体况评分 */
    @Excel(name = "体况评分")
    private Long body;

    /** 乳房评分 */
    @Excel(name = "乳房评分")
    private Long breast;

    /** 入群来源 */
    @Excel(name = "入群来源")
    private String source;

    /** 入群日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "入群日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date sourceDate;

    /** 来源牧场id */
    @Excel(name = "来源牧场id")
    private Long sourceRanchId;

    /** $column.columnComment */
    @Excel(name = "来源牧场", readConverterExp = "$column.readConverterExp()")
    private String sourceRanch;

    /** 是否删除 */
    @Excel(name = "是否删除")
    private Long isDelete;

    /** $column.columnComment */
    @Excel(name = "毛色", readConverterExp = "$column.readConverterExp()")
    private String sheepColor;

    /** $column.columnComment */
    @Excel(name = "等级", readConverterExp = "$column.readConverterExp()")
    private String groupName;

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

    public Long getId() 
    {
        return id;
    }

    public void setBsManageTags(String bsManageTags) 
    {
        this.bsManageTags = bsManageTags;
    }

    public String getBsManageTags() 
    {
        return bsManageTags;
    }

    public void setRanchId(Long ranchId) 
    {
        this.ranchId = ranchId;
    }

    public Long getRanchId() 
    {
        return ranchId;
    }

    public void setDrRanch(String drRanch) 
    {
        this.drRanch = drRanch;
    }

    public String getDrRanch() 
    {
        return drRanch;
    }

    public void setSheepfoldId(Long sheepfoldId) 
    {
        this.sheepfoldId = sheepfoldId;
    }

    public Long getSheepfoldId() 
    {
        return sheepfoldId;
    }

    public void setSheepfoldName(String sheepfoldName) 
    {
        this.sheepfoldName = sheepfoldName;
    }

    public String getSheepfoldName() 
    {
        return sheepfoldName;
    }

    public void setElectronicTags(String electronicTags) 
    {
        this.electronicTags = electronicTags;
    }

    public String getElectronicTags() 
    {
        return electronicTags;
    }

    public void setVarietyId(Long varietyId) 
    {
        this.varietyId = varietyId;
    }

    public Long getVarietyId() 
    {
        return varietyId;
    }

    public void setVariety(String variety) 
    {
        this.variety = variety;
    }

    public String getVariety() 
    {
        return variety;
    }

    public void setFamily(String family) 
    {
        this.family = family;
    }

    public String getFamily() 
    {
        return family;
    }

    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }

    public void setGender(Long gender) 
    {
        this.gender = gender;
    }

    public Long getGender() 
    {
        return gender;
    }

    public void setBirthday(Date birthday) 
    {
        this.birthday = birthday;
    }

    public Date getBirthday() 
    {
        return birthday;
    }

    public void setDayAge(Long dayAge) 
    {
        this.dayAge = dayAge;
    }

    public Long getDayAge() 
    {
        return dayAge;
    }

    public void setMonthAge(Long monthAge) 
    {
        this.monthAge = monthAge;
    }

    public Long getMonthAge() 
    {
        return monthAge;
    }

    public void setParity(Long parity) 
    {
        this.parity = parity;
    }

    public Long getParity() 
    {
        return parity;
    }

    public void setBirthWeight(Long birthWeight) 
    {
        this.birthWeight = birthWeight;
    }

    public Long getBirthWeight() 
    {
        return birthWeight;
    }

    public void setWeaningDate(Date weaningDate) 
    {
        this.weaningDate = weaningDate;
    }

    public Date getWeaningDate() 
    {
        return weaningDate;
    }

    public void setStatusId(Long statusId) 
    {
        this.statusId = statusId;
    }

    public Long getStatusId() 
    {
        return statusId;
    }

    public void setWeaningWeight(Long weaningWeight) 
    {
        this.weaningWeight = weaningWeight;
    }

    public Long getWeaningWeight() 
    {
        return weaningWeight;
    }

    public void setWeaningDayAge(Long weaningDayAge) 
    {
        this.weaningDayAge = weaningDayAge;
    }

    public Long getWeaningDayAge() 
    {
        return weaningDayAge;
    }

    public void setWeaningDailyGain(BigDecimal weaningDailyGain) 
    {
        this.weaningDailyGain = weaningDailyGain;
    }

    public BigDecimal getWeaningDailyGain() 
    {
        return weaningDailyGain;
    }

    public void setCurrentWeight(Long currentWeight) 
    {
        this.currentWeight = currentWeight;
    }

    public Long getCurrentWeight() 
    {
        return currentWeight;
    }

    public void setBreedStatusId(Long breedStatusId) 
    {
        this.breedStatusId = breedStatusId;
    }

    public Long getBreedStatusId() 
    {
        return breedStatusId;
    }

    public void setBreed(String breed) 
    {
        this.breed = breed;
    }

    public String getBreed() 
    {
        return breed;
    }

    public void setBsFatherId(Long bsFatherId) 
    {
        this.bsFatherId = bsFatherId;
    }

    public Long getBsFatherId() 
    {
        return bsFatherId;
    }

    public void setFatherManageTags(String fatherManageTags) 
    {
        this.fatherManageTags = fatherManageTags;
    }

    public String getFatherManageTags() 
    {
        return fatherManageTags;
    }

    public void setBsMotherId(Long bsMotherId) 
    {
        this.bsMotherId = bsMotherId;
    }

    public Long getBsMotherId() 
    {
        return bsMotherId;
    }

    public void setMotherManageTags(String motherManageTags) 
    {
        this.motherManageTags = motherManageTags;
    }

    public String getMotherManageTags() 
    {
        return motherManageTags;
    }

    public void setReceptorId(Long receptorId) 
    {
        this.receptorId = receptorId;
    }

    public Long getReceptorId() 
    {
        return receptorId;
    }

    public void setReceptorManageTags(String receptorManageTags) 
    {
        this.receptorManageTags = receptorManageTags;
    }

    public String getReceptorManageTags() 
    {
        return receptorManageTags;
    }

    public void setFatherFatherId(Long fatherFatherId) 
    {
        this.fatherFatherId = fatherFatherId;
    }

    public Long getFatherFatherId() 
    {
        return fatherFatherId;
    }

    public void setGrandfatherManageTags(String grandfatherManageTags) 
    {
        this.grandfatherManageTags = grandfatherManageTags;
    }

    public String getGrandfatherManageTags() 
    {
        return grandfatherManageTags;
    }

    public void setFatherMotherId(Long fatherMotherId) 
    {
        this.fatherMotherId = fatherMotherId;
    }

    public Long getFatherMotherId() 
    {
        return fatherMotherId;
    }

    public void setGrandmotherManageTags(String grandmotherManageTags) 
    {
        this.grandmotherManageTags = grandmotherManageTags;
    }

    public String getGrandmotherManageTags() 
    {
        return grandmotherManageTags;
    }

    public void setFatherId(Long fatherId) 
    {
        this.fatherId = fatherId;
    }

    public Long getFatherId() 
    {
        return fatherId;
    }

    public void setMaternalGrandfatherManageTags(String maternalGrandfatherManageTags) 
    {
        this.maternalGrandfatherManageTags = maternalGrandfatherManageTags;
    }

    public String getMaternalGrandfatherManageTags() 
    {
        return maternalGrandfatherManageTags;
    }

    public void setMotherId(Long motherId) 
    {
        this.motherId = motherId;
    }

    public Long getMotherId() 
    {
        return motherId;
    }

    public void setMaternalGrandmotherManageTags(String maternalGrandmotherManageTags) 
    {
        this.maternalGrandmotherManageTags = maternalGrandmotherManageTags;
    }

    public String getMaternalGrandmotherManageTags() 
    {
        return maternalGrandmotherManageTags;
    }

    public void setMatingDate(Date matingDate) 
    {
        this.matingDate = matingDate;
    }

    public Date getMatingDate() 
    {
        return matingDate;
    }

    public void setMatingTypeId(Long matingTypeId) 
    {
        this.matingTypeId = matingTypeId;
    }

    public Long getMatingTypeId() 
    {
        return matingTypeId;
    }

    public void setPregDate(Date pregDate) 
    {
        this.pregDate = pregDate;
    }

    public Date getPregDate() 
    {
        return pregDate;
    }

    public void setLambingDate(Date lambingDate) 
    {
        this.lambingDate = lambingDate;
    }

    public Date getLambingDate() 
    {
        return lambingDate;
    }

    public void setLambingDay(Long lambingDay) 
    {
        this.lambingDay = lambingDay;
    }

    public Long getLambingDay() 
    {
        return lambingDay;
    }

    public void setMatingDay(Long matingDay) 
    {
        this.matingDay = matingDay;
    }

    public Long getMatingDay() 
    {
        return matingDay;
    }

    public void setGestationDay(Long gestationDay) 
    {
        this.gestationDay = gestationDay;
    }

    public Long getGestationDay() 
    {
        return gestationDay;
    }

    public void setExpectedDate(Date expectedDate) 
    {
        this.expectedDate = expectedDate;
    }

    public Date getExpectedDate() 
    {
        return expectedDate;
    }

    public void setPostLambingDay(Long postLambingDay) 
    {
        this.postLambingDay = postLambingDay;
    }

    public Long getPostLambingDay() 
    {
        return postLambingDay;
    }

    public void setLactationDay(Long lactationDay) 
    {
        this.lactationDay = lactationDay;
    }

    public Long getLactationDay() 
    {
        return lactationDay;
    }

    public void setAnestrousDay(Long anestrousDay) 
    {
        this.anestrousDay = anestrousDay;
    }

    public Long getAnestrousDay() 
    {
        return anestrousDay;
    }

    public void setMatingCounts(Long matingCounts) 
    {
        this.matingCounts = matingCounts;
    }

    public Long getMatingCounts() 
    {
        return matingCounts;
    }

    public void setMatingTotal(Long matingTotal) 
    {
        this.matingTotal = matingTotal;
    }

    public Long getMatingTotal() 
    {
        return matingTotal;
    }

    public void setMiscarriageCounts(Long miscarriageCounts) 
    {
        this.miscarriageCounts = miscarriageCounts;
    }

    public Long getMiscarriageCounts() 
    {
        return miscarriageCounts;
    }

    public void setComment(String comment) 
    {
        this.comment = comment;
    }

    public String getComment() 
    {
        return comment;
    }

    public void setControlled(Long controlled) 
    {
        this.controlled = controlled;
    }

    public Long getControlled() 
    {
        return controlled;
    }

    public void setBody(Long body) 
    {
        this.body = body;
    }

    public Long getBody() 
    {
        return body;
    }

    public void setBreast(Long breast) 
    {
        this.breast = breast;
    }

    public Long getBreast() 
    {
        return breast;
    }

    public void setSource(String source) 
    {
        this.source = source;
    }

    public String getSource() 
    {
        return source;
    }

    public void setSourceDate(Date sourceDate) 
    {
        this.sourceDate = sourceDate;
    }

    public Date getSourceDate() 
    {
        return sourceDate;
    }

    public void setSourceRanchId(Long sourceRanchId) 
    {
        this.sourceRanchId = sourceRanchId;
    }

    public Long getSourceRanchId() 
    {
        return sourceRanchId;
    }

    public void setSourceRanch(String sourceRanch) 
    {
        this.sourceRanch = sourceRanch;
    }

    public String getSourceRanch() 
    {
        return sourceRanch;
    }

    public void setIsDelete(Long isDelete) 
    {
        this.isDelete = isDelete;
    }

    public Long getIsDelete() 
    {
        return isDelete;
    }

    public void setSheepColor(String sheepColor) 
    {
        this.sheepColor = sheepColor;
    }

    public String getSheepColor() 
    {
        return sheepColor;
    }

    public void setGroupName(String groupName) 
    {
        this.groupName = groupName;
    }

    public String getGroupName() 
    {
        return groupName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("bsManageTags", getBsManageTags())
            .append("ranchId", getRanchId())
            .append("drRanch", getDrRanch())
            .append("sheepfoldId", getSheepfoldId())
            .append("sheepfoldName", getSheepfoldName())
            .append("electronicTags", getElectronicTags())
            .append("varietyId", getVarietyId())
            .append("variety", getVariety())
            .append("family", getFamily())
            .append("name", getName())
            .append("gender", getGender())
            .append("birthday", getBirthday())
            .append("dayAge", getDayAge())
            .append("monthAge", getMonthAge())
            .append("parity", getParity())
            .append("birthWeight", getBirthWeight())
            .append("weaningDate", getWeaningDate())
            .append("statusId", getStatusId())
            .append("weaningWeight", getWeaningWeight())
            .append("weaningDayAge", getWeaningDayAge())
            .append("weaningDailyGain", getWeaningDailyGain())
            .append("currentWeight", getCurrentWeight())
            .append("breedStatusId", getBreedStatusId())
            .append("breed", getBreed())
            .append("bsFatherId", getBsFatherId())
            .append("fatherManageTags", getFatherManageTags())
            .append("bsMotherId", getBsMotherId())
            .append("motherManageTags", getMotherManageTags())
            .append("receptorId", getReceptorId())
            .append("receptorManageTags", getReceptorManageTags())
            .append("fatherFatherId", getFatherFatherId())
            .append("grandfatherManageTags", getGrandfatherManageTags())
            .append("fatherMotherId", getFatherMotherId())
            .append("grandmotherManageTags", getGrandmotherManageTags())
            .append("fatherId", getFatherId())
            .append("maternalGrandfatherManageTags", getMaternalGrandfatherManageTags())
            .append("motherId", getMotherId())
            .append("maternalGrandmotherManageTags", getMaternalGrandmotherManageTags())
            .append("matingDate", getMatingDate())
            .append("matingTypeId", getMatingTypeId())
            .append("pregDate", getPregDate())
            .append("lambingDate", getLambingDate())
            .append("lambingDay", getLambingDay())
            .append("matingDay", getMatingDay())
            .append("gestationDay", getGestationDay())
            .append("expectedDate", getExpectedDate())
            .append("postLambingDay", getPostLambingDay())
            .append("lactationDay", getLactationDay())
            .append("anestrousDay", getAnestrousDay())
            .append("matingCounts", getMatingCounts())
            .append("matingTotal", getMatingTotal())
            .append("miscarriageCounts", getMiscarriageCounts())
            .append("comment", getComment())
            .append("controlled", getControlled())
            .append("body", getBody())
            .append("breast", getBreast())
            .append("source", getSource())
            .append("sourceDate", getSourceDate())
            .append("sourceRanchId", getSourceRanchId())
            .append("sourceRanch", getSourceRanch())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("isDelete", getIsDelete())
            .append("sheepColor", getSheepColor())
            .append("groupName", getGroupName())
            .toString();
    }
}
