From 6dacac48ebb596797dfd8e5bf3a803ed0b583643 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期三, 05 二月 2025 17:11:31 +0800
Subject: [PATCH] 取水口综合信息-统计数据逻辑处理模块完善
---
pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml | 163 ++++++++++++++++++++++++++++++++----------------------
1 files changed, 97 insertions(+), 66 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 8156a0d..6c5d694 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml
@@ -553,30 +553,50 @@
</if>
</trim>
</select>
+
<!--鑾峰彇鎸囧畾鏃堕棿娈靛唴浠庢湭寮�杩囬榾鐨勫彇姘村彛鏁伴噺-->
<select id="getNeverOpenValveIntakesCount" resultType="java.lang.Long">
SELECT COUNT(*) AS recordCount
FROM pr_intake inta
- INNER JOIN ba_block blo ON blo.id = inta.blockId
- WHERE inta.deleted = 0
- AND NOT EXISTS(SELECT *
- FROM rm_open_close_valve_history
- WHERE op_dt BETWEEN #{timeStart} AND #{timeStop}
- AND intake_id = inta.id)
+ LEFT JOIN
+ (SELECT intake_id FROM rm_open_close_valve_history
+ <where>
+ <if test = "idStart != null">
+ id <![CDATA[>=]]> #{idStart}
+ </if>
+ <if test = "idEnd != null">
+ AND id <![CDATA[<=]]> #{idEnd}
+ </if>
+ </where>) his
+ ON his.intake_id = inta.id
+ LEFT JOIN ba_block blo ON blo.id = inta.blockId
+ LEFT JOIN pr_controller pct ON inta.id = pct.intakeId
+ WHERE his.intake_id IS NULL AND inta.deleted = 0
</select>
<!--鑾峰彇鎸囧畾鏃堕棿娈靛唴浠庢湭寮�杩囬榾鐨勫彇姘村彛-->
- <select id="getNeverOpenValveIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoIntake">
- SELECT inta.id AS intakeId,
- inta.name AS intakeNum,
- blo.name AS blockName
+ <select id="getNeverOpenValveIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoIntakeUnOpenValve">
+ SELECT inta.id AS intakeId,
+ inta.name AS intakeNum,
+ inta.lng AS lng,
+ inta.lat AS lat,
+ blo.name AS blockName,
+ pct.rtuAddr AS rtuAddr
FROM pr_intake inta
- INNER JOIN ba_block blo ON blo.id = inta.blockId
- WHERE inta.deleted = 0
- AND NOT EXISTS(SELECT *
- FROM rm_open_close_valve_history
- WHERE op_dt BETWEEN #{timeStart} AND #{timeStop}
- AND intake_id = inta.id)
- ORDER BY inta.id
+ LEFT JOIN
+ (SELECT intake_id FROM rm_open_close_valve_history
+ <where>
+ <if test = "idStart != null">
+ id <![CDATA[>=]]> #{idStart}
+ </if>
+ <if test = "idEnd != null">
+ AND id <![CDATA[<=]]> #{idEnd}
+ </if>
+ </where>) his
+ ON his.intake_id = inta.id
+ LEFT JOIN ba_block blo ON blo.id = inta.blockId
+ LEFT JOIN pr_controller pct ON inta.id = pct.intakeId
+ WHERE his.intake_id IS NULL AND inta.deleted = 0
+ ORDER BY inta.id DESC
<trim prefix="limit ">
<if test="start != null and count != null">
#{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER}
@@ -591,10 +611,11 @@
inta.name AS intakeNum,
blo.name AS blockName
FROM pr_intake inta
- LEFT JOIN (SELECT *
- FROM rm_open_close_valve_history
- WHERE op_dt BETWEEN #{timeStart} AND #{timeStop}) his ON his.intake_id = inta.id
- INNER JOIN ba_block blo ON blo.id = inta.blockId
+ INNER JOIN (SELECT intake_id
+ FROM rm_open_close_valve_history
+ WHERE id <![CDATA[>=]]> #{idStart} AND id <![CDATA[<=]]> #{idEnd}
+ ) his ON his.intake_id = inta.id
+ INNER JOIN ba_block blo ON blo.id = inta.blockId
WHERE inta.deleted = 0
GROUP BY intakeId, intakeNum, blockName
HAVING recordCount > #{value}) a
@@ -604,22 +625,26 @@
SELECT COUNT(*) AS recordCount,
inta.id AS intakeId,
inta.name AS intakeNum,
+ inta.lng AS lng,
+ inta.lat AS lat,
blo.name AS blockName
FROM pr_intake inta
- LEFT JOIN (SELECT *
- FROM rm_open_close_valve_history
- WHERE op_dt BETWEEN #{timeStart} AND #{timeStop}) his ON his.intake_id = inta.id
- INNER JOIN ba_block blo ON blo.id = inta.blockId
+ INNER JOIN(SELECT intake_id
+ FROM rm_open_close_valve_history
+ WHERE id <![CDATA[>=]]> #{idStart} AND id <![CDATA[<=]]> #{idEnd}
+ ) his ON his.intake_id = inta.id
+ INNER JOIN ba_block blo ON blo.id = inta.blockId
WHERE inta.deleted = 0
GROUP BY intakeId, intakeNum, blockName
HAVING recordCount > #{value}
- <!-- ORDER BY inta.id-->
+ ORDER BY intakeId DESC
<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="getOpenValveLtIntakesCount" resultType="java.lang.Long">
select count(*)
@@ -628,10 +653,11 @@
inta.name AS intakeNum,
blo.name AS blockName
FROM pr_intake inta
- LEFT JOIN (SELECT *
- FROM rm_open_close_valve_history
- WHERE op_dt BETWEEN #{timeStart} AND #{timeStop}) his ON his.intake_id = inta.id
- INNER JOIN ba_block blo ON blo.id = inta.blockId
+ INNER JOIN (SELECT intake_id
+ FROM rm_open_close_valve_history
+ WHERE id <![CDATA[>=]]> #{idStart} AND id <![CDATA[<=]]> #{idEnd}
+ ) his ON his.intake_id = inta.id
+ INNER JOIN ba_block blo ON blo.id = inta.blockId
WHERE inta.deleted = 0
GROUP BY intakeId, intakeNum, blockName
HAVING recordCount < #{value}) a
@@ -641,16 +667,19 @@
SELECT COUNT(*) AS recordCount,
inta.id AS intakeId,
inta.name AS intakeNum,
+ inta.lng AS lng,
+ inta.lat AS lat,
blo.name AS blockName
FROM pr_intake inta
- LEFT JOIN (SELECT *
- FROM rm_open_close_valve_history
- WHERE op_dt BETWEEN #{timeStart} AND #{timeStop}) his ON his.intake_id = inta.id
- INNER JOIN ba_block blo ON blo.id = inta.blockId
+ INNER JOIN(SELECT intake_id
+ FROM rm_open_close_valve_history
+ WHERE id <![CDATA[>=]]> #{idStart} AND id <![CDATA[<=]]> #{idEnd}
+ ) his ON his.intake_id = inta.id
+ INNER JOIN ba_block blo ON blo.id = inta.blockId
WHERE inta.deleted = 0
GROUP BY intakeId, intakeNum, blockName
HAVING recordCount < #{value}
- <!-- ORDER BY inta.id-->
+ ORDER BY intakeId DESC
<trim prefix="limit ">
<if test="start != null and count != null">
#{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER}
@@ -1065,8 +1094,8 @@
IFNULL(SUM(rocvh.cl_this_time),0) AS recordCount
FROM
pr_intake inta
- INNER JOIN ba_block blo ON blo.id = inta.blockId
- LEFT JOIN rm_open_close_valve_history rocvh ON rocvh.intake_id = inta.id
+ LEFT JOIN ba_block blo ON blo.id = inta.blockId
+ INNER JOIN rm_open_close_valve_history rocvh ON rocvh.intake_id = inta.id
WHERE rocvh.op_dt >= #{timeStart} AND rocvh.cl_dt <= #{timeStop} AND inta.deleted = 0
GROUP BY inta.id
HAVING IFNULL(SUM(rocvh.cl_this_time),0) > #{value}
@@ -1080,31 +1109,32 @@
<!--鎸囧畾鏃堕棿娈� 鏈夊紑闃� 鏃犲叧闃�鐨勫彇姘村彛鏁伴噺-->
<select id="getHaveOpenNoCloseIntakesCount" resultType="java.lang.Long">
select count(*) from
- (
- SELECT
- inta.id AS intakeId,
- inta.NAME AS intakeNum,
- blo.NAME AS blockName
- FROM
- pr_intake inta
- INNER JOIN ba_block blo ON blo.id = inta.blockId
- inner JOIN rm_open_close_valve_history rocvh ON rocvh.intake_id = inta.id
- WHERE rocvh.op_dt BETWEEN #{timeStart} AND #{timeStop} AND rocvh.cl_dt IS NULL AND inta.deleted = 0
- GROUP BY inta.id) c
+ (
+ SELECT
+ inta.id AS intakeId
+ FROM
+ pr_intake inta
+ LEFT JOIN ba_block blo ON blo.id = inta.blockId
+ INNER JOIN rm_open_close_valve_history rocvh ON rocvh.intake_id = inta.id
+ WHERE inta.deleted = 0 AND rocvh.id <![CDATA[>=]]> #{idStart} AND rocvh.id <![CDATA[<=]]> #{idEnd} AND rocvh.cl_dt IS NULL
+ GROUP BY inta.id
+ ) c
</select>
<!--鎸囧畾鏃堕棿娈� 鏈夊紑闃� 鏃犲叧闃�鐨勫彇姘村彛-->
<select id="getHaveOpenNoCloseIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoIntake">
SELECT
inta.id AS intakeId,
inta.NAME AS intakeNum,
+ inta.lng AS lng,
+ inta.lat AS lat,
blo.NAME AS blockName
FROM
pr_intake inta
- INNER JOIN ba_block blo ON blo.id = inta.blockId
- inner JOIN rm_open_close_valve_history rocvh ON rocvh.intake_id = inta.id
- WHERE rocvh.op_dt BETWEEN #{timeStart} AND #{timeStop} AND rocvh.cl_dt IS NULL AND inta.deleted = 0
+ LEFT JOIN ba_block blo ON blo.id = inta.blockId
+ INNER JOIN rm_open_close_valve_history rocvh ON rocvh.intake_id = inta.id
+ WHERE inta.deleted = 0 AND rocvh.id <![CDATA[>=]]> #{idStart} AND rocvh.id <![CDATA[<=]]> #{idEnd} AND rocvh.cl_dt IS NULL
GROUP BY inta.id
- ORDER BY inta.id
+ ORDER BY inta.id DESC
<trim prefix="limit ">
<if test="start != null and count != null">
#{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER}
@@ -1115,30 +1145,31 @@
<select id="getNoOpenHaveCloseIntakesCount" resultType="java.lang.Long">
select count(*) from
(
- SELECT
- inta.id AS intakeId,
- inta.NAME AS intakeNum,
- blo.NAME AS blockName
- FROM
- pr_intake inta
- INNER JOIN ba_block blo ON blo.id = inta.blockId
- inner JOIN rm_open_close_valve_history rocvh ON rocvh.intake_id = inta.id
- WHERE rocvh.cl_dt BETWEEN #{timeStart} AND #{timeStop} AND rocvh.op_dt IS NULL AND inta.deleted = 0
- GROUP BY inta.id) c
+ SELECT
+ inta.id AS intakeId
+ FROM
+ pr_intake inta
+ LEFT JOIN ba_block blo ON blo.id = inta.blockId
+ INNER JOIN rm_open_close_valve_history rocvh ON rocvh.intake_id = inta.id
+ WHERE inta.deleted = 0 AND rocvh.id <![CDATA[>=]]> #{idStart} AND rocvh.id <![CDATA[<=]]> #{idEnd} AND rocvh.op_dt IS NULL
+ GROUP BY inta.id
+ ) c
</select>
<!--鎸囧畾鏃堕棿娈� 鏃犲紑闃� 鏈夊叧闃�鐨勫彇姘村彛-->
<select id="getNoOpenHaveCloseIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoIntake">
SELECT
inta.id AS intakeId,
inta.NAME AS intakeNum,
+ inta.lng AS lng,
+ inta.lat AS lat,
blo.NAME AS blockName
FROM
pr_intake inta
- INNER JOIN ba_block blo ON blo.id = inta.blockId
- inner JOIN rm_open_close_valve_history rocvh ON rocvh.intake_id = inta.id
- WHERE rocvh.cl_dt BETWEEN #{timeStart} AND #{timeStop} AND rocvh.op_dt IS NULL AND inta.deleted = 0
+ LEFT JOIN ba_block blo ON blo.id = inta.blockId
+ INNER JOIN rm_open_close_valve_history rocvh ON rocvh.intake_id = inta.id
+ WHERE inta.deleted = 0 AND rocvh.id <![CDATA[>=]]> #{idStart} AND rocvh.id <![CDATA[<=]]> #{idEnd} AND rocvh.op_dt IS NULL
GROUP BY inta.id
- ORDER BY inta.id
+ ORDER BY inta.id DESC
<trim prefix="limit ">
<if test="start != null and count != null">
#{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER}
--
Gitblit v1.8.0