package com.nantian.cloud.jljc.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.nantian.cloud.jljc.entity.EpcEnergyAccuracyAnalysis;
import com.nantian.cloud.jljc.entity.TReport;
import com.nantian.cloud.jljc.entity.TReportRateprogress;
import com.nantian.cloud.jljc.entity.TReportUnitenergy;
import com.nantian.sc.cloud.common.core.util.R;
import com.nantian.sc.cloud.common.security.service.ScUser;

import java.text.DecimalFormat;
import java.util.List;

/**
 * <p>
 * 耗能指标信息 服务类
 * </p>
 *
 * @author stz
 * @since 2020-08-05
 */
public interface EpcEnergyAccuracyAnalysisService extends IService<EpcEnergyAccuracyAnalysis> {

    IPage<EpcEnergyAccuracyAnalysis> getPageScope(Page page, EpcEnergyAccuracyAnalysis epcEnergyAccuracyAnalysis);

    /**
     * 精确性分析，报表1，综合能源消费量与企业耗能级别比对
     * energyConsumption 吨标准煤
     */
    boolean getEpcEnergyAccuracyAnalysis(TReport report, double energyConsumption, DecimalFormat df,  ScUser u);

    /**
     * 精确性分析，报表3，指标值与指标限额比对，指标限额若无 就与产品标准比对
     */
    boolean getEpcEnergyAccuracyAnalysis3(TReport report, List<TReportUnitenergy> unitenergyList, ScUser u);

    /**
     * 精确性分析，报表4，完成进度节能量与节能量目标 比对
     */
    R getEpcEnergyAccuracyAnalysis4(TReport tReport, TReportRateprogress tReportRateprogress, ScUser u);

    void removeInfoByReport( String tableName, TReport tReport);
}
