|  |  |  | 
|---|
|  |  |  | <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 | 
|---|
|  |  |  | loss_amount, water_press, battery_volt, signal_value, water_price | 
|---|
|  |  |  | </sql> | 
|---|
|  |  |  | <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> | 
|---|
|  |  |  | <!--@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, sun_volt, | 
|---|
|  |  |  | 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}, #{sunVolt,jdbcType=FLOAT}, | 
|---|
|  |  |  | #{waterPress,jdbcType=FLOAT}, #{batteryVolt,jdbcType=FLOAT}, | 
|---|
|  |  |  | #{signalValue,jdbcType=INTEGER}, #{waterPrice,jdbcType=FLOAT}) | 
|---|
|  |  |  | </insert> | 
|---|
|  |  |  | <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmOnHourReportHistory"> | 
|---|
|  |  |  | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | <if test="batteryVolt != null"> | 
|---|
|  |  |  | battery_volt, | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | <if test="sunVolt != null"> | 
|---|
|  |  |  | sun_volt, | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | <if test="signalValue != null"> | 
|---|
|  |  |  | signal_value, | 
|---|
|  |  |  | 
|---|
|  |  |  | </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 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> | 
|---|
|  |  |  | 
|---|
|  |  |  | 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> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!--根据指定条件获取整点报历史记录数量--> | 
|---|
|  |  |  | <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 * FROM rm_on_hour_report_history | 
|---|
|  |  |  | <where> | 
|---|
|  |  |  | <if test = "timeStart != null and timeStop != null"> | 
|---|
|  |  |  | dt BETWEEN #{timeStart} AND #{timeStop} | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | </where>) his | 
|---|
|  |  |  | ON his.intake_id = inta.id | 
|---|
|  |  |  | INNER 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, | 
|---|
|  |  |  | blo.name AS blockName | 
|---|
|  |  |  | FROM pr_intake inta | 
|---|
|  |  |  | LEFT JOIN | 
|---|
|  |  |  | (SELECT * FROM rm_on_hour_report_history | 
|---|
|  |  |  | <where> | 
|---|
|  |  |  | <if test = "timeStart != null and timeStop != null"> | 
|---|
|  |  |  | dt BETWEEN #{timeStart} AND #{timeStop} | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | </where>) his | 
|---|
|  |  |  | ON his.intake_id = inta.id | 
|---|
|  |  |  | INNER 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> | 
|---|