package com.nantian.cloud.dbcapp.mapper.record;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.nantian.cloud.dbcapp.entity.BigScreenModel;
import com.nantian.cloud.dbcapp.vo.BigScreenVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.security.core.parameters.P;

import java.util.List;

/**
 *
 *
 * @author
 * @date 2018-09-27 15:20:44
 * 大屏显示的企业数据范围为已接入完成的企业
 */
@Mapper
public interface BigScreenMapper extends BaseMapper<BigScreenModel> {

    List<BigScreenVo> getAllArea();

    //用能单位接入数量
    Integer getTotal(@Param("area") String area, @Param("inde1") String inde1);

    //在线监测企业、重点用能单位企业、电力关口企业、上送国家企业数量
    //bigScreenType为big_screen表的类型（0 综合能耗，1 地区，2在线监测企业数，3行业，4能源消费结构，5煤消耗，6工业水，7电力，8重点用能单位企业，9电力关口企业数，10上送国家企业数）
    //type为enterprise_info_all表的类型（1：重点用能单位，2：电力关口企业，3：对接国家平台，4：老平台企业）
    Integer insertEnterpriseByTmp( @Param("bigScreenType") int bigScreenType, @Param("type") String type);

    //获取时间内综合能耗合计值
    void insertAllTce(@Param("bigScreenType") int bigScreenType, @Param("year") String year, @Param("startTime") String startTime, @Param("endTime") String endTime);

    //获取时间内、单个地区范围内，各地区综合能耗
    void insertRegionTce(@Param("bigScreenType") int bigScreenType, @Param("year") String year, @Param("startTime") String startTime, @Param("endTime") String endTime);

    //获取时间内、单个地区范围内，各行业综合能耗
    void insertIndustryTce(@Param("bigScreenType") int bigScreenType, @Param("year") String year, @Param("startTime") String startTime, @Param("endTime") String endTime);

    //获取时间内各地区单个能源实物量
    void insertEnergyTceByFormula(@Param("bigScreenType") int bigScreenType, @Param("year") String year, @Param("month") String month, @Param("list") List<String> list, @Param("ratio") String ratio);

    //获取时间内水消耗量
    void insertWaterValue(@Param("bigScreenType") int bigScreenType, @Param("year") String year, @Param("month") String month);

    //获取时间内各地区能源消费品种（单位：万tce）
    void insertConsumptionByFormula(@Param("bigScreenType") int bigScreenType, @Param("year") String year, @Param("startTime") String startTime, @Param("endTime") String endTime, @Param("list") List<String> list);
}
