From 4783fc799e4416c4c90e07afd00e733502f0bba8 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期四, 31 十月 2024 16:09:11 +0800
Subject: [PATCH] 1、更新日漏损最新记录有bug(新生成了记录,应该是更新老记录),修改之 ; 2、CommonV1_0_0中获取开关阀类型名称时,对于null返回空字符串。
---
pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportHistoryMapper.xml | 187 +++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 173 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..d950234 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,178 @@
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 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}
+ </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>
+ <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>
+ <!--鎸囧畾鏃堕棿娈靛唴绱Н娴侀噺瓒呰繃鎸囧畾鍊肩殑鍙栨按鍙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