From b5cc77e64eb5a0d4b75488f0d3a3075e56ee0359 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Fri, 19 Apr 2024 09:27:14 +0800
Subject: [PATCH] 告警饼图增加工程规模,标签,流域,多水库查询条件

---
 skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/alarmRule/vo/AlarmRecordVO.java |    6 ++++++
 skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/mapper/AlarmRecordMapper.xml  |   35 ++++++++++++++++++++++++++++++++---
 2 files changed, 38 insertions(+), 3 deletions(-)

diff --git a/skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/alarmRule/vo/AlarmRecordVO.java b/skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/alarmRule/vo/AlarmRecordVO.java
index c728f2f..3fc3fe3 100644
--- a/skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/alarmRule/vo/AlarmRecordVO.java
+++ b/skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/alarmRule/vo/AlarmRecordVO.java
@@ -11,6 +11,7 @@
 @Data
 public class AlarmRecordVO extends AlarmRecord {
 
+
 	/**
 	 * 区域名称
 	 */
@@ -89,4 +90,9 @@
 	private String adLevel;
 
 	private String alarmLevel;
+
+	private String labels;
+	private String basGuids;
+
+	private String resGuids;
 }
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/mapper/AlarmRecordMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/mapper/AlarmRecordMapper.xml
index 7996dec..030ee97 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/mapper/AlarmRecordMapper.xml
+++ b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/mapper/AlarmRecordMapper.xml
@@ -262,6 +262,10 @@
         FROM YWXT.sm_alarm_record record
                  LEFT JOIN ywxt.SM_ALARM_RULE rule on rule.id = record.alarm_rule_id
                  LEFT JOIN SJZT_MD."att_res_base" arb on arb."guid" = record.reservoir_number
+
+                LEFT JOIN SJZT_MD."rel_res_bas_loc" rrbl ON rrbl."res_guid" = record.reservoir_number
+                LEFT JOIN SJZT_MD."att_bas_base" abb ON abb."code" = rrbl."bas_guid"
+                LEFT JOIN SJZT_MD."att_bas_base" pabb ON abb."p_code" = pabb."code"
         where
             record.is_deleted = 0
           <if test="alarmRecord.type != null and alarmRecord.type !=''">
@@ -276,9 +280,34 @@
             <if test="alarmRecord.endTime!=null and alarmRecord.endTime!=''">
                 and record.create_time &lt;= #{alarmRecord.endTime}
             </if>
-<!--            <if test="alarmRecord.reservoirName != null and alarmRecord.reservoirName !=''">-->
-<!--                and arb."name" LIKE CONCAT('%',#{alarmRecord.reservoirName},'%')-->
-<!--            </if>-->
+            <if test="alarmRecord.engScal != null and alarmRecord.engScal != ''">
+                and arb."eng_scal" = #{alarmRecord.engScal}
+            </if>
+            <if test="alarmRecord.labels != null and alarmRecord.labels != '' ">
+                AND( 1!=1
+                <foreach collection="alarmRecord.labels.split(',')" item="item" open="" separator="" close="" index="index">
+                    OR  #{item}  in (arb."label")
+                </foreach>
+                )
+            </if>
+            <if test="alarmRecord.basGuids != null and alarmRecord.basGuids !='' ">
+                AND(
+                abb."code" in
+                <foreach collection="alarmRecord.basGuids.split(',')" item="item" index="index" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+                or pabb."code" in
+                <foreach collection="alarmRecord.basGuids.split(',')" item="item" index="index" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+                )
+            </if>
+            <if test="alarmRecord.resGuids != null and alarmRecord.resGuids !=''">
+                AND record.reservoir_number in
+                <foreach collection="alarmRecord.resGuids.split(',')" item="item" index="index" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
         group by rule.alarm_level
         order by field(rule.alarm_level,'蓝色预警','黄色预警','橙色预警','红色预警')
     </select>

--
Gitblit v1.9.3