wuzeyu
2024-10-15 e4bc4f97e837fcf1cb976e92a022c0791c9360a4
pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportLastMapper.xml
@@ -1,216 +1,454 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dy.pipIrrGlobal.daoRm.RmOnHourReportLastMapper">
  <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoRm.RmOnHourReportLast">
    <!--@mbg.generated-->
    <!--@Table rm_on_hour_report_last-->
    <id column="id" jdbcType="BIGINT" property="id" />
    <result column="controller_id" jdbcType="BIGINT" property="controllerId" />
    <result column="intake_id" jdbcType="BIGINT" property="intakeId" />
    <result column="rtu_addr" jdbcType="VARCHAR" property="rtuAddr" />
    <result column="dt" jdbcType="TIMESTAMP" property="dt" />
    <result column="rtu_dt" jdbcType="TIMESTAMP" property="rtuDt" />
    <result column="instant_amount" jdbcType="FLOAT" property="instantAmount" />
    <result column="total_amount" jdbcType="FLOAT" property="totalAmount" />
    <result column="loss_amount" jdbcType="FLOAT" property="lossAmount" />
    <result column="water_press" jdbcType="FLOAT" property="waterPress" />
    <result column="battery_volt" jdbcType="FLOAT" property="batteryVolt" />
    <result column="sun_volt" jdbcType="FLOAT" property="sunVolt" />
    <result column="signal_value" jdbcType="INTEGER" property="signalValue" />
    <result column="water_price" jdbcType="FLOAT" property="waterPrice" />
  </resultMap>
  <sql id="Base_Column_List">
    <!--@mbg.generated-->
    id, controller_id, intake_id, rtu_addr, dt, rtu_dt, instant_amount, total_amount,
    loss_amount, water_press, battery_volt, sun_volt, signal_value, water_price
  </sql>
  <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
    <!--@mbg.generated-->
    select
    <include refid="Base_Column_List" />
    from rm_on_hour_report_last
    where id = #{id,jdbcType=BIGINT}
  </select>
  <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
    <!--@mbg.generated-->
    delete from rm_on_hour_report_last
    where id = #{id,jdbcType=BIGINT}
  </delete>
  <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoRm.RmOnHourReportLast">
    <!--@mbg.generated-->
    insert into rm_on_hour_report_last (id, controller_id, intake_id,
      rtu_addr, dt, rtu_dt,
      instant_amount, total_amount, loss_amount,
      water_press, battery_volt, sun_volt,
      signal_value, water_price)
    values (#{id,jdbcType=BIGINT}, #{controllerId,jdbcType=BIGINT}, #{intakeId,jdbcType=BIGINT},
      #{rtuAddr,jdbcType=VARCHAR}, #{dt,jdbcType=TIMESTAMP}, #{rtuDt,jdbcType=TIMESTAMP},
      #{instantAmount,jdbcType=FLOAT}, #{totalAmount,jdbcType=FLOAT}, #{lossAmount,jdbcType=FLOAT},
      #{waterPress,jdbcType=FLOAT}, #{batteryVolt,jdbcType=FLOAT}, #{sunVolt,jdbcType=FLOAT},
      #{signalValue,jdbcType=INTEGER}, #{waterPrice,jdbcType=FLOAT})
  </insert>
  <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmOnHourReportLast">
    <!--@mbg.generated-->
    insert into rm_on_hour_report_last
    <trim prefix="(" suffix=")" suffixOverrides=",">
      <if test="id != null">
    <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoRm.RmOnHourReportLast">
        <!--@mbg.generated-->
        <!--@Table rm_on_hour_report_last-->
        <id column="id" jdbcType="BIGINT" property="id"/>
        <result column="controller_id" jdbcType="BIGINT" property="controllerId"/>
        <result column="intake_id" jdbcType="BIGINT" property="intakeId"/>
        <result column="rtu_addr" jdbcType="VARCHAR" property="rtuAddr"/>
        <result column="dt" jdbcType="TIMESTAMP" property="dt"/>
        <result column="rtu_dt" jdbcType="TIMESTAMP" property="rtuDt"/>
        <result column="instant_amount" jdbcType="FLOAT" property="instantAmount"/>
        <result column="total_amount" jdbcType="FLOAT" property="totalAmount"/>
        <result column="loss_amount" jdbcType="FLOAT" property="lossAmount"/>
        <result column="water_press" jdbcType="FLOAT" property="waterPress"/>
        <result column="battery_volt" jdbcType="FLOAT" property="batteryVolt"/>
        <result column="signal_value" jdbcType="INTEGER" property="signalValue"/>
        <result column="water_price" jdbcType="FLOAT" property="waterPrice"/>
    </resultMap>
    <sql id="Base_Column_List">
        <!--@mbg.generated-->
        id,
      </if>
      <if test="controllerId != null">
        controller_id,
      </if>
      <if test="intakeId != null">
        intake_id,
      </if>
      <if test="rtuAddr != null">
        rtu_addr,
      </if>
      <if test="dt != null">
        dt,
      </if>
      <if test="rtuDt != null">
        rtu_dt,
      </if>
      <if test="instantAmount != null">
        instant_amount,
      </if>
      <if test="totalAmount != null">
        total_amount,
      </if>
      <if test="lossAmount != null">
        loss_amount,
      </if>
      <if test="waterPress != null">
        water_press,
      </if>
      <if test="batteryVolt != null">
        battery_volt,
      </if>
      <if test="sunVolt != null">
        sun_volt,
      </if>
      <if test="signalValue != null">
        signal_value,
      </if>
      <if test="waterPrice != null">
        water_price,
      </if>
    </trim>
    <trim prefix="values (" suffix=")" suffixOverrides=",">
      <if test="id != null">
        #{id,jdbcType=BIGINT},
      </if>
      <if test="controllerId != null">
        #{controllerId,jdbcType=BIGINT},
      </if>
      <if test="intakeId != null">
        #{intakeId,jdbcType=BIGINT},
      </if>
      <if test="rtuAddr != null">
        #{rtuAddr,jdbcType=VARCHAR},
      </if>
      <if test="dt != null">
        #{dt,jdbcType=TIMESTAMP},
      </if>
      <if test="rtuDt != null">
        #{rtuDt,jdbcType=TIMESTAMP},
      </if>
      <if test="instantAmount != null">
        #{instantAmount,jdbcType=FLOAT},
      </if>
      <if test="totalAmount != null">
        #{totalAmount,jdbcType=FLOAT},
      </if>
      <if test="lossAmount != null">
        #{lossAmount,jdbcType=FLOAT},
      </if>
      <if test="waterPress != null">
        #{waterPress,jdbcType=FLOAT},
      </if>
      <if test="batteryVolt != null">
        #{batteryVolt,jdbcType=FLOAT},
      </if>
      <if test="sunVolt != null">
        #{sunVolt,jdbcType=FLOAT},
      </if>
      <if test="signalValue != null">
        #{signalValue,jdbcType=INTEGER},
      </if>
      <if test="waterPrice != null">
        #{waterPrice,jdbcType=FLOAT},
      </if>
    </trim>
  </insert>
  <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmOnHourReportLast">
    <!--@mbg.generated-->
    update rm_on_hour_report_last
    <set>
      <if test="controllerId != null">
        controller_id = #{controllerId,jdbcType=BIGINT},
      </if>
      <if test="intakeId != null">
        intake_id = #{intakeId,jdbcType=BIGINT},
      </if>
      <if test="rtuAddr != null">
        rtu_addr = #{rtuAddr,jdbcType=VARCHAR},
      </if>
      <if test="dt != null">
        dt = #{dt,jdbcType=TIMESTAMP},
      </if>
      <if test="rtuDt != null">
        rtu_dt = #{rtuDt,jdbcType=TIMESTAMP},
      </if>
      <if test="instantAmount != null">
        instant_amount = #{instantAmount,jdbcType=FLOAT},
      </if>
      <if test="totalAmount != null">
        total_amount = #{totalAmount,jdbcType=FLOAT},
      </if>
      <if test="lossAmount != null">
        loss_amount = #{lossAmount,jdbcType=FLOAT},
      </if>
      <if test="waterPress != null">
        water_press = #{waterPress,jdbcType=FLOAT},
      </if>
      <if test="batteryVolt != null">
        battery_volt = #{batteryVolt,jdbcType=FLOAT},
      </if>
      <if test="sunVolt != null">
        sun_volt = #{sunVolt,jdbcType=FLOAT},
      </if>
      <if test="signalValue != null">
        signal_value = #{signalValue,jdbcType=INTEGER},
      </if>
      <if test="waterPrice != null">
        water_price = #{waterPrice,jdbcType=FLOAT},
      </if>
    </set>
    where id = #{id,jdbcType=BIGINT}
  </update>
  <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoRm.RmOnHourReportLast">
    <!--@mbg.generated-->
    update rm_on_hour_report_last
    set controller_id = #{controllerId,jdbcType=BIGINT},
      intake_id = #{intakeId,jdbcType=BIGINT},
      rtu_addr = #{rtuAddr,jdbcType=VARCHAR},
      dt = #{dt,jdbcType=TIMESTAMP},
      rtu_dt = #{rtuDt,jdbcType=TIMESTAMP},
      instant_amount = #{instantAmount,jdbcType=FLOAT},
      total_amount = #{totalAmount,jdbcType=FLOAT},
      loss_amount = #{lossAmount,jdbcType=FLOAT},
      water_press = #{waterPress,jdbcType=FLOAT},
      battery_volt = #{batteryVolt,jdbcType=FLOAT},
      sun_volt = #{sunVolt,jdbcType=FLOAT},
      signal_value = #{signalValue,jdbcType=INTEGER},
      water_price = #{waterPrice,jdbcType=FLOAT}
    where id = #{id,jdbcType=BIGINT}
  </update>
        water_price
    </sql>
    <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
        <!--@mbg.generated-->
        select
        <include refid="Base_Column_List"/>
        from rm_on_hour_report_last
        where id = #{id,jdbcType=BIGINT}
    </select>
    <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
        <!--@mbg.generated-->
        delete
        from rm_on_hour_report_last
        where id = #{id,jdbcType=BIGINT}
    </delete>
    <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoRm.RmOnHourReportLast">
        <!--@mbg.generated-->
        insert into rm_on_hour_report_last (id, controller_id, intake_id,
                                            rtu_addr, dt, rtu_dt,
                                            instant_amount, total_amount, loss_amount,
                                            water_press, battery_volt,
                                            signal_value, water_price)
        values (#{id,jdbcType=BIGINT}, #{controllerId,jdbcType=BIGINT}, #{intakeId,jdbcType=BIGINT},
                #{rtuAddr,jdbcType=VARCHAR}, #{dt,jdbcType=TIMESTAMP}, #{rtuDt,jdbcType=TIMESTAMP},
                #{instantAmount,jdbcType=FLOAT}, #{totalAmount,jdbcType=FLOAT}, #{lossAmount,jdbcType=FLOAT},
                #{waterPress,jdbcType=FLOAT}, #{batteryVolt,jdbcType=FLOAT},
                #{signalValue,jdbcType=INTEGER}, #{waterPrice,jdbcType=FLOAT})
    </insert>
    <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmOnHourReportLast">
        <!--@mbg.generated-->
        insert into rm_on_hour_report_last
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="id != null">
                id,
            </if>
            <if test="controllerId != null">
                controller_id,
            </if>
            <if test="intakeId != null">
                intake_id,
            </if>
            <if test="rtuAddr != null">
                rtu_addr,
            </if>
            <if test="dt != null">
                dt,
            </if>
            <if test="rtuDt != null">
                rtu_dt,
            </if>
            <if test="instantAmount != null">
                instant_amount,
            </if>
            <if test="totalAmount != null">
                total_amount,
            </if>
            <if test="lossAmount != null">
                loss_amount,
            </if>
            <if test="waterPress != null">
                water_press,
            </if>
            <if test="batteryVolt != null">
                battery_volt,
            </if>
            <if test="signalValue != null">
                signal_value,
            </if>
            <if test="waterPrice != null">
                water_price,
            </if>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="id != null">
                #{id,jdbcType=BIGINT},
            </if>
            <if test="controllerId != null">
                #{controllerId,jdbcType=BIGINT},
            </if>
            <if test="intakeId != null">
                #{intakeId,jdbcType=BIGINT},
            </if>
            <if test="rtuAddr != null">
                #{rtuAddr,jdbcType=VARCHAR},
            </if>
            <if test="dt != null">
                #{dt,jdbcType=TIMESTAMP},
            </if>
            <if test="rtuDt != null">
                #{rtuDt,jdbcType=TIMESTAMP},
            </if>
            <if test="instantAmount != null">
                #{instantAmount,jdbcType=FLOAT},
            </if>
            <if test="totalAmount != null">
                #{totalAmount,jdbcType=FLOAT},
            </if>
            <if test="lossAmount != null">
                #{lossAmount,jdbcType=FLOAT},
            </if>
            <if test="waterPress != null">
                #{waterPress,jdbcType=FLOAT},
            </if>
            <if test="batteryVolt != null">
                #{batteryVolt,jdbcType=FLOAT},
            </if>
            <if test="signalValue != null">
                #{signalValue,jdbcType=INTEGER},
            </if>
            <if test="waterPrice != null">
                #{waterPrice,jdbcType=FLOAT},
            </if>
        </trim>
    </insert>
    <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmOnHourReportLast">
        <!--@mbg.generated-->
        update rm_on_hour_report_last
        <set>
            <if test="controllerId != null">
                controller_id = #{controllerId,jdbcType=BIGINT},
            </if>
            <if test="intakeId != null">
                intake_id = #{intakeId,jdbcType=BIGINT},
            </if>
            <if test="rtuAddr != null">
                rtu_addr = #{rtuAddr,jdbcType=VARCHAR},
            </if>
            <if test="dt != null">
                dt = #{dt,jdbcType=TIMESTAMP},
            </if>
            <if test="rtuDt != null">
                rtu_dt = #{rtuDt,jdbcType=TIMESTAMP},
            </if>
            <if test="instantAmount != null">
                instant_amount = #{instantAmount,jdbcType=FLOAT},
            </if>
            <if test="totalAmount != null">
                total_amount = #{totalAmount,jdbcType=FLOAT},
            </if>
            <if test="lossAmount != null">
                loss_amount = #{lossAmount,jdbcType=FLOAT},
            </if>
            <if test="waterPress != null">
                water_press = #{waterPress,jdbcType=FLOAT},
            </if>
            <if test="batteryVolt != null">
                battery_volt = #{batteryVolt,jdbcType=FLOAT},
            </if>
            <if test="signalValue != null">
                signal_value = #{signalValue,jdbcType=INTEGER},
            </if>
            <if test="waterPrice != null">
                water_price = #{waterPrice,jdbcType=FLOAT},
            </if>
        </set>
        where id = #{id,jdbcType=BIGINT}
    </update>
    <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoRm.RmOnHourReportLast">
        <!--@mbg.generated-->
        update rm_on_hour_report_last
        set controller_id  = #{controllerId,jdbcType=BIGINT},
            intake_id      = #{intakeId,jdbcType=BIGINT},
            rtu_addr       = #{rtuAddr,jdbcType=VARCHAR},
            dt             = #{dt,jdbcType=TIMESTAMP},
            rtu_dt         = #{rtuDt,jdbcType=TIMESTAMP},
            instant_amount = #{instantAmount,jdbcType=FLOAT},
            total_amount   = #{totalAmount,jdbcType=FLOAT},
            loss_amount    = #{lossAmount,jdbcType=FLOAT},
            water_press    = #{waterPress,jdbcType=FLOAT},
            battery_volt   = #{batteryVolt,jdbcType=FLOAT},
            signal_value   = #{signalValue,jdbcType=INTEGER},
            water_price    = #{waterPrice,jdbcType=FLOAT}
        where id = #{id,jdbcType=BIGINT}
    </update>
    <!--根据阀控器地址获取定点上报最新数据-->
    <select id="getRmOnHourReportLast" resultType="com.dy.pipIrrGlobal.pojoRm.RmOnHourReportLast">
        select
        <include refid="Base_Column_List" />
        <include refid="Base_Column_List"/>
        from rm_on_hour_report_last
        where rtu_addr = #{rtuAddr}
        where intake_id = #{intakeId}
    </select>
    <!--根据指定条件获取整点报最新记录数量-->
    <select id="getOnHourReportsCount_last" resultType="java.lang.Long">
        SELECT COUNT(*) AS recordCount
        FROM rm_on_hour_report_last oh
                 INNER JOIN pr_intake inta ON inta.id = oh.intake_id
        <where>
            <if test="intakeId != null and intakeId > 0">
                AND oh.intake_id = #{intakeId}
            </if>
            <if test="intakeNum != null and intakeNum != ''">
                AND inta.name LIKE CONCAT('%', #{intakeNum}, '%')
            </if>
            <if test="rtuAddr != null and rtuAddr != ''">
                AND oh.rtu_addr LIKE CONCAT('%', #{rtuAddr}, '%')
            </if>
            <if test="timeStart != null and timeStop != null">
                AND oh.dt BETWEEN #{timeStart} AND #{timeStop}
            </if>
        </where>
    </select>
    <!--根据指定条件获取整点报最新记录-->
    <select id="getOnHourReports_last" resultType="com.dy.pipIrrGlobal.voRm.VoOnHour">
        SELECT oh.intake_id      AS intakeId,
               inta.`name`       AS intakeNum,
               oh.rtu_addr       AS rtuAddr,
               oh.dt             AS receiveTime,
               oh.instant_amount AS instantAmount,
               oh.total_amount   AS totalAmount,
               oh.loss_amount    AS lossAmount,
               oh.water_press    AS waterPress,
               oh.battery_volt   AS batteryVolt,
               oh.signal_value   AS signalValue,
               oh.water_price    AS waterPrice
        FROM rm_on_hour_report_last oh
                 INNER JOIN pr_intake inta ON inta.id = oh.intake_id
        <where>
            <if test="intakeId != null and intakeId > 0">
                AND oh.intake_id = #{intakeId}
            </if>
            <if test="intakeNum != null and intakeNum != ''">
                AND inta.name LIKE CONCAT('%', #{intakeNum}, '%')
            </if>
            <if test="rtuAddr != null and rtuAddr != ''">
                AND oh.rtu_addr LIKE CONCAT('%', #{rtuAddr}, '%')
            </if>
            <if test="timeStart != null and timeStop != null">
                AND oh.dt BETWEEN #{timeStart} AND #{timeStop}
            </if>
        </where>
        ORDER BY oh.dt DESC
        <trim prefix="limit ">
            <if test="start != null and count != null">
                #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER}
            </if>
        </trim>
    </select>
    <!--获取累计流量超过指定值的取水口数量-->
    <select id="getLargeFlowIntakesCount" resultType="java.lang.Long">
        SELECT COUNT(*) AS recordCount
        FROM pr_intake inta
                 INNER JOIN rm_on_hour_report_last hou ON hou.intake_id = inta.id
                 INNER JOIN ba_block blo ON blo.id = inta.blockId
        WHERE inta.deleted = 0
          AND hou.total_amount > #{totalAmount}
    </select>
    <!--获取累计流量超过指定值的取水口-->
    <select id="getLargeFlowIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoCumulativeFlow">
        SELECT inta.id                                  AS intakeId,
               inta.name                                AS intakeNum,
               blo.name                                 AS blockName,
               CAST(hou.total_amount AS DECIMAL(10, 2)) AS cumulativeFlow,
               hou.dt                                   AS getDate
        FROM pr_intake inta
                 INNER JOIN rm_on_hour_report_last hou ON hou.intake_id = inta.id
                 INNER JOIN ba_block blo ON blo.id = inta.blockId
        WHERE inta.deleted = 0
          AND hou.total_amount > #{totalAmount}
        ORDER BY hou.dt
        <trim prefix="limit ">
            <if test="start != null and count != null">
                #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER}
            </if>
        </trim>
    </select>
    <!--获取累计流量低于指定值的取水口数量-->
    <select id="getSmallFlowIntakesCount" resultType="java.lang.Long">
        SELECT COUNT(*) AS recordCount
        FROM pr_intake inta
                 INNER JOIN rm_on_hour_report_last hou ON hou.intake_id = inta.id
                 INNER JOIN ba_block blo ON blo.id = inta.blockId
        WHERE inta.deleted = 0
          AND hou.total_amount &lt; #{totalAmount}
    </select>
    <!--获取累计流量低于指定值的取水口-->
    <select id="getSmallFlowIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoCumulativeFlow">
        SELECT inta.id   AS intakeId,
               inta.name AS intakeNum,
               blo.name  AS blockName,
        <!--    FORMAT(hou.total_amount,2) AS cumulativeFlow,-->
        CAST(hou.total_amount AS DECIMAL(10, 2)) AS cumulativeFlow,
        hou.dt                                   AS getDate
        FROM pr_intake inta
                 INNER JOIN rm_on_hour_report_last hou ON hou.intake_id = inta.id
                 INNER JOIN ba_block blo ON blo.id = inta.blockId
        WHERE inta.deleted = 0
          AND hou.total_amount &lt; #{totalAmount}
        ORDER BY hou.dt
        <trim prefix="limit ">
            <if test="start != null and count != null">
                #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER}
            </if>
        </trim>
    </select>
    <!--获取欠压取水口数量-->
    <select id="getUnderVoltIntakesCount" resultType="java.lang.Long">
        SELECT COUNT(*) AS recordCount
        FROM pr_intake inta
                 INNER JOIN rm_on_hour_report_last hou ON hou.intake_id = inta.id
                 INNER JOIN ba_block blo ON blo.id = inta.blockId
        WHERE inta.deleted = 0
          AND hou.battery_volt &lt; #{batteryVolt}
    </select>
    <!--获取欠压取水口-->
    <select id="getUnderVoltIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoBatteryVolt">
        SELECT inta.id          AS intakeId,
               inta.name        AS intakeNum,
               blo.name         AS blockName,
               hou.battery_volt AS batteryVolt,
               hou.dt           AS getDate
        FROM pr_intake inta
                 INNER JOIN rm_on_hour_report_last hou ON hou.intake_id = inta.id
                 INNER JOIN ba_block blo ON blo.id = inta.blockId
        WHERE inta.deleted = 0
          AND hou.battery_volt &lt; #{batteryVolt}
        ORDER BY hou.dt
        <trim prefix="limit ">
            <if test="start != null and count != null">
                #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER}
            </if>
        </trim>
    </select>
    <!--获取指定信号强度的取水口数量-->
    <select id="getSpecifiedSignalIntakesCount" resultType="java.lang.Long">
        SELECT COUNT(*) AS recordCount
        FROM pr_intake inta
                 INNER JOIN rm_on_hour_report_last hou ON hou.intake_id = inta.id
                 INNER JOIN ba_block blo ON blo.id = inta.blockId
        <where>
            AND inta.deleted = 0
            <if test="signalIntensity != null and signalIntensity == 1">
                AND hou.signal_value &gt; 0
                AND hou.signal_value &lt;= #{weak}
            </if>
            <if test="signalIntensity != null and signalIntensity == 2">
                AND hou.signal_value &gt; #{weak}
                AND hou.signal_value &lt;= #{ordinary}
            </if>
            <if test="signalIntensity != null and signalIntensity == 3">
                AND hou.signal_value &gt; #{ordinary}
            </if>
        </where>
    </select>
    <!--获取指定信号强度的取水口-->
    <select id="getSpecifiedSignalIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoSignalIntensity">
        SELECT inta.id          AS intakeId,
               inta.name        AS intakeNum,
               blo.name         AS blockName,
               hou.signal_value AS signValue,
               hou.dt           AS getDate
        FROM pr_intake inta
                 INNER JOIN rm_on_hour_report_last hou ON hou.intake_id = inta.id
                 INNER JOIN ba_block blo ON blo.id = inta.blockId
        <where>
            AND inta.deleted = 0
            <if test="signalIntensity != null and signalIntensity == 1">
                AND hou.signal_value &gt; 0
                AND hou.signal_value &lt;= #{weak}
            </if>
            <if test="signalIntensity != null and signalIntensity == 2">
                AND hou.signal_value &gt; #{weak}
                AND hou.signal_value &lt;= #{ordinary}
            </if>
            <if test="signalIntensity != null and signalIntensity == 3">
                AND hou.signal_value &gt; #{ordinary}
            </if>
        </where>
        ORDER BY hou.dt
        <trim prefix="limit ">
            <if test="start != null and count != null">
                #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER}
            </if>
        </trim>
    </select>
    <!--获取最近未报数的取水口数量-->
    <select id="getUnReportedIntakesCount" resultType="java.lang.Long">
        SELECT
            count(*)
        FROM  pr_intake pit
        LEFT JOIN `rm_on_hour_report_last` rohrl ON pit.id = rohrl.intake_id
        LEFT JOIN pr_controller pct ON pit.id = pct.intakeId
        WHERE  rohrl.id is NULL
        <if test="timeStart != null and timeStart != '' ">
            OR rohrl.rtu_dt  &lt; #{timeStart}
        </if>
<!--        <if test="timeStop != null and timeStop != '' ">-->
<!--            OR rohrl.rtu_dt &gt; #{timeStop}-->
<!--        </if>-->
        ORDER BY rtu_dt ASC
    </select>
    <!--获取最近未报数的取水口-->
    <select id="getUnReportedIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoIntakeUnReported">
        SELECT
            pit.`name` intakeNum,
            pct.rtuAddr,
            rohrl.rtu_dt rtuDt
        FROM  pr_intake pit
        LEFT JOIN `rm_on_hour_report_last` rohrl ON pit.id = rohrl.intake_id
        LEFT JOIN pr_controller pct ON pit.id = pct.intakeId
        WHERE  rohrl.id is NULL
        <if test="timeStart != null">
            OR rohrl.rtu_dt  &lt; #{timeStart}
        </if>
<!--        <if test="timeStop != null">-->
<!--            OR rohrl.rtu_dt &gt; #{timeStop}-->
<!--        </if>-->
        ORDER BY rtu_dt ASC
    </select>
</mapper>