| New file | 
 |  |  | 
 |  |  | <?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.RmOnHourReportHistoryMapper"> | 
 |  |  |   <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoRm.RmOnHourReportHistory"> | 
 |  |  |     <!--@mbg.generated--> | 
 |  |  |     <!--@Table rm_on_hour_report_history--> | 
 |  |  |     <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, controller_id, intake_id, rtu_addr, dt, rtu_dt, instant_amount, total_amount,  | 
 |  |  |     loss_amount, water_press, battery_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_history | 
 |  |  |     where id = #{id,jdbcType=BIGINT} | 
 |  |  |   </select> | 
 |  |  |   <delete id="deleteByPrimaryKey" parameterType="java.lang.Long"> | 
 |  |  |     <!--@mbg.generated--> | 
 |  |  |     delete from rm_on_hour_report_history | 
 |  |  |     where id = #{id,jdbcType=BIGINT} | 
 |  |  |   </delete> | 
 |  |  |   <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoRm.RmOnHourReportHistory"> | 
 |  |  |     <!--@mbg.generated--> | 
 |  |  |     insert into rm_on_hour_report_history (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.RmOnHourReportHistory"> | 
 |  |  |     <!--@mbg.generated--> | 
 |  |  |     insert into rm_on_hour_report_history | 
 |  |  |     <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.RmOnHourReportHistory"> | 
 |  |  |     <!--@mbg.generated--> | 
 |  |  |     update rm_on_hour_report_history | 
 |  |  |     <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.RmOnHourReportHistory"> | 
 |  |  |     <!--@mbg.generated--> | 
 |  |  |     update rm_on_hour_report_history | 
 |  |  |     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="getOnHourReportsCount_history" resultType="java.lang.Long"> | 
 |  |  |     SELECT | 
 |  |  |         COUNT(*) AS recordCount | 
 |  |  |     FROM rm_on_hour_report_history 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_history" 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_history 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,jdbcType=BIGINT} | 
 |  |  |       </if> | 
 |  |  |       <if test = "intakeNum != null and intakeNum !=''"> | 
 |  |  |         AND inta.name LIKE CONCAT('%',#{intakeNum,jdbcType=VARCHAR},'%') | 
 |  |  |       </if> | 
 |  |  |       <if test = "rtuAddr != null and rtuAddr !=''"> | 
 |  |  |         AND oh.rtu_addr LIKE CONCAT('%',#{rtuAddr,jdbcType=VARCHAR},'%') | 
 |  |  |       </if> | 
 |  |  |       <if test = "timeStart != null and timeStop != null"> | 
 |  |  |         AND oh.dt BETWEEN #{timeStart,jdbcType=INTEGER} AND #{timeStop,jdbcType=INTEGER} | 
 |  |  |       </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="getNotOnlineIntakesCount" resultType="java.lang.Long"> | 
 |  |  |     SELECT | 
 |  |  |         COUNT(*) AS recordCount | 
 |  |  |     FROM pr_intake inta | 
 |  |  |     LEFT JOIN | 
 |  |  |          (SELECT intake_id FROM rm_on_hour_report_history | 
 |  |  |          <where> | 
 |  |  |            <if test = "idStart != null"> | 
 |  |  |              id <![CDATA[>=]]> #{idStart} | 
 |  |  |            </if> | 
 |  |  |            <if test = "idEnd != null"> | 
 |  |  |              AND id <![CDATA[<=]]> #{idEnd} | 
 |  |  |            </if> | 
 |  |  |          </where>) his | 
 |  |  |          ON his.intake_id = inta.id | 
 |  |  |     LEFT JOIN ba_block blo ON blo.id = inta.blockId | 
 |  |  |     WHERE his.intake_id IS NULL AND inta.deleted = 0 | 
 |  |  |   </select> | 
 |  |  |  | 
 |  |  |   <!--获取指定时间段内未上线的取水口--> | 
 |  |  |   <select id="getNotOnlineIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoIntake"> | 
 |  |  |     SELECT | 
 |  |  |       inta.id AS intakeId, | 
 |  |  |       inta.name AS intakeNum, | 
 |  |  |       inta.lng AS lng, | 
 |  |  |       inta.lat AS lat, | 
 |  |  |       blo.name AS blockName | 
 |  |  |     FROM pr_intake inta | 
 |  |  |     LEFT JOIN | 
 |  |  |     (SELECT intake_id FROM rm_on_hour_report_history | 
 |  |  |     <where> | 
 |  |  |       <if test = "idStart != null"> | 
 |  |  |         id <![CDATA[>=]]> #{idStart} | 
 |  |  |       </if> | 
 |  |  |       <if test = "idEnd != null"> | 
 |  |  |         AND id <![CDATA[<=]]> #{idEnd} | 
 |  |  |       </if> | 
 |  |  |     </where>) his | 
 |  |  |     ON his.intake_id = inta.id | 
 |  |  |     LEFT JOIN ba_block blo ON blo.id = inta.blockId | 
 |  |  |     WHERE his.intake_id IS NULL AND inta.deleted = 0 | 
 |  |  |     ORDER BY inta.id | 
 |  |  |     <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="getTotalFlowGtValueIntakesCount" resultType="java.lang.Long"> | 
 |  |  |     select | 
 |  |  |     count(*) | 
 |  |  |     from | 
 |  |  |     ( | 
 |  |  |     SELECT | 
 |  |  |     inta.id AS intakeId, | 
 |  |  |     inta.NAME AS intakeNum, | 
 |  |  |     blo.NAME AS blockName , | 
 |  |  |     IFNULL(b.total_amount, 0)-IFNULL(a.total_amount, 0) AS value | 
 |  |  |     FROM | 
 |  |  |     pr_intake inta | 
 |  |  |     INNER JOIN ba_block blo ON blo.id = inta.blockId | 
 |  |  |     LEFT JOIN (SELECT | 
 |  |  |     intake_id, | 
 |  |  |     total_amount | 
 |  |  |     FROM | 
 |  |  |     rm_on_hour_report_history rohrs | 
 |  |  |     WHERE rohrs.rtu_dt = (    SELECT MAX(rtu_dt) | 
 |  |  |     FROM rm_on_hour_report_history | 
 |  |  |     WHERE rtu_dt <= #{timeStart})) AS a ON inta.id = a.intake_id | 
 |  |  |     LEFT JOIN (    SELECT | 
 |  |  |     intake_id, | 
 |  |  |     total_amount | 
 |  |  |     FROM | 
 |  |  |     rm_on_hour_report_history rohrs | 
 |  |  |     WHERE rohrs.rtu_dt = (    SELECT MAX(rtu_dt) | 
 |  |  |     FROM rm_on_hour_report_history | 
 |  |  |     WHERE rtu_dt <= #{timeStop})) AS b ON inta.id = b.intake_id | 
 |  |  |     WHERE IFNULL(b.total_amount, 0)-IFNULL(a.total_amount, 0) > #{value} AND inta.deleted = 0 | 
 |  |  |     ) c | 
 |  |  |     </select> | 
 |  |  |   <!--指定时间段内累积流量超过指定值的取水口--> | 
 |  |  |   <select id="getTotalFlowGtValueIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoIntakeAccumulateAmount"> | 
 |  |  |     SELECT | 
 |  |  |       inta.id AS intakeId, | 
 |  |  |       inta.NAME AS intakeNum, | 
 |  |  |       blo.NAME AS blockName , | 
 |  |  |       IFNULL(b.total_amount, 0)-IFNULL(a.total_amount, 0) AS value | 
 |  |  |     FROM | 
 |  |  |       pr_intake inta | 
 |  |  |       INNER JOIN ba_block blo ON blo.id = inta.blockId | 
 |  |  |       LEFT JOIN (SELECT | 
 |  |  |       intake_id, | 
 |  |  |       total_amount | 
 |  |  |       FROM | 
 |  |  |       rm_on_hour_report_history rohrs | 
 |  |  |       WHERE rohrs.rtu_dt = (    SELECT MAX(rtu_dt) | 
 |  |  |       FROM rm_on_hour_report_history | 
 |  |  |       WHERE rtu_dt <= #{timeStart})) AS a ON inta.id = a.intake_id | 
 |  |  |     LEFT JOIN (    SELECT | 
 |  |  |     intake_id, | 
 |  |  |     total_amount | 
 |  |  |     FROM | 
 |  |  |     rm_on_hour_report_history rohrs | 
 |  |  |     WHERE rohrs.rtu_dt = (    SELECT MAX(rtu_dt) | 
 |  |  |     FROM rm_on_hour_report_history | 
 |  |  |     WHERE rtu_dt <= #{timeStop})) AS b ON inta.id = b.intake_id | 
 |  |  |     WHERE IFNULL(b.total_amount, 0)-IFNULL(a.total_amount, 0) > #{value} AND inta.deleted = 0 | 
 |  |  |     ORDER BY inta.id | 
 |  |  |     <trim prefix="limit " > | 
 |  |  |       <if test="start != null and count != null"> | 
 |  |  |         #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER} | 
 |  |  |       </if> | 
 |  |  |     </trim> | 
 |  |  |   </select> | 
 |  |  | </mapper> |