From 723bfb3eda20ad768eb2efb1aedc08d5b82b2318 Mon Sep 17 00:00:00 2001
From: zhangk <zhangk@gisuni.com>
Date: Wed, 26 Jun 2024 17:03:53 +0800
Subject: [PATCH] Merge branch 'jtdev' of https://hbsl-code.gistack.cn/hbwri/manager into develop_zk

---
 skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/NoticeHandle.java       |   25 +++---------
 skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/NoticeStrategyImpl.java |   71 +++++++++++++++++++++++++++++++++++
 skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/strategy/NoticeStrategyContext.java  |    4 ++
 3 files changed, 81 insertions(+), 19 deletions(-)

diff --git a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/NoticeHandle.java b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/NoticeHandle.java
index 17df9c2..6668d82 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/NoticeHandle.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/NoticeHandle.java
@@ -598,10 +598,10 @@
 			.eq("temp_code", uuid)
 			.eq("alarm_rule_id", alarmRule.getId())
 			.eq("reservoir_number", list.get(1))
-			.eq("alarm_survey_station_code",list.get(0))
+//			.eq("alarm_survey_station_code",list.get(0))
 		);
 
-		if (null != alarmRecord) {
+		if (null!=alarmRecord) {
 			//删除测值
 			list.remove(3);
 			// 删除测站编号
@@ -619,19 +619,8 @@
 			alarm.setMonitorData(list.get(3));
 			//删除测值
 			list.remove(3);
-
-			//一个水库同个规则中保存一次处理--Shit mountain code
-			AlarmRecord alarmRecord2 = alarmRecordService.getOne(new QueryWrapper<AlarmRecord>()
-				.eq("alarm_rule_id", alarmRule.getId())
-				.eq("reservoir_number", list.get(1))
-				.gt("create_time", DateUtil.format(new Date(),"yyyy-MM-dd"))
-			);
-			boolean save = true;
-			if (null == alarmRecord2) {
-				// 新增
-				save = alarmRecordService.save(alarm);
-			}
-
+			// 新增
+			boolean save = alarmRecordService.save(alarm);
 			// 删除测站编号
 			list.remove(0);
 			if (save) {
@@ -644,12 +633,12 @@
 
 	public AlarmRecord saveAlarmRecord(List<String> list, AlarmRule alarmRule, String uuid, String remark) {
 		AlarmRecord alarmRecord = alarmRecordService.getOne(new QueryWrapper<AlarmRecord>()
-			.eq("temp_code", uuid)
+				.eq("temp_code", uuid)
 				.eq("alarm_rule_id", alarmRule.getId())
 				.eq("reservoir_number", list.get(1))
-				.eq("alarm_survey_station_code",list.get(0))
+//			.eq("alarm_survey_station_code",list.get(0))
 		);
-		if (null != alarmRecord) {
+		if (null!=alarmRecord) {
 			//删除测值
 			list.remove(3);
 			// 删除测站编号
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/NoticeStrategyImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/NoticeStrategyImpl.java
index b1d774a..7529d73 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/NoticeStrategyImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/NoticeStrategyImpl.java
@@ -259,6 +259,40 @@
 		return "水位小幅超汛限告警";
 	}
 
+
+	/**
+	 * 策略7.1: 水位小幅超汛限告警2--水位高于汛限水位20cm
+	 *
+	 * @param arg1
+	 * @param arg2
+	 * @return
+	 */
+	public String waterSmallScaleOver20Handle(String arg1, String arg2) {
+//		String adCode = "421303000000";
+		String adCode = null;
+		String uuid = UUID.randomUUID().toString();
+		// 查询当前策略对应的告警规则信息
+		AlarmRule alarmRule = alarmRuleService.getOne(new QueryWrapper<AlarmRule>().eq("rule_name", arg1));
+		// 调用中台服务接口查询数据
+		JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.res_over_z_small_over_api);
+		// 获取告警规则详情,判断告警类型(短信,电话,站内信)
+		if (null != alarmRule) {
+			// 查询告警详情信息
+			List<AlarmRuleDetail> alarmRuleDetailList = alarmRuleDetailService.list(new QueryWrapper<AlarmRuleDetail>().eq("alarm_rule_id", alarmRule.getId()));
+			if (alarmRuleDetailList.size() > 0) {
+				// 遍历
+				if (alarmRuleDetailList.get(0).getAlarmMode().equals("短信")) {
+					asyncNoticeHandle.waterSmallScaleOverHandle1(alarmRule, alarmRuleDetailList.get(0), ztData, ZtApiDataColumnConstant.waterSmallScaleOverList, true, adCode, false, uuid);
+				}
+				if (alarmRuleDetailList.get(1).getAlarmMode().equals("短信")) {
+					asyncNoticeHandle.waterSmallScaleOverHandle2(alarmRule, alarmRuleDetailList.get(1), ztData, ZtApiDataColumnConstant.waterSmallScaleOverList, true, adCode, false, uuid);
+				}
+			}
+		}
+		// 返回
+		return "水位小幅超汛限告警";
+	}
+
 	/**
 	 * 策略8: 水位大幅超汛限告警
 	 *
@@ -570,7 +604,7 @@
 				// 遍历
 				for (AlarmRuleDetail alarmRuleDetail : alarmRuleDetailList) {
 					if (alarmRuleDetail.getAlarmMode().equals("短信")) {
-						asyncNoticeHandle.sixHourRainHandle(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.sixHourRainList, true, adCode, false, uuid);
+						asyncNoticeHandle.sixHourRainHandle(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.sixHourRainList, false, adCode, false, uuid);
 					}
 //					if (alarmRuleDetail.getAlarmMode().equals("电话")) {
 //						asyncNoticeHandle.outCallHandleCall(alarmRule, alarmRuleDetail, ztData,ZtApiDataColumnConstant.sixHourRainList,true, adCode, false,uuid);
@@ -582,6 +616,41 @@
 		return "6小时降雨告警";
 	}
 
+	/**
+	 * 策略18: 6小时降雨告警
+	 *
+	 * @param arg1
+	 * @param arg2
+	 * @return
+	 */
+	public String sixHourRainHandle2(String arg1, String arg2) {
+		//String adCode = "420607000000";
+		String uuid = UUID.randomUUID().toString();
+		String adCode = null;
+		// 查询当前策略对应的告警规则信息
+		AlarmRule alarmRule = alarmRuleService.getOne(new QueryWrapper<AlarmRule>().eq("rule_name", arg1));
+		// 调用中台服务接口查询数据
+		JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.alarm_rain_6_over_api);
+		// 获取告警规则详情,判断告警类型(短信,电话,站内信)
+		if (null != alarmRule) {
+			// 查询告警详情信息
+			List<AlarmRuleDetail> alarmRuleDetailList = alarmRuleDetailService.list(new QueryWrapper<AlarmRuleDetail>().eq("alarm_rule_id", alarmRule.getId()));
+			if (alarmRuleDetailList.size() > 0) {
+				// 遍历
+				for (AlarmRuleDetail alarmRuleDetail : alarmRuleDetailList) {
+					if (alarmRuleDetail.getAlarmMode().equals("短信")) {
+//						asyncNoticeHandle.sixHourRainHandle(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.sixHourRainList, false, adCode, false, uuid);
+					}
+					if (alarmRuleDetail.getAlarmMode().equals("电话")) {
+						asyncNoticeHandle.outCallHandleCall(alarmRule, alarmRuleDetail, ztData,ZtApiDataColumnConstant.sixHourRainList,false, adCode, false,uuid);
+					}
+				}
+			}
+		}
+		// 返回
+		return "6小时降雨告警";
+	}
+
 
 	/**
 	 * 策略19: 大坝安全监测告警-数据缺失
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/strategy/NoticeStrategyContext.java b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/strategy/NoticeStrategyContext.java
index 718fa2a..ee1b2e6 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/strategy/NoticeStrategyContext.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/strategy/NoticeStrategyContext.java
@@ -50,6 +50,8 @@
 		strategyMap.put("waterFirstOverHandle", (arg1, arg2) -> noticeStrategyImpl.waterFirstOverHandle(arg1, arg2));
 		//7
 		strategyMap.put("waterSmallScaleOverHandle", (arg1, arg2) -> noticeStrategyImpl.waterSmallScaleOverHandle(arg1, arg2));
+		//7.1
+		strategyMap.put("waterSmallScaleOver20Handle", (arg1, arg2) -> noticeStrategyImpl.waterSmallScaleOver20Handle(arg1, arg2));
 		//8
 		strategyMap.put("waterBigScaleOverHandle", (arg1, arg2) -> noticeStrategyImpl.waterBigScaleOverHandle(arg1, arg2));
 		//9
@@ -72,6 +74,8 @@
 		strategyMap.put("twoHourRainHandle", (arg1, arg2) -> noticeStrategyImpl.twoHourRainHandle(arg1, arg2));
 		//18 6小时降雨告警
 		strategyMap.put("sixHourRainHandle", (arg1, arg2) -> noticeStrategyImpl.sixHourRainHandle(arg1, arg2));
+		//18 6小时降雨告警2
+		strategyMap.put("sixHourRainHandle2", (arg1, arg2) -> noticeStrategyImpl.sixHourRainHandle2(arg1, arg2));
 		//19 大坝安全监测告警-数据缺失
 		strategyMap.put("damSafetyHandle", (arg1, arg2) -> noticeStrategyImpl.damSafetyHandle(arg1, arg2));
 		//20 大坝安全监测告警-渗压管水位

--
Gitblit v1.9.3