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

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import com.zhyc.common.annotation.Excel;
import com.zhyc.common.core.domain.BaseEntity;

import java.math.BigDecimal;
import java.time.LocalDate;

/**
 * 体尺测量对象 sc_body_measure
 *
 * @author ruoyi
 * @date 2025-07-27
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ScBodyMeasure extends BaseEntity {
    private static final long serialVersionUID = 1L;

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

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

    /**
     * 羊舍ID
     */
    private Long sheepfoldId;
    @Excel(name = "羊舍")
    /** 羊舍名称（用于展示） */
    private String sheepfoldName;

    /**
     * 品种ID（关联羊只表）
     */
    private Long varietyId;

    /**
     * 品种名称（用于展示）
     */
    @Excel(name = "羊只品种")
    private String varietyName;

    /**
     * 事件类型
     */
    @Excel(name = "事件类型")
    private String eventType;

    /**
     * 测量日期
     */
    @Excel(name = "测量日期")
    private LocalDate measureDate;
    /**
     * 羊只类别
     */
    private Long sheepTypeId;
    @Excel(name = "羊只类别")
    private String sheepTypeName;
    /**
     * 性别
     */
    @Excel(name = "性别", readConverterExp = "1=母,2=公,3=阉羊")
    private String gender;
    /**
     * 胎次
     */
    private Integer parity;
    /**
     * 出生体重
     */
    private BigDecimal birthWeight;
    /**
     * 断奶体重
     */
    private BigDecimal weaningWeight;
    /**
     * 当前体重
     */
    @Excel(name = "当前体重")
    private Long currentWeight;

    /**
     * 体高
     */
    @Excel(name = "体高")
    private Long height;

    /**
     * 胸围
     */
    @Excel(name = "胸围")
    private Long bust;

    /**
     * 体斜长
     */
    @Excel(name = "体斜长")
    private Long bodyLength;

    /**
     * 管围
     */
    @Excel(name = "管围")
    private Long pipeLength;

    /**
     * 胸深
     */
    @Excel(name = "胸深")
    private Long chestDepth;

    /**
     * 臀高
     */
    @Excel(name = "臀高")
    private Long hipHeight;

    /**
     * 尻宽
     */
    @Excel(name = "尻宽")
    private Long rumpWidth;

    /**
     * 尻高
     */
    @Excel(name = "尻高")
    private Long rumpHeignt;

    /**
     * 腰角宽
     */
    @Excel(name = "腰角宽")
    private Long hipWidth;

    /**
     * 十字部高
     */
    @Excel(name = "十字部高")
    private Long hipCrossHeight;

    /**
     * 繁育状态
     */
    @Excel(name = "繁育状态")
    private String breedStatusName;
    /**
     * 泌乳天数
     */
    @Excel(name = "泌乳天数")
    private Integer lactationDay;
    /**
     * 怀孕天数
     */
    @Excel(name = "怀孕天数")
    private Integer gestationDay;
    /**
     * 配后天数
     */
    @Excel(name = "配后天数")
    private Integer postMatingDay;
    /**
     * 备注
     */
    @Excel(name = "备注")
    private String comment;

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

    /**
     * 排序字段
     */
    private String orderBy;

    /**
     * 排序方向
     */
    private String sortDirection;
}
