package cn.lihongjie.coal.coalWashingDailyAnalysis.dto;

import cn.lihongjie.coal.base.dto.OrgCommonDto;
import cn.lihongjie.coal.coalWashingDailyAnalysis.entity.CoalWashingDailyAnalysisItemVo;
import cn.lihongjie.coal.coalWashingDailyAnalysis.entity.CoalWashingDailyAnalysisKFItemVo;
import cn.lihongjie.coal.coalWashingDailyAnalysis.entity.CoalWashingDailyAnalysisParamVo;

import jakarta.persistence.CollectionTable;
import jakarta.persistence.ConstraintMode;
import jakarta.persistence.ElementCollection;
import jakarta.persistence.ForeignKey;

import lombok.Data;

import org.hibernate.annotations.Comment;

import java.time.LocalDate;
import java.util.List;

/** */
@Data
@Comment("洗煤报告表")
public class CreateCoalWashingDailyAnalysisDto extends OrgCommonDto {

    @Comment("日期")
    private LocalDate date;

    @ElementCollection
    @Comment("用户手动录入的记录")
    @CollectionTable(foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT))
    private List<CoalWashingDailyAnalysisItemVo> inputItems;

    @ElementCollection
    @Comment("用户手动录入的快浮记录")
    @CollectionTable(foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT))
    private List<CoalWashingDailyAnalysisKFItemVo> kfItems;

    //    @ElementCollection
    //    @Comment("连续平均值")
    //    @CollectionTable(foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT))
    //    private List<CoalWashingDailyAnalysisItemVo> rollingAvgItems;

    @ElementCollection
    @Comment("参数配置")
    @CollectionTable(foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT))
    private List<CoalWashingDailyAnalysisParamVo> paramsInfo;

    @Comment("目标大堆 灰")
    private Double ddp1Min;

    @Comment("目标大堆 硫")
    private Double ddp2Min;

    @Comment("目标大堆 挥发")
    private Double ddp3Min;

    @Comment("目标大堆 粘结")
    private Double ddp4Min;

    @Comment("目标大堆 备用")
    private Double ddp5Min;

    @Comment("目标大堆 灰")
    private Double ddp1Max;

    @Comment("目标大堆 硫")
    private Double ddp2Max;

    @Comment("目标大堆 挥发")
    private Double ddp3Max;

    @Comment("目标大堆 粘结")
    private Double ddp4Max;

    @Comment("目标大堆 备用")
    private Double ddp5Max;

    @Comment("产量初始值")
    private Double initTotalNumber = 0.0;

    private String remark1;
    private String remark2;
    private String remark3;
    private String remark4;

    private String remark5;
    private String remark6;
    private String remark7;
    private String remark8;
    private String remark9;
    private String remark10;
    private String remark11;
    private String remark12;

    @Comment("计算类型 1 正常 2 预测分析")
    private String type = "1";
}
