Administrator
2024-08-06 efd53d4980b5a0ae537fb7ec6f5a993eae507dac
pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveLastMapper.xml
@@ -454,101 +454,99 @@
        where id = #{id,jdbcType=BIGINT}
    </update>
  <!--根据指定条件获取开关阀报最新记录数量-->
  <select id="getOpenCloseValveReportsCount_last" resultType="java.lang.Long">
    SELECT
        COUNT(*) AS recordCount
    FROM rm_open_close_valve_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_open != null and timeStart_open != '' and timeStop_open != null and  timeStop_open != '' ">
        AND oh.op_dt BETWEEN #{timeStart_open} AND #{timeStop_open}
      </if>
      <if test = "timeStart_close != null and timeStart_close != '' and timeStop_close != null and timeStop_close != '' ">
        AND oh.cl_dt BETWEEN #{timeStart_close} AND #{timeStop_close}
      </if>
    </where>
  </select>
    <!--根据指定条件获取开关阀报最新记录数量-->
    <select id="getOpenCloseValveReportsCount_last" resultType="java.lang.Long">
        SELECT COUNT(*) AS recordCount
        FROM rm_open_close_valve_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_open != null and timeStart_open != '' and timeStop_open != null and timeStop_open != ''">
                AND oh.op_dt BETWEEN #{timeStart_open} AND #{timeStop_open}
            </if>
            <if test="timeStart_close != null and timeStart_close != '' and timeStop_close != null and timeStop_close != ''">
                AND oh.cl_dt BETWEEN #{timeStart_close} AND #{timeStop_close}
            </if>
        </where>
    </select>
  <!--根据指定条件获取开关阀报最新记录-->
  <select id="getOpenCloseValveReports_last" resultType="com.dy.pipIrrGlobal.voRm.VoOpenCloseValve">
    SELECT
      oh.intake_id AS intakeId,
      inta.name AS intakeNum,
      oh.rtu_addr AS rtuAddr,
      oh.client_name AS clientName,
      oh.op_ic_card_no AS openIcNum,
      oh.op_ic_card_addr AS openIcAddr,
      oh.op_dt AS openTime,
    CASE
      WHEN oh.op_type = 1 THEN "刷卡开阀"
      WHEN oh.op_type = 3 THEN "中心站开阀"
      WHEN oh.op_type = 5 THEN "欠费关阀"
      WHEN oh.op_type = 8 THEN "用户远程开阀"
      WHEN oh.op_type = 11 THEN "开关阀卡开阀"
      ELSE "未知"
    END AS openType,
      oh.op_order_no AS openOrderNo,
      oh.op_total_amount AS openTotalAmount,
      oh.op_remain_money AS openRemainMoney,
      oh.op_water_remain_user AS openWaterRemain,
      oh.op_ele_total_amount AS openEleTotalAmount,
      oh.cl_ic_card_no AS closeIcNum,
      oh.cl_ic_card_addr AS closeIcAddr,
      oh.cl_dt AS closeTime,
    CASE
      WHEN oh.cl_type = 2 THEN "刷卡关阀"
      WHEN oh.cl_type = 4 THEN "中心站关阀"
      WHEN oh.cl_type = 5 THEN "欠费关阀"
      WHEN oh.cl_type = 6 THEN "流量计故障关阀"
      WHEN oh.cl_type = 7 THEN "紧急关闭"
      WHEN oh.cl_type = 9 THEN "用户远程关阀"
      WHEN oh.cl_type = 10 THEN "开关阀卡关阀"
      WHEN oh.cl_type = 12 THEN "黑名单命令关阀"
      WHEN oh.cl_type = 13 THEN "用户远程定时关阀"
      WHEN oh.cl_type = 14 THEN "用户远程定量关阀"
      ELSE "未知"
    END AS closeType,
      oh.cl_this_amount AS closeThisAmount,
      oh.cl_this_time AS thisTime,
      oh.cl_this_money AS thisMoney,
      oh.cl_remain_money AS closeRemainMoney,
      oh.cl_total_amount AS closeTotalAmount
    FROM rm_open_close_valve_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_open != null and timeStart_open != '' and timeStop_open != null and  timeStop_open != '' ">
        AND oh.op_dt BETWEEN #{timeStart_open} AND #{timeStop_open}
      </if>
      <if test = "timeStart_close != null and timeStart_close != '' and timeStop_close != null and timeStop_close != '' ">
        AND oh.cl_dt BETWEEN #{timeStart_close} AND #{timeStop_close}
      </if>
    </where>
    ORDER BY oh.op_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="getOpenCloseValveReports_last" resultType="com.dy.pipIrrGlobal.voRm.VoOpenCloseValve">
        SELECT oh.intake_id            AS intakeId,
               inta.name               AS intakeNum,
               oh.rtu_addr             AS rtuAddr,
               oh.client_name          AS clientName,
               oh.op_ic_card_no        AS openIcNum,
               oh.op_ic_card_addr      AS openIcAddr,
               oh.op_dt                AS openTime,
               CASE
                   WHEN oh.op_type = 1 THEN '刷卡开阀'
                   WHEN oh.op_type = 3 THEN '中心站开阀'
                   WHEN oh.op_type = 5 THEN '欠费关阀'
                   WHEN oh.op_type = 8 THEN '用户远程开阀'
                   WHEN oh.op_type = 11 THEN '开关阀卡开阀'
                   ELSE '未知'
                   END                 AS openType,
               oh.op_order_no          AS openOrderNo,
               oh.op_total_amount      AS openTotalAmount,
               oh.op_remain_money      AS openRemainMoney,
               oh.op_water_remain_user AS openWaterRemain,
               oh.op_ele_total_amount  AS openEleTotalAmount,
               oh.cl_ic_card_no        AS closeIcNum,
               oh.cl_ic_card_addr      AS closeIcAddr,
               oh.cl_dt                AS closeTime,
               CASE
                   WHEN oh.cl_type = 2 THEN '刷卡关阀'
                   WHEN oh.cl_type = 4 THEN '中心站关阀'
                   WHEN oh.cl_type = 5 THEN '欠费关阀'
                   WHEN oh.cl_type = 6 THEN '流量计故障关阀'
                   WHEN oh.cl_type = 7 THEN '紧急关闭'
                   WHEN oh.cl_type = 9 THEN '用户远程关阀'
                   WHEN oh.cl_type = 10 THEN '开关阀卡关阀'
                   WHEN oh.cl_type = 12 THEN '黑名单命令关阀'
                   WHEN oh.cl_type = 13 THEN '用户远程定时关阀'
                   WHEN oh.cl_type = 14 THEN '用户远程定量关阀'
                   ELSE '未知'
                   END                 AS closeType,
               oh.cl_this_amount       AS closeThisAmount,
               oh.cl_this_time         AS thisTime,
               oh.cl_this_money        AS thisMoney,
               oh.cl_remain_money      AS closeRemainMoney,
               oh.cl_total_amount      AS closeTotalAmount
        FROM rm_open_close_valve_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_open != null and timeStart_open != '' and timeStop_open != null and timeStop_open != ''">
                AND oh.op_dt BETWEEN #{timeStart_open} AND #{timeStop_open}
            </if>
            <if test="timeStart_close != null and timeStart_close != '' and timeStop_close != null and timeStop_close != ''">
                AND oh.cl_dt BETWEEN #{timeStart_close} AND #{timeStop_close}
            </if>
        </where>
        ORDER BY oh.op_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="getOpenCloseValveReports_last" resultType="com.dy.pipIrrGlobal.voRm.VoOpenCloseValve">
        SELECT oh.intake_id            AS intakeId,