package com.dy.pipIrrGlobal.daoRm; 
 | 
  
 | 
import com.baomidou.mybatisplus.core.mapper.BaseMapper; 
 | 
import com.dy.pipIrrGlobal.pojoRm.RmOpenCloseValveHistory; 
 | 
import com.dy.pipIrrGlobal.voRm.VoExpend; 
 | 
import com.dy.pipIrrGlobal.voRm.VoOpenCloseValve; 
 | 
import com.dy.pipIrrGlobal.voRm.VoOpenClostWechat; 
 | 
import com.dy.pipIrrGlobal.voSt.*; 
 | 
import org.apache.ibatis.annotations.Mapper; 
 | 
import org.apache.ibatis.annotations.Param; 
 | 
  
 | 
import java.util.Date; 
 | 
import java.util.List; 
 | 
import java.util.Map; 
 | 
  
 | 
/** 
 | 
 * @Author: liurunyu 
 | 
 * @Date: 2024/7/1 15:28 
 | 
 * @Description 
 | 
 */ 
 | 
@Mapper 
 | 
public interface RmOpenCloseValveHistoryMapper extends BaseMapper<RmOpenCloseValveHistory> { 
 | 
    /** 
 | 
     * delete by primary key 
 | 
     * 
 | 
     * @param id primaryKey 
 | 
     * @return deleteCount 
 | 
     */ 
 | 
    int deleteByPrimaryKey(Long id); 
 | 
  
 | 
    /** 
 | 
     * insert record to table 
 | 
     * 
 | 
     * @param record the record 
 | 
     * @return insert count 
 | 
     */ 
 | 
    int insert(RmOpenCloseValveHistory record); 
 | 
  
 | 
    /** 
 | 
     * insert record to table selective 
 | 
     * 
 | 
     * @param record the record 
 | 
     * @return insert count 
 | 
     */ 
 | 
    int insertSelective(RmOpenCloseValveHistory record); 
 | 
  
 | 
    /** 
 | 
     * select by primary key 
 | 
     * 
 | 
     * @param id primary key 
 | 
     * @return object by primary key 
 | 
     */ 
 | 
    RmOpenCloseValveHistory selectByPrimaryKey(Long id); 
 | 
  
 | 
    /** 
 | 
     * update record selective 
 | 
     * 
 | 
     * @param record the updated record 
 | 
     * @return update count 
 | 
     */ 
 | 
    int updateByPrimaryKeySelective(RmOpenCloseValveHistory record); 
 | 
  
 | 
    /** 
 | 
     * update record 
 | 
     * 
 | 
     * @param record the updated record 
 | 
     * @return update count 
 | 
     */ 
 | 
    int updateByPrimaryKey(RmOpenCloseValveHistory record); 
 | 
  
 | 
    /** 
 | 
     * 根据指定条件获取开关阀报历史记录数量 
 | 
     * @param params 
 | 
     * @return 
 | 
     */ 
 | 
    Long getOpenCloseValveReportsCount_history(Map<?, ?> params); 
 | 
  
 | 
    /** 
 | 
     * 根据指定条件获取开关阀报历史记录 
 | 
     * @param params 
 | 
     * @return 
 | 
     */ 
 | 
    List<VoOpenCloseValve> getOpenCloseValveReports_history(Map<?, ?> params); 
 | 
  
 | 
  
 | 
    /** 
 | 
     * 获取指定时间段内从未开过阀的取水口数量 
 | 
     * @param params 
 | 
     * @return 
 | 
     */ 
 | 
    Long getNeverOpenValveIntakesCount(Map<?, ?> params); 
 | 
  
 | 
    /** 
 | 
     * 获取指定时间段内从未开过阀的取水口 
 | 
     * @param params 
 | 
     * @return 
 | 
     */ 
 | 
    List<VoIntakeUnOpenValve> getNeverOpenValveIntakes(Map<?, ?> params); 
 | 
  
 | 
    /** 
 | 
     * 获取指定时间段内开阀次数超过指定值的取水口数量 
 | 
     * @param params 
 | 
     * @return 
 | 
     */ 
 | 
    Long getOpenValveGtIntakesCount(Map<String, Object> params); 
 | 
  
 | 
    /** 
 | 
     * 获取指定时间段内开阀次数超过指定值的取水口 
 | 
     * @param params 
 | 
     * @return 
 | 
     */ 
 | 
    List<VoIntakeOpenCount> getOpenValveGtIntakes(Map<String, Object> params); 
 | 
  
 | 
    /** 
 | 
     * 获取指定时间段内开阀次数低于指定值的取水口数量 
 | 
     * @param params 
 | 
     * @return 
 | 
     */ 
 | 
    Long getOpenValveLtIntakesCount(Map<String, Object> params); 
 | 
  
 | 
    /** 
 | 
     * 获取指定时间段内开阀次数低于指定值的取水口 
 | 
     * @param params 
 | 
     * @return 
 | 
     */ 
 | 
    List<VoIntakeOpenCount> getOpenValveLtIntakes(Map<String, Object> params); 
 | 
  
 | 
    /** 
 | 
     * 获取指定时间段内开阀次数超过指定值的农户数量 
 | 
     * @param params 
 | 
     * @return 
 | 
     */ 
 | 
    Long getLargeOpenCountClientsCount(Map<String, Object> params); 
 | 
  
 | 
    /** 
 | 
     * 获取指定时间段内开阀次数超过指定值的农户 
 | 
     * @param params 
 | 
     * @return 
 | 
     */ 
 | 
    List<VoClient> getLargeOpenCountClients(Map<String, Object> params); 
 | 
  
 | 
    /** 
 | 
     * 获取指定时间段内开阀次数低于指定值的农户数量 
 | 
     * @param params 
 | 
     * @return 
 | 
     */ 
 | 
    Long getSmallOpenCountClientsCount(Map<String, Object> params); 
 | 
  
 | 
    /** 
 | 
     * 获取指定时间段内开阀次数低于指定值的农户 
 | 
     * @param params 
 | 
     * @return 
 | 
     */ 
 | 
    List<VoClient> getSmallOpenCountClients(Map<String, Object> params); 
 | 
  
 | 
    /** 
 | 
     * 获取指定时间段内用水量超过指定值的农户数量 
 | 
     * @param params 
 | 
     * @return 
 | 
     */ 
 | 
    Long getLargeWaterConsumptionClientsCount(Map<String, Object> params); 
 | 
  
 | 
    /** 
 | 
     * 获取指定时间段内用水量超过指定值的农户 
 | 
     * @param params 
 | 
     * @return 
 | 
     */ 
 | 
    List<VoClient> getLargeWaterConsumptionClients(Map<String, Object> params); 
 | 
  
 | 
    /** 
 | 
     * 获取指定时间段内用水量低于指定值的农户数量 
 | 
     * @param params 
 | 
     * @return 
 | 
     */ 
 | 
    Long getSmallWaterConsumptionClientsCount(Map<String, Object> params); 
 | 
  
 | 
    /** 
 | 
     * 获取指定时间段内用水量低于指定值的农户 
 | 
     * @param params 
 | 
     * @return 
 | 
     */ 
 | 
    List<VoClient> getSmallWaterConsumptionClients(Map<String, Object> params); 
 | 
  
 | 
    /** 
 | 
     * 获取指定时间段内消费金额超过指定值的农户数量 
 | 
     * @param params 
 | 
     * @return 
 | 
     */ 
 | 
    Long getLargeAmountSpentClientsCount(Map<String, Object> params); 
 | 
  
 | 
    /** 
 | 
     * 获取指定时间段内消费金额超过指定值的农户 
 | 
     * @param params 
 | 
     * @return 
 | 
     */ 
 | 
    List<VoClient> getLargeAmountSpentClients(Map<String, Object> params); 
 | 
  
 | 
    /** 
 | 
     * 获取指定时间段内消费金额低于指定值的农户数量 
 | 
     * @param params 
 | 
     * @return 
 | 
     */ 
 | 
    Long getSmallAmountSpentClientsCount(Map<String, Object> params); 
 | 
  
 | 
    /** 
 | 
     * 获取指定时间段内消费金额低于指定值的农户 
 | 
     * @param params 
 | 
     * @return 
 | 
     */ 
 | 
    List<VoClient> getSmallAmountSpentClients(Map<String, Object> params); 
 | 
  
 | 
    /** 
 | 
     * 获取指定时间段内用水时长超过指定值的农户数量 
 | 
     * @param params 
 | 
     * @return 
 | 
     */ 
 | 
    Long getLargeWaterDurationClientsCount(Map<String, Object> params); 
 | 
  
 | 
    /** 
 | 
     * 获取指定时间段内用水时长超过指定值的农户 
 | 
     * @param params 
 | 
     * @return 
 | 
     */ 
 | 
    List<VoClient> getLargeWaterDurationClients(Map<String, Object> params); 
 | 
  
 | 
    /** 
 | 
     * 获取指定时间段内用水时长低于指定值的农户数量 
 | 
     * @param params 
 | 
     * @return 
 | 
     */ 
 | 
    Long getSmallWaterDurationClientsCount(Map<String, Object> params); 
 | 
  
 | 
    /** 
 | 
     * 获取指定时间段内用水时长低于指定值的农户 
 | 
     * @param params 
 | 
     * @return 
 | 
     */ 
 | 
    List<VoClient> getSmallWaterDurationClients(Map<String, Object> params); 
 | 
  
 | 
    /** 
 | 
     * 指定时间段内用水时长超过指定值的取水口数量 
 | 
     * @param params 
 | 
     * @return 
 | 
     */ 
 | 
    Long getUseWaterDurationGtValueIntakesCount(Map<String, Object> params); 
 | 
  
 | 
    /** 
 | 
     * 指定时间段内用水时长超过指定值的取水口 
 | 
     * @param params 
 | 
     * @return 
 | 
     */ 
 | 
    List<VoIntakeOpenCount> getUseWaterDurationGtValueIntakes(Map<String, Object> params); 
 | 
  
 | 
    /** 
 | 
     * 指定时间段 有开阀 无关阀的取水口数量 
 | 
     * @param params 
 | 
     * @return 
 | 
     */ 
 | 
    Long getHaveOpenNoCloseIntakesCount(Map<String, Object> params); 
 | 
  
 | 
    /** 
 | 
     * 指定时间段 有开阀 无关阀的取水口 
 | 
     * @param params 
 | 
     * @return 
 | 
     */ 
 | 
    List<VoIntake> getHaveOpenNoCloseIntakes(Map<String, Object> params); 
 | 
  
 | 
    /** 
 | 
     * 指定时间段 无开阀 有关阀的取水口数量 
 | 
     * @param params 
 | 
     * @return 
 | 
     */ 
 | 
    Long getNoOpenHaveCloseIntakesCount(Map<String, Object> params); 
 | 
  
 | 
    /** 
 | 
     * 指定时间段 无开阀 有关阀的取水口 
 | 
     * @param params 
 | 
     * @return 
 | 
     */ 
 | 
    List<VoIntake> getNoOpenHaveCloseIntakes(Map<String, Object> params); 
 | 
  
 | 
    /** 
 | 
     * 获取水卡消费记录数量,管理平台使用 
 | 
     * @param params 
 | 
     * @return 
 | 
     */ 
 | 
    Long getExpendsCount(Map<String, Object> params); 
 | 
  
 | 
    /** 
 | 
     * 获取水卡消费记录,管理平台使用 
 | 
     * @param params 
 | 
     * @return 
 | 
     */ 
 | 
    List<VoExpend> getExpends(Map<String, Object> params); 
 | 
  
 | 
    /** 
 | 
     * 获取物理卡开关阀记录数量,微信小程序使用 
 | 
     * @return 
 | 
     */ 
 | 
    Long getCardOpenCloseCount(Map<String, Object> params); 
 | 
  
 | 
    /** 
 | 
     * 获取物理卡开关阀记录,微信小程序使用 
 | 
     * @return 
 | 
     */ 
 | 
    List<VoOpenClostWechat> getCardOpenClose(Map<String, Object> params); 
 | 
  
 | 
    /** 
 | 
     * 获取虚拟卡开关阀记录数量,微信小程序使用 
 | 
     * @return 
 | 
     */ 
 | 
    Long getVcCardOpenCloseCount(Map<String, Object> params); 
 | 
  
 | 
    /** 
 | 
     * 获取虚拟卡开关阀记录,微信小程序使用 
 | 
     * @param params 
 | 
     * @return 
 | 
     */ 
 | 
    List<VoOpenClostWechat> getVcCardOpenClose(Map<String, Object> params); 
 | 
  
 | 
    ////////////////////////////////////////// 
 | 
    //                                      // 
 | 
    //统计相关                                // 
 | 
    //                                      // 
 | 
    ////////////////////////////////////////// 
 | 
  
 | 
    /** 
 | 
     * 以农户、农户IC卡为单位进行统计 
 | 
     * @param startDt 
 | 
     * @param endDt 
 | 
     * @return 
 | 
     */ 
 | 
    List<VoIcConsumeStatistics> statisticsByIc(@Param("startDt")Date startDt, @Param("endDt")Date endDt); 
 | 
  
 | 
    /** 
 | 
     * 以农户为单位进行统计 
 | 
     * @param startDt 
 | 
     * @param endDt 
 | 
     * @return 
 | 
     */ 
 | 
    List<VoClientConsumeStatistics> statisticsByClient(@Param("startDt")Date startDt, @Param("endDt")Date endDt); 
 | 
} 
 |