From 42155cb925930831293dd10ac5037c04619e92c9 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期四, 17 十月 2024 16:05:08 +0800
Subject: [PATCH] 修改通信中间件上行数据的漏损量处理逻辑,对于当天绑定(发现并绑定)的控制器,控制器计算的漏损量一定不正确,强制设置成0,本次修改是把原实现用发现日期时间控制,变成绑定日期时间控制。
---
pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml | 155 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 153 insertions(+), 2 deletions(-)
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml
index e852f5b..461c803 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml
@@ -447,6 +447,9 @@
<if test="intakeNum != null and intakeNum != ''">
AND inta.name LIKE CONCAT('%', #{intakeNum}, '%')
</if>
+ <if test="clientName != null and clientName != ''">
+ AND oh.client_name LIKE CONCAT('%', #{clientName}, '%')
+ </if>
<if test="rtuAddr != null and rtuAddr != ''">
AND oh.rtu_addr LIKE CONCAT('%', #{rtuAddr}, '%')
</if>
@@ -467,7 +470,7 @@
oh.client_name AS clientName,
oh.op_ic_card_no AS openIcNum,
oh.op_ic_card_addr AS openIcAddr,
- oh.op_dt AS openTime,
+ oh.open_dt AS openTime,
CASE
WHEN oh.op_type = 1 THEN '鍒峰崱寮�闃�'
WHEN oh.op_type = 3 THEN '涓績绔欏紑闃�'
@@ -483,7 +486,7 @@
oh.op_ele_total_amount AS openEleTotalAmount,
oh.cl_ic_card_no AS closeIcNum,
oh.cl_ic_card_addr AS closeIcAddr,
- oh.cl_dt AS closeTime,
+ oh.close_dt AS closeTime,
CASE
WHEN oh.cl_type = 2 THEN '鍒峰崱鍏抽榾'
WHEN oh.cl_type = 4 THEN '涓績绔欏叧闃�'
@@ -510,6 +513,9 @@
</if>
<if test="intakeNum != null and intakeNum != ''">
AND inta.name LIKE CONCAT('%', #{intakeNum}, '%')
+ </if>
+ <if test="clientName != null and clientName != ''">
+ AND oh.client_name LIKE CONCAT('%', #{clientName}, '%')
</if>
<if test="rtuAddr != null and rtuAddr != ''">
AND oh.rtu_addr LIKE CONCAT('%', #{rtuAddr}, '%')
@@ -775,6 +781,54 @@
</trim>
</select>
+ <!--鑾峰彇鎸囧畾鏃堕棿娈靛唴鐢ㄦ按閲忎綆浜庢寚瀹氬�肩殑鍐滄埛鏁伴噺-->
+ <select id="getSmallWaterConsumptionClientsCount" resultType="java.lang.Long">
+ SELECT COUNT(*) AS recordCount
+ FROM se_client cli
+ <where>
+ <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and waterConsumption != null">
+ (SELECT SUM(his.cl_this_amount)
+ FROM rm_open_close_valve_history his
+ WHERE his.client_id = cli.id
+ AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) < #{waterConsumption}
+ </if>
+ </where>
+ </select>
+
+ <!--鑾峰彇鎸囧畾鏃堕棿娈靛唴鐢ㄦ按閲忎綆浜庢寚瀹氬�肩殑鍐滄埛-->
+ <select id="getSmallWaterConsumptionClients" resultType="com.dy.pipIrrGlobal.voSt.VoClient">
+ SELECT cli.id AS clientId,
+ cli.name AS clientName,
+ cli.clientNum,
+ CONCAT(cli.districtTitle, cli.address) AS address,
+ cli.phone,
+ cli.idCard,
+ IFNULL((SELECT SUM(his.cl_this_amount)
+ FROM rm_open_close_valve_history his
+ <where>
+ his.client_id = cli.id
+ <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != ''">
+ AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}
+ </if>
+ </where>
+ ),0) AS waterConsumption
+ FROM se_client cli
+ <where>
+ <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and waterConsumption != null">
+ (SELECT SUM(his.cl_this_amount)
+ FROM rm_open_close_valve_history his
+ WHERE his.client_id = cli.id
+ AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) < #{waterConsumption}
+ </if>
+ </where>
+ ORDER BY cli.id
+ <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="getLargeAmountSpentClientsCount" resultType="java.lang.Long">
SELECT COUNT(*) AS recordCount
@@ -812,6 +866,53 @@
FROM rm_open_close_valve_history his
WHERE his.client_id = cli.id
AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) > #{amountSpent}
+ </if>
+ </where>
+ ORDER BY cli.id
+ <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="getSmallAmountSpentClientsCount" resultType="java.lang.Long">
+ SELECT COUNT(*) AS recordCount
+ FROM se_client cli
+ <where>
+ <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and amountSpent != null">
+ (SELECT SUM(his.cl_this_money)
+ FROM rm_open_close_valve_history his
+ WHERE his.client_id = cli.id
+ AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) < #{amountSpent}
+ </if>
+ </where>
+ </select>
+ <!--鑾峰彇鎸囧畾鏃堕棿娈靛唴娑堣垂閲戦浣庝簬鎸囧畾鍊肩殑鍐滄埛-->
+ <select id="getSmallAmountSpentClients" resultType="com.dy.pipIrrGlobal.voSt.VoClient">
+ SELECT cli.id AS clientId,
+ cli.name AS clientName,
+ cli.clientNum,
+ CONCAT(cli.districtTitle, cli.address) AS address,
+ cli.phone,
+ cli.idCard,
+ IFNULL((SELECT SUM(his.cl_this_money)
+ FROM rm_open_close_valve_history his
+ <where>
+ his.client_id = cli.id
+ <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != ''">
+ AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}
+ </if>
+ </where>
+ ),0) AS amountSpent
+ FROM se_client cli
+ <where>
+ <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and amountSpent != null">
+ (SELECT SUM(his.cl_this_money)
+ FROM rm_open_close_valve_history his
+ WHERE his.client_id = cli.id
+ AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) < #{amountSpent}
</if>
</where>
ORDER BY cli.id
@@ -860,6 +961,54 @@
FROM rm_open_close_valve_history his
WHERE his.client_id = cli.id
AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) > #{waterDuration}
+ </if>
+ </where>
+ ORDER BY cli.id
+ <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="getSmallWaterDurationClientsCount" resultType="java.lang.Long">
+ SELECT COUNT(*) AS recordCount
+ FROM se_client cli
+ <where>
+ <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and waterDuration != null">
+ (SELECT SUM(his.cl_this_time)
+ FROM rm_open_close_valve_history his
+ WHERE his.client_id = cli.id
+ AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) < #{waterDuration}
+ </if>
+ </where>
+ </select>
+
+ <!--鑾峰彇鎸囧畾鏃堕棿娈靛唴鐢ㄦ按鏃堕暱浣庝簬鎸囧畾鍊肩殑鍐滄埛-->
+ <select id="getSmallWaterDurationClients" resultType="com.dy.pipIrrGlobal.voSt.VoClient">
+ SELECT cli.id AS clientId,
+ cli.name AS clientName,
+ cli.clientNum,
+ CONCAT(cli.districtTitle, cli.address) AS address,
+ cli.phone,
+ cli.idCard,
+ IFNULL((SELECT SUM(his.cl_this_time)
+ FROM rm_open_close_valve_history his
+ <where>
+ his.client_id = cli.id
+ <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != ''">
+ AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}
+ </if>
+ </where>
+ ),0) AS waterDuration
+ FROM se_client cli
+ <where>
+ <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and waterDuration != null">
+ (SELECT SUM(his.cl_this_time)
+ FROM rm_open_close_valve_history his
+ WHERE his.client_id = cli.id
+ AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) < #{waterDuration}
</if>
</where>
ORDER BY cli.id
@@ -1063,6 +1212,7 @@
INNER JOIN pr_intake inta ON inta.id = och.intake_id
<where>
AND och.cl_ic_card_no IS NOT NULL AND och.client_id IS NOT NULL
+ AND och.cl_this_money> 0
<if test = "clientName != null and clientName !=''">
AND cli.name like CONCAT('%',#{clientName},'%')
</if>
@@ -1094,6 +1244,7 @@
INNER JOIN pr_intake inta ON inta.id = och.intake_id
<where>
AND och.cl_ic_card_no IS NOT NULL AND och.client_id IS NOT NULL
+ AND och.cl_this_money> 0
<if test = "clientName != null and clientName !=''">
AND cli.name like CONCAT('%',#{clientName},'%')
</if>
--
Gitblit v1.8.0