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/RmClientAmountDayMapper.xml |   33 ++++++++++++++++++++++++---------
 1 files changed, 24 insertions(+), 9 deletions(-)

diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmClientAmountDayMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmClientAmountDayMapper.xml
index 8c8f8ef..0c43003 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmClientAmountDayMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmClientAmountDayMapper.xml
@@ -184,14 +184,17 @@
     from rm_client_amount_day rcad
            Left join se_client sc on sc.id = rcad.client_id
     <where>
-      <if test="clientName != null">
-        and sc.name = #{clientName,jdbcType=VARCHAR}
+      <if test="clientName != null and clientName != '' ">
+        and sc.name like CONCAT('%',#{clientName,jdbcType=VARCHAR},'%')
+      </if>
+      <if test="clientId != null and clientId != ''">
+        and rcad.client_id = #{clientId}
       </if>
       <if test="startDt != null">
-        and rash.dt &gt;= #{startDt,jdbcType=TIMESTAMP}
+        and rcad.dt &gt;= #{startDt,jdbcType=DATE}
       </if>
       <if test="endDt != null">
-        and rash.dt &lt;= #{endDt,jdbcType=TIMESTAMP}
+        and rcad.dt &lt;= #{endDt,jdbcType=DATE}
       </if>
     </where>
     </select>
@@ -212,19 +215,31 @@
     from rm_client_amount_day rcad
     Left join se_client sc on sc.id = rcad.client_id
     <where>
-      <if test="clientName != null">
-        and sc.name = #{clientName,jdbcType=VARCHAR}
+      <if test="clientName != null and clientName != '' ">
+        and sc.name like CONCAT('%',#{clientName,jdbcType=VARCHAR},'%')
+      </if>
+      <if test="clientId != null and clientId != ''">
+        and rcad.client_id = #{clientId}
       </if>
       <if test="startDt != null">
-        and rash.dt &gt;= #{startDt,jdbcType=TIMESTAMP}
+        and rcad.dt &gt;= #{startDt,jdbcType=DATE}
       </if>
       <if test="endDt != null">
-        and rash.dt &lt;= #{endDt,jdbcType=TIMESTAMP}
+        and rcad.dt &lt;= #{endDt,jdbcType=DATE}
       </if>
     </where>
-    ORDER BY rcad.dt DESC
+    ORDER BY rcad.id DESC
     <if test="pageCurr != null and pageSize != null">
       LIMIT ${(pageCurr-1)*pageSize}, ${pageSize}
     </if>
   </select>
+
+
+  <select id="statisticsByClient" resultType="com.dy.pipIrrGlobal.voSt.VoClientAmountStatistics">
+    select client_id, sum(amount) as amount, sum(money) as money
+    from rm_client_amount_day
+    where id <![CDATA[>=]]> #{startId,jdbcType=BIGINT} and id <![CDATA[<]]> #{endId,jdbcType=BIGINT}
+    group by client_id
+  </select>
+
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0