|
@@ -1,10 +1,10 @@
|
|
|
-package com.gyee.wisdom.dao.redistaos;
|
|
|
+package com.gyee.gaia.dao.redistaos;
|
|
|
|
|
|
+import com.gyee.gaia.dao.redistaos.config.TaosConfig;
|
|
|
+import com.gyee.gaia.dao.timeseries.IHistoryDao;
|
|
|
+import com.gyee.gaia.dao.timeseries.TaosDao;
|
|
|
import com.gyee.wisdom.common.data.timeseries.*;
|
|
|
import com.gyee.wisdom.common.exception.WisdomException;
|
|
|
-import com.gyee.wisdom.dao.redistaos.config.TaosConfig;
|
|
|
-import com.gyee.wisdom.dao.timeseries.IHistoryDao;
|
|
|
-import com.gyee.wisdom.dao.timeseries.TaosDao;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Component;
|
|
@@ -34,6 +34,7 @@ public class TaosHistoryDao implements IHistoryDao {
|
|
|
|
|
|
/**
|
|
|
* 查询单个测点历史数据
|
|
|
+ *
|
|
|
* @param tsQuery
|
|
|
* @return
|
|
|
* @throws Exception
|
|
@@ -53,6 +54,7 @@ public class TaosHistoryDao implements IHistoryDao {
|
|
|
|
|
|
/**
|
|
|
* 查询单测点min、max、avg值
|
|
|
+ *
|
|
|
* @param tsQuery
|
|
|
* @return
|
|
|
* @throws Exception
|
|
@@ -78,9 +80,9 @@ public class TaosHistoryDao implements IHistoryDao {
|
|
|
sql.append("` where ts between").append(tsQuery.getStartTs());
|
|
|
sql.append(" and ").append(tsQuery.getEndTs());
|
|
|
sql.append(" interval(").append(tsQuery.getInterval()).append("s)");
|
|
|
-// sb.append(" where point_time>='").append(DateFormatUtils.format(tsQuery.getStartTs(), "yyyy-MM-dd HH:mm:ss:SSS"));
|
|
|
-// sb.append("' and point_time<='").append(DateFormatUtils.format(tsQuery.getEndTs(), "yyyy-MM-dd HH:mm:ss:SSS"));
|
|
|
-// sb.append("' interval(").append(tsQuery.getInterval()).append("s)");
|
|
|
+ // sb.append(" where point_time>='").append(DateFormatUtils.format(tsQuery.getStartTs(), "yyyy-MM-dd HH:mm:ss:SSS"));
|
|
|
+ // sb.append("' and point_time<='").append(DateFormatUtils.format(tsQuery.getEndTs(), "yyyy-MM-dd HH:mm:ss:SSS"));
|
|
|
+ // sb.append("' interval(").append(tsQuery.getInterval()).append("s)");
|
|
|
|
|
|
// select avg(value),max(value),min(value) from `NSSDJL.NX_GD_NSSF_DD_P1_L1_001_FXWG004` where ts>=1654012800000 and ts<=1656604800000 interval(86400s)
|
|
|
|
|
@@ -137,6 +139,7 @@ public class TaosHistoryDao implements IHistoryDao {
|
|
|
|
|
|
/**
|
|
|
* 查询多测点某个时间点的数值
|
|
|
+ *
|
|
|
* @param tsPoints 标签点
|
|
|
* @param ts 时间点(秒级)
|
|
|
* 上一个最近的数据
|
|
@@ -176,24 +179,24 @@ public class TaosHistoryDao implements IHistoryDao {
|
|
|
result.putAll(results.get(i).get());
|
|
|
}
|
|
|
|
|
|
-// for (Map.Entry<TsDataType, List<TsPoint>> entry : pointGroup.entrySet()) {
|
|
|
-// String[] tagNames = tsPoints.stream().map(TsPoint::getId).toArray(String[]::new);
|
|
|
-// for (String tag : tagNames) {
|
|
|
-// TsData tsData = null;
|
|
|
-// String point = TaosCovertUtil.coverStationPrefix(tag) + "." + tag.replace(".", "_");
|
|
|
-// String sql = "select last_row(*) from " + point + " where point_time>='"
|
|
|
-// + DateFormatUtils.format(ts - year_time, "yyyy-MM-dd HH:mm:ss:SSS") + "'"
|
|
|
-// + " and point_time <='" + DateFormatUtils.format(ts, "yyyy-MM-dd HH:mm:ss:SSS") + "'";
|
|
|
-// ResultSet rs = config.getConnect().createStatement().executeQuery(sql);
|
|
|
-// while (rs.next()) {
|
|
|
-// if (entry.getKey() == TsDataType.DOUBLE)
|
|
|
-// tsData = new DoubleTsData(ts, (short) 0, rs.getDouble(2));
|
|
|
-// if (entry.getKey() == TsDataType.BOOLEAN)
|
|
|
-// tsData = new BooleanTsData(ts, (short) 0, rs.getBoolean(2));
|
|
|
-// result.put(tag, tsData);
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }
|
|
|
+ // for (Map.Entry<TsDataType, List<TsPoint>> entry : pointGroup.entrySet()) {
|
|
|
+ // String[] tagNames = tsPoints.stream().map(TsPoint::getId).toArray(String[]::new);
|
|
|
+ // for (String tag : tagNames) {
|
|
|
+ // TsData tsData = null;
|
|
|
+ // String point = TaosCovertUtil.coverStationPrefix(tag) + "." + tag.replace(".", "_");
|
|
|
+ // String sql = "select last_row(*) from " + point + " where point_time>='"
|
|
|
+ // + DateFormatUtils.format(ts - year_time, "yyyy-MM-dd HH:mm:ss:SSS") + "'"
|
|
|
+ // + " and point_time <='" + DateFormatUtils.format(ts, "yyyy-MM-dd HH:mm:ss:SSS") + "'";
|
|
|
+ // ResultSet rs = config.getConnect().createStatement().executeQuery(sql);
|
|
|
+ // while (rs.next()) {
|
|
|
+ // if (entry.getKey() == TsDataType.DOUBLE)
|
|
|
+ // tsData = new DoubleTsData(ts, (short) 0, rs.getDouble(2));
|
|
|
+ // if (entry.getKey() == TsDataType.BOOLEAN)
|
|
|
+ // tsData = new BooleanTsData(ts, (short) 0, rs.getBoolean(2));
|
|
|
+ // result.put(tag, tsData);
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // }
|
|
|
|
|
|
return result;
|
|
|
}
|
|
@@ -205,7 +208,7 @@ public class TaosHistoryDao implements IHistoryDao {
|
|
|
List<Future<List<TsData>>> results = new LinkedList<>();
|
|
|
String sql = getHistory(tsQuery);
|
|
|
log.info("2->" + sql);
|
|
|
- TaskCallableList task = new TaskCallableList(tdUtil.getConnect(), sql, TsDataType.DOUBLE,tsQuery.getStartTs());
|
|
|
+ TaskCallableList task = new TaskCallableList(tdUtil.getConnect(), sql, TsDataType.DOUBLE, tsQuery.getStartTs());
|
|
|
Future<List<TsData>> submit = taskConfig.getExecutor().submit(task);
|
|
|
results.add(submit);
|
|
|
//返回结果
|
|
@@ -220,66 +223,63 @@ public class TaosHistoryDao implements IHistoryDao {
|
|
|
//DoubleTsData{ts='', status='0', value='442.01'}
|
|
|
public List<TsData> getLongTsDataHistory(TsQuery tsQuery) throws Exception {
|
|
|
List<TsData> tsDataList = new ArrayList<>();
|
|
|
-// Connection connect = config.getConnect();
|
|
|
+ // Connection connect = config.getConnect();
|
|
|
|
|
|
try {
|
|
|
//存储线程的返回值
|
|
|
List<Future<List<TsData>>> results = new LinkedList<>();
|
|
|
String sql = getHistory(tsQuery);
|
|
|
- TaskCallableList task = new TaskCallableList(tdUtil.getConnect(), sql, TsDataType.DOUBLE,tsQuery.getStartTs());
|
|
|
+ TaskCallableList task = new TaskCallableList(tdUtil.getConnect(), sql, TsDataType.DOUBLE, tsQuery.getStartTs());
|
|
|
Future<List<TsData>> submit = taskConfig.getExecutor().submit(task);
|
|
|
results.add(submit);
|
|
|
|
|
|
//返回结果
|
|
|
tsDataList = results.get(0).get();
|
|
|
|
|
|
-// Statement st = connect.createStatement();
|
|
|
-// String sql = getHistory(tsQuery);
|
|
|
-// ResultSet rs = st.executeQuery(sql);
|
|
|
-// while (rs.next()) {
|
|
|
-// tsDataList.add(new LongTsData(rs.getLong(1), (short) 0, rs.getLong(2)));
|
|
|
-// }
|
|
|
+ // Statement st = connect.createStatement();
|
|
|
+ // String sql = getHistory(tsQuery);
|
|
|
+ // ResultSet rs = st.executeQuery(sql);
|
|
|
+ // while (rs.next()) {
|
|
|
+ // tsDataList.add(new LongTsData(rs.getLong(1), (short) 0, rs.getLong(2)));
|
|
|
+ // }
|
|
|
} catch (Exception e) {
|
|
|
log.error(e.getMessage());
|
|
|
- }
|
|
|
- finally {
|
|
|
-// if (connect != null)
|
|
|
-// connect.close();
|
|
|
+ } finally {
|
|
|
+ // if (connect != null)
|
|
|
+ // connect.close();
|
|
|
}
|
|
|
|
|
|
return tsDataList;
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|
|
|
public List<TsData> getBooleanTsDataHistory(TsQuery tsQuery) throws Exception {
|
|
|
List<TsData> tsDataList = new ArrayList<>();
|
|
|
-// Connection connect = config.getConnect();
|
|
|
+ // Connection connect = config.getConnect();
|
|
|
|
|
|
try {
|
|
|
//存储线程的返回值
|
|
|
List<Future<List<TsData>>> results = new LinkedList<>();
|
|
|
String sql = getHistory(tsQuery);
|
|
|
log.info("2->" + sql);
|
|
|
- TaskCallableList task = new TaskCallableList(tdUtil.getConnect(), sql, TsDataType.DOUBLE,tsQuery.getStartTs());
|
|
|
+ TaskCallableList task = new TaskCallableList(tdUtil.getConnect(), sql, TsDataType.DOUBLE, tsQuery.getStartTs());
|
|
|
Future<List<TsData>> submit = taskConfig.getExecutor().submit(task);
|
|
|
results.add(submit);
|
|
|
|
|
|
//返回结果
|
|
|
tsDataList = results.get(0).get();
|
|
|
|
|
|
-// Statement st = connect.createStatement();
|
|
|
-// String sql = getHistory(tsQuery);
|
|
|
-// ResultSet rs = st.executeQuery(sql);
|
|
|
-// while (rs.next()) {
|
|
|
-// tsDataList.add(new BooleanTsData(rs.getLong(1), (short) 0, rs.getBoolean(2)));
|
|
|
-// }
|
|
|
+ // Statement st = connect.createStatement();
|
|
|
+ // String sql = getHistory(tsQuery);
|
|
|
+ // ResultSet rs = st.executeQuery(sql);
|
|
|
+ // while (rs.next()) {
|
|
|
+ // tsDataList.add(new BooleanTsData(rs.getLong(1), (short) 0, rs.getBoolean(2)));
|
|
|
+ // }
|
|
|
} catch (Exception e) {
|
|
|
log.error(e.getMessage());
|
|
|
- }
|
|
|
- finally {
|
|
|
-// if (connect != null)
|
|
|
-// connect.close();
|
|
|
+ } finally {
|
|
|
+ // if (connect != null)
|
|
|
+ // connect.close();
|
|
|
}
|
|
|
|
|
|
return tsDataList;
|
|
@@ -288,31 +288,30 @@ public class TaosHistoryDao implements IHistoryDao {
|
|
|
|
|
|
public List<TsData> getStringTsDataHistory(TsQuery tsQuery) throws Exception {
|
|
|
List<TsData> tsDataList = new ArrayList<>();
|
|
|
-// Connection connect = config.getConnect();
|
|
|
+ // Connection connect = config.getConnect();
|
|
|
|
|
|
try {
|
|
|
//存储线程的返回值
|
|
|
List<Future<List<TsData>>> results = new LinkedList<>();
|
|
|
String sql = getHistory(tsQuery);
|
|
|
- TaskCallableList task = new TaskCallableList(tdUtil.getConnect(), sql, TsDataType.DOUBLE,tsQuery.getStartTs());
|
|
|
+ TaskCallableList task = new TaskCallableList(tdUtil.getConnect(), sql, TsDataType.DOUBLE, tsQuery.getStartTs());
|
|
|
Future<List<TsData>> submit = taskConfig.getExecutor().submit(task);
|
|
|
results.add(submit);
|
|
|
|
|
|
//返回结果
|
|
|
tsDataList = results.get(0).get();
|
|
|
|
|
|
-// Statement st = connect.createStatement();
|
|
|
-// String sql = getHistory(tsQuery);
|
|
|
-// ResultSet rs = st.executeQuery(sql);
|
|
|
-// while (rs.next()) {
|
|
|
-// tsDataList.add(new StringTsData(rs.getLong(1), (short) 0, rs.getString(2)));
|
|
|
-// }
|
|
|
+ // Statement st = connect.createStatement();
|
|
|
+ // String sql = getHistory(tsQuery);
|
|
|
+ // ResultSet rs = st.executeQuery(sql);
|
|
|
+ // while (rs.next()) {
|
|
|
+ // tsDataList.add(new StringTsData(rs.getLong(1), (short) 0, rs.getString(2)));
|
|
|
+ // }
|
|
|
} catch (Exception e) {
|
|
|
log.error(e.getMessage());
|
|
|
- }
|
|
|
- finally {
|
|
|
-// if (connect != null)
|
|
|
-// connect.close();
|
|
|
+ } finally {
|
|
|
+ // if (connect != null)
|
|
|
+ // connect.close();
|
|
|
}
|
|
|
|
|
|
return tsDataList;
|
|
@@ -369,17 +368,17 @@ public class TaosHistoryDao implements IHistoryDao {
|
|
|
// TODO: select interp(*) from xxx where _c0 = xxxx:xx:xx fill(prev)
|
|
|
|
|
|
// sb.append("select last_row(*) from ").append(point);
|
|
|
-// sb.append(" where point_time <="+ts);
|
|
|
+ // sb.append(" where point_time <="+ts);
|
|
|
sb.append("select last_row(*) from gdnxxny.`").append(tag);
|
|
|
sb.append("` where ts>=");
|
|
|
sb.append(ts);
|
|
|
-// sb.append(" fill(prev)");
|
|
|
+ // sb.append(" fill(prev)");
|
|
|
|
|
|
-// sb.append("select last_row(*) from ").append(point);
|
|
|
-// sb.append(" where point_time>='");
|
|
|
-// sb.append(ts - half_year_time);
|
|
|
-// sb.append("'");
|
|
|
-// sb.append(" and point_time <='" + DateFormatUtils.format(ts, "yyyy-MM-dd HH:mm:ss:SSS") + "'");
|
|
|
+ // sb.append("select last_row(*) from ").append(point);
|
|
|
+ // sb.append(" where point_time>='");
|
|
|
+ // sb.append(ts - half_year_time);
|
|
|
+ // sb.append("'");
|
|
|
+ // sb.append(" and point_time <='" + DateFormatUtils.format(ts, "yyyy-MM-dd HH:mm:ss:SSS") + "'");
|
|
|
|
|
|
return sb.toString();
|
|
|
}
|