package com.zhyc.module.feed.domain;

import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Getter;
import lombok.Setter;
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;

/**
 * 饲喂计划对象 sg_feed_plan
 *
 * @author HashMap
 * @date 2025-08-14
 */
@Getter
@Setter
public class SgFeedPlan extends BaseEntity {
    private static final long serialVersionUID = 1L;
    private Long userId;
    private Long deptId;
    /**
     * 创建日期
     */
    private Date createDate;

    /**
     * 配方编码
     */
    @Excel(name = "配方编码")
    private String formulaId;

    /**
     * 批号
     */
    @Excel(name = "批号")
    private String batchId;

    /**
     * 羊舍
     */
    @Excel(name = "羊舍")
    private Integer sheepHouseId;

    /**
     * 羊只数量
     */
    @Excel(name = "羊只数量")
    private Integer sheepCount;

    /**
     * 日均计划量
     */
    @Excel(name = "日均计划量")
    private Double planDailySize;

    /**
     * 饲喂比例(早)
     */
    @Excel(name = "饲喂比例(早)")
    private Double ratioMorning;

    /**
     * 饲喂比例(中)
     */
    @Excel(name = "饲喂比例(中)")
    private Double ratioNoon;

    /**
     * 饲喂比例(下)
     */
    @Excel(name = "饲喂比例(下)")
    private Double ratioAfternoon;

    /**
     * 计划量(早)
     */
    @Excel(name = "计划量(早)")
    private Double planMorningSize;

    /**
     * 计划总量(早)
     */
    @Excel(name = "计划总量(早)")
    private Double planMorningTotal;

    /**
     * 实际量(早)
     */
    @Excel(name = "实际量(早)")
    private Double actualMorningSize;

    /**
     * 计划量(中)
     */
    @Excel(name = "计划量(中)")
    private Double planNoonSize;

    /**
     * 计划总量(中)
     */
    @Excel(name = "计划总量(中)")
    private Double planNoonTotal;

    /**
     * 实际量(中)
     */
    @Excel(name = "实际量(中)")
    private Double actualNoonSize;

    /**
     * 计划量(下)
     */
    @Excel(name = "计划量(下)")
    private Double planAfternoonSize;

    /**
     * 计划总量(下)
     */
    @Excel(name = "计划总量(下)")
    private Double planAfternoonTotal;

    /**
     * 实际量(下)
     */
    @Excel(name = "实际量(下)")
    private Double actualAfternoonSize;

    /**
     * 计划饲喂总量
     */
    @Excel(name = "计划饲喂总量")
    private Double planFeedTotal;

    /**
     * 饲草班人员
     */
    @Excel(name = "饲草班人员")
    private String zookeeper;

    /**
     * 饲喂计划日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "饲喂计划日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date planDate;

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE).append("createDate", getCreateDate()).append("formulaId", getFormulaId()).append("batchId", getBatchId()).append("sheepHouseId", getSheepHouseId()).append("sheepCount", getSheepCount()).append("planDailySize", getPlanDailySize()).append("ratioMorning", getRatioMorning()).append("ratioNoon", getRatioNoon()).append("ratioAfternoon", getRatioAfternoon()).append("planMorningSize", getPlanMorningSize()).append("planMorningTotal", getPlanMorningTotal()).append("actualMorningSize", getActualMorningSize()).append("planNoonSize", getPlanNoonSize()).append("planNoonTotal", getPlanNoonTotal()).append("actualNoonSize", getActualNoonSize()).append("planAfternoonSize", getPlanAfternoonSize()).append("planAfternoonTotal", getPlanAfternoonTotal()).append("actualAfternoonSize", getActualAfternoonSize()).append("planFeedTotal", getPlanFeedTotal()).append("zookeeper", getZookeeper()).append("planDate", getPlanDate()).append("remark", getRemark()).toString();
    }
}
