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

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import com.zhyc.common.annotation.Excel;
import com.zhyc.common.core.domain.BaseEntity;

/**
 * 采精记录对象 raw_sperm_record
 *
 * @author ruoyi
 * @date 2025-07-23
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class RawSpermRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

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

    /** 羊只ID */
    @Excel(name = "羊只ID")
    private Integer sheepId;

    /** 耳号 */
    @Excel(name = "耳号")
    private String manageTags;

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

    /** 月龄 */
    @Excel(name = "月龄")
    private Integer monthAge;

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

    /** 采精量 */
    @Excel(name = "采精量(ml)")
    private BigDecimal amount;

    /** 精液密度 */
    @Excel(name = "精液密度")
    private String density;

    /** 精液活力 */
    @Excel(name = "精液活力")
    private String vitallity;

    /** 是否性控（0否1是） */
    @Excel(name = "是否性控", readConverterExp = "0=否,1=是")
    private Integer controlled;

    /** 性欲情况 */
    @Excel(name = "性欲情况")
    private String sexualStatus;

    /** 诊疗信息 */
    @Excel(name = "诊疗信息")
    private String info;

    /** 技术员 */
    @Excel(name = "技术员")
    private String technician;

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

    /** 阴囊周长(cm) */
    @Excel(name = "阴囊周长(cm)")
    private BigDecimal scrotumCircumference;

    /** 精液品质(A/B/C/D级) */
    @Excel(name = "精液品质", readConverterExp = "A=A级,B=B级,C=C级,D=D级")
    private String semenQuality;
}