Commit 0ec81aba authored by caotao's avatar caotao

替换service为新数据源service

parent 13b156ee
......@@ -20,6 +20,7 @@ import com.yeejoin.amos.boot.module.jxiop.api.mapper.StationPlanMapper;
import com.yeejoin.amos.boot.module.jxiop.biz.ESDto.ESEquipments;
import com.yeejoin.amos.boot.module.jxiop.biz.constants.CommonConstans;
import com.yeejoin.amos.boot.module.jxiop.biz.dto.*;
import com.yeejoin.amos.boot.module.jxiop.biz.service.MonitorService;
import com.yeejoin.amos.boot.module.jxiop.biz.service.impl.CommonServiceImpl;
import com.yeejoin.amos.boot.module.jxiop.biz.service.impl.MonitorFanIndicatorImpl;
import com.yeejoin.amos.boot.module.jxiop.biz.service.impl.MonitoringServiceImpl;
......@@ -86,6 +87,8 @@ public class MonitorFanIdxController extends BaseController {
@Autowired
MonitoringServiceImpl monitoringService;
@Autowired
MonitorService monitorService;
@Autowired
private ElasticsearchRestTemplate elasticsearchTemplate;
@Value("classpath:/json/overview.json")
private Resource overview;
......@@ -1026,99 +1029,99 @@ public class MonitorFanIdxController extends BaseController {
public ResponseModel stationRanking(String day,String type,String areaCode ) {
LambdaQueryWrapper<StationBasic> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(areaCode!=null,StationBasic::getAreaCode,areaCode);
List<StationBasic> stationBasics = stationBasicMapper.selectList(wrapper);
List<Map<String, Object>> datDataFJ = new ArrayList<>();
List<Map<String, Object>> monthDataFJ = new ArrayList<>();
List<Map<String, Object>> yearDataFJ = new ArrayList<>();
List<Map<String, Object>> datDataGF = new ArrayList<>();
List<Map<String, Object>> monthDataGF = new ArrayList<>();
List<Map<String, Object>> yearDataGF = new ArrayList<>();
for (StationBasic stationBasic : stationBasics) {
String gatewayId = stationBasic.getFanGatewayId();
String boosterGatewayId = stationBasic.getBoosterGatewayId();
String querySql = null;
String name = stationBasic.getStationName();
if (stationBasic.getStationType().equals("FDZ")) {
Map<String, Object> map = monitorFanIndicator.generatingCapacity(gatewayId, querySql);
Map<String, Object> dayMap = new HashMap<>();
Map<String, Object> monthMap = new HashMap<>();
Map<String, Object> yearMap = new HashMap<>();
dayMap.put("name", name);
dayMap.put("value", map.get("日发电量") == null ? 0 : String.format("%.4f", map.get("日发电量")));
dayMap.put("gateWayId", stationBasic.getFanGatewayId());
monthMap.put("name", name);
monthMap.put("value", map.get("月发电量") == null ? 0 : String.format("%.4f", map.get("月发电量")));
monthMap.put("gateWayId", stationBasic.getFanGatewayId());
yearMap.put("name", name);
yearMap.put("gateWayId", stationBasic.getFanGatewayId());
yearMap.put("value", map.get("年发电量") == null ? 0 : String.format("%.4f", map.get("年发电量")));
datDataFJ.add(dayMap);
monthDataFJ.add(monthMap);
yearDataFJ.add(yearMap);
} else {
querySql = "逆变器";
Map<String, Object> map = monitorFanIndicator.generatingCapacity(boosterGatewayId, querySql);
Map<String, Object> dayMap = new HashMap<>();
Map<String, Object> monthMap = new HashMap<>();
Map<String, Object> yearMap = new HashMap<>();
dayMap.put("name", name);
dayMap.put("gateWayId", stationBasic.getFanGatewayId());
dayMap.put("value", map.get("日发电量") == null ? 0 : String.format("%.4f", Double.parseDouble(map.get("日发电量").toString())));
monthMap.put("name", name);
monthMap.put("gateWayId", stationBasic.getFanGatewayId());
monthMap.put("value", map.get("月发电量") == null ? 0 : String.format("%.4f", Double.parseDouble(map.get("月发电量").toString())));
yearMap.put("name", name);
yearMap.put("gateWayId", stationBasic.getFanGatewayId());
yearMap.put("value", map.get("年发电量") == null ? 0 : String.format("%.4f", Double.parseDouble(map.get("年发电量").toString())));
datDataGF.add(dayMap);
monthDataGF.add(monthMap);
yearDataGF.add(yearMap);
}
}
// monitorFanIndicator.sendMqttByRanking(datDataFJ, GeneratingCapacity.DAY.getCode(), "fjpm");
// monitorFanIndicator.sendMqttByRanking(monthDataFJ, GeneratingCapacity.MONTH.getCode(), "fjpm");
// monitorFanIndicator.sendMqttByRanking(yearDataFJ, GeneratingCapacity.YEAR.getCode(), "fjpm");
// monitorFanIndicator.sendMqttByRanking(datDataGF, GeneratingCapacity.DAY.getCode(), "gfpm");
// monitorFanIndicator.sendMqttByRanking(monthDataGF, GeneratingCapacity.MONTH.getCode(), "gfpm");
// monitorFanIndicator.sendMqttByRanking(yearDataGF, GeneratingCapacity.YEAR.getCode(), "gfpm");
Page<Map<String, Object>> socialContributionDtoPage = new Page<Map<String, Object>>();
socialContributionDtoPage.setCurrent(1);
socialContributionDtoPage.setTotal(100);
if("gf".equals(type)){
if("0".equals(day)){
socialContributionDtoPage.setRecords(datDataGF);
}else if("1".equals(day)){
socialContributionDtoPage.setRecords(monthDataGF);
} else if("2".equals(day)){
socialContributionDtoPage.setRecords(yearDataGF);
}
}else{
if("0".equals(day)){
socialContributionDtoPage.setRecords(datDataFJ);
}else if("1".equals(day)){
socialContributionDtoPage.setRecords(monthDataFJ);
} else if("2".equals(day)){
socialContributionDtoPage.setRecords(yearDataFJ);
}
}
// LambdaQueryWrapper<StationBasic> wrapper = new LambdaQueryWrapper<>();
//
// wrapper.eq(areaCode!=null,StationBasic::getAreaCode,areaCode);
//
// List<StationBasic> stationBasics = stationBasicMapper.selectList(wrapper);
//
//
//
// List<Map<String, Object>> datDataFJ = new ArrayList<>();
// List<Map<String, Object>> monthDataFJ = new ArrayList<>();
// List<Map<String, Object>> yearDataFJ = new ArrayList<>();
// List<Map<String, Object>> datDataGF = new ArrayList<>();
// List<Map<String, Object>> monthDataGF = new ArrayList<>();
// List<Map<String, Object>> yearDataGF = new ArrayList<>();
// for (StationBasic stationBasic : stationBasics) {
//
// String gatewayId = stationBasic.getFanGatewayId();
// String boosterGatewayId = stationBasic.getBoosterGatewayId();
// String querySql = null;
// String name = stationBasic.getStationName();
// if (stationBasic.getStationType().equals("FDZ")) {
// Map<String, Object> map = monitorFanIndicator.generatingCapacity(gatewayId, querySql);
// Map<String, Object> dayMap = new HashMap<>();
// Map<String, Object> monthMap = new HashMap<>();
// Map<String, Object> yearMap = new HashMap<>();
// dayMap.put("name", name);
// dayMap.put("value", map.get("日发电量") == null ? 0 : String.format("%.4f", map.get("日发电量")));
// dayMap.put("gateWayId", stationBasic.getFanGatewayId());
// monthMap.put("name", name);
// monthMap.put("value", map.get("月发电量") == null ? 0 : String.format("%.4f", map.get("月发电量")));
// monthMap.put("gateWayId", stationBasic.getFanGatewayId());
// yearMap.put("name", name);
// yearMap.put("gateWayId", stationBasic.getFanGatewayId());
// yearMap.put("value", map.get("年发电量") == null ? 0 : String.format("%.4f", map.get("年发电量")));
// datDataFJ.add(dayMap);
// monthDataFJ.add(monthMap);
// yearDataFJ.add(yearMap);
// } else {
// querySql = "逆变器";
// Map<String, Object> map = monitorFanIndicator.generatingCapacity(boosterGatewayId, querySql);
// Map<String, Object> dayMap = new HashMap<>();
// Map<String, Object> monthMap = new HashMap<>();
// Map<String, Object> yearMap = new HashMap<>();
// dayMap.put("name", name);
// dayMap.put("gateWayId", stationBasic.getFanGatewayId());
// dayMap.put("value", map.get("日发电量") == null ? 0 : String.format("%.4f", Double.parseDouble(map.get("日发电量").toString())));
// monthMap.put("name", name);
// monthMap.put("gateWayId", stationBasic.getFanGatewayId());
// monthMap.put("value", map.get("月发电量") == null ? 0 : String.format("%.4f", Double.parseDouble(map.get("月发电量").toString())));
// yearMap.put("name", name);
// yearMap.put("gateWayId", stationBasic.getFanGatewayId());
// yearMap.put("value", map.get("年发电量") == null ? 0 : String.format("%.4f", Double.parseDouble(map.get("年发电量").toString())));
// datDataGF.add(dayMap);
// monthDataGF.add(monthMap);
// yearDataGF.add(yearMap);
// }
// }
//// monitorFanIndicator.sendMqttByRanking(datDataFJ, GeneratingCapacity.DAY.getCode(), "fjpm");
//// monitorFanIndicator.sendMqttByRanking(monthDataFJ, GeneratingCapacity.MONTH.getCode(), "fjpm");
//// monitorFanIndicator.sendMqttByRanking(yearDataFJ, GeneratingCapacity.YEAR.getCode(), "fjpm");
//// monitorFanIndicator.sendMqttByRanking(datDataGF, GeneratingCapacity.DAY.getCode(), "gfpm");
//// monitorFanIndicator.sendMqttByRanking(monthDataGF, GeneratingCapacity.MONTH.getCode(), "gfpm");
//// monitorFanIndicator.sendMqttByRanking(yearDataGF, GeneratingCapacity.YEAR.getCode(), "gfpm");
// Page<Map<String, Object>> socialContributionDtoPage = new Page<Map<String, Object>>();
// socialContributionDtoPage.setCurrent(1);
// socialContributionDtoPage.setTotal(100);
//
// if("gf".equals(type)){
// if("0".equals(day)){
//
//
// socialContributionDtoPage.setRecords(datDataGF);
//
// }else if("1".equals(day)){
// socialContributionDtoPage.setRecords(monthDataGF);
// } else if("2".equals(day)){
// socialContributionDtoPage.setRecords(yearDataGF);
// }
// }else{
// if("0".equals(day)){
// socialContributionDtoPage.setRecords(datDataFJ);
//
// }else if("1".equals(day)){
// socialContributionDtoPage.setRecords(monthDataFJ);
//
// } else if("2".equals(day)){
// socialContributionDtoPage.setRecords(yearDataFJ);
//
// }
// }
return CommonResponseUtil.success(socialContributionDtoPage);
return CommonResponseUtil.success(monitorService.stationRanking(day,type,areaCode));
}
......@@ -1136,93 +1139,94 @@ public class MonitorFanIdxController extends BaseController {
public ResponseModel<IPage<Map<String, Object>>> operationData(@RequestParam(value = "areaCode", required = false) String areaCode) {
List<StationCacheInfoDto> list = commonServiceImpl.getListStationCacheInfoDto();
if (null != areaCode) {
list = list.stream().filter(e -> e.getAreaCode().toUpperCase(Locale.ROOT).equals(areaCode.toUpperCase(Locale.ROOT))).collect(Collectors.toList());
}
List<Map<String, Object>> mapList = new ArrayList<>();
Map<String, List<StationCacheInfoDto>> listMap = list.stream().collect(Collectors.groupingBy(StationCacheInfoDto::getStationType, Collectors.toList()));
for (StationType value : StationType.values()) {
Map<String, Object> map = new LinkedHashMap<>();
List<StationCacheInfoDto> dtos = listMap.get(value.getCode());
map.put("data", dtos == null ? 0 : dtos.size());
map.put("title", dtos == null ? 0 : dtos.stream().filter(obj -> !ObjectUtils.isEmpty(obj.getInstalledCapacity())).mapToDouble(l -> Double.parseDouble(l.getInstalledCapacity())).sum());
mapList.add(map);
}
IPage<Map<String, Object>> result = new Page<>();
result.setRecords(mapList);
result.setCurrent(1);
result.setTotal(mapList.size());
return ResponseHelper.buildResponse(result);
// List<StationCacheInfoDto> list = commonServiceImpl.getListStationCacheInfoDto();
// if (null != areaCode) {
// list = list.stream().filter(e -> e.getAreaCode().toUpperCase(Locale.ROOT).equals(areaCode.toUpperCase(Locale.ROOT))).collect(Collectors.toList());
// }
// List<Map<String, Object>> mapList = new ArrayList<>();
// Map<String, List<StationCacheInfoDto>> listMap = list.stream().collect(Collectors.groupingBy(StationCacheInfoDto::getStationType, Collectors.toList()));
//
//
// for (StationType value : StationType.values()) {
// Map<String, Object> map = new LinkedHashMap<>();
// List<StationCacheInfoDto> dtos = listMap.get(value.getCode());
// map.put("data", dtos == null ? 0 : dtos.size());
// map.put("title", dtos == null ? 0 : dtos.stream().filter(obj -> !ObjectUtils.isEmpty(obj.getInstalledCapacity())).mapToDouble(l -> Double.parseDouble(l.getInstalledCapacity())).sum());
// mapList.add(map);
// }
//
//
// IPage<Map<String, Object>> result = new Page<>();
// result.setRecords(mapList);
// result.setCurrent(1);
// result.setTotal(mapList.size());
return ResponseHelper.buildResponse(monitorService.operationData(areaCode));
}
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@ApiOperation(value = "社会贡献 ")
@GetMapping("/SocialContribution")
public ResponseModel<Page<HashMap<String, String>>> socialContribution(String areaCode) {
Page<HashMap<String, String>> page3 = new Page<>(1, 10);
List<String> value = new ArrayList<>();
value.add(NFDL);
Map<String, List<String>> map = new HashMap<>();
map.put("equipmentIndexName.keyword", value);
List<StationCacheInfoDto> stationBasicListAll = new ArrayList<>();
if (null != areaCode) {
stationBasicListAll = commonServiceImpl.getListStationCacheInfoDto();
List<String> collect = stationBasicListAll.stream().filter(e -> e.getAreaCode().equals(areaCode)).map(StationCacheInfoDto::getFanGatewayId).collect(Collectors.toList());
map.put("gatewayId.keyword", collect);
}
List<StationCacheInfoDto> fdzList = stationBasicListAll.stream().filter(stationBasic -> stationBasic.getStationType().equals("FDZ")).collect(Collectors.toList());
List<StationCacheInfoDto> gfList = stationBasicListAll.stream().filter(stationBasic -> !stationBasic.getStationType().equals("FDZ")).collect(Collectors.toList());
List<HashMap<String, String>> list1 = new ArrayList<>();
List<HashMap<String, String>> list2 = new ArrayList<>();
List<HashMap<String, String>> list3 = new ArrayList<>();
AtomicReference<Double> powerOfDayFD = new AtomicReference<>(new Double(0.00));
AtomicReference<Double> powerOfMonthFD = new AtomicReference<>(new Double(0.00));
AtomicReference<Double> powerOfAnnualFD = new AtomicReference<>(new Double(0.00));
AtomicReference<Double> powerOfDayGF = new AtomicReference<>(new Double(0.00));
AtomicReference<Double> powerOfMonthGF = new AtomicReference<>(new Double(0.00));
AtomicReference<Double> powerOfAnnualGF = new AtomicReference<>(new Double(0.00));
fdzList.forEach(stationBasic -> {
Map<String, List<String>> queryCondtion = new HashMap<>();
queryCondtion.put(CommonConstans.QueryStringEquipmentIndexName, Arrays.asList("日发电量", "月发电量", "年发电量"));
queryCondtion.put(CommonConstans.QueryStringGateWayId, Arrays.asList(stationBasic.getFanGatewayId()));
List<ESEquipments> result = commonServiceImpl.getListDataByCondtions(queryCondtion, null, ESEquipments.class);
powerOfDayFD.updateAndGet(v -> v + commonServiceImpl.getSumByEquipmentIndxName(result, "日发电量"));
powerOfMonthFD.updateAndGet(v -> v + commonServiceImpl.getSumByEquipmentIndxName(result, "月发电量"));
powerOfAnnualFD.updateAndGet(v -> v + commonServiceImpl.getSumByEquipmentIndxName(result, "年发电量"));
});
gfList.forEach(stationBasic -> {
Map<String, List<String>> queryCondtion = new HashMap<>();
queryCondtion.put(CommonConstans.QueryStringEquipmentIndexName, CommonConstans.taiHeGenIndicator);
queryCondtion.put(CommonConstans.QueryStringGateWayId, Arrays.asList(stationBasic.getBoosterGatewayId()));
List<ESEquipments> result = commonServiceImpl.getListDataByCondtions(queryCondtion, null, ESEquipments.class);
powerOfDayGF.updateAndGet(v -> v + commonServiceImpl.getSumByEquipmentIndxName(result, CommonConstans.taiHeGenIndicatorDay));
powerOfMonthGF.updateAndGet(v -> v + commonServiceImpl.getSumByEquipmentIndxName(result, CommonConstans.taiHeGenIndicatorMonth));
powerOfAnnualGF.updateAndGet(v -> v + commonServiceImpl.getSumByEquipmentIndxName(result, CommonConstans.taiHeGenIndicatorYear));
});
Double totalAnnual = (powerOfAnnualFD.get() + powerOfAnnualGF.get());
HashMap<String, String> stringHashMap13 = new HashMap<>();
stringHashMap13.put("title", String.format(CommonConstans.Twodecimalplaces, (totalAnnual * CommonConstans.carbonDioxide )));
stringHashMap13.put("unit", "二氧化碳减排量(t)");
list3.add(stringHashMap13);
HashMap<String, String> stringHashMap14 = new HashMap<>();
stringHashMap14.put("title", String.format(CommonConstans.Twodecimalplaces, (totalAnnual * CommonConstans.standardCoal )));
stringHashMap14.put("unit", "节约标准煤(t)");
list3.add(stringHashMap14);
HashMap<String, String> stringHashMap15 = new HashMap<>();
stringHashMap15.put("title", String.format(CommonConstans.Twodecimalplaces, (totalAnnual * CommonConstans.toner)));
stringHashMap15.put("unit", "碳粉尘减排量(t)");
list3.add(stringHashMap15);
HashMap<String, String> stringHashMap16 = new HashMap<>();
stringHashMap16.put("title", String.format(CommonConstans.Twodecimalplaces, (totalAnnual * CommonConstans.sulfurDioxide )));
stringHashMap16.put("unit", "二氧化硫减排量(t)");
list3.add(stringHashMap16);
page3.setRecords(list3);
return ResponseHelper.buildResponse(page3);
// Page<HashMap<String, String>> page3 = new Page<>(1, 10);
// List<String> value = new ArrayList<>();
// value.add(NFDL);
// Map<String, List<String>> map = new HashMap<>();
// map.put("equipmentIndexName.keyword", value);
// List<StationCacheInfoDto> stationBasicListAll = new ArrayList<>();
// if (null != areaCode) {
// stationBasicListAll = commonServiceImpl.getListStationCacheInfoDto();
// List<String> collect = stationBasicListAll.stream().filter(e -> e.getAreaCode().equals(areaCode)).map(StationCacheInfoDto::getFanGatewayId).collect(Collectors.toList());
// map.put("gatewayId.keyword", collect);
// }
// List<StationCacheInfoDto> fdzList = stationBasicListAll.stream().filter(stationBasic -> stationBasic.getStationType().equals("FDZ")).collect(Collectors.toList());
// List<StationCacheInfoDto> gfList = stationBasicListAll.stream().filter(stationBasic -> !stationBasic.getStationType().equals("FDZ")).collect(Collectors.toList());
// List<HashMap<String, String>> list1 = new ArrayList<>();
// List<HashMap<String, String>> list2 = new ArrayList<>();
// List<HashMap<String, String>> list3 = new ArrayList<>();
// AtomicReference<Double> powerOfDayFD = new AtomicReference<>(new Double(0.00));
// AtomicReference<Double> powerOfMonthFD = new AtomicReference<>(new Double(0.00));
// AtomicReference<Double> powerOfAnnualFD = new AtomicReference<>(new Double(0.00));
// AtomicReference<Double> powerOfDayGF = new AtomicReference<>(new Double(0.00));
// AtomicReference<Double> powerOfMonthGF = new AtomicReference<>(new Double(0.00));
// AtomicReference<Double> powerOfAnnualGF = new AtomicReference<>(new Double(0.00));
// fdzList.forEach(stationBasic -> {
// Map<String, List<String>> queryCondtion = new HashMap<>();
// queryCondtion.put(CommonConstans.QueryStringEquipmentIndexName, Arrays.asList("日发电量", "月发电量", "年发电量"));
// queryCondtion.put(CommonConstans.QueryStringGateWayId, Arrays.asList(stationBasic.getFanGatewayId()));
// List<ESEquipments> result = commonServiceImpl.getListDataByCondtions(queryCondtion, null, ESEquipments.class);
// powerOfDayFD.updateAndGet(v -> v + commonServiceImpl.getSumByEquipmentIndxName(result, "日发电量"));
// powerOfMonthFD.updateAndGet(v -> v + commonServiceImpl.getSumByEquipmentIndxName(result, "月发电量"));
// powerOfAnnualFD.updateAndGet(v -> v + commonServiceImpl.getSumByEquipmentIndxName(result, "年发电量"));
// });
// gfList.forEach(stationBasic -> {
// Map<String, List<String>> queryCondtion = new HashMap<>();
// queryCondtion.put(CommonConstans.QueryStringEquipmentIndexName, CommonConstans.taiHeGenIndicator);
// queryCondtion.put(CommonConstans.QueryStringGateWayId, Arrays.asList(stationBasic.getBoosterGatewayId()));
// List<ESEquipments> result = commonServiceImpl.getListDataByCondtions(queryCondtion, null, ESEquipments.class);
// powerOfDayGF.updateAndGet(v -> v + commonServiceImpl.getSumByEquipmentIndxName(result, CommonConstans.taiHeGenIndicatorDay));
// powerOfMonthGF.updateAndGet(v -> v + commonServiceImpl.getSumByEquipmentIndxName(result, CommonConstans.taiHeGenIndicatorMonth));
// powerOfAnnualGF.updateAndGet(v -> v + commonServiceImpl.getSumByEquipmentIndxName(result, CommonConstans.taiHeGenIndicatorYear));
// });
// Double totalAnnual = (powerOfAnnualFD.get() + powerOfAnnualGF.get());
// HashMap<String, String> stringHashMap13 = new HashMap<>();
// stringHashMap13.put("title", String.format(CommonConstans.Twodecimalplaces, (totalAnnual * CommonConstans.carbonDioxide )));
// stringHashMap13.put("unit", "二氧化碳减排量(t)");
// list3.add(stringHashMap13);
// HashMap<String, String> stringHashMap14 = new HashMap<>();
// stringHashMap14.put("title", String.format(CommonConstans.Twodecimalplaces, (totalAnnual * CommonConstans.standardCoal )));
// stringHashMap14.put("unit", "节约标准煤(t)");
// list3.add(stringHashMap14);
// HashMap<String, String> stringHashMap15 = new HashMap<>();
// stringHashMap15.put("title", String.format(CommonConstans.Twodecimalplaces, (totalAnnual * CommonConstans.toner)));
// stringHashMap15.put("unit", "碳粉尘减排量(t)");
// list3.add(stringHashMap15);
// HashMap<String, String> stringHashMap16 = new HashMap<>();
// stringHashMap16.put("title", String.format(CommonConstans.Twodecimalplaces, (totalAnnual * CommonConstans.sulfurDioxide )));
// stringHashMap16.put("unit", "二氧化硫减排量(t)");
// list3.add(stringHashMap16);
// page3.setRecords(list3);
return ResponseHelper.buildResponse( monitorService.socialContribution(areaCode));
}
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
......@@ -1425,22 +1429,22 @@ public class MonitorFanIdxController extends BaseController {
@ApiOperation(value = "接入情况 ")
@GetMapping("/accessSituation")
public ResponseModel<Map<String, Object>> accessSituation() {
Map<String, Object> map = new LinkedHashMap<>();
List<StationCacheInfoDto> list = commonServiceImpl.getListStationCacheInfoDto();
double sum = list.stream().mapToDouble(l -> Double.parseDouble(l.getInstalledCapacity())).sum();
Map<String, List<StationCacheInfoDto>> listMap = list.stream().collect(Collectors.groupingBy(StationCacheInfoDto::getStationType, Collectors.toList()));
for (StationType value : StationType.values()) {
List<StationCacheInfoDto> dtos = listMap.get(value.getCode());
map.put(value.getCode(), dtos == null ? 0 : dtos.size());
map.put(value.getCode() + "title", dtos == null ? 0 : dtos.stream().filter(obj -> !ObjectUtils.isEmpty(obj.getInstalledCapacity())).mapToDouble(l -> Double.parseDouble(l.getInstalledCapacity())).sum());
}
map.put("total", list.size());
map.put("num", sum);
try {
emqKeeper.getMqttClient().publish("/accessSituation/topic", JSON.toJSONString(map).getBytes(), 0, true);
} catch (MqttException e) {
}
Map<String, Object> map = monitorService.accessSituation();
// List<StationCacheInfoDto> list = commonServiceImpl.getListStationCacheInfoDto();
// double sum = list.stream().mapToDouble(l -> Double.parseDouble(l.getInstalledCapacity())).sum();
// Map<String, List<StationCacheInfoDto>> listMap = list.stream().collect(Collectors.groupingBy(StationCacheInfoDto::getStationType, Collectors.toList()));
// for (StationType value : StationType.values()) {
// List<StationCacheInfoDto> dtos = listMap.get(value.getCode());
// map.put(value.getCode(), dtos == null ? 0 : dtos.size());
// map.put(value.getCode() + "title", dtos == null ? 0 : dtos.stream().filter(obj -> !ObjectUtils.isEmpty(obj.getInstalledCapacity())).mapToDouble(l -> Double.parseDouble(l.getInstalledCapacity())).sum());
// }
// map.put("total", list.size());
// map.put("num", sum);
// try {
// emqKeeper.getMqttClient().publish("/accessSituation/topic", JSON.toJSONString(map).getBytes(), 0, true);
// } catch (MqttException e) {
//
// }
return CommonResponseUtil.success();
}
......@@ -1449,25 +1453,26 @@ public class MonitorFanIdxController extends BaseController {
@ApiOperation(value = "区域接入情况 ")
@GetMapping("/qyAccessSituation")
public ResponseModel<Map<String, Object>> qyAccessSituation() {
Map<String, Object> map = new LinkedHashMap<>();
List<StationCacheInfoDto> list = commonServiceImpl.getListStationCacheInfoDto();
Map<String, List<StationCacheInfoDto>> belongAreaList = list.stream().collect(Collectors.groupingBy(StationCacheInfoDto::getAreaCode));
for (String s : belongAreaList.keySet()) {
double sum = belongAreaList.get(s).stream().mapToDouble(l -> Double.parseDouble(l.getInstalledCapacity())).sum();
Map<String, List<StationCacheInfoDto>> listMap = list.stream().collect(Collectors.groupingBy(StationCacheInfoDto::getStationType, Collectors.toList()));
for (StationType value : StationType.values()) {
List<StationCacheInfoDto> dtos = listMap.get(value.getCode());
map.put(value.getCode(), dtos == null ? 0 : dtos.size());
map.put(value.getCode() + "title", dtos == null ? 0 : dtos.stream().filter(obj -> !ObjectUtils.isEmpty(obj.getInstalledCapacity())).mapToDouble(l -> Double.parseDouble(l.getInstalledCapacity())).sum());
}
map.put("total", list.size());
map.put("num", sum);
try {
emqKeeper.getMqttClient().publish("/accessSituation/topic/" + s, JSON.toJSONString(map).getBytes(), 1, true);
} catch (MqttException e) {
}
}
monitorService.qyAccessSituation();
// Map<String, Object> map = new LinkedHashMap<>();
// List<StationCacheInfoDto> list = commonServiceImpl.getListStationCacheInfoDto();
// Map<String, List<StationCacheInfoDto>> belongAreaList = list.stream().collect(Collectors.groupingBy(StationCacheInfoDto::getAreaCode));
// for (String s : belongAreaList.keySet()) {
// double sum = belongAreaList.get(s).stream().mapToDouble(l -> Double.parseDouble(l.getInstalledCapacity())).sum();
// Map<String, List<StationCacheInfoDto>> listMap = list.stream().collect(Collectors.groupingBy(StationCacheInfoDto::getStationType, Collectors.toList()));
// for (StationType value : StationType.values()) {
// List<StationCacheInfoDto> dtos = listMap.get(value.getCode());
// map.put(value.getCode(), dtos == null ? 0 : dtos.size());
// map.put(value.getCode() + "title", dtos == null ? 0 : dtos.stream().filter(obj -> !ObjectUtils.isEmpty(obj.getInstalledCapacity())).mapToDouble(l -> Double.parseDouble(l.getInstalledCapacity())).sum());
// }
// map.put("total", list.size());
// map.put("num", sum);
// try {
// emqKeeper.getMqttClient().publish("/accessSituation/topic/" + s, JSON.toJSONString(map).getBytes(), 1, true);
// } catch (MqttException e) {
//
// }
// }
return CommonResponseUtil.success();
}
......
......@@ -16,6 +16,7 @@ import com.yeejoin.amos.boot.module.jxiop.api.service.IMapRegionService;
import com.yeejoin.amos.boot.module.jxiop.biz.constants.CommonConstans;
import com.yeejoin.amos.boot.module.jxiop.biz.dto.*;
import com.yeejoin.amos.boot.module.jxiop.biz.entity.Test;
import com.yeejoin.amos.boot.module.jxiop.biz.service.MonitorService;
import com.yeejoin.amos.boot.module.jxiop.biz.service.impl.*;
import io.swagger.annotations.Api;
......@@ -48,7 +49,8 @@ public class MonitoringMapController extends BaseController {
MonitoringServiceImpl monitoringServiceImpl;
@Autowired
LargeScreenImpl largeScreenImpl;
@Autowired
MonitorService monitorService;
@Autowired
RegionMapper regionMapper;
@Autowired
......@@ -69,10 +71,10 @@ public class MonitoringMapController extends BaseController {
// return ResponseHelper.buildResponse(monitoringServiceImpl.getNationalPowerGenerationData());
// }
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@ApiOperation(value = "获取监盘全国地图-获取功率曲线下拉框数据")
@GetMapping("/getSelectDataForNational")
public ResponseModel<List<HashMap<String,Object>>> getSelectDataForNational() {
public ResponseModel<List<HashMap<String, Object>>> getSelectDataForNational() {
return ResponseHelper.buildResponse(monitoringServiceImpl.getSelectDataForNational());
}
......@@ -83,13 +85,14 @@ public class MonitoringMapController extends BaseController {
// return ResponseHelper.buildResponse(monitoringServiceImpl.getCompletionOfPowerIndicatorsByProvinceName(current,size,provinceName));
// }
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@ApiOperation(value = "根据场站id动态获取tab页签")
@GetMapping("/getTabsByStationBasicId")
public ResponseModel<List<TabDto>> getTabsByStationBasicId(@RequestParam(required = true) String stationBasicId) {
return ResponseHelper.buildResponse(monitoringServiceImpl.getTabsByStationBasicId(stationBasicId));
}
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@ApiOperation(value = "监盘首页地图-全国")
@GetMapping("/getAreaInfo")
public ResponseModel<List<MapAreaInfoDto>> getAreaInfo() {
......@@ -102,25 +105,25 @@ public class MonitoringMapController extends BaseController {
// return ResponseHelper.buildResponse(monitoringServiceImpl.getStaitonListInfoByAreaName(areaName));
// }
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@ApiOperation(value = "监盘首页-场站分类信息")
@GetMapping("/getStaionCategoryInfo")
public ResponseModel<List<Map<String,String>>> getStaionCategoryInfo(@RequestParam(required = false)String areaName) {
return ResponseHelper.buildResponse(monitoringServiceImpl.getStaionCategoryInfo(areaName));
public ResponseModel<List<Map<String, String>>> getStaionCategoryInfo(@RequestParam(required = false) String areaName) {
return ResponseHelper.buildResponse(monitoringServiceImpl.getStaionCategoryInfo(areaName));
}
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@ApiOperation(value = "监盘首页-装机容量")
@GetMapping("/getInstallCapityByAreaName")
public ResponseModel<HashMap<String,String>> getInstallCapityByAreaName(@RequestParam(required = false)String areaName) {
return ResponseHelper.buildResponse(monitoringServiceImpl.getInstallCapityByAreaName(areaName));
public ResponseModel<HashMap<String, String>> getInstallCapityByAreaName(@RequestParam(required = false) String areaName) {
return ResponseHelper.buildResponse(monitoringServiceImpl.getInstallCapityByAreaName(areaName));
}
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@ApiOperation(value = "监盘首页-有功功率")
@GetMapping("/getActivePowerByAreaName")
public ResponseModel<HashMap<String,String>> getActivePowerByAreaName(@RequestParam(required = false)String areaName) {
return ResponseHelper.buildResponse(monitoringServiceImpl.getActivePowerByAreaName(areaName));
public ResponseModel<HashMap<String, String>> getActivePowerByAreaName(@RequestParam(required = false) String areaName) {
return ResponseHelper.buildResponse(monitoringServiceImpl.getActivePowerByAreaName(areaName));
}
// @TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
......@@ -163,73 +166,70 @@ public class MonitoringMapController extends BaseController {
// return ResponseHelper.buildResponse(monitoringServiceImpl.getPowerGenerationTrendsOfCompletionTopThree(tabValue,areaName));
// }
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@ApiOperation(value = "运行监盘-获取全国数据")
@GetMapping("/getTotalData")
public void getTotalData() {
monitoringServiceImpl.getTotalData();
monitorService.getTotalData();
}
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@ApiOperation(value = "运行监盘-功率曲线")
@GetMapping("/getTheStationPowerCurve")
public ResponseModel<HashMap<String, Object>> getTheStationPowerCurve(@RequestParam(required = false)String stationId,@RequestParam(required = false)String date) {
return ResponseHelper.buildResponse(monitoringServiceImpl.getTheStationPowerCurve(stationId,date));
public ResponseModel<HashMap<String, Object>> getTheStationPowerCurve(@RequestParam(required = false) String stationId, @RequestParam(required = false) String date) {
return ResponseHelper.buildResponse(monitoringServiceImpl.getTheStationPowerCurve(stationId, date));
}
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@ApiOperation(value = "场站-功率曲线")
@GetMapping("/getDetailsWindSpeed")
public ResponseModel<Map<String, Object>> getDetailsWindSpeed(@RequestParam(required = false)String stationId) {
public ResponseModel<Map<String, Object>> getDetailsWindSpeed(@RequestParam(required = false) String stationId) {
StationBasic stationBasic = stationBasicMapper.selectById(stationId);
monitoringServiceImpl.getDetailsWindSpeedAlldata(stationBasic);
return ResponseHelper.buildResponse(null);
}
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@ApiOperation(value = "场站-功率曲线")
@GetMapping("/getDetailsWindSpeedAlldataqg")
public ResponseModel<Map<String, Object>> getDetailsWindSpeedAlldataqg(@RequestParam(required = false)String stationId) {
public ResponseModel<Map<String, Object>> getDetailsWindSpeedAlldataqg(@RequestParam(required = false) String stationId) {
Map<String, Object> map= largeScreenImpl.getDetailsWindSpeedAlldataqg();
Map<String, Object> map = largeScreenImpl.getDetailsWindSpeedAlldataqg();
return ResponseHelper.buildResponse(map);
}
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@ApiOperation(value = "监盘首页- 全国发电量趋势完成率")
@GetMapping("/gettimedateqyyfdqs")
public ResponseModel<Map<String,Object>> sendQYFDLMqttyfdqs(String areaName) {
List<StationBasic> stationBasicListAll = getListOfStationBasicByAreaName(areaName);
public ResponseModel<Map<String, Object>> sendQYFDLMqttyfdqs(String areaName) {
List<StationBasic> stationBasicListAll = getListOfStationBasicByAreaName(areaName);
List<String> ids = stationBasicListAll.stream().map(StationBasic::getFanGatewayId).collect(Collectors.toList());
List<Long> idsStationId = stationBasicListAll.stream().map(StationBasic::getSequenceNbr).collect(Collectors.toList());
List<String> idsStationIdmnew =new ArrayList<>();
List<String> idsStationIdmnew = new ArrayList<>();
for (Long aLong : idsStationId) {
idsStationIdmnew.add(String.valueOf(aLong));
}
Map<String,Object> map= largeScreenImpl.gettimedateqyyfdqs(new Date(),ids,areaName,idsStationIdmnew);
Map<String, Object> map = largeScreenImpl.gettimedateqyyfdqs(new Date(), ids, areaName, idsStationIdmnew);
return ResponseHelper.buildResponse(map);
return ResponseHelper.buildResponse(map);
}
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@ApiOperation(value = "监盘首页- 区域功率曲线率")
@GetMapping("/getDetailsWindqy")
public ResponseModel<Map<String,Object>> getDetailsWindqy(String areaName) {
public ResponseModel<Map<String, Object>> getDetailsWindqy(String areaName) {
List<StationBasic> stationBasicListAll = getListOfStationBasicByAreaName(areaName);
List<StationBasic> stationBasicListAll = getListOfStationBasicByAreaName(areaName);
Map<String,Object> map= largeScreenImpl.getDetailsWindqy( areaName,stationBasicListAll);
Map<String, Object> map = largeScreenImpl.getDetailsWindqy(areaName, stationBasicListAll);
return ResponseHelper.buildResponse(map);
return ResponseHelper.buildResponse(map);
}
......@@ -245,42 +245,39 @@ public class MonitoringMapController extends BaseController {
}
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@ApiOperation(value = "监盘首页- 全国发电量趋势完成率")
@GetMapping("/gettimedateqyyfd")
public ResponseModel<Map<String,Object>> sendQYFDLMqttyfd(String areaName) {
public ResponseModel<Map<String, Object>> sendQYFDLMqttyfd(String areaName) {
List<StationBasic> stationBasicListAll = getListOfStationBasicByAreaName(areaName);
List<String> ids = stationBasicListAll.stream().map(StationBasic::getFanGatewayId).collect(Collectors.toList());
Map<String,Object> map= largeScreenImpl.gettimedateqyyfd( new Date(),ids, areaName);
// List<StationBasic> stationBasicListAll = getListOfStationBasicByAreaName(areaName);
// List<String> ids = stationBasicListAll.stream().map(StationBasic::getFanGatewayId).collect(Collectors.toList());
Map<String, Object> map = monitorService.gettimedateqyyfd( areaName);
return ResponseHelper.buildResponse(map);
return ResponseHelper.buildResponse(map);
}
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@ApiOperation(value = "监盘首页- 全国发电量趋势完成率")
@GetMapping("/gettimedateyfdqs")
public ResponseModel<Map<String,Object>> gettimedateyfdqs() {
public ResponseModel<Map<String, Object>> gettimedateyfdqs() {
Map<String,Object> map= largeScreenImpl.gettimedateyfdqs();
Map<String, Object> map =monitorService.gettimedateyfdqs();
return ResponseHelper.buildResponse(map);
return ResponseHelper.buildResponse(map);
}
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@ApiOperation(value = "监盘首页- 全国发电量趋势完成率")
@GetMapping("/gettimedateyfd")
public ResponseModel< Map<String,Object>> gettimedateyfd() {
public ResponseModel<Map<String, Object>> gettimedateyfd() {
Map<String,Object> map= largeScreenImpl.gettimedateyfd();
return ResponseHelper.buildResponse(map);
Map<String, Object> map = monitorService.gettimedateyfd();
return ResponseHelper.buildResponse(map);
}
public List<StationBasic> getListOfStationBasicByAreaName(String areaName) {
List<StationBasic> stationBasicListAll = new ArrayList<>();
MapRegion mapRegion = mapRegionMapper.selectOne(new QueryWrapper<MapRegion>().eq("name", areaName));
......@@ -296,43 +293,33 @@ public class MonitoringMapController extends BaseController {
}
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@ApiOperation(value = "大屏首页- 全国发电量趋势完成率")
@GetMapping("/getSeriesDataqg")
public ResponseModel<SeriesData> getSeriesDataqg() {
SeriesData map= largeScreenImpl.getSeriesDataqg();
SeriesData map = monitorService.getSeriesDataqg();
return ResponseHelper.buildResponse(map);
return ResponseHelper.buildResponse(map);
}
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@ApiOperation(value = "大屏首页- 区域发电量趋势完成率")
@GetMapping("/getSeriesDataqy")
public ResponseModel<SeriesData> getSeriesDataqy(String areaCode) {
LambdaQueryWrapper<StationBasic> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(areaCode!=null,StationBasic::getAreaCode,areaCode);
List<StationBasic> stationBasics = stationBasicMapper.selectList(wrapper);
// 2023年11月8日 12点51分 库中存储的历史数据存在问题逻辑由原来的通过网关id查询数据修改为场站id
List<String> ids = stationBasics.stream().map(stationBasic -> String.valueOf(stationBasic.getSequenceNbr())).collect(Collectors.toList());
SeriesData map= largeScreenImpl.getSeriesDataqy( new Date(),ids, areaCode);
public ResponseModel<SeriesData> getSeriesDataqy(String areaCode) {
//
// LambdaQueryWrapper<StationBasic> wrapper = new LambdaQueryWrapper<>();
//
// wrapper.eq(areaCode != null, StationBasic::getAreaCode, areaCode);
//
// List<StationBasic> stationBasics = stationBasicMapper.selectList(wrapper);
// // 2023年11月8日 12点51分 库中存储的历史数据存在问题逻辑由原来的通过网关id查询数据修改为场站id
// List<String> ids = stationBasics.stream().map(stationBasic -> String.valueOf(stationBasic.getSequenceNbr())).collect(Collectors.toList());
SeriesData map = monitorService.getSeriesDataqy(areaCode);
return ResponseHelper.buildResponse(map);
return ResponseHelper.buildResponse(map);
}
}
......@@ -88,6 +88,12 @@ public interface MonitorService {
*/
IPage<Map> getStationOverViewFanByStationId( String stationId);
/**
* @Descritpion 根据入参动态获取全国发电量数据
* @param stationId
* @return
*/
Map<String,Object> gettimedateyfd( );
/**
* @Descritpion 根据入参动态获取光伏站数据
* @param stationId
* @return
......@@ -102,4 +108,6 @@ public interface MonitorService {
* @return
*/
ResultsData getElectricQuantityList(int current, int size, StationBasic stationBasic);
void getTotalData();
}
......@@ -16,6 +16,7 @@ import com.yeejoin.amos.boot.module.jxiop.api.mapper.StationBasicMapper;
import com.yeejoin.amos.boot.module.jxiop.api.mapper.StationElectricityMeterMapper;
import com.yeejoin.amos.boot.module.jxiop.api.util.Constants;
import com.yeejoin.amos.boot.module.jxiop.api.util.HttpRequestUtil;
import com.yeejoin.amos.boot.module.jxiop.biz.ESDto.ESMoonPowerGeneration;
import com.yeejoin.amos.boot.module.jxiop.biz.constants.CommonConstans;
import com.yeejoin.amos.boot.module.jxiop.biz.dto.*;
import com.yeejoin.amos.boot.module.jxiop.biz.service.CoreCommonService;
......@@ -23,6 +24,10 @@ import com.yeejoin.amos.boot.module.jxiop.biz.service.MonitorService;
import lombok.RequiredArgsConstructor;
import org.apache.commons.io.IOUtils;
import org.eclipse.paho.client.mqttv3.MqttException;
import org.elasticsearch.search.aggregations.Aggregation;
import org.elasticsearch.search.aggregations.Aggregations;
import org.elasticsearch.search.aggregations.bucket.terms.Terms;
import org.elasticsearch.search.aggregations.metrics.ParsedSum;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.io.Resource;
import org.springframework.scheduling.annotation.Scheduled;
......@@ -32,7 +37,10 @@ import org.typroject.tyboot.component.emq.EmqKeeper;
import java.io.IOException;;
import java.math.BigDecimal;
import java.nio.charset.StandardCharsets;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.util.*;
import java.util.stream.Collectors;
......@@ -206,6 +214,28 @@ public class MonitorServiceImpl implements MonitorService {
}
return mapjn;
}
public Map<String,Object> gettimedateyfd( ){
String requestUrl = Constants.BASE_URL + "?" + Constants.get_month_generation_trend_url ;
List<String> list = new ArrayList<>();
List<Double> listData = new ArrayList<>();
List<BudunMonthTrendDto> budunMonthTrendDtos = httpRequestUtil.getResPonse(requestUrl, Constants.REQUEST_GET, "", Constants.resovleRule_data, BudunMonthTrendDto.class);
budunMonthTrendDtos.forEach(budunMonthTrendDto -> {
listData.add(budunMonthTrendDto.getGenerating_capacity());
list.add(budunMonthTrendDto.getMonth().toString());
});
Map<String, Object> mapjn = new HashMap<>();
mapjn.put("seriesData", listData);
mapjn.put("axisData", list);
try {
System.out.println(JSON.toJSONString(mapjn));
emqKeeper.getMqttClient().publish("topic_yfd", JSON.toJSONString(mapjn).getBytes(),0,false);
} catch (MqttException e) {
e.printStackTrace();
}
return mapjn;
}
......@@ -704,4 +734,163 @@ public class MonitorServiceImpl implements MonitorService {
// 使用String.format方法格式化浮点数,保留两位小数
return String.format("%.3f", param);
}
public void getTotalData() {
//获取所有的场站数据
// List<CoreValuesDto> coreValuesDtos = coreCommonService.getValuesByStationNamesAndPointsNames(null, null);
List<StationBasic> stationBasicListAll = stationBasicMapper.selectList(new QueryWrapper<StationBasic>().isNotNull("fan_gateway_id"));
List<StationBasic> fdzList = stationBasicListAll.stream().filter(stationBasic -> stationBasic.getStationType().equals("FDZ")).collect(Collectors.toList());
List<StationBasic> gfList = stationBasicListAll.stream().filter(stationBasic -> stationBasic.getStationType().contains("GFDZ")).collect(Collectors.toList());
List<StationBasic> cnList = stationBasicListAll.stream().filter(stationBasic -> stationBasic.getStationType().equals("CNDZ")).collect(Collectors.toList());
Page<HashMap<String, String>> page = new Page<>(1, 10);
Page<HashMap<String, String>> page1 = new Page<>(1, 10);
Page<HashMap<String, String>> page2 = new Page<>(1, 10);
//----------------装机容量开始-----------------------
List<HashMap<String, String>> list = new ArrayList<>();
//装机容量
HashMap<String, String> stringHashMap = new HashMap<>();
BigDecimal totalInstall = new BigDecimal(stationBasicListAll.stream().filter(stationBasic -> stationBasic.getInstalledCapacity() != null).mapToDouble(StationBasic::getInstalledCapacity).sum());
stringHashMap.put("title", totalInstall.toString());
stringHashMap.put("data", "");
list.add(stringHashMap);
//风电站
HashMap<String, String> stringHashMap1 = new HashMap<>();
BigDecimal fdzInstall = new BigDecimal(fdzList.stream().filter(stationBasic -> stationBasic.getInstalledCapacity() != null).mapToDouble(StationBasic::getInstalledCapacity).sum());
stringHashMap1.put("title", fdzInstall.toString());
stringHashMap1.put("data", String.valueOf(fdzList.size()));
list.add(stringHashMap1);
//光伏电站
HashMap<String, String> stringHashMap2 = new HashMap<>();
BigDecimal gfInstall = new BigDecimal(gfList.stream().filter(stationBasic -> stationBasic.getInstalledCapacity() != null).mapToDouble(StationBasic::getInstalledCapacity).sum());
stringHashMap2.put("title", gfInstall.toString());
stringHashMap2.put("data", String.valueOf(gfList.size()));
list.add(stringHashMap2);
//储能站
HashMap<String, String> stringHashMap3 = new HashMap<>();
BigDecimal cnInstall = new BigDecimal(cnList.stream().filter(stationBasic -> stationBasic.getInstalledCapacity() != null).mapToDouble(StationBasic::getInstalledCapacity).sum());
stringHashMap3.put("title", cnInstall.toString());
stringHashMap3.put("data", String.valueOf(cnList.size()));
list.add(stringHashMap3);
page.setRecords(list);
BigDecimal gFInstall = new BigDecimal(stationBasicListAll.stream().filter(stationBasic -> stationBasic.getInstalledCapacity() != null).mapToDouble(StationBasic::getInstalledCapacity).sum());
//----------------------装机容量结束----------------------------------------
// ----------------装机容量开始-----------------------
List<HashMap<String, String>> list1 = new ArrayList<>();
List<HashMap<String, String>> list2 = new ArrayList<>();
Double powerOfDay = 0.0000;
Double powerOfMonth = 0.0000;
Double powerOfAnnual = 0.0000;
Double completeRateOfAnnual = 0.00;
Double useHoursOfAnnual = 0.00;
Double powerOfDayFD = 0.0000;
Double powerOfMonthFD = 0.0000;
Double powerOfAnnualFD = 0.0000;
Double useHoursOfAnnualFD = 0.0000;
Double completeRateOfAnnualFD = 0.00;
Double powerOfDayGF = 0.0000;
Double powerOfMonthGF = 0.0000;
Double powerOfAnnualGF = 0.0000;
Double completeRateOfAnnualGF = 0.00;
Double useHoursOfAnnualGF = 0.00;
//获取全国数据
String nationalUrl = Constants.BASE_URL + "?" + Constants.get_province_item_url;
//获取风电
String nationalFanUrl = Constants.BASE_URL + "?" + Constants.get_province_item_url + "&type=fan";
//获取光伏
String nationalPVUrl = Constants.BASE_URL + "?" + Constants.get_province_item_url + "&type=pv";
List<BuDunGenDto> nationalGendto = httpRequestUtil.getResPonse(nationalPVUrl, Constants.REQUEST_GET, "", Constants.resovleRule_data, BuDunGenDto.class);
List<BuDunGenDto> fanGendto = httpRequestUtil.getResPonse(nationalPVUrl, Constants.REQUEST_GET, "", Constants.resovleRule_data, BuDunGenDto.class);
List<BuDunGenDto> pvGendto = httpRequestUtil.getResPonse(nationalPVUrl, Constants.REQUEST_GET, "", Constants.resovleRule_data, BuDunGenDto.class);
if (nationalGendto.size() > 0) {
BuDunGenDto buDunGenDto = nationalGendto.get(0);
powerOfDay = buDunGenDto.getDay();
powerOfMonth = buDunGenDto.getMonth();
powerOfAnnual = buDunGenDto.getYear();
completeRateOfAnnual = buDunGenDto.getYear_complete();
useHoursOfAnnual = buDunGenDto.getYear_hour_number();
}
if (fanGendto.size() > 0) {
BuDunGenDto buDunGenDto = nationalGendto.get(0);
powerOfDayFD = buDunGenDto.getDay();
powerOfMonthFD = buDunGenDto.getMonth();
powerOfAnnualFD = buDunGenDto.getYear();
completeRateOfAnnualFD = buDunGenDto.getYear_complete();
useHoursOfAnnualFD = buDunGenDto.getYear_hour_number();
}
if (pvGendto.size() > 0) {
BuDunGenDto buDunGenDto = nationalGendto.get(0);
powerOfDayGF = buDunGenDto.getDay();
powerOfMonthGF = buDunGenDto.getMonth();
powerOfAnnualGF = buDunGenDto.getYear();
completeRateOfAnnualGF = buDunGenDto.getYear_complete();
useHoursOfAnnualGF = buDunGenDto.getYear_hour_number();
}
// if (coreValuesDtos.size() > 0) {
// powerOfDay = coreCommonService.getSumOfByPointName(coreValuesDtos, CommonConstans.DAY_POWER_GENERATION);
// powerOfMonth = coreCommonService.getSumOfByPointName(coreValuesDtos, CommonConstans.MONTH_POWER_GENERATION);
// powerOfAnnual = coreCommonService.getSumOfByPointName(coreValuesDtos, CommonConstans.YEAR_POWER_GENERATION);
// completeRateOfAnnual = coreCommonService.getAverageOfByPointName(coreValuesDtos, CommonConstans.YEAR_GEN_ATTAINMENT_RATE);
// //年利用小时数
// useHoursOfAnnual = coreCommonService.getSumOfByPointName(coreValuesDtos, CommonConstans.YEAR_GEN_HOURS);
// List<String> fdNames = fdzList.stream().map(StationBasic::getStationCoreName).collect(Collectors.toList());
// List<String> gfNames = gfList.stream().map(StationBasic::getStationCoreName).collect(Collectors.toList());
// List<CoreValuesDto> fdcoreValuesDtos = coreValuesDtos.stream().filter(dto -> fdNames.contains(dto.getName())).collect(Collectors.toList());
// List<CoreValuesDto> gfcoreValuesDtos = coreValuesDtos.stream().filter(dto -> gfNames.contains(dto.getName())).collect(Collectors.toList());
// if (fdcoreValuesDtos.size() > 0) {
// powerOfDayFD = coreCommonService.getSumOfByPointName(coreValuesDtos, CommonConstans.DAY_POWER_GENERATION);
// powerOfMonthFD = coreCommonService.getSumOfByPointName(coreValuesDtos, CommonConstans.MONTH_POWER_GENERATION);
// powerOfAnnualFD = coreCommonService.getSumOfByPointName(coreValuesDtos, CommonConstans.YEAR_POWER_GENERATION);
// completeRateOfAnnualFD = coreCommonService.getAverageOfByPointName(coreValuesDtos, CommonConstans.YEAR_GEN_ATTAINMENT_RATE);
// //年利用小时数
// useHoursOfAnnualFD = coreCommonService.getSumOfByPointName(coreValuesDtos, CommonConstans.YEAR_GEN_HOURS);
// }
// if (gfcoreValuesDtos.size() > 0) {
// powerOfDayGF = coreCommonService.getSumOfByPointName(coreValuesDtos, CommonConstans.DAY_POWER_GENERATION);
// powerOfMonthGF = coreCommonService.getSumOfByPointName(coreValuesDtos, CommonConstans.MONTH_POWER_GENERATION);
// powerOfAnnualGF = coreCommonService.getSumOfByPointName(coreValuesDtos, CommonConstans.YEAR_POWER_GENERATION);
// completeRateOfAnnualGF = coreCommonService.getAverageOfByPointName(coreValuesDtos, CommonConstans.YEAR_GEN_ATTAINMENT_RATE);
// //年利用小时数
// useHoursOfAnnualGF = coreCommonService.getSumOfByPointName(coreValuesDtos, CommonConstans.YEAR_GEN_HOURS);
// }
// }
HashMap<String, String> stringHashMap4 = new HashMap<>();
stringHashMap4.put("title", String.format(CommonConstans.Fourdecimalplaces, powerOfDayFD) + "/" + String.format(CommonConstans.Fourdecimalplaces, powerOfDayGF));
list1.add(stringHashMap4);
HashMap<String, String> stringHashMap5 = new HashMap<>();
stringHashMap5.put("title", String.format(CommonConstans.Fourdecimalplaces, powerOfMonthFD) + "/" + String.format(CommonConstans.Fourdecimalplaces, powerOfMonthGF));
list1.add(stringHashMap5);
HashMap<String, String> stringHashMap6 = new HashMap<>();
stringHashMap6.put("title", String.format(CommonConstans.Fourdecimalplaces, powerOfAnnualFD) + "/" + String.format(CommonConstans.Fourdecimalplaces, powerOfAnnualGF));
list1.add(stringHashMap6);
HashMap<String, String> stringHashMap7 = new HashMap<>();
stringHashMap7.put("title", String.format(CommonConstans.Twodecimalplaces, useHoursOfAnnualFD) + "/" + String.format(CommonConstans.Twodecimalplaces, useHoursOfAnnualGF));
list1.add(stringHashMap7);
HashMap<String, String> stringHashMap8 = new HashMap<>();
stringHashMap8.put("title", String.format(CommonConstans.Twodecimalplaces, completeRateOfAnnualFD) + "/" + String.format(CommonConstans.Twodecimalplaces, completeRateOfAnnualGF));
list1.add(stringHashMap8);
page1.setRecords(list1);
HashMap<String, String> stringHashMap9 = new HashMap<>();
stringHashMap9.put("title", String.format(CommonConstans.Fourdecimalplaces, powerOfDay));
list2.add(stringHashMap9);
HashMap<String, String> stringHashMap10 = new HashMap<>();
stringHashMap10.put("title", String.format(CommonConstans.Fourdecimalplaces, powerOfMonth));
list2.add(stringHashMap10);
HashMap<String, String> stringHashMap11 = new HashMap<>();
stringHashMap11.put("title", String.format(CommonConstans.Fourdecimalplaces, powerOfAnnual));
list2.add(stringHashMap11);
HashMap<String, String> stringHashMap12 = new HashMap<>();
stringHashMap12.put("title", String.format(CommonConstans.Twodecimalplaces, (completeRateOfAnnual * 100)));
list2.add(stringHashMap12);
page2.setRecords(list2);
try {
emqKeeper.getMqttClient().publish("total_zjrl_topic", JSON.toJSON(page).toString().getBytes("UTF-8"), 1, true);
emqKeeper.getMqttClient().publish("total_ssscsj_topic", JSON.toJSON(page1).toString().getBytes("UTF-8"), 1, true);
emqKeeper.getMqttClient().publish("total_zssscsj_topic", JSON.toJSON(page2).toString().getBytes("UTF-8"), 1, true);
} catch (Exception ex) {
}
}
}
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