From 4141eecf7d1ffdb90aa591d0978cb15cffcb055a Mon Sep 17 00:00:00 2001
From: xieb <vip_xiaobin810@163.com>
Date: Wed, 06 Mar 2024 14:48:13 +0800
Subject: [PATCH] 大坝安全监测告警修改

---
 skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/service/AlarmRecordService.java          |    7 +++
 skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/mapper/AlarmRecordMapper.java            |    8 ++++
 skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/service/impl/AlarmRecordServiceImpl.java |   11 +++++
 skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/controller/AlarmRecordController.java    |   11 +++++
 skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/mapper/AlarmRecordMapper.xml             |   30 ++++++++++++++-
 5 files changed, 65 insertions(+), 2 deletions(-)

diff --git a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/controller/AlarmRecordController.java b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/controller/AlarmRecordController.java
index 154fa90..aa63ecc 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/controller/AlarmRecordController.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/controller/AlarmRecordController.java
@@ -135,6 +135,17 @@
 	}
 
 	/**
+	 * 查询大坝安全告警统计数据
+	 * @param alarmRecord
+	 * @return
+	 */
+	@ApiOperation(value="告警记录-告警统计-查询大坝安全告警统计数据", notes="告警记录-告警统计-查询大坝安全告警统计数据")
+	@GetMapping(value = "/statisticAlarmRecordByAlarmRuleType")
+	public R statisticAlarmRecordByAlarmRuleType(AlarmRecordVO alarmRecord) {
+		return R.data(alarmRecordService.statisticAlarmRecordByAlarmRuleType(alarmRecord));
+	}
+
+	/**
 	 * 按行政区统计告警
 	 * @param alarmRecord
 	 * @return
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/mapper/AlarmRecordMapper.java b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/mapper/AlarmRecordMapper.java
index b8c111d..95f1d93 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/mapper/AlarmRecordMapper.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/mapper/AlarmRecordMapper.java
@@ -37,6 +37,14 @@
 	List<StatisticAlarmRecord> statisticAlarmRecordByType(@Param("alarmRecord") AlarmRecordVO alarmRecord);
 
 	/**
+	 * 查询大坝安全告警统计数据
+	 * @param alarmRecord
+	 * @return
+	 */
+	@InterceptorIgnore(tenantLine = "true")
+	List<StatisticAlarmRecord> statisticAlarmRecordByAlarmRuleType(@Param("alarmRecord") AlarmRecordVO alarmRecord);
+
+	/**
 	 * 查询告警统计数据
 	 * @param alarmRecord
 	 * @return
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 168ddb7..4839e1b 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
@@ -150,10 +150,10 @@
         left join SJZT_MD."att_ad_base" b on b."guid" = a."interior_ad_guid"
         where sar.is_deleted = 0
         <if test="alarmRecord.startTime!=null and alarmRecord.startTime!=''">
-            and date_format(sar.create_time,'%Y-%m-%d') >= #{alarmRecord.startTime}
+            and sar.create_time >= #{alarmRecord.startTime}
         </if>
         <if test="alarmRecord.endTime!=null and alarmRecord.endTime!=''">
-            and date_format(sar.create_time,'%Y-%m-%d') &lt;= #{alarmRecord.endTime}
+            and sar.create_time &lt;= #{alarmRecord.endTime}
         </if>
         <if test="alarmRecord.adCode!=null and alarmRecord.adCode!=''">
             and  a."interior_ad_guid" like concat('%',#{alarmRecord.adCode},'%')
@@ -162,6 +162,32 @@
         ) b on a.dict_value = b.type
     </select>
 
+    <!--  查询大坝安全告警统计数据  -->
+    <select id="statisticAlarmRecordByAlarmRuleType" resultType="cn.gistack.alerts.alarmRule.vo.StatisticAlarmRecord">
+        select case when alarm_rule_type='大坝安全监测告警' then '告警数量' else '预警数量' end as ruleName,
+        sum(
+        (
+        select count(*) from YWXT.sm_alarm_record cha
+        left join SJZT_MD."att_res_base" a on a."guid" = cha.reservoir_number
+        left join SJZT_MD."att_ad_base" b on b."guid" = a."interior_ad_guid"
+        where a.id = cha.alarm_rule_id
+        and cha.is_deleted = 0
+        <if test="alarmRecord.startTime!=null and alarmRecord.startTime!=''">
+            and cha.create_time >= #{alarmRecord.endTime}
+        </if>
+        <if test="alarmRecord.endTime!=null and alarmRecord.endTime!=''">
+            and cha.create_time &lt;= #{alarmRecord.endTime}
+        </if>
+        <if test="alarmRecord.adCode!=null and alarmRecord.adCode!=''">
+            and  a."interior_ad_guid" like concat('%',#{alarmRecord.adCode},'%')
+        </if>
+        )
+        ) as num
+        from  YWXT.sm_alarm_rule a
+        where type = '大坝安全监测'
+        group by alarm_rule_type
+    </select>
+
     <!--查询符合条件的告警类型-->
     <select id="listAlarmRule" resultType="cn.gistack.alerts.alarmRule.entity.AlarmRule">
         select * from YWXT.sm_alarm_rule where is_deleted = 0
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/service/AlarmRecordService.java b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/service/AlarmRecordService.java
index b44e7b6..31e94d6 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/service/AlarmRecordService.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/service/AlarmRecordService.java
@@ -28,6 +28,13 @@
 	Object statisticAlarmRecordByType(AlarmRecordVO alarmRecord);
 
 	/**
+	 * 查询大坝安全告警统计数据
+	 * @param alarmRecord
+	 * @return
+	 */
+	Object statisticAlarmRecordByAlarmRuleType(AlarmRecordVO alarmRecord);
+
+	/**
 	 * 按行政区统计告警
 	 * @param alarmRecord
 	 * @return
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/service/impl/AlarmRecordServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/service/impl/AlarmRecordServiceImpl.java
index 7ec99cf..da919a1 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/service/impl/AlarmRecordServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/service/impl/AlarmRecordServiceImpl.java
@@ -74,6 +74,17 @@
 		return list;
 	}
 
+	@Override
+	public Object statisticAlarmRecordByAlarmRuleType(AlarmRecordVO alarmRecord) {
+		if (!Strings.isBlank(alarmRecord.getAdCode())){
+			alarmRecord.setAdCode(alarmRecord.getAdCode().replaceAll("0+$", ""));
+		}
+		// 查询统计数据
+		List<StatisticAlarmRecord> list = baseMapper.statisticAlarmRecordByAlarmRuleType(alarmRecord);
+		// 返回数据
+		return list;
+	}
+
 	/**
 	 * 按行政区统计告警
 	 * @param alarmRecord

--
Gitblit v1.9.3