From c0cc0778ae520c614e2adde9eb48d3f56529edc8 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Wed, 10 Apr 2024 16:37:06 +0800
Subject: [PATCH] 变形告警,渗流告警

---
 skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/AsyncNoticeHandle.java |  377 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 377 insertions(+), 0 deletions(-)

diff --git a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/AsyncNoticeHandle.java b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/AsyncNoticeHandle.java
index d04350f..51cdcfb 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/AsyncNoticeHandle.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/AsyncNoticeHandle.java
@@ -1591,4 +1591,381 @@
 			noticeHandle.saveInStationInfo(smsRequestTemplate,alarmRule);
 		}
 	}
+
+
+
+
+
+	/**
+	 * 策略34 短信-----变形值大于20mm小于50mm
+	 * @param alarmRule 告警规则
+	 * @param alarmRuleDetail 告警规则详情
+	 * @param data 中台数据
+	 * @param columnList 需要展示的数据字段
+	 * @param flag 是否显示日期
+	 * @param adCode 行政区划
+	 * @param isSendStation 是否站内信
+	 * @param uuid 随机生成id
+	 * @return
+	 */
+	public Map<String, Object> damSafetyWyOver2Less5HandleSms(AlarmRule alarmRule, AlarmRuleDetail alarmRuleDetail, JSONArray data, List<String> columnList, boolean flag, String adCode, boolean isSendStation, String uuid) {
+		Map<String, Object> map = new HashMap<>();
+		// 只发短信,将发短信信息组装好
+		SmsRequestTemplate smsRequestTemplate
+			= noticeHandle.getSendSmsTemplate(data,alarmRule,alarmRuleDetail,columnList ,flag,adCode,uuid,isSendStation);
+		// 拼接后面内容
+		if (smsRequestTemplate.getPersonVOList().size() > 0) {
+			for (List<String> list : smsRequestTemplate.getTemplateContent()) {
+				// 依次添加行巡查责任人,技术责任人信息(姓名)
+				noticeHandle.addPatrolTechnologyInfo(list,false);
+				// 拼接市县水利部人员姓名及联系方式
+				noticeHandle.addCityCountyBusinessPersonInfo(list);
+				// 保存告警记录信息
+				AlarmRecord alarmRecord = noticeHandle.saveAlarmRecord(list, alarmRule, uuid);
+				if (null != alarmRecord) {
+					list.add(alarmRecord.getId().toString());
+				}
+			}
+			map = smsService.sendSignMsg(smsRequestTemplate);
+			// 调用短信服务
+			return map;
+		}
+		return map;
+	}
+
+
+	/**
+	 * 策略34 站内信----- 变形值大于20mm小于50mm
+	 * @param alarmRule 告警规则
+	 * @param alarmRuleDetail 告警规则详情
+	 * @param data 中台数据
+	 * @param columnList 需要展示的数据字段
+	 * @param flag 是否显示日期
+	 * @param adCode 行政区划
+	 * @param isSendStation 是否站内信
+	 * @param uuid 随机生成id
+	 * @return
+	 */
+	public void damSafetyWyOver2Less5HandleStation(AlarmRule alarmRule, AlarmRuleDetail alarmRuleDetail, JSONArray data, List<String> columnList, boolean flag, String adCode, boolean isSendStation, String uuid) {
+		SmsRequestTemplate smsRequestTemplate
+			= noticeHandle.getSendSmsTemplate(data, alarmRule, alarmRuleDetail, columnList, flag, adCode, uuid, isSendStation);
+		// 拼接后面内容
+		if (smsRequestTemplate.getPersonVOList().size() > 0) {
+			for (List<String> list : smsRequestTemplate.getTemplateContent()) {
+				// 依次添加行巡查责任人,技术责任人信息(姓名)
+				noticeHandle.addPatrolTechnologyInfo(list,false);
+				// 拼接市县水利部人员姓名及联系方式
+				noticeHandle.addCityCountyBusinessPersonInfo(list);
+				// 保存告警记录信息
+				AlarmRecord alarmRecord = noticeHandle.saveAlarmRecord(list, alarmRule, uuid);
+				if (null != alarmRecord) {
+					list.add(alarmRecord.getId().toString());
+				}
+			}
+			// 保存站内信记录信息
+			noticeHandle.saveInStationInfo(smsRequestTemplate,alarmRule);
+		}
+	}
+
+
+
+
+	/**
+	 * 策略35 短信-----变形值大于50mm小于100mm
+	 * @param alarmRule 告警规则
+	 * @param alarmRuleDetail 告警规则详情
+	 * @param data 中台数据
+	 * @param columnList 需要展示的数据字段
+	 * @param flag 是否显示日期
+	 * @param adCode 行政区划
+	 * @param isSendStation 是否站内信
+	 * @param uuid 随机生成id
+	 * @return
+	 */
+	public Map<String, Object> damSafetyWyOver5Less10HandleSms(AlarmRule alarmRule, AlarmRuleDetail alarmRuleDetail, JSONArray data, List<String> columnList, boolean flag, String adCode, boolean isSendStation, String uuid) {
+		Map<String, Object> map = new HashMap<>();
+		// 只发短信,将发短信信息组装好
+		SmsRequestTemplate smsRequestTemplate
+			= noticeHandle.getSendSmsTemplate(data,alarmRule,alarmRuleDetail,columnList ,flag,adCode,uuid,isSendStation);
+		// 拼接后面内容
+		if (smsRequestTemplate.getPersonVOList().size() > 0) {
+			for (List<String> list : smsRequestTemplate.getTemplateContent()) {
+				// 依次添加行巡查责任人,技术责任人信息(姓名)
+				noticeHandle.addPatrolTechnologyInfo(list,false);
+				// 拼接市县水利部人员姓名及联系方式
+				noticeHandle.addCityCountyBusinessPersonInfo(list);
+				// 保存告警记录信息
+				AlarmRecord alarmRecord = noticeHandle.saveAlarmRecord(list, alarmRule, uuid);
+				if (null != alarmRecord) {
+					list.add(alarmRecord.getId().toString());
+				}
+			}
+			map = smsService.sendSignMsg(smsRequestTemplate);
+			// 调用短信服务
+			return map;
+		}
+		return map;
+	}
+
+
+	/**
+	 * 策略34 站内信----- 变形值大于50mm小于100mm
+	 * @param alarmRule 告警规则
+	 * @param alarmRuleDetail 告警规则详情
+	 * @param data 中台数据
+	 * @param columnList 需要展示的数据字段
+	 * @param flag 是否显示日期
+	 * @param adCode 行政区划
+	 * @param isSendStation 是否站内信
+	 * @param uuid 随机生成id
+	 * @return
+	 */
+	public void damSafetyWyOver5Less10HandleStation(AlarmRule alarmRule, AlarmRuleDetail alarmRuleDetail, JSONArray data, List<String> columnList, boolean flag, String adCode, boolean isSendStation, String uuid) {
+		SmsRequestTemplate smsRequestTemplate
+			= noticeHandle.getSendSmsTemplate(data, alarmRule, alarmRuleDetail, columnList, flag, adCode, uuid, isSendStation);
+		// 拼接后面内容
+		if (smsRequestTemplate.getPersonVOList().size() > 0) {
+			for (List<String> list : smsRequestTemplate.getTemplateContent()) {
+				// 依次添加行巡查责任人,技术责任人信息(姓名)
+				noticeHandle.addPatrolTechnologyInfo(list,false);
+				// 拼接市县水利部人员姓名及联系方式
+				noticeHandle.addCityCountyBusinessPersonInfo(list);
+				// 保存告警记录信息
+				AlarmRecord alarmRecord = noticeHandle.saveAlarmRecord(list, alarmRule, uuid);
+				if (null != alarmRecord) {
+					list.add(alarmRecord.getId().toString());
+				}
+			}
+			// 保存站内信记录信息
+			noticeHandle.saveInStationInfo(smsRequestTemplate,alarmRule);
+		}
+	}
+
+
+	/**
+	 * 策略34 短信-----变形值大于100mm
+	 * @param alarmRule 告警规则
+	 * @param alarmRuleDetail 告警规则详情
+	 * @param data 中台数据
+	 * @param columnList 需要展示的数据字段
+	 * @param flag 是否显示日期
+	 * @param adCode 行政区划
+	 * @param isSendStation 是否站内信
+	 * @param uuid 随机生成id
+	 * @return
+	 */
+	public Map<String, Object> damSafetyWyOver10HandleSms(AlarmRule alarmRule, AlarmRuleDetail alarmRuleDetail, JSONArray data, List<String> columnList, boolean flag, String adCode, boolean isSendStation, String uuid) {
+		Map<String, Object> map = new HashMap<>();
+		// 只发短信,将发短信信息组装好
+		SmsRequestTemplate smsRequestTemplate
+			= noticeHandle.getSendSmsTemplate(data,alarmRule,alarmRuleDetail,columnList ,flag,adCode,uuid,isSendStation);
+		// 拼接后面内容
+		if (smsRequestTemplate.getPersonVOList().size() > 0) {
+			for (List<String> list : smsRequestTemplate.getTemplateContent()) {
+				// 依次添加行巡查责任人,技术责任人信息(姓名)
+				noticeHandle.addPatrolTechnologyInfo(list,false);
+				// 拼接市县水利部人员姓名及联系方式
+				noticeHandle.addCityCountyBusinessPersonInfo(list);
+				// 保存告警记录信息
+				AlarmRecord alarmRecord = noticeHandle.saveAlarmRecord(list, alarmRule, uuid);
+				if (null != alarmRecord) {
+					list.add(alarmRecord.getId().toString());
+				}
+			}
+			map = smsService.sendSignMsg(smsRequestTemplate);
+			// 调用短信服务
+			return map;
+		}
+		return map;
+	}
+
+
+	/**
+	 * 策略34 站内信----- 变形值大于100mm
+	 * @param alarmRule 告警规则
+	 * @param alarmRuleDetail 告警规则详情
+	 * @param data 中台数据
+	 * @param columnList 需要展示的数据字段
+	 * @param flag 是否显示日期
+	 * @param adCode 行政区划
+	 * @param isSendStation 是否站内信
+	 * @param uuid 随机生成id
+	 * @return
+	 */
+	public void damSafetyWyOver10HandleStation(AlarmRule alarmRule, AlarmRuleDetail alarmRuleDetail, JSONArray data, List<String> columnList, boolean flag, String adCode, boolean isSendStation, String uuid) {
+		SmsRequestTemplate smsRequestTemplate
+			= noticeHandle.getSendSmsTemplate(data, alarmRule, alarmRuleDetail, columnList, flag, adCode, uuid, isSendStation);
+		// 拼接后面内容
+		if (smsRequestTemplate.getPersonVOList().size() > 0) {
+			for (List<String> list : smsRequestTemplate.getTemplateContent()) {
+				// 依次添加行巡查责任人,技术责任人信息(姓名)
+				noticeHandle.addPatrolTechnologyInfo(list,false);
+				// 拼接市县水利部人员姓名及联系方式
+				noticeHandle.addCityCountyBusinessPersonInfo(list);
+				// 保存告警记录信息
+				AlarmRecord alarmRecord = noticeHandle.saveAlarmRecord(list, alarmRule, uuid);
+				if (null != alarmRecord) {
+					list.add(alarmRecord.getId().toString());
+				}
+			}
+			// 保存站内信记录信息
+			noticeHandle.saveInStationInfo(smsRequestTemplate,alarmRule);
+		}
+	}
+
+
+
+
+
+	/**
+	 * 策略34 短信-----近1h变形值大于10cm以上
+	 * @param alarmRule 告警规则
+	 * @param alarmRuleDetail 告警规则详情
+	 * @param data 中台数据
+	 * @param columnList 需要展示的数据字段
+	 * @param flag 是否显示日期
+	 * @param adCode 行政区划
+	 * @param isSendStation 是否站内信
+	 * @param uuid 随机生成id
+	 * @return
+	 */
+	public Map<String, Object> damSafetyWy1hChangeOver10HandleSms(AlarmRule alarmRule, AlarmRuleDetail alarmRuleDetail, JSONArray data, List<String> columnList, boolean flag, String adCode, boolean isSendStation, String uuid) {
+		Map<String, Object> map = new HashMap<>();
+		// 只发短信,将发短信信息组装好
+		SmsRequestTemplate smsRequestTemplate
+			= noticeHandle.getSendSmsTemplate(data,alarmRule,alarmRuleDetail,columnList ,flag,adCode,uuid,isSendStation);
+		// 拼接后面内容
+		if (smsRequestTemplate.getPersonVOList().size() > 0) {
+			for (List<String> list : smsRequestTemplate.getTemplateContent()) {
+				// 依次添加行巡查责任人,技术责任人信息(姓名)
+				noticeHandle.addPatrolTechnologyInfo(list,false);
+				// 拼接市县水利部人员姓名及联系方式
+				noticeHandle.addCityCountyBusinessPersonInfo(list);
+				// 保存告警记录信息
+				AlarmRecord alarmRecord = noticeHandle.saveAlarmRecord(list, alarmRule, uuid);
+				if (null != alarmRecord) {
+					list.add(alarmRecord.getId().toString());
+				}
+			}
+			map = smsService.sendSignMsg(smsRequestTemplate);
+			// 调用短信服务
+			return map;
+		}
+		return map;
+	}
+
+
+	/**
+	 * 策略34 站内信----- 近1h变形值大于10cm以上
+	 * @param alarmRule 告警规则
+	 * @param alarmRuleDetail 告警规则详情
+	 * @param data 中台数据
+	 * @param columnList 需要展示的数据字段
+	 * @param flag 是否显示日期
+	 * @param adCode 行政区划
+	 * @param isSendStation 是否站内信
+	 * @param uuid 随机生成id
+	 * @return
+	 */
+	public void damSafetyWy1hChangeOver10HandleStation(AlarmRule alarmRule, AlarmRuleDetail alarmRuleDetail, JSONArray data, List<String> columnList, boolean flag, String adCode, boolean isSendStation, String uuid) {
+		SmsRequestTemplate smsRequestTemplate
+			= noticeHandle.getSendSmsTemplate(data, alarmRule, alarmRuleDetail, columnList, flag, adCode, uuid, isSendStation);
+		// 拼接后面内容
+		if (smsRequestTemplate.getPersonVOList().size() > 0) {
+			for (List<String> list : smsRequestTemplate.getTemplateContent()) {
+				// 依次添加行巡查责任人,技术责任人信息(姓名)
+				noticeHandle.addPatrolTechnologyInfo(list,false);
+				// 拼接市县水利部人员姓名及联系方式
+				noticeHandle.addCityCountyBusinessPersonInfo(list);
+				// 保存告警记录信息
+				AlarmRecord alarmRecord = noticeHandle.saveAlarmRecord(list, alarmRule, uuid);
+				if (null != alarmRecord) {
+					list.add(alarmRecord.getId().toString());
+				}
+			}
+			// 保存站内信记录信息
+			noticeHandle.saveInStationInfo(smsRequestTemplate,alarmRule);
+		}
+	}
+
+
+
+
+
+
+
+
+
+
+
+	/**
+	 * 策略34 短信-----渗流值
+	 * @param alarmRule 告警规则
+	 * @param alarmRuleDetail 告警规则详情
+	 * @param data 中台数据
+	 * @param columnList 需要展示的数据字段
+	 * @param flag 是否显示日期
+	 * @param adCode 行政区划
+	 * @param isSendStation 是否站内信
+	 * @param uuid 随机生成id
+	 * @return
+	 */
+	public Map<String, Object> damSafetySlOverLessHandleSms(AlarmRule alarmRule, AlarmRuleDetail alarmRuleDetail, JSONArray data, List<String> columnList, boolean flag, String adCode, boolean isSendStation, String uuid) {
+		Map<String, Object> map = new HashMap<>();
+		// 只发短信,将发短信信息组装好
+		SmsRequestTemplate smsRequestTemplate
+			= noticeHandle.getSendSmsTemplate(data,alarmRule,alarmRuleDetail,columnList ,flag,adCode,uuid,isSendStation);
+		// 拼接后面内容
+		if (smsRequestTemplate.getPersonVOList().size() > 0) {
+			for (List<String> list : smsRequestTemplate.getTemplateContent()) {
+				// 依次添加行巡查责任人,技术责任人信息(姓名)
+				noticeHandle.addPatrolTechnologyInfo(list,false);
+				// 拼接市县水利部人员姓名及联系方式
+				noticeHandle.addCityCountyBusinessPersonInfo(list);
+				// 保存告警记录信息
+				AlarmRecord alarmRecord = noticeHandle.saveAlarmRecord(list, alarmRule, uuid);
+				if (null != alarmRecord) {
+					list.add(alarmRecord.getId().toString());
+				}
+			}
+			map = smsService.sendSignMsg(smsRequestTemplate);
+			// 调用短信服务
+			return map;
+		}
+		return map;
+	}
+
+
+	/**
+	 * 策略34 站内信----- 渗流值
+	 * @param alarmRule 告警规则
+	 * @param alarmRuleDetail 告警规则详情
+	 * @param data 中台数据
+	 * @param columnList 需要展示的数据字段
+	 * @param flag 是否显示日期
+	 * @param adCode 行政区划
+	 * @param isSendStation 是否站内信
+	 * @param uuid 随机生成id
+	 * @return
+	 */
+	public void damSafetySlOverLessHandleStation(AlarmRule alarmRule, AlarmRuleDetail alarmRuleDetail, JSONArray data, List<String> columnList, boolean flag, String adCode, boolean isSendStation, String uuid) {
+		SmsRequestTemplate smsRequestTemplate
+			= noticeHandle.getSendSmsTemplate(data, alarmRule, alarmRuleDetail, columnList, flag, adCode, uuid, isSendStation);
+		// 拼接后面内容
+		if (smsRequestTemplate.getPersonVOList().size() > 0) {
+			for (List<String> list : smsRequestTemplate.getTemplateContent()) {
+				// 依次添加行巡查责任人,技术责任人信息(姓名)
+				noticeHandle.addPatrolTechnologyInfo(list,false);
+				// 拼接市县水利部人员姓名及联系方式
+				noticeHandle.addCityCountyBusinessPersonInfo(list);
+				// 保存告警记录信息
+				AlarmRecord alarmRecord = noticeHandle.saveAlarmRecord(list, alarmRule, uuid);
+				if (null != alarmRecord) {
+					list.add(alarmRecord.getId().toString());
+				}
+			}
+			// 保存站内信记录信息
+			noticeHandle.saveInStationInfo(smsRequestTemplate,alarmRule);
+		}
+	}
 }

--
Gitblit v1.9.3