Commit bee7d0d2 authored by caotao's avatar caotao

获取最新的数据

parent 9c1f0f39
package com.yeejoin.amos.boot.module.jxiop.biz.service.impl;
import com.yeejoin.amos.boot.module.jxiop.api.entity.StationBasic;
import com.yeejoin.amos.boot.module.jxiop.biz.entity.SjglZsjZsbtz;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.typroject.tyboot.component.cache.Redis;
import java.util.ArrayList;
import java.util.List;
@Service
public class DataSynchronizationImpl {
//缓存的热工院数据
private static final String RedisKey = "RGYZJB_CACHE";
/**
* 场站信息service
*/
@Autowired
StationBasicServiceImpl stationBasicServiceImpl;
/**
* 中间表service
*/
@Autowired
SjglZsjZsbtzServiceImpl sjglZsjZsbtzServiceImpl;
public void dataSync(){
// 1: 场站 list
List<StationBasic> stationBasicList = getStationBasicList();
stationBasicList.forEach(stationBasic -> {
getSjglZsjZsbtz(stationBasic);
});
// 2:异步 每个场站
// 3: 风机list 同步
// 4:查询单个分机 异步
// 5:时序库 lidt
// size(),
// List<List<Map<String ,Object>>> lidtd= Lists.partition(lidt,1000);
//
// 异步:
// mysql
}
/**@deprecated 获取所有的场站列表
*
* @return 场站列表list
*/
public List<StationBasic> getStationBasicList(){
List<StationBasic> stationBasicList = new ArrayList<>();
stationBasicList = stationBasicServiceImpl.list();
return stationBasicList;
}
/**
* @deprecated 获取场站下的所有设备信
* @param stationBasic 场站信息
* @return 设备基础信息
*/
public List<SjglZsjZsbtz> getSjglZsjZsbtz(StationBasic stationBasic){
List<SjglZsjZsbtz> sjglZsjZsbtzList = new ArrayList<>();
sjglZsjZsbtzList = sjglZsjZsbtzServiceImpl.getSjglZsjZsbtzListByWerks(stationBasic.getStationNumber());
return sjglZsjZsbtzList;
}
/**
* @deprecated 获取场站下的所有设备信
* @return 设备基础信息
*/
public List<SjglZsjZsbtz> cacheSjglZsjZsbtz(){
List cacheParams = new ArrayList();
cacheParams = Redis.getRedisTemplate().opsForList().range(RedisKey, 0, -1);
List<SjglZsjZsbtz> sjglZsjZsbtzList = sjglZsjZsbtzServiceImpl.getSjglZsjZsbtzList();
if(cacheParams.size() != sjglZsjZsbtzList.size()){
Redis.getRedisTemplate().delete(RedisKey);
Redis.getRedisTemplate().opsForList().leftPushAll(RedisKey,sjglZsjZsbtzList);
}
return sjglZsjZsbtzList;
}
}
...@@ -8,6 +8,8 @@ import com.yeejoin.amos.boot.module.jxiop.api.entity.StationBasic; ...@@ -8,6 +8,8 @@ import com.yeejoin.amos.boot.module.jxiop.api.entity.StationBasic;
import com.yeejoin.amos.boot.module.jxiop.api.service.IStationDataTask; import com.yeejoin.amos.boot.module.jxiop.api.service.IStationDataTask;
import com.yeejoin.amos.boot.module.jxiop.biz.entity.SjglZsjZsbtz; import com.yeejoin.amos.boot.module.jxiop.biz.entity.SjglZsjZsbtz;
import com.yeejoin.amos.boot.module.jxiop.biz.entity.TpriDmpDatabook; import com.yeejoin.amos.boot.module.jxiop.biz.entity.TpriDmpDatabook;
import com.yeejoin.amos.component.influxdb.InfluxDbConnection;
import org.influxdb.dto.QueryResult;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async; import org.springframework.scheduling.annotation.Async;
...@@ -24,6 +26,8 @@ public class StationDataTaskImpl implements IStationDataTask { ...@@ -24,6 +26,8 @@ public class StationDataTaskImpl implements IStationDataTask {
@Autowired @Autowired
TpriDmpDatabookServiceImpl tpriDmpDatabookServiceImpl; TpriDmpDatabookServiceImpl tpriDmpDatabookServiceImpl;
@Autowired @Autowired
InfluxDbConnection influxDbConnection;
@Autowired
MonitorFanIndicatorImpl monitorFanIndicatorImpl; MonitorFanIndicatorImpl monitorFanIndicatorImpl;
...@@ -41,7 +45,6 @@ public class StationDataTaskImpl implements IStationDataTask { ...@@ -41,7 +45,6 @@ public class StationDataTaskImpl implements IStationDataTask {
} }
@Override @Override
@Async("jxiopAsyncExecutor")
public List<DeviceDto> getListDevice(StationTaksDto stationTaksDto) { public List<DeviceDto> getListDevice(StationTaksDto stationTaksDto) {
List<DeviceDto> deviceDtoList = new ArrayList<>(); List<DeviceDto> deviceDtoList = new ArrayList<>();
TpriDmpDatabook tpriDmpDatabook = tpriDmpDatabookServiceImpl.getTpriDmpDatabookByDataName("风机"); TpriDmpDatabook tpriDmpDatabook = tpriDmpDatabookServiceImpl.getTpriDmpDatabookByDataName("风机");
...@@ -49,7 +52,10 @@ public class StationDataTaskImpl implements IStationDataTask { ...@@ -49,7 +52,10 @@ public class StationDataTaskImpl implements IStationDataTask {
sjglZsjZsbtzList.forEach(sjglZsjZsbtz -> { sjglZsjZsbtzList.forEach(sjglZsjZsbtz -> {
DeviceDto deviceDto = new DeviceDto(); DeviceDto deviceDto = new DeviceDto();
deviceDto.setGateway(stationTaksDto.getGateway()); deviceDto.setGateway(stationTaksDto.getGateway());
deviceDto.setNumberName(""); String kksbm = sjglZsjZsbtz.getKksbm();
String [] kksbms = kksbm.split(" ");
String numberName = kksbms[kksbms.length-1].replace("MD","");
deviceDto.setNumberName(numberName);
}); });
return deviceDtoList; return deviceDtoList;
} }
...@@ -69,9 +75,25 @@ public class StationDataTaskImpl implements IStationDataTask { ...@@ -69,9 +75,25 @@ public class StationDataTaskImpl implements IStationDataTask {
monitorFanIndicatorImpl.UpdateMonitorFanIndicator(indexDtos); monitorFanIndicatorImpl.UpdateMonitorFanIndicator(indexDtos);
} }
} }
public List<IndexDto> getIndexDto(DeviceDto deviceDto) {
QueryResult query =influxDbConnection.query("SELECT * FROM iot_data where \"equipmentSpecificName\" =~/.*"+deviceDto.getNumberName()+".*/ and \"gatewayId\" =~/"+deviceDto.getGateway()+"/ group by \"equipmentsIdx\" limit 1");
List<QueryResult.Result > queryResults=query.getResults();
for (int i = 0; i <queryResults.size() ; i++) {
QueryResult.Result result = queryResults.get(i);
List list =result.getSeries();
for (int j = 0; j <list.size() ; j++) {
QueryResult.Series series = (QueryResult.Series) list.get(j);
System.out.println(series.getName());
System.out.println(series.getColumns());
System.out.println(series.getValues());
System.out.println(series.getTags());
}
}
return null;
} }
@Override
public void setMonitorFanIndicator(List<IndexDto> list) {
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment