package com.zcxk.charge.web.service;


import com.zcxk.charge.api.dto.generalview.WaterSupplyChart;
import com.zcxk.charge.api.dto.homepage.WaterQualityRate;
import com.zcxk.charge.api.dto.homepage.WaterQualityRateForScene;
import com.zcxk.charge.api.vo.CompanyCountVo;
import com.zcxk.charge.api.vo.CompanyProduceVo;
import com.zcxk.charge.api.vo.DeviceWaterSupplyVo;

import java.util.List;

/**
 * @description
 * @author  wangli
 * @data 2021/2/24 10:42
 */
public interface HomePageReportService {

    /**
    * 近6月取水量（水源：4）近6月制水量（水厂：3）
    * @author Andy
    * @date 17:34 2021/8/13
    * @param companyOrgId:
    * @param sceneType:
    * @param parmType:
    * @return java.util.List<com.zcxk.charge.api.vo.DeviceWaterSupplyVo>
    **/
    List<DeviceWaterSupplyVo> deviceWaterReportForSixMonth(Integer companyOrgId, String sceneType, Integer parmType);

    /**
    * 公司投资统计（公司场景）
    * @author Andy
    * @date 17:34 2021/8/13
    * @param companyOrgId:
    * @return com.zcxk.charge.api.vo.CompanyCountVo
    **/
    CompanyCountVo countSceneByType(Integer companyOrgId);

    /**
    * 取水制水售水统计
    * @author Andy
    * @date 17:34 2021/8/13
    * @param companyOrgId:
    * @return com.zcxk.charge.api.dto.homepage.CompanyProduce
    **/
    CompanyProduceVo deviceWaterAmount(Integer companyOrgId);

    /**
    * 水质统计
    * @author Andy
    * @date 18:05 2021/8/17
    * @param companyOrgId:
    * @return com.zcxk.charge.api.dto.homepage.WaterQualityRate
    **/
    WaterQualityRate getWaterQualification(Integer companyOrgId);

    /**
    * 水库取水15天
     * 水库水位15天
     * 水厂泵站制水15天
     *  水厂 3 水源 4 水位 12
    * @author Andy
    * @date 18:05 2021/8/17
    * @param sceneId:
    * @param sceneType:
    * @param parmType:
    * @return java.util.List<com.zcxk.charge.api.vo.DeviceWaterSupplyVo>
    **/
    List<DeviceWaterSupplyVo> monitorDataFifteenDays(Integer sceneId, String sceneType, Integer parmType);

    /**
    * 水库水质
    * @author Andy
    * @date 18:05 2021/8/17
    * @param sceneId:
    * @return com.zcxk.charge.api.dto.homepage.WaterQualityRateForScene
    **/
    WaterQualityRateForScene waterQualityRateForWaterSource(Integer sceneId);


    /**
    * 水厂水质合格率
    * @author Andy
    * @date 18:05 2021/8/17
    * @param sceneId:
    * @return com.zcxk.charge.api.dto.homepage.WaterQualityRateForScene
    **/
    WaterQualityRateForScene waterQualityRateForWaterFactory(Integer sceneId);

    /**
    * 泵站水质合格率
    * @author Andy
    * @date 18:05 2021/8/17
    * @param sceneId:
    * @return com.zcxk.charge.api.dto.homepage.WaterQualityRateForScene
    **/
    WaterQualityRateForScene waterQualityRateForPumpingStation(Integer sceneId);

    /**
    * 泵站能耗分析
     * 水厂能耗分析
    * @author Andy
    * @date 18:05 2021/8/17
    * @param sceneId:
    * @param sceneType:
    * @return java.util.List<com.zcxk.charge.api.dto.generalview.WaterSupplyChart>
    **/
    List<WaterSupplyChart> waterEnergyConsumption(Integer sceneId, String sceneType);

}
