From e2fda8f4f705f6636fcf51e4c11a78a2b1f5f3b5 Mon Sep 17 00:00:00 2001
From: xieb <vip_xiaobin810@163.com>
Date: Thu, 07 Mar 2024 13:54:00 +0800
Subject: [PATCH] 雨水情告警增加行政区划过滤

---
 skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/service/impl/AlarmRecordServiceImpl.java |   36 +++++++++++++++++++++++++++++++-----
 1 files changed, 31 insertions(+), 5 deletions(-)

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 c35758c..b20e36f 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
@@ -12,6 +12,7 @@
 import cn.gistack.sm.patrol.feign.PatrolTaskClient;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.logging.log4j.util.Strings;
 import org.springblade.core.mp.base.BaseServiceImpl;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.utils.DateUtil;
@@ -48,6 +49,9 @@
 	 */
 	@Override
 	public Object selectAlarmRecordPage(IPage<AlarmRecordVO> page, AlarmRecordVO alarmRecord) {
+		if (!Strings.isBlank(alarmRecord.getAdCode())){
+			alarmRecord.setAdCode(alarmRecord.getAdCode().replaceAll("0+$", ""));
+		}
 		if (null != alarmRecord.getIsExport()){
 			return baseMapper.selectAlarmRecordPage(null,alarmRecord);
 		}
@@ -61,10 +65,22 @@
 	 */
 	@Override
 	public Object statisticAlarmRecordByType(AlarmRecordVO alarmRecord) {
-		// 获取当前用户的行政区划
-		String adCode = "420000000000";
+		if (!Strings.isBlank(alarmRecord.getAdCode())){
+			alarmRecord.setAdCode(alarmRecord.getAdCode().replaceAll("0+$", ""));
+		}
 		// 查询统计数据
 		List<StatisticAlarmRecord> list = baseMapper.statisticAlarmRecordByType(alarmRecord);
+		// 返回数据
+		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;
 	}
@@ -76,13 +92,23 @@
 	 */
 	@Override
 	public Object statisticAlarmRecord(AlarmRecordVO alarmRecord) {
-		// 获取当前用户的行政区划
-		String adCode = "420000000000";
+		if (Strings.isBlank(alarmRecord.getAdCode())){
+			// 获取当前用户的行政区划
+			alarmRecord.setAdCode("420000000000");
+		}
 		// 查询所有的市级行政区
-		List<String> adNameList = baseMapper.getAdNameList(adCode);
+		List<String> adNameList = baseMapper.getAdNameList(alarmRecord.getAdCode());
+
+		if (alarmRecord.getAdLevel().equals("4")) {
+			adNameList = baseMapper.getAdNameListByAdCode(alarmRecord.getAdCode());
+		}
+
 		// 查询符合条件的告警类型
 		List<AlarmRule> alarmRuleList = baseMapper.listAlarmRule(alarmRecord);
 		// 查询统计数据
+		if (!Strings.isBlank(alarmRecord.getAdCode())){
+			alarmRecord.setAdCode(alarmRecord.getAdCode().replaceAll("0+$", ""));
+		}
 		List<StatisticAlarmRecord> list = baseMapper.statisticAlarmRecord(alarmRecord);
 		// 按行政区分组
 		Map<String, List<StatisticAlarmRecord>> listMap = list.stream().filter(item->null!=item.getAdName()).collect(Collectors.groupingBy(StatisticAlarmRecord::getAdName));

--
Gitblit v1.9.3