From 3b32adb6b7b8d40f85e84f8b1a775f2ec1df88af Mon Sep 17 00:00:00 2001 From: Administrator <zhubaomin> Date: 星期四, 01 八月 2024 21:55:06 +0800 Subject: [PATCH] 2024-08-01 朱宝民 查询统计3个接口 --- pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportHistoryMapper.xml | 167 +++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 153 insertions(+), 14 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 index ec8521a..edfd7d1 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportHistoryMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportHistoryMapper.xml @@ -15,14 +15,13 @@ <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--> @@ -41,12 +40,12 @@ 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"> @@ -85,9 +84,6 @@ </if> <if test="batteryVolt != null"> battery_volt, - </if> - <if test="sunVolt != null"> - sun_volt, </if> <if test="signalValue != null"> signal_value, @@ -129,9 +125,6 @@ </if> <if test="batteryVolt != null"> #{batteryVolt,jdbcType=FLOAT}, - </if> - <if test="sunVolt != null"> - #{sunVolt,jdbcType=FLOAT}, </if> <if test="signalValue != null"> #{signalValue,jdbcType=INTEGER}, @@ -175,9 +168,6 @@ <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> @@ -200,9 +190,158 @@ 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 = "intakeName != null and intakeName !=''"> + AND inta.name LIKE CONCAT('%',#{intakeName},'%') + </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} + </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="getNotOnlineIntakesCount" resultType="java.lang.Long"> + SELECT + COUNT(*) AS recordCount + FROM pr_intake inta + LEFT JOIN (SELECT * FROM rm_on_hour_report_history WHERE dt BETWEEN #{timeStart} AND #{timeStop}) 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 dt BETWEEN #{timeStart} AND #{timeStop}) 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> + + <!--鑾峰彇绱娴侀噺瓒呰繃鎸囧畾鍊肩殑鍙栨按鍙f暟閲�--> + <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> + + <!--鑾峰彇绱娴侀噺浣庝簬鎸囧畾鍊肩殑鍙栨按鍙f暟閲�--> + <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 < #{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 < #{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> </mapper> \ No newline at end of file -- Gitblit v1.8.0