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

import java.util.Date;
import java.util.List;
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_dry_milk
 *
 * @author ruoyi
 * @date 2025-07-15
 */
public class ScDryMilk extends BaseEntity
{
    private static final long serialVersionUID = 1L;

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

    /** 羊只id */
    @Excel(name = "羊只id")
    private String sheepId;

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

    /** 是否使用乳头封闭剂 (1:是 0:否) */
    @Excel(name = "是否使用乳头封闭剂", readConverterExp = "0=否,1=是")
    private Long status;

    /** 转入羊舍id */
    @Excel(name = "转入羊舍id")
    private Long sheepfold;

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

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

    // --- 联表查询及辅助字段 ---

    /** 管理耳号 (单个，用于接收前端传参或导出显示) */
    @Excel(name = "耳号")
    private String manageTags;

    /** 多耳号查询列表 (用于MyBatis IN查询) */
    private List<String> manageTagsList;

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

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

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

    /** 技术员多选列表 (新增：用于MyBatis IN查询) */
    private List<String> technicianList;

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

    public Long getId()
    {
        return id;
    }
    public void setSheepId(String sheepId)
    {
        this.sheepId = sheepId;
    }

    public String getSheepId()
    {
        return sheepId;
    }
    public void setDatetime(Date datetime)
    {
        this.datetime = datetime;
    }

    public Date getDatetime()
    {
        return datetime;
    }
    public void setStatus(Long status)
    {
        this.status = status;
    }

    public Long getStatus()
    {
        return status;
    }
    public void setSheepfold(Long sheepfold)
    {
        this.sheepfold = sheepfold;
    }

    public Long getSheepfold()
    {
        return sheepfold;
    }
    public void setTecahnician(String tecahnician)
    {
        this.tecahnician = tecahnician;
    }

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

    public String getComment()
    {
        return comment;
    }

    public String getManageTags() {
        return manageTags;
    }

    public void setManageTags(String manageTags) {
        this.manageTags = manageTags;
    }

    public List<String> getManageTagsList() {
        return manageTagsList;
    }

    public void setManageTagsList(List<String> manageTagsList) {
        this.manageTagsList = manageTagsList;
    }

    public String getVariety() {
        return variety;
    }

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

    public String getSheepfoldName() {
        return sheepfoldName;
    }

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

    public String getEventType() {
        return eventType;
    }

    public void setEventType(String eventType) {
        this.eventType = eventType;
    }

    public List<String> getTechnicianList() {
        return technicianList;
    }

    public void setTechnicianList(List<String> technicianList) {
        this.technicianList = technicianList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("sheepId", getSheepId())
                .append("datetime", getDatetime())
                .append("status", getStatus())
                .append("sheepfold", getSheepfold())
                .append("tecahnician", getTecahnician())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("comment", getComment())
                .append("manageTags", getManageTags())
                .append("variety", getVariety())
                .append("sheepfoldName", getSheepfoldName())
                .toString();
    }
}