Commit ab680ae8 authored by caotao's avatar caotao

监盘首页接口

parent f0f4c31e
...@@ -130,4 +130,11 @@ public class MonitoringMapController extends BaseController { ...@@ -130,4 +130,11 @@ public class MonitoringMapController extends BaseController {
public ResponseModel<HashMap<String, List<String>>> getPowerGenerationTrendsOfCompletionTopFive(@RequestParam(required = false)String areaName) { public ResponseModel<HashMap<String, List<String>>> getPowerGenerationTrendsOfCompletionTopFive(@RequestParam(required = false)String areaName) {
return ResponseHelper.buildResponse(monitoringServiceImpl.getPowerGenerationTrendsOfCompletionTopFive(areaName)); return ResponseHelper.buildResponse(monitoringServiceImpl.getPowerGenerationTrendsOfCompletionTopFive(areaName));
} }
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@ApiOperation(value = "监盘首页-发电小时排名top3")
@GetMapping("/getPowerGenerationTrendsOfCompletionTopThree")
public ResponseModel<Page<HashMap<String, String>>> getPowerGenerationTrendsOfCompletionTopThree(@RequestParam(required = false)String areaName,@RequestParam(required = false,defaultValue = "0")String tabValue) {
return ResponseHelper.buildResponse(monitoringServiceImpl.getPowerGenerationTrendsOfCompletionTopThree(tabValue,areaName));
}
} }
...@@ -21,6 +21,7 @@ import org.springframework.beans.factory.annotation.Value; ...@@ -21,6 +21,7 @@ import org.springframework.beans.factory.annotation.Value;
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.unbescape.css.CssIdentifierEscapeLevel;
import java.net.URLDecoder; import java.net.URLDecoder;
import java.util.*; import java.util.*;
...@@ -645,6 +646,8 @@ public class MonitoringServiceImpl { ...@@ -645,6 +646,8 @@ public class MonitoringServiceImpl {
hashMap.put("seriesData", yList); hashMap.put("seriesData", yList);
return hashMap; return hashMap;
} }
public List<String> getXListofRecentOneYear(){ public List<String> getXListofRecentOneYear(){
List<String> xList = new ArrayList<>(); List<String> xList = new ArrayList<>();
Calendar calendar = Calendar.getInstance(); Calendar calendar = Calendar.getInstance();
...@@ -656,4 +659,67 @@ public class MonitoringServiceImpl { ...@@ -656,4 +659,67 @@ public class MonitoringServiceImpl {
} }
return xList; return xList;
} }
public Page<HashMap<String,String>> getPowerGenerationTrendsOfCompletionTopThree(String tabValue,String areaName){
Page<HashMap<String,String>> page = new Page<>(1,3);
List<HashMap<String,String>> mapList= new ArrayList<>();
List<StationBasic> stationBasicListAll = new ArrayList<>();
List<StationBasic> fdzList = new ArrayList<>();
List<StationBasic> gfdzlist = new ArrayList<>();
if (!ObjectUtils.isEmpty(areaName)) {
stationBasicListAll = getListOfStationBasicByAreaName(areaName);
} else {
stationBasicListAll = stationBasicMapper.selectList(new QueryWrapper<StationBasic>().isNotNull("station_name"));
}
String indicator = "日发电量";
if(tabValue.equals(1)){
indicator="月发电量";
}else{
indicator="年发电量";
}
//填写发电小时数
String finalIndicator = indicator;
stationBasicListAll.forEach(stationBasic -> {
Double install=getStationCaPACITYL(stationBasic.getStationNumber());
Double total =commonServiceImpl.getTotalByIndicatior(stationBasic.getFanGatewayId(), finalIndicator);
stationBasic.setAddress(String.format("%.2f",total));
if(stationBasic.getStationType().equals("FDZ")){
stationBasic.setAddress(String.format("%.2f",total/100/install));
}else {
stationBasic.setAddress(String.format("%.2f",total/1000000/install));
}
if(stationBasic.getAddress().equals("NaN")){
stationBasic.setAddress("0.00");
}
});
//分组并排序
fdzList = stationBasicListAll.stream().filter(stationBasic -> stationBasic.getStationType().equals("FDZ")).collect(Collectors.toList()).stream().sorted(Comparator.comparing(StationBasic::getAddress,Comparator.comparingDouble(Double::parseDouble)).reversed()).collect(Collectors.toList());
gfdzlist = stationBasicListAll.stream().filter(stationBasic -> !stationBasic.getStationType().equals("FDZ")).collect(Collectors.toList()).stream().sorted(Comparator.comparing(StationBasic::getAddress,Comparator.comparingDouble(Double::parseDouble)).reversed()).collect(Collectors.toList());
for (int i = 0; i <3 ; i++) {
HashMap<String,String> stringHashMap= new HashMap<>();
stringHashMap.put("sortNumber",String.valueOf(i+1));
StationBasic stationBasic =new StationBasic();
if(i<(fdzList.size())){
stationBasic = fdzList.get(i);
stringHashMap.put("stationName1",stationBasic.getStationName());
stringHashMap.put("hours1",stationBasic.getAddress()+"h");
}else {
stringHashMap.put("stationName1","");
stringHashMap.put("hours1","");
}
if(i<(gfdzlist.size())){
stationBasic = gfdzlist.get(i);
stringHashMap.put("stationName2",stationBasic.getStationName());
stringHashMap.put("hours2",stationBasic.getAddress()+"h");
}else {
stringHashMap.put("stationName2","");
stringHashMap.put("hours2","");
}
mapList.add(stringHashMap);
}
page.setRecords(mapList);
//组装数据
return page;
}
} }
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