From 08a962d2925baa255207fdf979e6fee794f1773b Mon Sep 17 00:00:00 2001
From: ke <893754509@qq.com>
Date: Fri, 19 Jul 2024 12:25:19 +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 | 475 ++++++++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 386 insertions(+), 89 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 ab8b1f2..e1307a4 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
@@ -12,9 +12,11 @@
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import org.springblade.core.tool.utils.StringUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
+import java.time.LocalTime;
import java.util.List;
import java.util.UUID;
@@ -174,6 +176,8 @@
AlarmRule alarmRule = alarmRuleService.getOne(new QueryWrapper<AlarmRule>().eq("rule_name", arg1));
// 调用中台服务接口查询数据
JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.res_z_is_warn_over_flse_api);
+ //过滤不告警水库
+ JSONArray resultData = filterNoAlertRes(ztData, arg1);
// 获取告警规则详情,判断告警类型(短信,电话,站内信)
if (null != alarmRule) {
// 查询告警详情信息
@@ -181,8 +185,9 @@
if (alarmRuleDetailList.size() > 0) {
// 遍历
for (AlarmRuleDetail alarmRuleDetail : alarmRuleDetailList) {
- if (alarmRuleDetail.getAlarmMode().equals("站内信")) {
- asyncNoticeHandle.waterComeOverHandle(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.waterComeOverList, true, adCode, true);
+ // 电话,站内信需满足规定时间范围内才发送
+ if (alarmRuleDetail.getAlarmMode().equals("站内信") && isTimeSend()) {
+ asyncNoticeHandle.waterComeOverHandle(alarmRule, alarmRuleDetail, resultData, ZtApiDataColumnConstant.waterComeOverList, true, adCode, true);
}
}
}
@@ -200,6 +205,7 @@
*/
public String waterFirstOverHandle(String arg1, String arg2) {
String adCode = "421303000000";
+// String adCode = null;
// 查询当前策略对应的告警规则信息
AlarmRule alarmRule = alarmRuleService.getOne(new QueryWrapper<AlarmRule>().eq("rule_name", arg1));
// 调用中台服务接口查询数据
@@ -237,6 +243,40 @@
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 "水位小幅超汛限告警";
+ }
+
+
+ /**
+ * 策略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) {
// 查询告警详情信息
@@ -302,6 +342,9 @@
AlarmRule alarmRule = alarmRuleService.getOne(new QueryWrapper<AlarmRule>().eq("rule_name", arg1));
// 调用中台服务接口查询数据
JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.res_over_des_is_warn_api);
+
+ //过滤不告警水库
+ JSONArray resultData = filterNoAlertRes(ztData, arg1);
// 获取告警规则详情,判断告警类型(短信,电话,站内信)
if (null != alarmRule) {
// 查询告警详情信息
@@ -310,13 +353,15 @@
// 遍历
for (AlarmRuleDetail alarmRuleDetail : alarmRuleDetailList) {
if (alarmRuleDetail.getAlarmMode().equals("短信")) {
- asyncNoticeHandle.waterComeDesignHandleBySms(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.waterComeDesignList1, true, adCode, false, uuid);
+ 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, ztData, ZtApiDataColumnConstant.waterComeDesignList3, true, adCode, true, uuid);
+ // 电话,站内信需满足规定时间范围内才发送
+ if (alarmRuleDetail.getAlarmMode().equals("站内信") && isTimeSend()) {
+ asyncNoticeHandle.waterComeDesignHandleStation(alarmRule, alarmRuleDetail, resultData, ZtApiDataColumnConstant.waterComeDesignList3, true, adCode, true, uuid);
}
}
}
@@ -337,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) {
// 查询告警详情信息
@@ -348,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);
// }
}
@@ -371,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) {
// 查询告警详情信息
@@ -382,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);
// }
}
@@ -488,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);
}
}
}
@@ -519,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);
}
}
}
@@ -563,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("电话") && isTimeSend()) {
+ asyncNoticeHandle.outCallHandleCall(alarmRule, alarmRuleDetail, whztData,ZtApiDataColumnConstant.sixHourRainList,false, adCode, false,uuid);
+ }
}
}
}
@@ -598,8 +680,8 @@
if (alarmRuleDetailList.size() > 0) {
// 遍历
for (AlarmRuleDetail alarmRuleDetail : alarmRuleDetailList) {
- if (alarmRuleDetail.getAlarmMode().equals("短信")) {
- asyncNoticeHandle.damSafetyHandle(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.damSafetyList, true, adCode, false, uuid);
+ if (alarmRuleDetail.getAlarmMode().equals("短信") && isTimeSend()) {
+ asyncNoticeHandle.damSafetyHandle(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.damSafetyList, true, adCode, false, uuid,arg2);
}
}
}
@@ -623,6 +705,10 @@
AlarmRule alarmRule = alarmRuleService.getOne(new QueryWrapper<AlarmRule>().eq("rule_name", arg1));
// 调用中台服务接口查询数据
JSONArray ztData = noticeHandle.getZtData("?is_alarm=1", ZtApiUrlConstant.alarm_db_sy_api);
+
+ //这里需要对数据进行过滤
+ JSONArray resultData = filterNoAlertRes(ztData,arg1);
+
// 获取告警规则详情,判断告警类型(短信,电话,站内信)
if (null != alarmRule) {
// 查询告警详情信息
@@ -630,8 +716,8 @@
if (alarmRuleDetailList.size() > 0) {
// 遍历
for (AlarmRuleDetail alarmRuleDetail : alarmRuleDetailList) {
- if (alarmRuleDetail.getAlarmMode().equals("站内信")) {
- asyncNoticeHandle.damSafetySyHandle(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.damSafetySyList, true, adCode, true, uuid);
+ if (alarmRuleDetail.getAlarmMode().equals("站内信") && isTimeSend()) {
+ asyncNoticeHandle.damSafetySyHandle(alarmRule, alarmRuleDetail, resultData, ZtApiDataColumnConstant.damSafetySyList, true, adCode, true, uuid,arg2);
}
}
}
@@ -655,6 +741,9 @@
AlarmRule alarmRule = alarmRuleService.getOne(new QueryWrapper<AlarmRule>().eq("rule_name", arg1));
// 调用中台服务接口查询数据
JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.alarm_db_sy_none_api);
+
+ JSONArray resultData = filterNoAlertRes(ztData, arg1);
+
// 获取告警规则详情,判断告警类型(短信,电话,站内信)
if (null != alarmRule) {
// 查询告警详情信息
@@ -663,10 +752,10 @@
// 遍历
for (AlarmRuleDetail alarmRuleDetail : alarmRuleDetailList) {
if (alarmRuleDetail.getAlarmMode().equals("短信")) {
- asyncNoticeHandle.damSafetyHandle(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.damSafetyList, true, adCode, false, uuid);
+ asyncNoticeHandle.damSafetyHandle(alarmRule, alarmRuleDetail, resultData, ZtApiDataColumnConstant.damSafetyList, false, adCode, false, uuid,arg2);
}
- if (alarmRuleDetail.getAlarmMode().equals("站内信")) {
- asyncNoticeHandle.damSafetySyHandle(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.damSafetyList, true, adCode, true, uuid);
+ if (alarmRuleDetail.getAlarmMode().equals("站内信") && isTimeSend()) {
+ asyncNoticeHandle.damSafetySyNoneHandleStation(alarmRule, alarmRuleDetail, resultData, ZtApiDataColumnConstant.damSafetyList, false, adCode, true, uuid,arg2);
}
}
}
@@ -690,6 +779,7 @@
AlarmRule alarmRule = alarmRuleService.getOne(new QueryWrapper<AlarmRule>().eq("rule_name", arg1));
// 调用中台服务接口查询数据
JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.alarm_db_sl_none_api);
+ JSONArray resultData = filterNoAlertRes(ztData, arg1);
// 获取告警规则详情,判断告警类型(短信,电话,站内信)
if (null != alarmRule) {
// 查询告警详情信息
@@ -698,7 +788,10 @@
// 遍历
for (AlarmRuleDetail alarmRuleDetail : alarmRuleDetailList) {
if (alarmRuleDetail.getAlarmMode().equals("短信")) {
- asyncNoticeHandle.damSafetyHandle(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.damSafetyList, true, adCode, false, uuid);
+ asyncNoticeHandle.damSafetyHandleSms(alarmRule, alarmRuleDetail, resultData, ZtApiDataColumnConstant.damSafetyList, false, adCode, false, uuid,arg2);
+ }
+ if (alarmRuleDetail.getAlarmMode().equals("站内信") && isTimeSend()) {
+ asyncNoticeHandle.damSafetySyNoneHandleStation(alarmRule, alarmRuleDetail, resultData, ZtApiDataColumnConstant.damSafetyList, false, adCode, true, uuid,arg2);
}
}
}
@@ -722,6 +815,7 @@
AlarmRule alarmRule = alarmRuleService.getOne(new QueryWrapper<AlarmRule>().eq("rule_name", arg1));
// 调用中台服务接口查询数据
JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.alarm_db_wy_none_api);
+ JSONArray resultData = filterNoAlertRes(ztData, arg1);
// 获取告警规则详情,判断告警类型(短信,电话,站内信)
if (null != alarmRule) {
// 查询告警详情信息
@@ -730,7 +824,10 @@
// 遍历
for (AlarmRuleDetail alarmRuleDetail : alarmRuleDetailList) {
if (alarmRuleDetail.getAlarmMode().equals("短信")) {
- asyncNoticeHandle.damSafetyHandle(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.damSafetyList, true, adCode, false, uuid);
+ asyncNoticeHandle.damSafetyHandle(alarmRule, alarmRuleDetail, resultData, ZtApiDataColumnConstant.damSafetyList, true, adCode, false, uuid,arg2);
+ }
+ if (alarmRuleDetail.getAlarmMode().equals("站内信") && isTimeSend()) {
+ asyncNoticeHandle.damSafetySyNoneHandleStation(alarmRule, alarmRuleDetail, resultData, ZtApiDataColumnConstant.damSafetyList, false, adCode, true, uuid,arg2);
}
}
}
@@ -756,7 +853,7 @@
List<AlertTextualResearchAttachVO> syDataMissing = textualResearchAttachClient.getSyDataMissing();
JSONArray data = JSON.parseArray(JSON.toJSONString(syDataMissing));
-
+ JSONArray resultData = filterNoAlertRes(data, arg1);
if (null != alarmRule) {
// 查询告警详情信息
@@ -764,8 +861,11 @@
if (alarmRuleDetailList.size() > 0) {
// 遍历
for (AlarmRuleDetail alarmRuleDetail : alarmRuleDetailList) {
- if (alarmRuleDetail.getAlarmMode().equals("短信")) {
- asyncNoticeHandle.damSafetySyDataMissingHandle(alarmRule, alarmRuleDetail, data, ZtApiDataColumnConstant.syDataMissingList, true, adCode, true, uuid);
+ if (alarmRuleDetail.getAlarmMode().equals("站内信") && isTimeSend()) {
+ asyncNoticeHandle.damSafetySyDataMissingHandleStation(alarmRule, alarmRuleDetail, resultData, ZtApiDataColumnConstant.syDataMissingList, false, adCode, true, uuid,arg2);
+ }
+ if (alarmRuleDetail.getAlarmMode().equals("短信")){
+ asyncNoticeHandle.damSafetySyDataMissingHandleSms(alarmRule, alarmRuleDetail, resultData, ZtApiDataColumnConstant.syDataMissingList, false, adCode, false, uuid,arg2);
}
}
}
@@ -790,15 +890,18 @@
List<AlertTextualResearchAttachVO> syDataMissing = textualResearchAttachClient.getBxDataMissing();
JSONArray data = JSON.parseArray(JSON.toJSONString(syDataMissing));
-
+ JSONArray resultData = filterNoAlertRes(data, arg1);
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.damSafetySyDataMissingHandle(alarmRule, alarmRuleDetail, data, ZtApiDataColumnConstant.bxDataMissingList, true, adCode, true, uuid);
+ if (alarmRuleDetail.getAlarmMode().equals("站内信") && isTimeSend()) {
+ asyncNoticeHandle.damSafetySyDataMissingHandleStation(alarmRule, alarmRuleDetail, resultData, ZtApiDataColumnConstant.bxDataMissingList, false, adCode, true, uuid,arg2);
+ }
+ if (alarmRuleDetail.getAlarmMode().equals("短信")){
+ asyncNoticeHandle.damSafetySyDataMissingHandleSms(alarmRule, alarmRuleDetail, resultData, ZtApiDataColumnConstant.bxDataMissingList, false, adCode, false, uuid,arg2);
}
}
}
@@ -823,7 +926,8 @@
// 调用中台服务接口查询数据
JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.alarm_db_sy_less_or_higher_api);
JSONArray array = lessOrHigher(ztData, "less");
-
+ //这里需要对数据进行过滤
+ JSONArray resultData = filterNoAlertRes(array,arg1);
// 获取告警规则详情,判断告警类型(短信,电话,站内信)
if (null != alarmRule) {
// 查询告警详情信息
@@ -832,10 +936,10 @@
// 遍历
for (AlarmRuleDetail alarmRuleDetail : alarmRuleDetailList) {
if (alarmRuleDetail.getAlarmMode().equals("短信")) {
- asyncNoticeHandle.damSafetySyLessThenPipeHandleSms(alarmRule, alarmRuleDetail, array, ZtApiDataColumnConstant.syLessThenPipe, true, adCode, false, uuid);
+ asyncNoticeHandle.damSafetySyLessThenPipeHandleSms(alarmRule, alarmRuleDetail, resultData, ZtApiDataColumnConstant.syLessThenPipe, true, adCode, false, uuid,arg2);
}
- if (alarmRuleDetail.getAlarmMode().equals("站内信")) {
- asyncNoticeHandle.damSafetySyLessThenPipeHandleStation(alarmRule, alarmRuleDetail, array, ZtApiDataColumnConstant.syLessThenPipe, true, adCode, true, uuid);
+ if (alarmRuleDetail.getAlarmMode().equals("站内信") && isTimeSend()) {
+ asyncNoticeHandle.damSafetySyLessThenPipeHandleStation(alarmRule, alarmRuleDetail, resultData, ZtApiDataColumnConstant.syLessThenPipe, true, adCode, true, uuid,arg2);
}
}
}
@@ -863,7 +967,8 @@
JSONArray array = lessOrHigher(ztData, "higher");
-
+ //这里需要对数据进行过滤
+ JSONArray resultData = filterNoAlertRes(array,arg1);
// 获取告警规则详情,判断告警类型(短信,电话,站内信)
if (null != alarmRule) {
@@ -872,11 +977,11 @@
if (alarmRuleDetailList.size() > 0) {
// 遍历
for (AlarmRuleDetail alarmRuleDetail : alarmRuleDetailList) {
-// if (alarmRuleDetail.getAlarmMode().equals("短信")) {
-// asyncNoticeHandle.damSafetySyHigherThenNozzleHandleSms(alarmRule, alarmRuleDetail, array,ZtApiDataColumnConstant.syHigherThenNozzle,true, adCode, false,uuid);
-// }
- if (alarmRuleDetail.getAlarmMode().equals("站内信")) {
- asyncNoticeHandle.damSafetySyHigherThenNozzleHandleStation(alarmRule, alarmRuleDetail, array, ZtApiDataColumnConstant.syHigherThenNozzle, true, adCode, true, uuid);
+ if (alarmRuleDetail.getAlarmMode().equals("短信")) {
+ asyncNoticeHandle.damSafetySyHigherThenNozzleHandleSms(alarmRule, alarmRuleDetail, resultData,ZtApiDataColumnConstant.syHigherThenNozzle,true, adCode, false,uuid,arg2);
+ }
+ if (alarmRuleDetail.getAlarmMode().equals("站内信") && isTimeSend()) {
+ asyncNoticeHandle.damSafetySyHigherThenNozzleHandleStation(alarmRule, alarmRuleDetail, resultData, ZtApiDataColumnConstant.syHigherThenNozzle, true, adCode, true, uuid,arg2);
}
}
}
@@ -900,6 +1005,10 @@
AlarmRule alarmRule = alarmRuleService.getOne(new QueryWrapper<AlarmRule>().eq("rule_name", arg1));
// 调用中台服务接口查询数据
JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.alarm_db_sy_higher_then_bdElevation_api);
+ //这里需要对数据进行过滤
+ JSONArray resultData1 = filterNoAlertRes(ztData,arg1);
+
+ JSONArray resultData = setMonitorData(resultData1, "max_value");
// 获取告警规则详情,判断告警类型(短信,电话,站内信)
if (null != alarmRule) {
@@ -909,10 +1018,10 @@
// 遍历
for (AlarmRuleDetail alarmRuleDetail : alarmRuleDetailList) {
if (alarmRuleDetail.getAlarmMode().equals("短信")) {
- asyncNoticeHandle.damSafetySyHigherThenBdElevationHandleSms(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.syHigherThenBdElevation, true, adCode, false, uuid);
+ asyncNoticeHandle.damSafetySyHigherThenBdElevationHandleSms(alarmRule, alarmRuleDetail, resultData, ZtApiDataColumnConstant.syHigherThenBdElevation, true, adCode, false, uuid,arg2);
}
- if (alarmRuleDetail.getAlarmMode().equals("站内信")) {
- asyncNoticeHandle.damSafetySyHigherThenBdElevationHandleStation(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.syHigherThenBdElevation, true, adCode, true, uuid);
+ if (alarmRuleDetail.getAlarmMode().equals("站内信") && isTimeSend()) {
+ asyncNoticeHandle.damSafetySyHigherThenBdElevationHandleStation(alarmRule, alarmRuleDetail, resultData, ZtApiDataColumnConstant.syHigherThenBdElevation, true, adCode, true, uuid,arg2);
}
}
}
@@ -934,6 +1043,10 @@
AlarmRule alarmRule = alarmRuleService.getOne(new QueryWrapper<AlarmRule>().eq("rule_name", arg1));
// 调用中台服务接口查询数据
JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.alarm_db_sy_higher_then_water_level_api);
+ //这里需要对数据进行过滤
+ JSONArray resultData1 = filterNoAlertRes(ztData,arg1);
+
+ JSONArray resultData = setMonitorData(resultData1, "max_value");
// 获取告警规则详情,判断告警类型(短信,电话,站内信)
if (null != alarmRule) {
@@ -943,10 +1056,10 @@
// 遍历
for (AlarmRuleDetail alarmRuleDetail : alarmRuleDetailList) {
if (alarmRuleDetail.getAlarmMode().equals("短信")) {
- asyncNoticeHandle.damSafetySyHigherThenWaterLevelHandleSms(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.syHigherThenWaterLevel, true, adCode, false, uuid);
+ asyncNoticeHandle.damSafetySyHigherThenWaterLevelHandleSms(alarmRule, alarmRuleDetail, resultData, ZtApiDataColumnConstant.syHigherThenWaterLevel, true, adCode, false, uuid,arg2);
}
- if (alarmRuleDetail.getAlarmMode().equals("站内信")) {
- asyncNoticeHandle.damSafetySyHigherThenWaterLevelHandleStation(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.syHigherThenWaterLevel, true, adCode, true, uuid);
+ if (alarmRuleDetail.getAlarmMode().equals("站内信") && isTimeSend()) {
+ asyncNoticeHandle.damSafetySyHigherThenWaterLevelHandleStation(alarmRule, alarmRuleDetail, resultData, ZtApiDataColumnConstant.syHigherThenWaterLevel, true, adCode, true, uuid,arg2);
}
}
}
@@ -973,6 +1086,10 @@
JSONArray data = changeRange(ztData, "1");
+ //这里需要对数据进行过滤
+ JSONArray resultData = filterNoAlertRes(data,arg1);
+
+
// 获取告警规则详情,判断告警类型(短信,电话,站内信)
if (null != alarmRule) {
// 查询告警详情信息
@@ -981,10 +1098,10 @@
// 遍历
for (AlarmRuleDetail alarmRuleDetail : alarmRuleDetailList) {
if (alarmRuleDetail.getAlarmMode().equals("短信")) {
- asyncNoticeHandle.damSafetySyYellowChangeHandleSms(alarmRule, alarmRuleDetail, data, ZtApiDataColumnConstant.syYellowRzChange, true, adCode, false, uuid);
+ asyncNoticeHandle.damSafetySyYellowChangeHandleSms(alarmRule, alarmRuleDetail, resultData, ZtApiDataColumnConstant.syYellowRzChange, true, adCode, false, uuid,arg2);
}
- if (alarmRuleDetail.getAlarmMode().equals("站内信")) {
- asyncNoticeHandle.damSafetySyYellowChangeHandleStation(alarmRule, alarmRuleDetail, data, ZtApiDataColumnConstant.syYellowRzChange, true, adCode, true, uuid);
+ if (alarmRuleDetail.getAlarmMode().equals("站内信") && isTimeSend()) {
+ asyncNoticeHandle.damSafetySyYellowChangeHandleStation(alarmRule, alarmRuleDetail, resultData, ZtApiDataColumnConstant.syYellowRzChange, true, adCode, true, uuid,arg2);
}
}
}
@@ -1009,7 +1126,8 @@
JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.alarm_db_sy_rz_change_api);
JSONArray data = changeRange(ztData, "2");
-
+ //这里需要对数据进行过滤
+ JSONArray resultData = filterNoAlertRes(data,arg1);
// 获取告警规则详情,判断告警类型(短信,电话,站内信)
if (null != alarmRule) {
@@ -1019,10 +1137,10 @@
// 遍历
for (AlarmRuleDetail alarmRuleDetail : alarmRuleDetailList) {
if (alarmRuleDetail.getAlarmMode().equals("短信")) {
- asyncNoticeHandle.damSafetySyOrangeChangeHandleSms(alarmRule, alarmRuleDetail, data, ZtApiDataColumnConstant.syOrangeRzChange, true, adCode, false, uuid);
+ asyncNoticeHandle.damSafetySyOrangeChangeHandleSms(alarmRule, alarmRuleDetail, resultData, ZtApiDataColumnConstant.syOrangeRzChange, true, adCode, false, uuid,arg2);
}
- if (alarmRuleDetail.getAlarmMode().equals("站内信")) {
- asyncNoticeHandle.damSafetySyOrangeChangeHandleStation(alarmRule, alarmRuleDetail, data, ZtApiDataColumnConstant.syOrangeRzChange, true, adCode, true, uuid);
+ if (alarmRuleDetail.getAlarmMode().equals("站内信") && isTimeSend()) {
+ asyncNoticeHandle.damSafetySyOrangeChangeHandleStation(alarmRule, alarmRuleDetail, resultData, ZtApiDataColumnConstant.syOrangeRzChange, true, adCode, true, uuid,arg2);
}
}
}
@@ -1047,7 +1165,8 @@
JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.alarm_db_sy_rz_change_api);
JSONArray data = changeRange(ztData, "3");
-
+ //这里需要对数据进行过滤
+ JSONArray resultData = filterNoAlertRes(data,arg1);
// 获取告警规则详情,判断告警类型(短信,电话,站内信)
if (null != alarmRule) {
@@ -1057,10 +1176,10 @@
// 遍历
for (AlarmRuleDetail alarmRuleDetail : alarmRuleDetailList) {
if (alarmRuleDetail.getAlarmMode().equals("短信")) {
- asyncNoticeHandle.damSafetySyRedChangeHandleSms(alarmRule, alarmRuleDetail, data, ZtApiDataColumnConstant.syRedRzChange, true, adCode, false, uuid);
+ asyncNoticeHandle.damSafetySyRedChangeHandleSms(alarmRule, alarmRuleDetail, resultData, ZtApiDataColumnConstant.syRedRzChange, true, adCode, false, uuid,arg2);
}
- if (alarmRuleDetail.getAlarmMode().equals("站内信")) {
- asyncNoticeHandle.damSafetySyRedChangeHandleStation(alarmRule, alarmRuleDetail, data, ZtApiDataColumnConstant.syRedRzChange, true, adCode, true, uuid);
+ if (alarmRuleDetail.getAlarmMode().equals("站内信") && isTimeSend()) {
+ asyncNoticeHandle.damSafetySyRedChangeHandleStation(alarmRule, alarmRuleDetail, resultData, ZtApiDataColumnConstant.syRedRzChange, true, adCode, true, uuid,arg2);
}
}
}
@@ -1083,8 +1202,10 @@
// 调用中台服务接口查询数据
JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.alarm_db_sy_rz_1h_change_api);
+ // 处理数据
JSONArray data = judgeType(ztData);
-
+ //这里需要对数据进行过滤
+ JSONArray resultData = filterNoAlertRes(data,arg1);
// 获取告警规则详情,判断告警类型(短信,电话,站内信)
if (null != alarmRule) {
// 查询告警详情信息
@@ -1093,10 +1214,10 @@
// 遍历
for (AlarmRuleDetail alarmRuleDetail : alarmRuleDetailList) {
if (alarmRuleDetail.getAlarmMode().equals("短信")) {
- asyncNoticeHandle.damSafetySyRz1hChangeHandleSms(alarmRule, alarmRuleDetail, data, ZtApiDataColumnConstant.syRz1hChange, true, adCode, false, uuid);
+ asyncNoticeHandle.damSafetySyRz1hChangeHandleSms(alarmRule, alarmRuleDetail, resultData, ZtApiDataColumnConstant.syRz1hChange, true, adCode, false, uuid,arg2);
}
- if (alarmRuleDetail.getAlarmMode().equals("站内信")) {
- asyncNoticeHandle.damSafetySyRz1hChangeHandleStation(alarmRule, alarmRuleDetail, data, ZtApiDataColumnConstant.syRz1hChange, true, adCode, true, uuid);
+ if (alarmRuleDetail.getAlarmMode().equals("站内信") && isTimeSend()) {
+ asyncNoticeHandle.damSafetySyRz1hChangeHandleStation(alarmRule, alarmRuleDetail, resultData, ZtApiDataColumnConstant.syRz1hChange, true, adCode, true, uuid,arg2);
}
}
}
@@ -1122,7 +1243,8 @@
JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.alarm_db_wy_value_api);
JSONArray data = judgeDirection(ztData, "1");
-
+ //这里需要对数据进行过滤
+ JSONArray resultData = filterNoAlertRes(data,arg1);
// 获取告警规则详情,判断告警类型(短信,电话,站内信)
if (null != alarmRule) {
// 查询告警详情信息
@@ -1131,10 +1253,10 @@
// 遍历
for (AlarmRuleDetail alarmRuleDetail : alarmRuleDetailList) {
if (alarmRuleDetail.getAlarmMode().equals("短信")) {
- asyncNoticeHandle.damSafetyWyOver2Less5HandleSms(alarmRule, alarmRuleDetail, data, ZtApiDataColumnConstant.wyOver2Less5, true, adCode, false, uuid);
+ asyncNoticeHandle.damSafetyWyOver2Less5HandleSms(alarmRule, alarmRuleDetail, resultData, ZtApiDataColumnConstant.wyOver2Less5, true, adCode, false, uuid,arg2);
}
- if (alarmRuleDetail.getAlarmMode().equals("站内信")) {
- asyncNoticeHandle.damSafetyWyOver2Less5HandleStation(alarmRule, alarmRuleDetail, data, ZtApiDataColumnConstant.wyOver2Less5, true, adCode, true, uuid);
+ if (alarmRuleDetail.getAlarmMode().equals("站内信") && isTimeSend()) {
+ asyncNoticeHandle.damSafetyWyOver2Less5HandleStation(alarmRule, alarmRuleDetail, resultData, ZtApiDataColumnConstant.wyOver2Less5, true, adCode, true, uuid,arg2);
}
}
}
@@ -1162,7 +1284,8 @@
JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.alarm_db_wy_value_api);
JSONArray data = judgeDirection(ztData, "2");
-
+ //这里需要对数据进行过滤
+ JSONArray resultData = filterNoAlertRes(data,arg1);
// 获取告警规则详情,判断告警类型(短信,电话,站内信)
if (null != alarmRule) {
// 查询告警详情信息
@@ -1171,10 +1294,10 @@
// 遍历
for (AlarmRuleDetail alarmRuleDetail : alarmRuleDetailList) {
if (alarmRuleDetail.getAlarmMode().equals("短信")) {
- asyncNoticeHandle.damSafetyWyOver5Less10HandleSms(alarmRule, alarmRuleDetail, data, ZtApiDataColumnConstant.wyOver5Less10, true, adCode, false, uuid);
+ asyncNoticeHandle.damSafetyWyOver5Less10HandleSms(alarmRule, alarmRuleDetail, resultData, ZtApiDataColumnConstant.wyOver5Less10, true, adCode, false, uuid,arg2);
}
- if (alarmRuleDetail.getAlarmMode().equals("站内信")) {
- asyncNoticeHandle.damSafetyWyOver5Less10HandleStation(alarmRule, alarmRuleDetail, data, ZtApiDataColumnConstant.wyOver5Less10, true, adCode, true, uuid);
+ if (alarmRuleDetail.getAlarmMode().equals("站内信") && isTimeSend()) {
+ asyncNoticeHandle.damSafetyWyOver5Less10HandleStation(alarmRule, alarmRuleDetail, resultData, ZtApiDataColumnConstant.wyOver5Less10, true, adCode, true, uuid,arg2);
}
}
}
@@ -1185,7 +1308,7 @@
/**
- * 近1h变形值大于10cm以上
+ * 变形值大于100mm
*
* @param arg1
* @param arg2
@@ -1198,8 +1321,13 @@
// 查询当前策略对应的告警规则信息
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");
+
+
+ //这里需要对数据进行过滤
+ JSONArray resultData = filterNoAlertRes(data,arg1);
+
// 获取告警规则详情,判断告警类型(短信,电话,站内信)
if (null != alarmRule) {
// 查询告警详情信息
@@ -1208,10 +1336,10 @@
// 遍历
for (AlarmRuleDetail alarmRuleDetail : alarmRuleDetailList) {
if (alarmRuleDetail.getAlarmMode().equals("短信")) {
- asyncNoticeHandle.damSafetyWyOver10HandleSms(alarmRule, alarmRuleDetail, data, ZtApiDataColumnConstant.wyOver10, true, adCode, false, uuid);
+ asyncNoticeHandle.damSafetyWyOver10HandleSms(alarmRule, alarmRuleDetail, resultData, ZtApiDataColumnConstant.wyOver10, true, adCode, false, uuid,arg2);
}
- if (alarmRuleDetail.getAlarmMode().equals("站内信")) {
- asyncNoticeHandle.damSafetyWyOver10HandleStation(alarmRule, alarmRuleDetail, data, ZtApiDataColumnConstant.wyOver10, true, adCode, true, uuid);
+ if (alarmRuleDetail.getAlarmMode().equals("站内信") && isTimeSend()) {
+ asyncNoticeHandle.damSafetyWyOver10HandleStation(alarmRule, alarmRuleDetail, resultData, ZtApiDataColumnConstant.wyOver10, true, adCode, true, uuid,arg2);
}
}
}
@@ -1235,6 +1363,10 @@
// 调用中台服务接口查询数据
JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.alarm_db_wy_value_1h_change_over_10_api);
JSONArray data = judgeDirectionV2(ztData);
+
+ //这里需要对数据进行过滤
+ JSONArray resultData = filterNoAlertRes(data,arg1);
+
// 获取告警规则详情,判断告警类型(短信,电话,站内信)
if (null != alarmRule) {
// 查询告警详情信息
@@ -1243,10 +1375,10 @@
// 遍历
for (AlarmRuleDetail alarmRuleDetail : alarmRuleDetailList) {
if (alarmRuleDetail.getAlarmMode().equals("短信")) {
- asyncNoticeHandle.damSafetyWy1hChangeOver10HandleSms(alarmRule, alarmRuleDetail, data, ZtApiDataColumnConstant.wy1hChangeOver10, true, adCode, false, uuid);
+ asyncNoticeHandle.damSafetyWy1hChangeOver10HandleSms(alarmRule, alarmRuleDetail, resultData, ZtApiDataColumnConstant.wy1hChangeOver10, true, adCode, false, uuid,arg2);
}
- if (alarmRuleDetail.getAlarmMode().equals("站内信")) {
- asyncNoticeHandle.damSafetyWy1hChangeOver10HandleStation(alarmRule, alarmRuleDetail, data, ZtApiDataColumnConstant.wy1hChangeOver10, true, adCode, true, uuid);
+ if (alarmRuleDetail.getAlarmMode().equals("站内信") && isTimeSend()) {
+ asyncNoticeHandle.damSafetyWy1hChangeOver10HandleStation(alarmRule, alarmRuleDetail, resultData, ZtApiDataColumnConstant.wy1hChangeOver10, true, adCode, true, uuid,arg2);
}
}
}
@@ -1256,6 +1388,13 @@
return "近1h变形值大于10cm以上告警";
}
+ /**
+ * 渗流量一日大于5L小于8L,连续3日增加
+ *
+ * @param arg1
+ * @param arg2
+ * @return
+ */
public String damSafetySlOver5Less8Handle(String arg1, String arg2) {
String adCode = null;
@@ -1265,6 +1404,11 @@
// 调用中台服务接口查询数据
JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.alarm_db_sl_value_change_api);
JSONArray data = filterData(ztData,"1");
+
+ //这里需要对数据进行过滤
+ JSONArray resultData1 = filterNoAlertRes(data,arg1);
+ JSONArray resultData = setMonitorData(resultData1, "value");
+
// 获取告警规则详情,判断告警类型(短信,电话,站内信)
if (null != alarmRule) {
// 查询告警详情信息
@@ -1273,10 +1417,10 @@
// 遍历
for (AlarmRuleDetail alarmRuleDetail : alarmRuleDetailList) {
if (alarmRuleDetail.getAlarmMode().equals("短信")) {
- asyncNoticeHandle.damSafetySlOverLessHandleSms(alarmRule, alarmRuleDetail, data, ZtApiDataColumnConstant.wy1hChangeOver10, true, adCode, false, uuid);
+ asyncNoticeHandle.damSafetySlOverLessHandleSms(alarmRule, alarmRuleDetail, resultData, ZtApiDataColumnConstant.slOverLess, true, adCode, false, uuid,arg2);
}
- if (alarmRuleDetail.getAlarmMode().equals("站内信")) {
- asyncNoticeHandle.damSafetySlOverLessHandleStation(alarmRule, alarmRuleDetail, data, ZtApiDataColumnConstant.wy1hChangeOver10, true, adCode, true, uuid);
+ if (alarmRuleDetail.getAlarmMode().equals("站内信") && isTimeSend()) {
+ asyncNoticeHandle.damSafetySlOverLessHandleStation(alarmRule, alarmRuleDetail, resultData, ZtApiDataColumnConstant.slOverLess, true, adCode, true, uuid,arg2);
}
}
}
@@ -1286,6 +1430,13 @@
}
+ /**
+ * 渗流量一日大于8L小于10L,连续3日增加
+ *
+ * @param arg1
+ * @param arg2
+ * @return
+ */
public String damSafetySlOver8Less10Handle(String arg1, String arg2) {
String adCode = null;
@@ -1295,6 +1446,10 @@
// 调用中台服务接口查询数据
JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.alarm_db_sl_value_change_api);
JSONArray data = filterData(ztData,"2");
+
+ //这里需要对数据进行过滤
+ JSONArray resultData1 = filterNoAlertRes(data,arg1);
+ JSONArray resultData = setMonitorData(resultData1, "value");
// 获取告警规则详情,判断告警类型(短信,电话,站内信)
if (null != alarmRule) {
// 查询告警详情信息
@@ -1303,10 +1458,10 @@
// 遍历
for (AlarmRuleDetail alarmRuleDetail : alarmRuleDetailList) {
if (alarmRuleDetail.getAlarmMode().equals("短信")) {
- asyncNoticeHandle.damSafetySlOverLessHandleSms(alarmRule, alarmRuleDetail, data, ZtApiDataColumnConstant.wy1hChangeOver10, true, adCode, false, uuid);
+ asyncNoticeHandle.damSafetySlOverLessHandleSms(alarmRule, alarmRuleDetail, resultData, ZtApiDataColumnConstant.slOverLess, true, adCode, false, uuid,arg2);
}
- if (alarmRuleDetail.getAlarmMode().equals("站内信")) {
- asyncNoticeHandle.damSafetySlOverLessHandleStation(alarmRule, alarmRuleDetail, data, ZtApiDataColumnConstant.wy1hChangeOver10, true, adCode, true, uuid);
+ if (alarmRuleDetail.getAlarmMode().equals("站内信") && isTimeSend()) {
+ asyncNoticeHandle.damSafetySlOverLessHandleStation(alarmRule, alarmRuleDetail, resultData, ZtApiDataColumnConstant.slOverLess, true, adCode, true, uuid,arg2);
}
}
}
@@ -1316,7 +1471,13 @@
}
-
+ /**
+ * 渗流量一日大于10L,连续3日增加
+ *
+ * @param arg1
+ * @param arg2
+ * @return
+ */
public String damSafetySlOver10Handle(String arg1, String arg2) {
String adCode = null;
@@ -1326,6 +1487,12 @@
// 调用中台服务接口查询数据
JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.alarm_db_sl_value_change_api);
JSONArray data = filterData(ztData,"3");
+
+ //这里需要对数据进行过滤
+ JSONArray resultData1 = filterNoAlertRes(data,arg1);
+
+ JSONArray resultData = setMonitorData(resultData1, "value");
+
// 获取告警规则详情,判断告警类型(短信,电话,站内信)
if (null != alarmRule) {
// 查询告警详情信息
@@ -1334,19 +1501,85 @@
// 遍历
for (AlarmRuleDetail alarmRuleDetail : alarmRuleDetailList) {
if (alarmRuleDetail.getAlarmMode().equals("短信")) {
- asyncNoticeHandle.damSafetySlOverLessHandleSms(alarmRule, alarmRuleDetail, data, ZtApiDataColumnConstant.wy1hChangeOver10, true, adCode, false, uuid);
+ asyncNoticeHandle.damSafetySlOverLessHandleSms(alarmRule, alarmRuleDetail, resultData, ZtApiDataColumnConstant.slOverLess, true, adCode, false, uuid,arg2);
}
- if (alarmRuleDetail.getAlarmMode().equals("站内信")) {
- asyncNoticeHandle.damSafetySlOverLessHandleStation(alarmRule, alarmRuleDetail, data, ZtApiDataColumnConstant.wy1hChangeOver10, true, adCode, true, uuid);
+ if (alarmRuleDetail.getAlarmMode().equals("站内信") && isTimeSend()) {
+ asyncNoticeHandle.damSafetySlOverLessHandleStation(alarmRule, alarmRuleDetail, resultData, ZtApiDataColumnConstant.slOverLess, true, adCode, true, uuid,arg2);
}
}
}
}
- return "渗流量一日大于5L小于8L,连续3日增加告警";
+ return "渗流量一日大于10L告警";
+ }
+
+ /**
+ * 视频离线
+ *
+ * @param arg1
+ * @param arg2
+ * @return
+ */
+ public String videoOfflineHandle(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.getZtDataV2("", ZtApiUrlConstant.alarm_video_offline_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("站内信") && isTimeSend()) {
+ asyncNoticeHandle.videoOfflineHandleStation(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.videoOffline, false, adCode, true, uuid,arg2);
+ }
+ if (alarmRuleDetail.getAlarmMode().equals("短信")) {
+ asyncNoticeHandle.videoOfflineHandleSms(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.videoOffline, false, adCode, false, uuid,arg2);
+ }
+
+ }
+ }
+ }
+
+ 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("站内信") && isTimeSend()) {
+ asyncNoticeHandle.topLevOfFloAlertHandleStation(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.topLevOfFloAlertList, true, adCode, true, uuid,arg2);
+ }
+ }
+ }
+ }
+ // 返回
+ return "水位防洪高水位告警";
+ }
private JSONArray filterData(JSONArray ztData, String level) {
@@ -1395,6 +1628,7 @@
jsonObject.put("direction", direction);
jsonObject.put("val", val);
+ jsonObject.put("monitorData",val);
array.add(jsonObject);
}
@@ -1418,7 +1652,7 @@
//左右岸方向
Double dnVal = jsonObject.getDouble("dn_val");
//垂直
- Double duValue = jsonObject.getDouble("du_value");
+ Double duValue = jsonObject.getDouble("垂直位移");
String direction = "";
String val = "";
@@ -1465,6 +1699,7 @@
jsonObject.put("direction", direction);
jsonObject.put("val", val);
+ jsonObject.put("monitorData",val);
array.add(jsonObject);
}
@@ -1488,6 +1723,7 @@
}
jsonObject.put("type", type);
+ jsonObject.put("monitorData",jsonObject.getString("sy_val"));
array.add(jsonObject);
}
return array;
@@ -1521,7 +1757,6 @@
String dayNum = "";
String diffVal = "";
-
if (dataLevel.equals(level)) {
if (level.equals("1")) {
//水位长期不变,五日变幅小于5cm,十日变幅大于5cm小于8cm,三十日变幅大于8cm小于10cm
@@ -1575,6 +1810,7 @@
}
jsonObject.put("diff_val", diffVal);
+ jsonObject.put("monitorData",jsonObject.getString("val1"));
array.add(jsonObject);
}
}
@@ -1602,12 +1838,14 @@
if (differ < 0) {
//加进一个绝对值方便展示
jsonObject.put("diff_tbb_val_abs", Math.abs(differ));
+ jsonObject.put("monitorData",jsonObject.getString("min_value"));
array.add(jsonObject);
}
} else if (flag == "higher") {
//获取高于管口高程数据,即 max_value > tbttel 即 max_value - tbttel >0 即 diff_tbt_val >0
Double differ = jsonObject.getDouble("diff_tbt_val");
if (differ > 0) {
+ jsonObject.put("monitorData",jsonObject.getString("max_value"));
array.add(jsonObject);
}
}
@@ -1617,4 +1855,63 @@
+ //过滤不需要告警的水库
+ public JSONArray filterNoAlertRes(JSONArray jsonArray,String ruleName){
+ JSONArray result = new JSONArray();
+
+ //获取要过滤的水库数据
+ String noAlertRes= noticeHandle.getNoAlertRes(ruleName);
+
+ if (StringUtil.isBlank(noAlertRes)){
+ //如果没有需要过滤的数据
+ return jsonArray;
+ }
+
+ for (int i = 0; i < jsonArray.size(); i++) {
+
+ JSONObject jsonObject = jsonArray.getJSONObject(i);
+
+ String resCd = jsonObject.getString("res_cd");
+ //判断水库是否在不告警水库列表中
+ boolean contains = noAlertRes.contains(resCd);
+
+ if (!contains){
+ //不在则往结果集中加入数据
+ result.add(jsonObject);
+ }
+ }
+ return result;
+ }
+
+ //给数组赋值监测值,便于后面记录监测值
+ public JSONArray setMonitorData(JSONArray source,String monitorName){
+ JSONArray result = new JSONArray();
+ for (int i = 0; i < source.size(); i++) {
+ JSONObject jsonObject = source.getJSONObject(i);
+
+ String data = jsonObject.getString(monitorName);
+ jsonObject.put("monitorData",data);
+ result.add(jsonObject);
+ }
+ return result;
+ }
+
+ /**
+ * 是否在时间范围内发送
+ * @return
+ */
+ public boolean isTimeSend(){
+ boolean flag = false;
+ // 判断时间范围
+ // 开始时间
+ LocalTime startTime = LocalTime.parse("08:00");
+ // 结束时间
+ LocalTime endTime = LocalTime.parse("22:00");
+ // 当前时间
+ LocalTime now = LocalTime.now();
+ // 比较
+ flag = !now.isBefore(startTime) && !now.isAfter(endTime);
+ // 返回
+ return flag;
+ }
}
--
Gitblit v1.9.3