zhubaomin
2025-04-14 4a2deb11b819dd78a8c75e244ef67ec2e48cf5f5
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOpenCloseValveHistoryMapper.java
@@ -1,16 +1,25 @@
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/2/23 15:42
 * @LastEditTime 2024/2/23 15:42
 * @Author: liurunyu
 * @Date: 2024/7/1 15:28
 * @Description
 */
@Mapper
public interface RmOpenCloseValveHistoryMapper {
public interface RmOpenCloseValveHistoryMapper extends BaseMapper<RmOpenCloseValveHistory> {
    /**
     * delete by primary key
     *
@@ -58,4 +67,276 @@
     * @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);
}