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/UgRtuControllerMapper.xml | 59 +++++++++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 47 insertions(+), 12 deletions(-)
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/UgRtuControllerMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/UgRtuControllerMapper.xml
index b7aa29e..fd8a25f 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/UgRtuControllerMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/UgRtuControllerMapper.xml
@@ -125,10 +125,28 @@
<!--@mbg.generated-->
select
count(*)
- from ug_rtu_controller
+ from ug_rtu_controller ugCon
+ inner join ug_rtu_task ugTask on ugCon.task_id = ugTask.id
+ inner join pr_controller con on ugCon.controller_id = con.id
+ inner join pr_intake inta on con.intakeId = inta.id
<where>
<if test="taskId != null">
- AND task_id = #{taskId,jdbcType=BIGINT}
+ AND ugCon.task_id = #{taskId,jdbcType=BIGINT}
+ </if>
+ <if test="intakeNum != null and intakeNum != ''">
+ AND inta.name = #{intakeNum,jdbcType=VARCHAR}
+ </if>
+ <if test="rtuAddr != null and rtuAddr != ''">
+ AND ugCon.rtu_addr = #{rtuAddr,jdbcType=VARCHAR}
+ </if>
+ <if test="state != null and state == 1">
+ AND ugCon.ug_state = 1
+ </if>
+ <if test="state != null and state == 0">
+ AND ugCon.ug_state != 1
+ </if>
+ <if test="fail != null">
+ AND ugCon.ug_state = #{fail,jdbcType=INTEGER}
</if>
</where>
</select>
@@ -136,20 +154,37 @@
<select id="selectControllerUpgradeResults" resultType="com.dy.pipIrrGlobal.voUg.VoUgResult">
<!--@mbg.generated-->
select
- ctb.id as id,
- inTb.name as intakeNum,
- ctb.rtu_addr as rtuAddr,
- ctb.is_over as isOver,
- ctb.ug_state as ugState,
- ctb.over_dt as overDt
- from ug_rtu_controller ctb
- inner join pr_intake inTb on ctb.task_id = inTb.id
+ ugCon.id as id,
+ inta.name as intakeNum,
+ ugCon.rtu_addr as rtuAddr,
+ ugCon.is_over as isOver,
+ ugCon.ug_state as ugState,
+ ugCon.over_dt as overDt
+ from ug_rtu_controller ugCon
+ inner join ug_rtu_task ugTask on ugCon.task_id = ugTask.id
+ inner join pr_controller con on ugCon.controller_id = con.id
+ inner join pr_intake inta on con.intakeId = inta.id
<where>
<if test="taskId != null">
- AND ctb.task_id = #{taskId,jdbcType=BIGINT}
+ AND ugCon.task_id = #{taskId,jdbcType=BIGINT}
+ </if>
+ <if test="intakeNum != null and intakeNum != ''">
+ AND inta.name = #{intakeNum,jdbcType=VARCHAR}
+ </if>
+ <if test="rtuAddr != null and rtuAddr != ''">
+ AND ugCon.rtu_addr = #{rtuAddr,jdbcType=VARCHAR}
+ </if>
+ <if test="state != null and state == 1">
+ AND ugCon.ug_state = 1
+ </if>
+ <if test="state != null and state == 0">
+ AND ugCon.ug_state != 1
+ </if>
+ <if test="fail != null">
+ AND ugCon.ug_state = #{fail,jdbcType=INTEGER}
</if>
</where>
- ORDER BY ctb.id ASC
+ ORDER BY ugCon.id ASC
<trim prefix="limit " >
<if test="start != null and count != null">
#{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER}
--
Gitblit v1.8.0