From f73dbcd6c21d28ab1e98840eee73c6d09bd0f929 Mon Sep 17 00:00:00 2001
From: ke <893754509@qq.com>
Date: Tue, 27 Aug 2024 17:31:07 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/jtdev' into jtdev
---
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/NoticeStrategyImpl.java | 147 ++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 128 insertions(+), 19 deletions(-)
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 132a2e2..ebbffc8 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
@@ -16,6 +16,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
+import java.time.LocalTime;
import java.util.List;
import java.util.UUID;
@@ -184,6 +185,7 @@
if (alarmRuleDetailList.size() > 0) {
// 遍历
for (AlarmRuleDetail alarmRuleDetail : alarmRuleDetailList) {
+ // 电话,站内信需满足规定时间范围内才发送
if (alarmRuleDetail.getAlarmMode().equals("站内信")) {
asyncNoticeHandle.waterComeOverHandle(alarmRule, alarmRuleDetail, resultData, ZtApiDataColumnConstant.waterComeOverList, true, adCode, true);
}
@@ -195,15 +197,15 @@
/**
- * 策略6: 水位初次超汛限告警(当前测试发送站内信)
+ * 策略6: 水位初次超汛限告警
*
* @param arg1
* @param arg2
* @return
*/
public String waterFirstOverHandle(String arg1, String arg2) {
- String adCode = "421303000000";
-// String adCode = null;
+// String adCode = "421303000000";
+ String adCode = null;
// 查询当前策略对应的告警规则信息
AlarmRule alarmRule = alarmRuleService.getOne(new QueryWrapper<AlarmRule>().eq("rule_name", arg1));
// 调用中台服务接口查询数据
@@ -216,7 +218,7 @@
// 遍历
for (AlarmRuleDetail alarmRuleDetail : alarmRuleDetailList) {
if (alarmRuleDetail.getAlarmMode().equals("短信")) {
- asyncNoticeHandle.waterFirstOverHandle(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.waterFirstOverList, true, adCode, true);
+ asyncNoticeHandle.waterFirstOverHandle(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.waterFirstOverList, true, adCode, false);
}
}
}
@@ -240,7 +242,41 @@
// 查询当前策略对应的告警规则信息
AlarmRule alarmRule = alarmRuleService.getOne(new QueryWrapper<AlarmRule>().eq("rule_name", arg1));
// 调用中台服务接口查询数据
- JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.res_over_z_small_over_api);
+ JSONArray ztData = noticeHandle.getZtData("?diff_value=0", 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 "水位小幅超汛限告警";
+ }
+
+
+ /**
+ * 策略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("?diff_value=0.2", ZtApiUrlConstant.res_over_z_small_over_api);
// 获取告警规则详情,判断告警类型(短信,电话,站内信)
if (null != alarmRule) {
// 查询告警详情信息
@@ -319,9 +355,11 @@
if (alarmRuleDetail.getAlarmMode().equals("短信")) {
asyncNoticeHandle.waterComeDesignHandleBySms(alarmRule, alarmRuleDetail, resultData, ZtApiDataColumnConstant.waterComeDesignList1, true, adCode, false, uuid);
}
-// if (alarmRuleDetail.getAlarmMode().equals("电话")) {
+ // 电话,站内信需满足规定时间范围内才发送
+// if (alarmRuleDetail.getAlarmMode().equals("电话") && isTimeSend()) {
// asyncNoticeHandle.outCallHandleCall(alarmRule, alarmRuleDetail, ztData,ZtApiDataColumnConstant.waterComeDesignList2,true, adCode, false,uuid);
// }
+ // 电话,站内信需满足规定时间范围内才发送
if (alarmRuleDetail.getAlarmMode().equals("站内信")) {
asyncNoticeHandle.waterComeDesignHandleStation(alarmRule, alarmRuleDetail, resultData, ZtApiDataColumnConstant.waterComeDesignList3, true, adCode, true, uuid);
}
@@ -344,7 +382,7 @@
// 查询当前策略对应的告警规则信息
AlarmRule alarmRule = alarmRuleService.getOne(new QueryWrapper<AlarmRule>().eq("rule_name", arg1));
// 调用中台服务接口查询数据
- JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.over_des_rz_warn_api);
+ JSONArray ztData = noticeHandle.getZtData("?is_show=1", ZtApiUrlConstant.over_des_rz_warn_api);
// 获取告警规则详情,判断告警类型(短信,电话,站内信)
if (null != alarmRule) {
// 查询告警详情信息
@@ -355,7 +393,7 @@
if (alarmRuleDetail.getAlarmMode().equals("短信")) {
asyncNoticeHandle.waterMoreDesignHandle(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.waterMoreDesignList, true, adCode, false, uuid);
}
-// if (alarmRuleDetail.getAlarmMode().equals("电话")) {
+// if (alarmRuleDetail.getAlarmMode().equals("电话") && isTimeSend()) {
// asyncNoticeHandle.outCallHandleCall(alarmRule, alarmRuleDetail, ztData,ZtApiDataColumnConstant.waterMoreDesignList,true, adCode, false,uuid);
// }
}
@@ -378,7 +416,7 @@
// 查询当前策略对应的告警规则信息
AlarmRule alarmRule = alarmRuleService.getOne(new QueryWrapper<AlarmRule>().eq("rule_name", arg1));
// 调用中台服务接口查询数据
- JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.res_over_chec_api);
+ JSONArray ztData = noticeHandle.getZtData("?is_show=1", ZtApiUrlConstant.res_over_chec_api);
// 获取告警规则详情,判断告警类型(短信,电话,站内信)
if (null != alarmRule) {
// 查询告警详情信息
@@ -389,7 +427,7 @@
if (alarmRuleDetail.getAlarmMode().equals("短信")) {
asyncNoticeHandle.waterMoreCheckHandle(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.waterMoreCheckList, true, adCode, false, uuid);
}
-// if (alarmRuleDetail.getAlarmMode().equals("电话")) {
+// if (alarmRuleDetail.getAlarmMode().equals("电话") && isTimeSend()) {
// asyncNoticeHandle.outCallHandleCall(alarmRule, alarmRuleDetail, ztData,ZtApiDataColumnConstant.waterMoreCheckList,true, adCode, false,uuid);
// }
}
@@ -486,7 +524,7 @@
// 查询当前策略对应的告警规则信息
AlarmRule alarmRule = alarmRuleService.getOne(new QueryWrapper<AlarmRule>().eq("rule_name", arg1));
// 调用中台服务接口查询数据
- JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.alarm_rain_dy_api);
+ JSONArray ztData = noticeHandle.getZtData("?is_over_z=1", ZtApiUrlConstant.alarm_rain_dy_api);
// 获取告警规则详情,判断告警类型(短信,电话,站内信)
if (null != alarmRule) {
// 查询告警详情信息
@@ -495,7 +533,7 @@
// 遍历
for (AlarmRuleDetail alarmRuleDetail : alarmRuleDetailList) {
if (alarmRuleDetail.getAlarmMode().equals("短信")) {
- asyncNoticeHandle.alreadyHeavyRainHandle(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.alreadyHeavyRainList, true, adCode, false);
+ asyncNoticeHandle.alreadyHeavyRainHandle(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.alreadyHeavyRainList, false, adCode, false);
}
}
}
@@ -517,7 +555,7 @@
// 查询当前策略对应的告警规则信息
AlarmRule alarmRule = alarmRuleService.getOne(new QueryWrapper<AlarmRule>().eq("rule_name", arg1));
// 调用中台服务接口查询数据
- JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.alarm_rain_by_api);
+ JSONArray ztData = noticeHandle.getZtData("?is_over_z=1", ZtApiUrlConstant.alarm_rain_by_api);
// 获取告警规则详情,判断告警类型(短信,电话,站内信)
if (null != alarmRule) {
// 查询告警详情信息
@@ -526,7 +564,7 @@
// 遍历
for (AlarmRuleDetail alarmRuleDetail : alarmRuleDetailList) {
if (alarmRuleDetail.getAlarmMode().equals("短信")) {
- asyncNoticeHandle.alreadyRainstormHandle(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.alreadyRainstormList, true, adCode, false);
+ asyncNoticeHandle.alreadyRainstormHandle(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.alreadyRainstormList, false, adCode, false);
}
}
}
@@ -570,11 +608,48 @@
// 遍历
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("电话")) {
+// if (alarmRuleDetail.getAlarmMode().equals("电话") && isTimeSend()) {
// asyncNoticeHandle.outCallHandleCall(alarmRule, alarmRuleDetail, ztData,ZtApiDataColumnConstant.sixHourRainList,true, adCode, false,uuid);
// }
+ }
+ }
+ }
+ // 返回
+ return "6小时降雨告警";
+ }
+
+ /**
+ * 策略18: 6小时降雨告警2
+ *
+ * @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("?drp=50", ZtApiUrlConstant.alarm_rain_only_6_over_api);
+ // 外呼对应数据
+ JSONArray whztData = noticeHandle.getZtData("?drp=100", ZtApiUrlConstant.alarm_rain_only_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, whztData,ZtApiDataColumnConstant.sixHourRainList,false, adCode, false,uuid);
+ }
}
}
}
@@ -1233,7 +1308,7 @@
/**
- * 近1h变形值大于10cm以上
+ * 变形值大于100mm
*
* @param arg1
* @param arg2
@@ -1246,7 +1321,7 @@
// 查询当前策略对应的告警规则信息
AlarmRule alarmRule = alarmRuleService.getOne(new QueryWrapper<AlarmRule>().eq("rule_name", arg1));
// 调用中台服务接口查询数据
- JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.alarm_db_wy_value_1h_change_over_10_api);
+ JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.alarm_db_wy_value_api);
JSONArray data = judgeDirection(ztData, "3");
@@ -1474,6 +1549,38 @@
return "视频信息缺失告警";
}
+
+ /**
+ * 策略42: 水位防洪高水位告警
+ *
+ * @param arg1
+ * @param arg2
+ * @return
+ */
+ public String topLevOfFloAlertHandle(String arg1, String arg2) {
+ String adCode = null;
+ String uuid = UUID.randomUUID().toString();
+ // 查询当前策略对应的告警规则信息
+ AlarmRule alarmRule = alarmRuleService.getOne(new QueryWrapper<AlarmRule>().eq("rule_name", arg1));
+ // 调用中台服务接口查询数据
+ JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.over_flpr_rz_warn_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.topLevOfFloAlertHandleStation(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.topLevOfFloAlertList, true, adCode, true, uuid,arg2);
+ }
+ }
+ }
+ }
+ // 返回
+ return "水位防洪高水位告警";
+ }
+
private JSONArray filterData(JSONArray ztData, String level) {
JSONArray array = new JSONArray();
@@ -1545,7 +1652,7 @@
//左右岸方向
Double dnVal = jsonObject.getDouble("dn_val");
//垂直
- Double duValue = jsonObject.getDouble("du_value");
+ Double duValue = jsonObject.getDouble("垂直位移");
String direction = "";
String val = "";
@@ -1788,4 +1895,6 @@
}
return result;
}
+
+
}
--
Gitblit v1.9.3