From c8b03d3da4e29fc3fb9a42ca157738256c331a00 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Wed, 13 Mar 2024 13:55:08 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/jtdev' into jtdev

---
 skjcmanager/skjcmanager-service/skjcmanager-xxljob/src/main/java/cn/gistack/job/executor/jobhandler/AlarmXxlJob.java           |   48 ++++++++++++
 skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/NoticeStrategyImpl.java |  106 ++++++++++++++++++++++++++
 skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/strategy/NoticeStrategyContext.java  |   26 ++++++
 skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/constant/ZtApiUrlConstant.java       |   19 ++++
 4 files changed, 196 insertions(+), 3 deletions(-)

diff --git a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/constant/ZtApiUrlConstant.java b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/constant/ZtApiUrlConstant.java
index af230ae..123e305 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/constant/ZtApiUrlConstant.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/constant/ZtApiUrlConstant.java
@@ -103,12 +103,27 @@
 	public static final String alarm_rain_6_over_api = "/services/1234567890ABCDEFGHIJKLMN/alarm/rain/6/over/api";
 
 	/**
-	 * 19. 大坝安全监测告警-数据缺失
+	 * 19. 大坝安全监测告警-数据缺失(2024.03.12分开渗压、渗流、变形)
 	 */
-	public static final String alarm_db_api = "/services/1234567890ABCDEFGHIJKLMN/alarm/db/api";
+	public static final String alarm_db_api = "/services/1234567890ABCDEFGHIJKLMN/alarm/dt/sy/api";
 	/**
 	 * 20. 大坝安全监测告警-渗压管水位
 	 */
 	public static final String alarm_db_sy_api = "/services/1234567890ABCDEFGHIJKLMN/alarm/sy/api";
 
+	/**
+	 * 21. 大坝安全监测告警-渗压数据缺失
+	 */
+	public static final String alarm_db_sy_none_api = "/services/1234567890ABCDEFGHIJKLMN/alarm/dt/sy/api";
+
+	/**
+	 * 22. 大坝安全监测告警-渗流数据缺失
+	 */
+	public static final String alarm_db_sl_none_api = "/services/1234567890ABCDEFGHIJKLMN/alarm/dt/sl/api";
+
+	/**
+	 * 23. 大坝安全监测告警-位移数据缺失
+	 */
+	public static final String alarm_db_wy_none_api = "/services/1234567890ABCDEFGHIJKLMN/alarm/dt/wy/api";
+
 }
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 d24c771..1da3e3c 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
@@ -573,7 +573,7 @@
 
 
 	/**
-	 * 策略19: 大坝安全监测告警
+	 * 策略19: 大坝安全监测告警-数据缺失
 	 *
 	 * @param arg1
 	 * @param arg2
@@ -604,6 +604,13 @@
 		return "大坝安全监测告警";
 	}
 
+	/**
+	 * 策略20: 大坝安全监测告警-渗压管水位大于校核洪水位
+	 *
+	 * @param arg1
+	 * @param arg2
+	 * @return
+	 */
 	public String damSafetySyHandle(String arg1, String arg2) {
 		//String adCode = "420607000000";
 		String uuid = UUID.randomUUID().toString();
@@ -628,4 +635,101 @@
 		// 返回
 		return "大坝安全监测告警";
 	}
+
+	/**
+	 * 策略21: 大坝安全监测告警-渗压数据缺失
+	 *
+	 * @param arg1
+	 * @param arg2
+	 * @return
+	 */
+	public String damSafetySyNoneHandle(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_db_sy_none_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.damSafetyHandle(alarmRule, alarmRuleDetail, ztData,ZtApiDataColumnConstant.damSafetyList,true, adCode, false,uuid);
+					}
+				}
+			}
+		}
+		// 返回
+		return "大坝安全监测告警";
+	}
+
+	/**
+	 * 策略22: 大坝安全监测告警-渗流数据缺失
+	 *
+	 * @param arg1
+	 * @param arg2
+	 * @return
+	 */
+	public String damSafetySlNoneHandle(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_db_sl_none_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.damSafetyHandle(alarmRule, alarmRuleDetail, ztData,ZtApiDataColumnConstant.damSafetyList,true, adCode, false,uuid);
+					}
+				}
+			}
+		}
+		// 返回
+		return "大坝安全监测告警";
+	}
+
+	/**
+	 * 策略23: 大坝安全监测告警-位移数据缺失
+	 *
+	 * @param arg1
+	 * @param arg2
+	 * @return
+	 */
+	public String damSafetyWyNoneHandle(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_db_wy_none_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.damSafetyHandle(alarmRule, alarmRuleDetail, ztData,ZtApiDataColumnConstant.damSafetyList,true, adCode, false,uuid);
+					}
+				}
+			}
+		}
+		// 返回
+		return "大坝安全监测告警";
+	}
+
 }
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 c63a16d..b82ebcd 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
@@ -36,26 +36,52 @@
 	 */
 	@PostConstruct
 	public void initStrategies() {
+		//1
 		strategyMap.put("waterInfoNotHandle", (arg1, arg2) -> noticeStrategyImpl.waterInfoNotHandle(arg1, arg2));
+		//2
 		strategyMap.put("waterDataExcHandle", (arg1, arg2) -> noticeStrategyImpl.waterDataExcHandle(arg1, arg2));
+		//3
 		strategyMap.put("waterLessDeadHandle", (arg1, arg2) -> noticeStrategyImpl.waterLessDeadHandle(arg1, arg2));
+		//4
 		strategyMap.put("waterMoreDeadLessHJHandle", (arg1, arg2) -> noticeStrategyImpl.waterMoreDeadLessHJHandle(arg1, arg2));
+		//5
 		strategyMap.put("waterComeOverHandle", (arg1, arg2) -> noticeStrategyImpl.waterComeOverHandle(arg1, arg2));
+		//6
 		strategyMap.put("waterFirstOverHandle", (arg1, arg2) -> noticeStrategyImpl.waterFirstOverHandle(arg1, arg2));
+		//7
 		strategyMap.put("waterSmallScaleOverHandle", (arg1, arg2) -> noticeStrategyImpl.waterSmallScaleOverHandle(arg1, arg2));
+		//8
 		strategyMap.put("waterBigScaleOverHandle", (arg1, arg2) -> noticeStrategyImpl.waterBigScaleOverHandle(arg1, arg2));
+		//9
 		strategyMap.put("waterComeDesignHandle", (arg1, arg2) -> noticeStrategyImpl.waterComeDesignHandle(arg1, arg2));
+		//10
 		strategyMap.put("waterMoreDesignHandle", (arg1, arg2) -> noticeStrategyImpl.waterMoreDesignHandle(arg1, arg2));
+		//11
 		strategyMap.put("waterMoreCheckHandle", (arg1, arg2) -> noticeStrategyImpl.waterMoreCheckHandle(arg1, arg2));
+		//12
 		strategyMap.put("waterComeOneHourUpHandle", (arg1, arg2) -> noticeStrategyImpl.waterComeOneHourUpHandle(arg1, arg2));
+		//13
 		strategyMap.put("waterComeOneHourDownHandle", (arg1, arg2) -> noticeStrategyImpl.waterComeOneHourDownHandle(arg1, arg2));
+		//14
 		strategyMap.put("rainstormHandle", (arg1, arg2) -> noticeStrategyImpl.rainstormHandle(arg1, arg2));
+		//15
 		strategyMap.put("alreadyHeavyRainHandle", (arg1, arg2) -> noticeStrategyImpl.alreadyHeavyRainHandle(arg1, arg2));
+		//16
 		strategyMap.put("alreadyRainstormHandle", (arg1, arg2) -> noticeStrategyImpl.alreadyRainstormHandle(arg1, arg2));
+		//17
 		strategyMap.put("twoHourRainHandle", (arg1, arg2) -> noticeStrategyImpl.twoHourRainHandle(arg1, arg2));
+		//18
 		strategyMap.put("sixHourRainHandle", (arg1, arg2) -> noticeStrategyImpl.sixHourRainHandle(arg1, arg2));
+		//19
 		strategyMap.put("damSafetyHandle", (arg1, arg2) -> noticeStrategyImpl.damSafetyHandle(arg1, arg2));
+		//20
 		strategyMap.put("damSafetySyHandle", (arg1, arg2) -> noticeStrategyImpl.damSafetySyHandle(arg1, arg2));
+		//21
+		strategyMap.put("damSafetySyNoneHandle", (arg1, arg2) -> noticeStrategyImpl.damSafetySyNoneHandle(arg1, arg2));
+		//22
+		strategyMap.put("damSafetySlNoneHandle", (arg1, arg2) -> noticeStrategyImpl.damSafetySlNoneHandle(arg1, arg2));
+		//23
+		strategyMap.put("damSafetyWyNoneHandle", (arg1, arg2) -> noticeStrategyImpl.damSafetyWyNoneHandle(arg1, arg2));
 	}
 
 	/**
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-xxljob/src/main/java/cn/gistack/job/executor/jobhandler/AlarmXxlJob.java b/skjcmanager/skjcmanager-service/skjcmanager-xxljob/src/main/java/cn/gistack/job/executor/jobhandler/AlarmXxlJob.java
index 77142d3..24a39c1 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-xxljob/src/main/java/cn/gistack/job/executor/jobhandler/AlarmXxlJob.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-xxljob/src/main/java/cn/gistack/job/executor/jobhandler/AlarmXxlJob.java
@@ -341,4 +341,52 @@
 		return ReturnT.SUCCESS;
 	}
 
+	/**
+	 * 策略21: 大坝安全监测告警-渗压监测数据缺失-定时任务执行器
+	 * @param param
+	 * @return
+	 * @throws Exception
+	 */
+	@XxlJob("damSafetySyNoneHandle")
+	public ReturnT<String> damSafetySyNoneHandle(String param){
+		XxlJobLogger.log("开始执行任务...");
+		// 创建外呼任务
+		noticeClient.createAlarmNoticeTaskJobHandler("监测数据缺失","","damSafetySyNoneHandle");
+		XxlJobLogger.log("结束自动创建任务...");
+		// 返回
+		return ReturnT.SUCCESS;
+	}
+
+	/**
+	 * 策略22: 大坝安全监测告警-渗流监测数据缺失-定时任务执行器
+	 * @param param
+	 * @return
+	 * @throws Exception
+	 */
+	@XxlJob("damSafetySlNoneHandle")
+	public ReturnT<String> damSafetySlNoneHandle(String param){
+		XxlJobLogger.log("开始执行任务...");
+		// 创建外呼任务
+		noticeClient.createAlarmNoticeTaskJobHandler("监测数据缺失","","damSafetySlNoneHandle");
+		XxlJobLogger.log("结束自动创建任务...");
+		// 返回
+		return ReturnT.SUCCESS;
+	}
+
+	/**
+	 * 策略23: 大坝安全监测告警-位移监测数据缺失-定时任务执行器
+	 * @param param
+	 * @return
+	 * @throws Exception
+	 */
+	@XxlJob("damSafetyWyNoneHandle")
+	public ReturnT<String> damSafetyWyNoneHandle(String param){
+		XxlJobLogger.log("开始执行任务...");
+		// 创建外呼任务
+		noticeClient.createAlarmNoticeTaskJobHandler("监测数据缺失","","damSafetyWyNoneHandle");
+		XxlJobLogger.log("结束自动创建任务...");
+		// 返回
+		return ReturnT.SUCCESS;
+	}
+
 }

--
Gitblit v1.9.3