From b397edee2be2dfcc3f28eeac50298b4de26b1afa Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期五, 13 十二月 2024 16:53:45 +0800
Subject: [PATCH] 取水口日取水量表中,出现一些大数,明显不正确,发析系统日志,发现一些阀控器会上报一些累计流量为0的数据,且无规律,推测是其不能从水表读取到累计流量时会上报0值。如果间歇上报0值,间歇上报一些非0值,非0值减去0值,就会出现大数,一天中出现几次那么会大数进行累加,数值将更大。为此变更算法,规避这种情况,但也会丢失一些流量值。
---
pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportHistoryMapper.xml | 36 +++++++++++++++++++++++++-----------
1 files changed, 25 insertions(+), 11 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 74589f4..ff89d88 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportHistoryMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportHistoryMapper.xml
@@ -200,13 +200,13 @@
SELECT
COUNT(*) AS recordCount
FROM rm_on_hour_report_history oh
- INNER JOIN pr_intake inta ON inta.id = oh.intake_id
+ 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 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},'%')
@@ -235,16 +235,16 @@
INNER JOIN pr_intake inta ON inta.id = oh.intake_id
<where>
<if test="intakeId != null and intakeId >0">
- AND oh.intake_id = #{intakeId}
+ AND oh.intake_id = #{intakeId,jdbcType=BIGINT}
</if>
<if test = "intakeNum != null and intakeNum !=''">
- AND inta.name LIKE CONCAT('%',#{intakeNum},'%')
+ AND inta.name LIKE CONCAT('%',#{intakeNum,jdbcType=VARCHAR},'%')
</if>
<if test = "rtuAddr != null and rtuAddr !=''">
- AND oh.rtu_addr LIKE CONCAT('%',#{rtuAddr},'%')
+ AND oh.rtu_addr LIKE CONCAT('%',#{rtuAddr,jdbcType=VARCHAR},'%')
</if>
<if test = "timeStart != null and timeStop != null">
- AND oh.dt BETWEEN #{timeStart} AND #{timeStop}
+ AND oh.dt BETWEEN #{timeStart,jdbcType=INTEGER} AND #{timeStop,jdbcType=INTEGER}
</if>
</where>
ORDER BY oh.dt DESC
@@ -260,8 +260,15 @@
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
+ 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>
@@ -273,8 +280,15 @@
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
+ 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 " >
--
Gitblit v1.8.0