From 9a7ca006083925941d0b1537944abd6cfe236405 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Mon, 16 Dec 2024 15:35:37 +0800
Subject: [PATCH] 大坝安全监测监测回调调整,监测查询调整新的数据表

---
 skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/OpenApiServiceImpl.java |   50 +++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 43 insertions(+), 7 deletions(-)

diff --git a/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/OpenApiServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/OpenApiServiceImpl.java
index e588176..1b774f3 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/OpenApiServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/OpenApiServiceImpl.java
@@ -312,18 +312,28 @@
 		for (int i = 0; i < dataJsonArray.size(); i++) {
 			DamAlarmRecord damAlarmRecord = new DamAlarmRecord();
 			JSONObject alarmRecordJSONObject = dataJsonArray.getJSONObject(i);
-			damAlarmRecord.setPointId(alarmRecordJSONObject.getString("pointId"));
+			// 设置测点信息,类型、测点编号
+			setPointInfo(damAlarmRecord,alarmRecordJSONObject.getString("pointId"));
+			// 设置其他信息
 			damAlarmRecord.setResGuid(alarmRecordJSONObject.getString("RS_CODE"));
 			damAlarmRecord.setCollecTime(alarmRecordJSONObject.getDate("collecTime"));
 			damAlarmRecord.setPointValue(alarmRecordJSONObject.getString("ponitValue"));
-			damAlarmRecord.setValue(alarmRecordJSONObject.getString("value"));
-			JSONObject generalInfo = alarmRecordJSONObject.getJSONObject("generalInfo");
-			damAlarmRecord.setPointWarnLevel(generalInfo.getInteger("pointWarnLevel"));
-			damAlarmRecord.setPointWarnInfo(generalInfo.getString("pointWarnInfo"));
 			damAlarmRecord.setCreateTime(new Date());
-			// 保存
+			// 获取回调类型:1:告警规则法 2: 预测法  3:待补充
+			Integer callbackType = alarmRecordJSONObject.getInteger("callbackType");
+			damAlarmRecord.setCallbackType(callbackType);
+			if (callbackType==1){
+				JSONObject generalInfo = alarmRecordJSONObject.getJSONObject("generalInfo");
+				damAlarmRecord.setPointWarnLevel(generalInfo.getInteger("pointWarnLevel"));
+				damAlarmRecord.setPointWarnInfo(generalInfo.getString("pointWarnInfo"));
+			}
+			if (callbackType==2){
+				damAlarmRecord.setValue(alarmRecordJSONObject.getString("value"));
+				damAlarmRecord.setTimeValue(alarmRecordJSONObject.getString("timeValue"));
+			}
+			// 保存详情,预测没有详情
 			flag = damAlarmRecordService.save(damAlarmRecord);
-			if (flag){
+			if (callbackType==1 && flag){
 				flag = saveDamAlarmRecordDetail(alarmRecordJSONObject.getJSONArray("detailInfo"),damAlarmRecord);
 			}
 		}
@@ -331,6 +341,32 @@
 	}
 
 	/**
+	 * 设置测点信息
+	 * @param pointId
+	 */
+	private void setPointInfo(DamAlarmRecord damAlarmRecord,String pointId) {
+		damAlarmRecord.setPointId(pointId);
+		// 测点值解析赋值
+		String[] point = pointId.split("_");
+		// 渗压、渗流
+		if (point.length==3) {
+			// 设置测点id
+			damAlarmRecord.setStationId(point[1]);
+			String typeName = point[2];
+			// 设置 大坝安全监测类型
+			damAlarmRecord.setType(Integer.parseInt(DamEnum.ofName(typeName).getKey()));
+		}
+		// 位移
+		if (point.length==4) {
+			// 设置测点id
+			damAlarmRecord.setStationId(point[1]);
+			String typeName = point[2] + "_" + point[3];
+			// 设置 大坝安全监测类型
+			damAlarmRecord.setType(Integer.parseInt(DamEnum.ofName(typeName).getKey()));
+		}
+	}
+
+	/**
 	 * 详情
 	 * @param detailInfo
 	 * @param damAlarmRecord

--
Gitblit v1.9.3