package com.tofly.custom.mapper;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.tofly.custom.entity.dto.WisdomDisplayDto;
import com.tofly.custom.entity.vo.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Mapper
public interface CustomDisplayMapper {

    List<WaterStationVo> getWaterStationInfo(WisdomDisplayDto wis);

    List<ScadaIndexVo> getScadaIndexData(WisdomDisplayDto wis);

    Page<ScadaIndexVo> getHistoryPageData(Page page,@Param("dto")WisdomDisplayDto wis);
    List<WaterSourceScadaVo> getWaterSourceScada(String startDate, String endDate, List<Long> indexTypes);

    Integer getWaterStationCount(String waterType);

    Integer getDeviceCount(String deviceType);

    Integer getTableUserNum();

    List<PipeMaterialCensusVo> getPipeMaterialCensus();

    List<UserTotalVo> getNewUserTotalMonth();

    Integer getUserTotal(String censusMonth);

    BigDecimal getDesignProcessCapacity(String name);

    List<DeviceByTypeVo> getDeviceTypeList(String deviceTypeName);

    List<DeviceByTypeVo>getDeviceType();

    String getTotalFlow(@Param("codes")List<String> codes, @Param("startTime")Date startTime, @Param("endTime")Date endTime);
    String getNightTotalFlow(@Param("codes")List<String> codes, @Param("startTime")Date startTime, @Param("endTime")Date endTime);



    /**
     * 指标类型列表
     * @param codes
     * @return
     */
    List<ScadaFlowVo>getWaterFlowComm(@Param("codes")List<String> codes, @Param("startTime")Date startTime, @Param("endTime")Date endTime);




    List<ScadaFlowVo> getWaterNightFlowComm(@Param("codes")List<String> codes, @Param("startTime")Date startTime, @Param("endTime")Date endTime);


}
