Commit 76083e8a authored by chenzhao's avatar chenzhao

增加接口

parent 309be22e
...@@ -248,11 +248,14 @@ public class MonitorFanIdxController extends BaseController { ...@@ -248,11 +248,14 @@ public class MonitorFanIdxController extends BaseController {
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY) @TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@ApiOperation(value = "概览-全站风速功率曲线") @ApiOperation(value = "概览-全站功率曲线")
@GetMapping("/overviewWindSpeed") @GetMapping("/overviewWindSpeed")
public ResponseModel<Map<String, Object>> getOverviewWindSpeed(@RequestParam(value = "stationId", required = true)String stationId) { public ResponseModel<Map<String, Object>> getOverviewWindSpeed(@RequestParam(value = "stationId", required = true)String stationId,@RequestParam(value = "type", required = false)String type) {
StationBasic stationBasic = stationBasicMapper.selectById(stationId); StationBasic stationBasic = stationBasicMapper.selectById(stationId);
String gatewayId = stationBasic.getFanGatewayId(); String gatewayId = stationBasic.getBoosterGatewayId();
if (null == type){
gatewayId = stationBasic.getFanGatewayId();
}
Map<String, Object> detailsWindSpeed = monitorFanIndicator.getDetailsWindSpeedAll(gatewayId); Map<String, Object> detailsWindSpeed = monitorFanIndicator.getDetailsWindSpeedAll(gatewayId);
return ResponseHelper.buildResponse(detailsWindSpeed); return ResponseHelper.buildResponse(detailsWindSpeed);
...@@ -271,6 +274,18 @@ public class MonitorFanIdxController extends BaseController { ...@@ -271,6 +274,18 @@ public class MonitorFanIdxController extends BaseController {
} }
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY) @TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@ApiOperation(value = "逆变器-功率曲线")
@GetMapping("/detailsWindSpeed")
public ResponseModel<Map<String, Object>> getDetailsWindSpeeds(@RequestParam(value = "stationId")String stationId,String name) {
name = name + "风机";
StationBasic stationBasic = stationBasicMapper.selectById(stationId);
String gatewayId = stationBasic.getFanGatewayId();
Map<String, Object> detailsWindSpeed = monitorFanIndicator.getDetailsWindSpeeds(gatewayId, name);
return ResponseHelper.buildResponse(detailsWindSpeed);
}
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@ApiOperation(value = "状态监控") @ApiOperation(value = "状态监控")
@GetMapping("/statusMonitoring") @GetMapping("/statusMonitoring")
public ResponseModel<IPage<Map<String, Object>>> getStatusMonitoring(@RequestParam(value = "stationId")String stationId,String equipNum,String systemType) { public ResponseModel<IPage<Map<String, Object>>> getStatusMonitoring(@RequestParam(value = "stationId")String stationId,String equipNum,String systemType) {
...@@ -555,14 +570,20 @@ public class MonitorFanIdxController extends BaseController { ...@@ -555,14 +570,20 @@ public class MonitorFanIdxController extends BaseController {
StationBasic stationBasic = stationBasicMapper.selectById(stationId); StationBasic stationBasic = stationBasicMapper.selectById(stationId);
String gatewayId = stationBasic.getFanGatewayId(); String gatewayId = stationBasic.getFanGatewayId();
String boosterGatewayId = stationBasic.getBoosterGatewayId();
String [] columnList = new String[]{"日发电量","月发电量","年发电量"}; String [] columnList = new String[]{"日发电量","月发电量","年发电量"};
String [] columnLists = new String[]{"有功功率"}; String [] columnLists = new String[]{"有功功率"};
String [] syLists = new String[]{"总辐射累计"};
Map<String, Object> columnMap = new HashMap<>(); Map<String, Object> columnMap = new HashMap<>();
for (String column : columnList) { for (String column : columnList) {
Double result = commonService.getTotalByIndicatior(gatewayId, column); Double result = commonService.getTotalByIndicatior(gatewayId, column);
columnMap.put(column, result); columnMap.put(column, result);
} }
for (String column : syLists) {
Double result = commonService.getTotalByIndicatior(boosterGatewayId, column);
columnMap.put(column, result);
}
for (String column : columnLists) { for (String column : columnLists) {
Double result = commonService.getAvgvalueByIndicatior(gatewayId, column); Double result = commonService.getAvgvalueByIndicatior(gatewayId, column);
columnMap.put(column, result); columnMap.put(column, result);
...@@ -584,9 +605,38 @@ public class MonitorFanIdxController extends BaseController { ...@@ -584,9 +605,38 @@ public class MonitorFanIdxController extends BaseController {
data.put("title6",Float.valueOf(columnMap.get("年发电量").toString())); data.put("title6",Float.valueOf(columnMap.get("年发电量").toString()));
data.put("title7",Float.valueOf(columnMap.get("有功功率").toString())); data.put("title7",Float.valueOf(columnMap.get("有功功率").toString()));
data.put("title8",(Float.valueOf(columnMap.get("日发电量").toString())/Float.valueOf(columnMap.get("装机容量").toString())*1000));//日利用小时 data.put("title8",(Float.valueOf(columnMap.get("日发电量").toString())/Float.valueOf(columnMap.get("装机容量").toString())*1000));//日利用小时
data.put("title9",7.47);//总辐射日累计 data.put("title9",Float.valueOf(columnMap.get("总辐射累计").toString()));//总辐射日累计
data.put("title0",7.47);//综合效率 data.put("title0",7.47);//综合效率
return ResponseHelper.buildResponse(data); return ResponseHelper.buildResponse(data);
} }
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@ApiOperation(value = "详情基础信息")
@GetMapping("/getEquipInfoByEquipNum")
public ResponseModel<Map<String,Object>> getEquipInfoByEquipNum(@RequestParam(value = "equipNum", required = false) String equipNum,
@RequestParam(value = "stationId", required = false) String stationId) {
StationBasic stationBasic = stationBasicMapper.selectById(stationId);
String gatewayId = stationBasic.getBoosterGatewayId();
return ResponseHelper.buildResponse(monitorFanIndicator.getEquipInfoByEquipNum(gatewayId,equipNum ));
}
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@ApiOperation(value = "光伏左侧资源树")
@GetMapping("/getEquipTree")
public ResponseModel<IPage<Map<String, Object>>> getEquipTree(@RequestParam(value = "stationId", required = false) String stationId,
@RequestParam(value = "frontModule", required = false) String frontModule,
@RequestParam(value = "equipmentNumber", required = false) String equipmentNumber
) {
StationBasic stationBasic = stationBasicMapper.selectById(stationId);
String gatewayId = stationBasic.getFanGatewayId();
List<Map<String, Object>> equipmentNum = monitorFanIndicator.getEquipmentNum(gatewayId, frontModule, equipmentNumber);
IPage<Map<String, Object>> result = new Page<>();
result.setRecords(equipmentNum);
result.setCurrent(1);
result.setTotal(equipmentNum.size());
return ResponseHelper.buildResponse(result);
}
} }
...@@ -42,6 +42,7 @@ import org.springframework.scheduling.annotation.Scheduled; ...@@ -42,6 +42,7 @@ import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import org.typroject.tyboot.component.emq.EmqKeeper; import org.typroject.tyboot.component.emq.EmqKeeper;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import java.io.IOException; import java.io.IOException;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
...@@ -536,6 +537,29 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator { ...@@ -536,6 +537,29 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator {
} }
public Map<String,Object> getDetailsWindSpeeds(String gatewayId,String name){
Date currentDayStartTime = DateUtils.getCurrentDayStartTime(new Date());
String time = "";
try {
time = DateUtils.dateFormat(currentDayStartTime, DateUtils.DATE_TIME_PATTERN);
} catch (ParseException e) {
e.printStackTrace();
}
String sql1 = "SELECT DISTINCT value FROM iot_data_"+gatewayId+" WHERE equipmentIndexName = '有功功率' and equipmentSpecificName =~/"+name+"/ and time >='"+time+"'GROUP BY time(2m)";
List<IndicatorsDto> indicatorsDtoLists = influxDButils.getListDataAll(sql1,IndicatorsDto.class);
LinkedHashMap<String, String> collects = indicatorsDtoLists.stream().collect(Collectors.toMap(IndicatorsDto::getTime, IndicatorsDto::getDistinct,(key1, ky2)-> (String) key1,LinkedHashMap::new));
Collection<String> valuess = collects.values();
Set<String> keySets = collects.keySet();
List< Map<String,Object>> seriesData = new ArrayList<>();
Map<String,Object> map = new HashMap<>();
Map<String,Object> map2 = new HashMap<>();
map2.put("data", valuess);
seriesData.add(map2);
map.put("seriesData", seriesData);
map.put("axisData",keySets);
return map;
}
...@@ -546,7 +570,12 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator { ...@@ -546,7 +570,12 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator {
wrapper.eq(BaseEntity::getIsDelete,false); wrapper.eq(BaseEntity::getIsDelete,false);
List<StationBasic> stationBasics = stationBasicMapper.selectList(wrapper); List<StationBasic> stationBasics = stationBasicMapper.selectList(wrapper);
for (StationBasic stationBasic : stationBasics) { for (StationBasic stationBasic : stationBasics) {
timingTemporarysSorageData(stationBasic.getFanGatewayId()); if (stationBasic.getStationTypeName().equals("FDZ")){
timingTemporarysSorageData(stationBasic.getFanGatewayId());
}
if (stationBasic.getStationTypeName().equals("JZSGFDZ")){
schedSolarPower(stationBasic.getBoosterGatewayId());
}
} }
} }
...@@ -679,6 +708,52 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator { ...@@ -679,6 +708,52 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator {
temporaryDataService.saveBatch(temporaryDatass); temporaryDataService.saveBatch(temporaryDatass);
} }
public void schedSolarPower(String gatewayId){
String sql = "SELECT * FROM indicators_"+gatewayId+" WHERE equipmentIndexName = '总辐射累计' ";
String sql1 = "SELECT * FROM indicators_"+gatewayId+" WHERE equipmentIndexName = '有功功率'";
List<IndicatorsDto> indicatorsDtoList = influxDButils.getListDataAll(sql,IndicatorsDto.class);
List<IndicatorsDto> indicatorsDtoLists = influxDButils.getListDataAll(sql1,IndicatorsDto.class);
List<TemporaryData> temporaryDatas = new ArrayList<>();
List<TemporaryData> temporaryDatass = new ArrayList<>();
String time = "";
try {
time = DateUtils.dateFormat(new Date(), DateUtils.MINUTE_PATTERN);
} catch (ParseException e) {
e.printStackTrace();
}
long timeInMillis = new Date().getTime();
for (IndicatorsDto indicatorsDto : indicatorsDtoList) {
try {
TemporaryData temporaryData = new TemporaryData();
temporaryData.setBatchNo(timeInMillis);
temporaryData.setCreatedTime(time.split(" ")[1]);
temporaryData.setEquipmentIndexName(indicatorsDto.getEquipmentIndexName());
temporaryData.setGatewayId(indicatorsDto.getGatewayId());
temporaryData.setValue(Float.valueOf(indicatorsDto.getValue()));
temporaryData.setEquipmentNumber(indicatorsDto.getEquipmentNumber());
temporaryDatas.add(temporaryData);
} catch (Exception e) {
e.printStackTrace();
}
}
for (IndicatorsDto indicatorsDto : indicatorsDtoLists) {
try {
TemporaryData temporaryData = new TemporaryData();
temporaryData.setBatchNo(timeInMillis);
temporaryData.setCreatedTime(time.split(" ")[1]);
temporaryData.setEquipmentIndexName(indicatorsDto.getEquipmentIndexName());
temporaryData.setGatewayId(indicatorsDto.getGatewayId());
temporaryData.setValue(Float.valueOf(indicatorsDto.getValue()));
temporaryData.setEquipmentNumber(indicatorsDto.getEquipmentNumber());
temporaryDatass.add(temporaryData);
} catch (Exception e) {
e.printStackTrace();
}
}
temporaryDataService.saveBatch(temporaryDatas);
temporaryDataService.saveBatch(temporaryDatass);
}
public List<Map<String,Object>> getStatusMonitoring(String gatewayId,String equipNum,String systemName){ public List<Map<String,Object>> getStatusMonitoring(String gatewayId,String equipNum,String systemName){
String sql = "SELECT * FROM indicators_"+gatewayId+" WHERE equipmentNumber = '"+equipNum+"' and equipmentIndexName =~/实时故障/"; String sql = "SELECT * FROM indicators_"+gatewayId+" WHERE equipmentNumber = '"+equipNum+"' and equipmentIndexName =~/实时故障/";
...@@ -1297,5 +1372,37 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator { ...@@ -1297,5 +1372,37 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator {
} }
public HashMap<String, Object> getEquipInfoByEquipNum(String gatewayId ,String equipmentNumber){
HashMap<String, Object> resultMap = new HashMap<>();
String sql = "SELECT * FROM indicators_"+gatewayId+" WHERE equipmentNumber ='"+equipmentNumber +"'and equipmentIndexName = '运行' limit 1 ";
List<IndicatorsDto> list = influxDButils.getListData(sql, IndicatorsDto.class);
if (!ValidationUtil.isEmpty(list)){
resultMap.put("equipmentSpecificName",list.get(0).getEquipmentSpecificName());
resultMap.put("equipmentIndexName",list.get(0).getEquipmentSpecificName());
resultMap.put("status",list.get(0).getValue());
}
return resultMap;
}
public List<Map<String,Object>> getEquipmentNum (String gatewayId,String frontModule,String equipmentNumber){
String sql = " SELECT equipmentNumber, equipmentSpecificName FROM indicators_"+gatewayId+" WHERE frontModule = '"+frontModule+"' and equipmentNumber !=''";
if (null != equipmentNumber){
sql = " SELECT equipmentNumber, equipmentSpecificName FROM indicators_"+gatewayId+" WHERE equipmentNumber =~/"+equipmentNumber+"/ and frontModule = '"+frontModule+"'";
}
List<IndicatorsDto> listData = influxDButils.getListData(sql, IndicatorsDto.class);
LinkedHashSet<IndicatorsDto> data = new LinkedHashSet<>(listData);
List<Map<String,Object>> statusMaps = new ArrayList<>();
for (IndicatorsDto listDatum : data) {
Map<String, Object> statusMap = new HashMap<>();
statusMap.put("equipmentNumber",listDatum.getEquipmentNumber());
statusMap.put("equipmentSpecificName",listDatum.getEquipmentSpecificName());
statusMaps.add(statusMap);
}
return statusMaps;
}
} }
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