package com.zhyc.module.dairyProducts.domain;

import java.io.Serializable;
import java.util.Date;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.zhyc.common.annotation.Excel;
import com.zhyc.common.core.domain.BaseEntity;

/**
 * 班次奶量对象 np_milk_prod_classes
 * * 修改说明：继承 BaseEntity 以支持数据权限(params.dataScope)
 */
public class NpMilkProdClasses extends BaseEntity implements Serializable {
    private static final long serialVersionUID = 1L;

    private Long id;

    // 注意：BaseEntity 中通常已包含 createTime 和 updateTime。
    // 如果父类已有，此处保留会发生字段遮蔽(Shadowing)，但能保证代码兼容性。
    // 为了修复 params 报错，保留原样即可，核心是 extends BaseEntity。
    private Date createTime;
    private Date updateTime;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "日期", dateFormat = "yyyy-MM-dd")
    private Date datetime;

    @Excel(name = "管理耳号")
    private String manageEarNo;

    @Excel(name = "电子耳号")
    private String electronicEarNo;

    @Excel(name = "胎次")
    private Integer parity;

    @Excel(name = "厂区")
    private String factory;

    @Excel(name = "班次")
    private Integer classes;

    @Excel(name = "班次产奶量", numFormat = "0.00")
    private Double milk;

    @Excel(name = "班次校正奶量", numFormat = "0.00")
    private Double correctedMilk;

    private String sheepId;

    /** 全部羊耳号列表（用于多耳号查询） */
    private List<String> allEarNumbers;

    /** 用户ID */
    @Excel(name = "用户编号", type = Excel.Type.IMPORT)
    private Long userId;

    /** 部门ID */
    @Excel(name = "部门编号", type = Excel.Type.IMPORT)
    private Long deptId;

    // --- Getters and Setters ---

    public List<String> getAllEarNumbers() {
        return allEarNumbers;
    }

    public void setAllEarNumbers(List<String> allEarNumbers) {
        this.allEarNumbers = allEarNumbers;
    }

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

    public Date getCreateTime() { return createTime; }
    public void setCreateTime(Date createTime) { this.createTime = createTime; }

    public Date getUpdateTime() { return updateTime; }
    public void setUpdateTime(Date updateTime) { this.updateTime = updateTime; }

    public Date getDatetime() { return datetime; }
    public void setDatetime(Date datetime) { this.datetime = datetime; }

    public String getManageEarNo() { return manageEarNo; }
    public void setManageEarNo(String manageEarNo) { this.manageEarNo = manageEarNo; }

    public String getElectronicEarNo() { return electronicEarNo; }
    public void setElectronicEarNo(String electronicEarNo) { this.electronicEarNo = electronicEarNo; }

    public Integer getParity() { return parity; }
    public void setParity(Integer parity) { this.parity = parity; }

    public String getFactory() { return factory; }
    public void setFactory(String factory) { this.factory = factory; }

    public Integer getClasses() { return classes; }
    public void setClasses(Integer classes) { this.classes = classes; }

    public Double getMilk() { return milk; }
    public void setMilk(Double milk) { this.milk = milk; }

    public Double getCorrectedMilk() { return correctedMilk; }
    public void setCorrectedMilk(Double correctedMilk) { this.correctedMilk = correctedMilk; }

    public String getSheepId() { return sheepId; }
    public void setSheepId(String sheepId) { this.sheepId = sheepId; }

    public Long getUserId() { return userId; }
    public void setUserId(Long userId) { this.userId = userId; }

    public Long getDeptId() { return deptId; }
    public void setDeptId(Long deptId) { this.deptId = deptId; }
}