From 1b316e12ad2694a77f1ea45f3214fcfb90c45393 Mon Sep 17 00:00:00 2001
From: ke <893754509@qq.com>
Date: Fri, 20 Dec 2024 15:28:41 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/jtdev' into jtdev
---
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/OpenApiServiceImpl.java | 53 ++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 46 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..a3f6be3 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
@@ -118,6 +118,7 @@
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
String oneHour = oneHourAgo.format(formatter) + ":00";
String nowHour = now.format(formatter) + ":00";
+
// 调用中台接口获取实时测点数据
JSONArray ztData = getZtData("",
ZtConfigConstant.url_prefix + DamEnum.ofType(type).getApiUrl() + "?start_tm=" + oneHour + "&end_tm=" + nowHour + "");
@@ -276,6 +277,7 @@
* @return
*/
public JSONArray getZtData(String params, String url) {
+ log.info("实时测点请求中台接口:{}",url);
//设置请求头
HttpHeaders headers = new HttpHeaders();
headers.add(ZtConfigConstant.header_key, ZtConfigConstant.header_value);
@@ -289,6 +291,7 @@
formEntity,
String.class);
JSONObject jsonObject = JSON.parseObject(responseEntity.getBody());
+ log.info("实时测点请求中台接口结果数据:{}",jsonObject);
// 返回
return JSONArray.parseArray(jsonObject.get("data").toString());
} catch (Exception e) {
@@ -312,18 +315,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 +344,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