From 4a2deb11b819dd78a8c75e244ef67ec2e48cf5f5 Mon Sep 17 00:00:00 2001 From: zhubaomin <zhubaomin> Date: 星期一, 14 四月 2025 21:03:28 +0800 Subject: [PATCH] 重构轮灌组修改接口 --- pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportHistoryMapper.xml | 374 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 374 insertions(+), 0 deletions(-) diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportHistoryMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportHistoryMapper.xml new file mode 100644 index 0000000..0f63312 --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportHistoryMapper.xml @@ -0,0 +1,374 @@ +<?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> + <!--鎸囧畾鏃堕棿娈靛唴绱Н娴侀噺瓒呰繃鎸囧畾鍊肩殑鍙栨按鍙f暟閲�--> + <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> \ No newline at end of file -- Gitblit v1.8.0