package com.zhyc.module.produce.breed.domain;

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;

/**
 * 冲胚记录-用户录入对象 sc_embryo_flush
 *
 * @author ruoyi
 * @date 2025-11-28
 */
public class ScEmbryoFlush extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long id;

    /** 冲胚时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "冲胚时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date flushTime;

    /** 供体母号 */
    @Excel(name = "供体母号")
    private String donorFemaleNo;

    /** 供体母羊品种 */
    @Excel(name = "供体母羊品种")
    private String donorFemaleVariety;

    /** 供体父号 */
    @Excel(name = "供体父号")
    private String donorMaleNo;

    /** 供体公羊品种 */
    @Excel(name = "供体公羊品种")
    private String donorMaleVariety;

    /** 胚胎品种 */
    @Excel(name = "胚胎品种")
    private String embryoVariety;

    /** 胎龄(天) */
    @Excel(name = "胎龄(天)")
    private Integer embryoAge;

    /** A+级胚胎数 */
    @Excel(name = "A+级")
    private Integer gradeAPlus;

    /** A级胚胎数 */
    @Excel(name = "A级")
    private Integer gradeA;

    /** B级胚胎数 */
    @Excel(name = "B级")
    private Integer gradeB;

    /** C级胚胎数 */
    @Excel(name = "C级")
    private Integer gradeC;

    /** D级胚胎数 */
    @Excel(name = "D级")
    private Integer gradeD;

    /** 2/4细胞期 */
    @Excel(name = "2/4细胞")
    private Integer cell24;

    /** 8细胞期 */
    @Excel(name = "8细胞")
    private Integer cell8;

    /** 16细胞期 */
    @Excel(name = "16细胞")
    private Integer cell16;

    /** 未受精数 */
    @Excel(name = "未受精")
    private Integer unfertilized;

    /** 退化数 */
    @Excel(name = "退化")
    private Integer degenerated;

    /** 冲胚数(总和) */
    @Excel(name = "冲胚数")
    private Integer totalEmbryo;

    /** 有效胚(A+到D级总和) */
    @Excel(name = "有效胚")
    private Integer validEmbryo;

    /** 移胚数 */
    @Excel(name = "移胚数")
    private Integer transferred;

    /** 移植受体数 */
    @Excel(name = "移植受体数")
    private Integer recipientCnt;

    /** 胚胎类型 */
    @Excel(name = "胚胎类型")
    private String embryoType;

    /** 胚胎来源 */
    @Excel(name = "胚胎来源")
    private String embryoSource;

    /** 去向 */
    @Excel(name = "去向")
    private String destination;

    /** 存储方式 */
    @Excel(name = "存储方式")
    private String storageMethod;

    /** 冲胚人 */
    @Excel(name = "冲胚人")
    private String flushOperator;

    /** 捡胚人 */
    @Excel(name = "捡胚人")
    private String collectOperator;

    /** 所在牧场ID */
    private Long ranchId;

    /** 所在牧场名称 */
    @Excel(name = "所在牧场")
    private String ranchName;

    /** 创建人 */
    private String createdBy;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createdAt;

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

    public Long getId()
    {
        return id;
    }

    public void setFlushTime(Date flushTime)
    {
        this.flushTime = flushTime;
    }

    public Date getFlushTime()
    {
        return flushTime;
    }

    public void setDonorFemaleNo(String donorFemaleNo)
    {
        this.donorFemaleNo = donorFemaleNo;
    }

    public String getDonorFemaleNo()
    {
        return donorFemaleNo;
    }

    public void setDonorFemaleVariety(String donorFemaleVariety)
    {
        this.donorFemaleVariety = donorFemaleVariety;
    }

    public String getDonorFemaleVariety()
    {
        return donorFemaleVariety;
    }

    public void setDonorMaleNo(String donorMaleNo)
    {
        this.donorMaleNo = donorMaleNo;
    }

    public String getDonorMaleNo()
    {
        return donorMaleNo;
    }

    public void setDonorMaleVariety(String donorMaleVariety)
    {
        this.donorMaleVariety = donorMaleVariety;
    }

    public String getDonorMaleVariety()
    {
        return donorMaleVariety;
    }

    public void setEmbryoVariety(String embryoVariety)
    {
        this.embryoVariety = embryoVariety;
    }

    public String getEmbryoVariety()
    {
        return embryoVariety;
    }

    public void setEmbryoAge(Integer embryoAge)
    {
        this.embryoAge = embryoAge;
    }

    public Integer getEmbryoAge()
    {
        return embryoAge;
    }

    public void setGradeAPlus(Integer gradeAPlus)
    {
        this.gradeAPlus = gradeAPlus;
    }

    public Integer getGradeAPlus()
    {
        return gradeAPlus;
    }

    public void setGradeA(Integer gradeA)
    {
        this.gradeA = gradeA;
    }

    public Integer getGradeA()
    {
        return gradeA;
    }

    public void setGradeB(Integer gradeB)
    {
        this.gradeB = gradeB;
    }

    public Integer getGradeB()
    {
        return gradeB;
    }

    public void setGradeC(Integer gradeC)
    {
        this.gradeC = gradeC;
    }

    public Integer getGradeC()
    {
        return gradeC;
    }

    public void setGradeD(Integer gradeD)
    {
        this.gradeD = gradeD;
    }

    public Integer getGradeD()
    {
        return gradeD;
    }

    public void setCell24(Integer cell24)
    {
        this.cell24 = cell24;
    }

    public Integer getCell24()
    {
        return cell24;
    }

    public void setCell8(Integer cell8)
    {
        this.cell8 = cell8;
    }

    public Integer getCell8()
    {
        return cell8;
    }

    public void setCell16(Integer cell16)
    {
        this.cell16 = cell16;
    }

    public Integer getCell16()
    {
        return cell16;
    }

    public void setUnfertilized(Integer unfertilized)
    {
        this.unfertilized = unfertilized;
    }

    public Integer getUnfertilized()
    {
        return unfertilized;
    }

    public void setDegenerated(Integer degenerated)
    {
        this.degenerated = degenerated;
    }

    public Integer getDegenerated()
    {
        return degenerated;
    }

    public void setTotalEmbryo(Integer totalEmbryo)
    {
        this.totalEmbryo = totalEmbryo;
    }

    public Integer getTotalEmbryo()
    {
        return totalEmbryo;
    }

    public void setValidEmbryo(Integer validEmbryo)
    {
        this.validEmbryo = validEmbryo;
    }

    public Integer getValidEmbryo()
    {
        return validEmbryo;
    }

    public void setTransferred(Integer transferred)
    {
        this.transferred = transferred;
    }

    public Integer getTransferred()
    {
        return transferred;
    }

    public void setRecipientCnt(Integer recipientCnt)
    {
        this.recipientCnt = recipientCnt;
    }

    public Integer getRecipientCnt()
    {
        return recipientCnt;
    }

    public void setEmbryoType(String embryoType)
    {
        this.embryoType = embryoType;
    }

    public String getEmbryoType()
    {
        return embryoType;
    }

    public void setEmbryoSource(String embryoSource)
    {
        this.embryoSource = embryoSource;
    }

    public String getEmbryoSource()
    {
        return embryoSource;
    }

    public void setDestination(String destination)
    {
        this.destination = destination;
    }

    public String getDestination()
    {
        return destination;
    }

    public void setStorageMethod(String storageMethod)
    {
        this.storageMethod = storageMethod;
    }

    public String getStorageMethod()
    {
        return storageMethod;
    }

    public void setFlushOperator(String flushOperator)
    {
        this.flushOperator = flushOperator;
    }

    public String getFlushOperator()
    {
        return flushOperator;
    }

    public void setCollectOperator(String collectOperator)
    {
        this.collectOperator = collectOperator;
    }

    public String getCollectOperator()
    {
        return collectOperator;
    }

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

    public Long getRanchId()
    {
        return ranchId;
    }

    public void setRanchName(String ranchName)
    {
        this.ranchName = ranchName;
    }

    public String getRanchName()
    {
        return ranchName;
    }

    public void setCreatedBy(String createdBy)
    {
        this.createdBy = createdBy;
    }

    public String getCreatedBy()
    {
        return createdBy;
    }

    public void setCreatedAt(Date createdAt)
    {
        this.createdAt = createdAt;
    }

    public Date getCreatedAt()
    {
        return createdAt;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("flushTime", getFlushTime())
                .append("donorFemaleNo", getDonorFemaleNo())
                .append("donorFemaleVariety", getDonorFemaleVariety())
                .append("donorMaleNo", getDonorMaleNo())
                .append("donorMaleVariety", getDonorMaleVariety())
                .append("embryoVariety", getEmbryoVariety())
                .append("embryoAge", getEmbryoAge())
                .append("gradeAPlus", getGradeAPlus())
                .append("gradeA", getGradeA())
                .append("gradeB", getGradeB())
                .append("gradeC", getGradeC())
                .append("gradeD", getGradeD())
                .append("cell24", getCell24())
                .append("cell8", getCell8())
                .append("cell16", getCell16())
                .append("unfertilized", getUnfertilized())
                .append("degenerated", getDegenerated())
                .append("totalEmbryo", getTotalEmbryo())
                .append("validEmbryo", getValidEmbryo())
                .append("transferred", getTransferred())
                .append("recipientCnt", getRecipientCnt())
                .append("embryoType", getEmbryoType())
                .append("embryoSource", getEmbryoSource())
                .append("destination", getDestination())
                .append("storageMethod", getStorageMethod())
                .append("flushOperator", getFlushOperator())
                .append("collectOperator", getCollectOperator())
                .append("ranchId", getRanchId())
                .append("ranchName", getRanchName())
                .append("remark", getRemark())
                .append("createdBy", getCreatedBy())
                .append("createdAt", getCreatedAt())
                .toString();
    }
}