From 41c8dd06fe3218e54314a58544d7cefe732fbdfb Mon Sep 17 00:00:00 2001
From: ke <893754509@qq.com>
Date: Mon, 22 Apr 2024 16:52:54 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/jtdev' into jtdev

---
 skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/mapper/AlarmRecordMapper.xml |  106 ++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 101 insertions(+), 5 deletions(-)

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..aa3b63f 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
@@ -6,7 +6,7 @@
     <select id="selectAlarmRecordPage" resultType="cn.gistack.alerts.alarmRule.vo.AlarmRecordVO">
         select
         sar.*,
-        sar1.type,sar1.alarm_rule_type as alarmRuleType,sar1.create_alarm_type as createAlarmType,sar1.rule_name as ruleName,
+        sar1.type,sar1.alarm_rule_type as alarmRuleType,sar1.create_alarm_type as createAlarmType,sar1.rule_name as ruleName,a."label" as labels,
         a."name" as reservoirName,a."res_reg_code" as resRegCode,a."eng_scal" as engScal,
         case when b."ad_grad" = 4 THEN b."ad_name"
             ELSE NULL END AS townName,
@@ -23,6 +23,11 @@
         left join SJZT_MD."att_ad_base" b on b."guid" = a."interior_ad_guid"
         LEFT JOIN SJZT_MD."att_ad_base" c ON b."p_ad_code" = c."guid"
         LEFT JOIN SJZT_MD."att_ad_base" d ON c."p_ad_code" = d."guid"
+
+        LEFT JOIN SJZT_MD."rel_res_bas_loc" rrbl ON rrbl."res_guid" = sar.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 sar.is_deleted = 0
         <if test="alarmRecord.reservoirName!=null and alarmRecord.reservoirName!=''">
             and a."name" like concat('%',#{alarmRecord.reservoirName},'%')
@@ -54,7 +59,35 @@
         <if test="alarmRecord.alarmLevel != null and alarmRecord.alarmLevel !=''">
             and sar1.alarm_level = #{alarmRecord.alarmLevel}
         </if>
-        order by sar.id desc
+
+        <if test="alarmRecord.engScal != null and alarmRecord.engScal != ''">
+            and a."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 (a."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 sar.reservoir_number in
+            <foreach collection="alarmRecord.resGuids.split(',')" item="item" index="index" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+        </if>
     </select>
 
     <select id="getVODetail" resultType="cn.gistack.alerts.alarmRule.vo.AlarmRecordVO">
@@ -127,6 +160,10 @@
             left join SJZT_MD."att_ad_base" c ON b."p_ad_code" = c."guid"
             left join SJZT_MD."att_ad_base" d ON c."p_ad_code" = d."guid"
             left join YWXT.sm_alarm_rule e on e.id = sar.alarm_rule_id
+
+            LEFT JOIN SJZT_MD."rel_res_bas_loc" rrbl ON rrbl."res_guid" = sar.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 sar.is_deleted = 0
             <if test="alarmRecord.reservoirName!=null and alarmRecord.reservoirName!=''">
                 and arb."name" like concat('%',#{alarmRecord.reservoirName},'%')
@@ -152,6 +189,36 @@
             <if test="alarmRecord.adCode!=null and alarmRecord.adCode!=''">
                 and arb."interior_ad_guid" like concat('%',#{alarmRecord.adCode},'%')
             </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 sar.reservoir_number in
+                <foreach collection="alarmRecord.resGuids.split(',')" item="item" index="index" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+
+
         ) f
         group by
         <if test="alarmRecord.adLevel !=null and alarmRecord.adLevel != '' and alarmRecord.adLevel == 1 ">
@@ -262,6 +329,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 +347,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