From b3ec16fd6d3c61814d55465ccd1c39d9fc49fff4 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Mon, 15 Apr 2024 14:48:15 +0800
Subject: [PATCH] 视频告警

---
 skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/NoticeStrategyImpl.java |  457 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 448 insertions(+), 9 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 56a2c64..d33e628 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,6 +12,7 @@
 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;
 
@@ -663,7 +664,10 @@
 				// 遍历
 				for (AlarmRuleDetail alarmRuleDetail : alarmRuleDetailList) {
 					if (alarmRuleDetail.getAlarmMode().equals("短信")) {
-						asyncNoticeHandle.damSafetyHandle(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.damSafetyList, true, adCode, false, uuid);
+						asyncNoticeHandle.damSafetyHandle(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.damSafetyList, false, adCode, false, uuid);
+					}
+					if (alarmRuleDetail.getAlarmMode().equals("站内信")) {
+						asyncNoticeHandle.damSafetySyNoneHandleStation(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.damSafetyList, false, adCode, true, uuid);
 					}
 				}
 			}
@@ -695,7 +699,10 @@
 				// 遍历
 				for (AlarmRuleDetail alarmRuleDetail : alarmRuleDetailList) {
 					if (alarmRuleDetail.getAlarmMode().equals("短信")) {
-						asyncNoticeHandle.damSafetyHandle(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.damSafetyList, true, adCode, false, uuid);
+						asyncNoticeHandle.damSafetyHandleSms(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.damSafetyList, false, adCode, false, uuid);
+					}
+					if (alarmRuleDetail.getAlarmMode().equals("站内信")) {
+						asyncNoticeHandle.damSafetySyNoneHandleStation(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.damSafetyList, false, adCode, true, uuid);
 					}
 				}
 			}
@@ -729,6 +736,9 @@
 					if (alarmRuleDetail.getAlarmMode().equals("短信")) {
 						asyncNoticeHandle.damSafetyHandle(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.damSafetyList, true, adCode, false, uuid);
 					}
+					if (alarmRuleDetail.getAlarmMode().equals("站内信")) {
+						asyncNoticeHandle.damSafetySyNoneHandleStation(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.damSafetyList, false, adCode, true, uuid);
+					}
 				}
 			}
 		}
@@ -761,8 +771,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("站内信")) {
+						asyncNoticeHandle.damSafetySyDataMissingHandleStation(alarmRule, alarmRuleDetail, data, ZtApiDataColumnConstant.syDataMissingList, false, adCode, true, uuid);
+					}
+					if (alarmRuleDetail.getAlarmMode().equals("短信")){
+						asyncNoticeHandle.damSafetySyDataMissingHandleSms(alarmRule, alarmRuleDetail, data, ZtApiDataColumnConstant.syDataMissingList, false, adCode, false, uuid);
 					}
 				}
 			}
@@ -794,8 +807,11 @@
 			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("站内信")) {
+						asyncNoticeHandle.damSafetySyDataMissingHandle(alarmRule, alarmRuleDetail, data, ZtApiDataColumnConstant.bxDataMissingList, false, adCode, true, uuid);
+					}
+					if (alarmRuleDetail.getAlarmMode().equals("短信")){
+						asyncNoticeHandle.damSafetySyDataMissingHandleSms(alarmRule, alarmRuleDetail, data, ZtApiDataColumnConstant.bxDataMissingList, false, adCode, false, uuid);
 					}
 				}
 			}
@@ -869,9 +885,9 @@
 			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.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);
 					}
@@ -1101,6 +1117,429 @@
 		return "近1h水位陡降告警";
 	}
 
+
+	/**
+	 * 变形值大于20mm小于50mm
+	 *
+	 * @param arg1
+	 * @param arg2
+	 * @return
+	 */
+	public String damSafetyWyOver2Less5Handle(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.alarm_db_wy_value_api);
+
+		JSONArray data = judgeDirection(ztData, "1");
+
+		// 获取告警规则详情,判断告警类型(短信,电话,站内信)
+		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.damSafetyWyOver2Less5HandleSms(alarmRule, alarmRuleDetail, data, ZtApiDataColumnConstant.wyOver2Less5, true, adCode, false, uuid);
+					}
+					if (alarmRuleDetail.getAlarmMode().equals("站内信")) {
+						asyncNoticeHandle.damSafetyWyOver2Less5HandleStation(alarmRule, alarmRuleDetail, data, ZtApiDataColumnConstant.wyOver2Less5, true, adCode, true, uuid);
+					}
+				}
+			}
+		}
+		return "变形值大于2cm小于5cm告警";
+
+
+	}
+
+
+	/**
+	 * 变形值大于50mm小于100mm
+	 *
+	 * @param arg1
+	 * @param arg2
+	 * @return
+	 */
+	public String damSafetyWyOver5Less10Handle(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.alarm_db_wy_value_api);
+
+		JSONArray data = judgeDirection(ztData, "2");
+
+		// 获取告警规则详情,判断告警类型(短信,电话,站内信)
+		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.damSafetyWyOver5Less10HandleSms(alarmRule, alarmRuleDetail, data, ZtApiDataColumnConstant.wyOver5Less10, true, adCode, false, uuid);
+					}
+					if (alarmRuleDetail.getAlarmMode().equals("站内信")) {
+						asyncNoticeHandle.damSafetyWyOver5Less10HandleStation(alarmRule, alarmRuleDetail, data, ZtApiDataColumnConstant.wyOver5Less10, true, adCode, true, uuid);
+					}
+				}
+			}
+		}
+		return "变形值大于5cm小于10cm告警";
+
+	}
+
+
+	/**
+	 * 近1h变形值大于10cm以上
+	 *
+	 * @param arg1
+	 * @param arg2
+	 * @return
+	 */
+	public String damSafetyWyOver10Handle(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.alarm_db_wy_value_1h_change_over_10_api);
+		JSONArray data = judgeDirection(ztData, "3");
+		// 获取告警规则详情,判断告警类型(短信,电话,站内信)
+		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.damSafetyWyOver10HandleSms(alarmRule, alarmRuleDetail, data, ZtApiDataColumnConstant.wyOver10, true, adCode, false, uuid);
+					}
+					if (alarmRuleDetail.getAlarmMode().equals("站内信")) {
+						asyncNoticeHandle.damSafetyWyOver10HandleStation(alarmRule, alarmRuleDetail, data, ZtApiDataColumnConstant.wyOver10, true, adCode, true, uuid);
+					}
+				}
+			}
+		}
+		return "变形值大于10cm告警";
+	}
+
+	/**
+	 * 近1h变形值大于10cm以上
+	 *
+	 * @param arg1
+	 * @param arg2
+	 * @return
+	 */
+	public String damSafetyWy1hChangeOver10Handle(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.alarm_db_wy_value_1h_change_over_10_api);
+		JSONArray data = judgeDirectionV2(ztData);
+		// 获取告警规则详情,判断告警类型(短信,电话,站内信)
+		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.damSafetyWy1hChangeOver10HandleSms(alarmRule, alarmRuleDetail, data, ZtApiDataColumnConstant.wy1hChangeOver10, true, adCode, false, uuid);
+					}
+					if (alarmRuleDetail.getAlarmMode().equals("站内信")) {
+						asyncNoticeHandle.damSafetyWy1hChangeOver10HandleStation(alarmRule, alarmRuleDetail, data, ZtApiDataColumnConstant.wy1hChangeOver10, true, adCode, true, uuid);
+					}
+				}
+			}
+		}
+
+
+		return "近1h变形值大于10cm以上告警";
+	}
+
+	/**
+	 * 渗流量一日大于5L小于8L,连续3日增加
+	 *
+	 * @param arg1
+	 * @param arg2
+	 * @return
+	 */
+	public String damSafetySlOver5Less8Handle(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.alarm_db_sl_value_change_api);
+		JSONArray data = filterData(ztData,"1");
+		// 获取告警规则详情,判断告警类型(短信,电话,站内信)
+		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.damSafetySlOverLessHandleSms(alarmRule, alarmRuleDetail, data, ZtApiDataColumnConstant.wy1hChangeOver10, true, adCode, false, uuid);
+					}
+					if (alarmRuleDetail.getAlarmMode().equals("站内信")) {
+						asyncNoticeHandle.damSafetySlOverLessHandleStation(alarmRule, alarmRuleDetail, data, ZtApiDataColumnConstant.wy1hChangeOver10, true, adCode, true, uuid);
+					}
+				}
+			}
+		}
+
+		return "渗流量一日大于5L小于8L,连续3日增加告警";
+	}
+
+
+	/**
+	 * 渗流量一日大于8L小于10L,连续3日增加
+	 *
+	 * @param arg1
+	 * @param arg2
+	 * @return
+	 */
+	public String damSafetySlOver8Less10Handle(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.alarm_db_sl_value_change_api);
+		JSONArray data = filterData(ztData,"2");
+		// 获取告警规则详情,判断告警类型(短信,电话,站内信)
+		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.damSafetySlOverLessHandleSms(alarmRule, alarmRuleDetail, data, ZtApiDataColumnConstant.wy1hChangeOver10, true, adCode, false, uuid);
+					}
+					if (alarmRuleDetail.getAlarmMode().equals("站内信")) {
+						asyncNoticeHandle.damSafetySlOverLessHandleStation(alarmRule, alarmRuleDetail, data, ZtApiDataColumnConstant.wy1hChangeOver10, true, adCode, true, uuid);
+					}
+				}
+			}
+		}
+
+		return "渗流量一日大于5L小于8L,连续3日增加告警";
+	}
+
+
+	/**
+	 * 渗流量一日大于10L,连续3日增加
+	 *
+	 * @param arg1
+	 * @param arg2
+	 * @return
+	 */
+	public String damSafetySlOver10Handle(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.alarm_db_sl_value_change_api);
+		JSONArray data = filterData(ztData,"3");
+		// 获取告警规则详情,判断告警类型(短信,电话,站内信)
+		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.damSafetySlOverLessHandleSms(alarmRule, alarmRuleDetail, data, ZtApiDataColumnConstant.wy1hChangeOver10, true, adCode, false, uuid);
+					}
+					if (alarmRuleDetail.getAlarmMode().equals("站内信")) {
+						asyncNoticeHandle.damSafetySlOverLessHandleStation(alarmRule, alarmRuleDetail, data, ZtApiDataColumnConstant.wy1hChangeOver10, true, adCode, true, uuid);
+					}
+				}
+			}
+		}
+
+		return "渗流量一日大于5L小于8L,连续3日增加告警";
+	}
+
+	/**
+	 * 视频离线
+	 *
+	 * @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("站内信")) {
+						asyncNoticeHandle.videoOfflineHandleStation(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.videoOffline, false, adCode, true, uuid);
+					}
+					if (alarmRuleDetail.getAlarmMode().equals("短信")) {
+						asyncNoticeHandle.videoOfflineHandleSms(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.videoOffline, false, adCode, false, uuid);
+					}
+
+				}
+			}
+		}
+
+		return "视频信息缺失告警";
+	}
+
+	private JSONArray filterData(JSONArray ztData, String level) {
+
+		JSONArray array = new JSONArray();
+		for (int i = 0; i < ztData.size(); i++) {
+			JSONObject jsonObject = ztData.getJSONObject(i);
+			String dataLevel = jsonObject.getString("level");
+
+			if (dataLevel.equals(level)) {
+				array.add(jsonObject);
+			}
+		}
+		return array;
+	}
+
+	/**
+	 * 判断方向
+	 *
+	 * @param ztData
+	 * @return
+	 */
+	private JSONArray judgeDirectionV2(JSONArray ztData) {
+		JSONArray array = new JSONArray();
+		for (int i = 0; i < ztData.size(); i++) {
+			JSONObject jsonObject = ztData.getJSONObject(i);
+			//上下游方向
+			Double diffDe = jsonObject.getDouble("diff_de");
+			//左右岸方向
+			Double diffDn = jsonObject.getDouble("diff_dn");
+			//垂直
+			Double diffDu = jsonObject.getDouble("diff_du");
+
+			String direction = "";
+			String val = "";
+			//近1h变形值大于10cm以上
+			if (diffDe > 100) {
+				direction = "上下游方向";
+				val = diffDe.toString();
+			} else if (diffDn > 100) {
+				direction = "左右岸方向";
+				val = diffDn.toString();
+			} else if (diffDu > 100) {
+				direction = "垂直";
+				val = diffDu.toString();
+			}
+
+			jsonObject.put("direction", direction);
+			jsonObject.put("val", val);
+			array.add(jsonObject);
+
+		}
+		return array;
+	}
+
+
+	/**
+	 * 判断方向
+	 *
+	 * @param ztData
+	 * @return
+	 */
+	private JSONArray judgeDirection(JSONArray ztData, String level) {
+		JSONArray array = new JSONArray();
+		for (int i = 0; i < ztData.size(); i++) {
+			JSONObject jsonObject = ztData.getJSONObject(i);
+			String dataLevel = jsonObject.getString("level");
+			//上下游方向
+			Double deVal = jsonObject.getDouble("de_val");
+			//左右岸方向
+			Double dnVal = jsonObject.getDouble("dn_val");
+			//垂直
+			Double duValue = jsonObject.getDouble("du_value");
+
+			String direction = "";
+			String val = "";
+
+			if (dataLevel.equals(level)) {
+				if (level.equals("1")) {
+					//变形值大于20mm小于50mm
+					if (20 < deVal && deVal < 50) {
+						direction = "上下游方向";
+						val = deVal.toString();
+					} else if (20 < dnVal && dnVal < 50) {
+						direction = "左右岸方向";
+						val = dnVal.toString();
+					} else if (20 < duValue && duValue < 50) {
+						direction = "垂直";
+						val = duValue.toString();
+					}
+				} else if (level.equals("2")) {
+					//变形值大于50mm小于100mm
+					if (50 < deVal && deVal < 100) {
+						direction = "上下游方向";
+						val = deVal.toString();
+					} else if (50 < dnVal && dnVal < 100) {
+						direction = "左右岸方向";
+						val = dnVal.toString();
+					} else if (50 < duValue && duValue < 100) {
+						direction = "垂直";
+						val = duValue.toString();
+					}
+				} else if (level.equals("3")) {
+					//变形值大于100mm
+
+					if (deVal > 100) {
+						direction = "上下游方向";
+						val = deVal.toString();
+					} else if (dnVal > 100) {
+						direction = "左右岸方向";
+						val = dnVal.toString();
+					} else if (duValue > 100) {
+						direction = "垂直";
+						val = duValue.toString();
+					}
+				}
+
+				jsonObject.put("direction", direction);
+				jsonObject.put("val", val);
+				array.add(jsonObject);
+			}
+
+		}
+		return array;
+	}
+
+
 	private JSONArray judgeType(JSONArray ztData) {
 		JSONArray array = new JSONArray();
 		for (int i = 0; i < ztData.size(); i++) {

--
Gitblit v1.9.3