|
@@ -68,7 +68,7 @@ public class LargeScreenController {
|
|
|
NwpCloudService nwpCloudService;
|
|
|
|
|
|
@GetMapping("/getBizData")
|
|
|
- public R getBizData(String weatherType) {
|
|
|
+ public R getBizData(String forecastDay,String forecastType) {
|
|
|
// 获取所有场站
|
|
|
List<ElectricField> electricFieldList = electricFieldService.list();
|
|
|
// 首页左上角场站数据统计
|
|
@@ -137,190 +137,11 @@ public class LargeScreenController {
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
|
-
|
|
|
- // 定义首页实际功率、可用、理论总和
|
|
|
- BigDecimal realSum = BigDecimal.ZERO;
|
|
|
- BigDecimal ableSum = BigDecimal.ZERO;
|
|
|
- BigDecimal theorySum = BigDecimal.ZERO;
|
|
|
- BigDecimal cdqSum = BigDecimal.ZERO;
|
|
|
- BigDecimal dqSum = BigDecimal.ZERO;
|
|
|
-
|
|
|
-
|
|
|
- // 限电场站数定义
|
|
|
- int xdCount = 0;
|
|
|
- // 获取每个场站的实时功率、可用、理论、超短期、短期
|
|
|
- for (ElectricField electricField:electricFieldList){
|
|
|
- // 实时功率、可用、理论、限电
|
|
|
- PowerStationStatusData powerStationStatusData = LatestDataUtil.getData(electricField.getStationCode(), PowerStationStatusData.class);
|
|
|
- if (powerStationStatusData!=null){
|
|
|
- realSum = realSum.add(powerStationStatusData.getRealValue());
|
|
|
- ableSum = ableSum.add(powerStationStatusData.getAbleValue());
|
|
|
- theorySum = theorySum.add(powerStationStatusData.getTheoryValue());
|
|
|
- if (powerStationStatusData.getPowerRationing().intValue()==1){
|
|
|
- xdCount++;
|
|
|
- }
|
|
|
- }
|
|
|
- // 超短期
|
|
|
- ForecastPowerUltraShortTermRegulation forecastPowerUltraShortTermRegulation = LatestDataUtil.getData(electricField.getStationCode(), ForecastPowerUltraShortTermRegulation.class);
|
|
|
- if (forecastPowerUltraShortTermRegulation!=null){
|
|
|
- cdqSum = cdqSum.add(forecastPowerUltraShortTermRegulation.getFpValue());
|
|
|
- }
|
|
|
- // 短期
|
|
|
- ForecastPowerShortTermRegulation forecastPowerShortTermRegulation = LatestDataUtil.getData(electricField.getStationCode(), ForecastPowerShortTermRegulation.class);
|
|
|
- if (forecastPowerShortTermRegulation!=null){
|
|
|
- dqSum = dqSum.add(forecastPowerShortTermRegulation.getFpValue());
|
|
|
- }
|
|
|
- // 获取气象站或者测风塔
|
|
|
- if (ElectricFieldTypeEnum.E1.name().equals(electricField.getElectricFieldTypeEnum())){
|
|
|
- WeatherStationStatusData weatherStationStatusData = LatestDataUtil.getData(electricField.getStationCode(), WeatherStationStatusData.class);
|
|
|
- if (weatherStationStatusData!=null){
|
|
|
- fzdSum = fzdSum.add(weatherStationStatusData.getGlobalR());
|
|
|
- fzdSumCount++;
|
|
|
- }
|
|
|
- }
|
|
|
- else{
|
|
|
- WindTowerStatusData windTowerStatusData = LatestDataUtil.getData(electricField.getStationCode(), WindTowerStatusData.class);
|
|
|
- if (windTowerStatusData!=null){
|
|
|
- wsSum = wsSum.add(windTowerStatusData.getWsHubHeight());
|
|
|
- wsSumCount++;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- // 定义总和map
|
|
|
- Map sumMap = new HashMap();
|
|
|
- sumMap.put("realSum",realSum);
|
|
|
- sumMap.put("ableSum",ableSum);
|
|
|
- sumMap.put("theorySum",theorySum);
|
|
|
- bizDataMap.put("sumMap",sumMap);
|
|
|
- Map envDataMap = new HashMap();
|
|
|
-
|
|
|
- envDataMap.put("wsAvg",wsAvg);
|
|
|
-
|
|
|
- envDataMap.put("fzdAvg",fzdAvg);
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- Date dayStartTime = DateTimeUtil.getDayStartTime(System.currentTimeMillis());
|
|
|
- Date dayEndTime = DateTimeUtil.getDayLastTime(System.currentTimeMillis());
|
|
|
- // 首页实际、可用、理论曲线图数组
|
|
|
- List<Object> realList = new ArrayList<>();
|
|
|
- List<Object> ableList = new ArrayList<>();
|
|
|
- List<Object> theoryList = new ArrayList<>();
|
|
|
- List<Object> cdqList = new ArrayList<>();
|
|
|
- List<Object> dqList = new ArrayList<>();
|
|
|
-
|
|
|
- // 查询实际功率、可用、理论
|
|
|
- Date currentTime5 = DateTimeUtil.getMomentTimeFor5Minute(System.currentTimeMillis());
|
|
|
- List<PowerStationStatusData> powerStationStatusDataList = powerStationStatusDataService.findByTimeBetween(dayStartTime,dayEndTime);
|
|
|
- // 按场时间分组
|
|
|
- Map<Long, List<PowerStationStatusData>> powerStationStatusDataGroup = powerStationStatusDataList.stream().collect(Collectors.groupingBy(s->s.getTime().getTime()));
|
|
|
-
|
|
|
- // 获取超短期
|
|
|
- String cdqHowLongAgo = configService.selectConfigByKey("cdqHowLongAgo");
|
|
|
- QueryWrapper cdqysWrapper = new QueryWrapper<>();
|
|
|
- cdqysWrapper.eq("forecast_how_long_ago", Integer.parseInt(cdqHowLongAgo));
|
|
|
- cdqysWrapper.between("time", dayStartTime, dayEndTime);
|
|
|
- List<ForecastPowerUltraShortTermRegulation> forecastPowerUltraShortTermStationList = forecastPowerUltraShortTermRegulationService.list(cdqysWrapper);
|
|
|
- // 按场时间分组
|
|
|
- Map<Long, List<ForecastPowerUltraShortTermRegulation>> utraShortTermStationDataGroup = forecastPowerUltraShortTermStationList.stream().collect(Collectors.groupingBy(s->s.getTime().getTime()));
|
|
|
-
|
|
|
- // 获取短期上报
|
|
|
- String dqHowLongAgo = configService.selectConfigByKey("dqHowLongAgo");
|
|
|
- QueryWrapper dqsbWrapper = new QueryWrapper<>();
|
|
|
- dqsbWrapper.eq("forecast_how_long_ago", Integer.parseInt(dqHowLongAgo));
|
|
|
- dqsbWrapper.between("time", dayStartTime, dayEndTime);
|
|
|
- List<ForecastPowerShortTermRegulation> forecastPowerShortTermRegulationList = forecastPowerShortTermRegulationService.list(dqsbWrapper);
|
|
|
- // 按场时间分组
|
|
|
- Map<Long, List<ForecastPowerShortTermRegulation>> shortTermDataGroup = forecastPowerShortTermRegulationList.stream().collect(Collectors.groupingBy(s->s.getTime().getTime()));
|
|
|
-
|
|
|
- Long momentTime = 15 * 60 * 1000L;
|
|
|
- for (Long tempTime = dayStartTime.getTime(); tempTime <= dayEndTime.getTime(); tempTime = tempTime + momentTime) {
|
|
|
- // 统计实际功率、可用、理论曲线
|
|
|
- if (powerStationStatusDataGroup.get(tempTime)!=null){
|
|
|
- // 对每个时间点的所有场站数据进行求和
|
|
|
- List<PowerStationStatusData> everyDataList = powerStationStatusDataGroup.get(tempTime);
|
|
|
- BigDecimal tempRealSum = BigDecimal.ZERO;
|
|
|
- BigDecimal tempAbleSum = BigDecimal.ZERO;
|
|
|
- BigDecimal tempTheorySum = BigDecimal.ZERO;
|
|
|
- for (PowerStationStatusData powerStationStatusData:everyDataList){
|
|
|
- BigDecimal realValue = powerStationStatusData.getRealValue();
|
|
|
- tempRealSum = tempRealSum.add(realValue);
|
|
|
- BigDecimal ableValue = powerStationStatusData.getAbleValue();
|
|
|
- tempAbleSum = tempAbleSum.add(ableValue);
|
|
|
- BigDecimal theoryValue = powerStationStatusData.getTheoryValue();
|
|
|
- tempTheorySum = tempTheorySum.add(theoryValue);
|
|
|
- }
|
|
|
- realList.add(tempRealSum);
|
|
|
- ableList.add(tempAbleSum);
|
|
|
- theoryList.add(tempTheorySum);
|
|
|
- }
|
|
|
- else{
|
|
|
- realList.add(null);
|
|
|
- ableList.add(null);
|
|
|
- theoryList.add(null);
|
|
|
- }
|
|
|
- // 统计超短期曲线
|
|
|
- if (utraShortTermStationDataGroup.get(tempTime)!=null){
|
|
|
- // 对每个时间点的所有场站数据进行求和
|
|
|
- List<ForecastPowerUltraShortTermRegulation> everyDataList = utraShortTermStationDataGroup.get(tempTime);
|
|
|
- BigDecimal tempCdqSum = BigDecimal.ZERO;
|
|
|
- for (ForecastPowerUltraShortTermRegulation forecastPowerUltraShortTermStation:everyDataList){
|
|
|
- BigDecimal cdqValue = forecastPowerUltraShortTermStation.getFpValue();
|
|
|
- tempCdqSum = tempCdqSum.add(cdqValue);
|
|
|
- }
|
|
|
- cdqList.add(tempCdqSum);
|
|
|
- }
|
|
|
- else{
|
|
|
- cdqList.add(null);
|
|
|
- }
|
|
|
- // 统计短期上报曲线
|
|
|
- if (shortTermDataGroup.get(tempTime)!=null){
|
|
|
- // 对每个时间点的所有场站数据进行求和
|
|
|
- List<ForecastPowerShortTermRegulation> everyDataList = shortTermDataGroup.get(tempTime);
|
|
|
- BigDecimal tempDqSum = BigDecimal.ZERO;
|
|
|
- for (ForecastPowerShortTermRegulation forecastPowerShortTermRegulation:everyDataList){
|
|
|
- BigDecimal dqValue = forecastPowerShortTermRegulation.getFpValue();
|
|
|
- tempDqSum = tempDqSum.add(dqValue);
|
|
|
- }
|
|
|
- dqList.add(tempDqSum);
|
|
|
- }
|
|
|
- else{
|
|
|
- dqList.add(null);
|
|
|
- }
|
|
|
- }
|
|
|
- // 定义曲线map
|
|
|
- Map curveMap = new HashMap();
|
|
|
- curveMap.put("realList",realList);
|
|
|
- curveMap.put("ableList",ableList);
|
|
|
- curveMap.put("theoryList",theoryList);
|
|
|
- sumMap.put("cdqSum",cdqSum);
|
|
|
- curveMap.put("cdqList",cdqList);
|
|
|
- sumMap.put("dqSum",dqSum);
|
|
|
- curveMap.put("dqList",dqList);
|
|
|
+ //////////////// 获取首页预测对比数据 ///////////////
|
|
|
+ Map<String,List> curveMap = getForecastContrast(forecastDay,forecastType);
|
|
|
bizDataMap.put("curveMap",curveMap);
|
|
|
|
|
|
- // 定义限电图map
|
|
|
- Map xdMap = new HashMap();
|
|
|
- // 总场站数
|
|
|
- xdMap.put("zczs",electricFieldList.size());
|
|
|
- // 限电场站数
|
|
|
- xdMap.put("xdczs",xdCount);
|
|
|
- // 限电比
|
|
|
- if (electricFieldList.size()==0){
|
|
|
- xdMap.put("xdbl","0");
|
|
|
- }
|
|
|
- else{
|
|
|
- xdMap.put("xdbl",new BigDecimal(xdCount).divide(new BigDecimal(electricFieldList.size()).multiply(new BigDecimal("100")),2, BigDecimal.ROUND_HALF_UP));
|
|
|
- }
|
|
|
- // 总场站容量
|
|
|
- BigDecimal totalCapacity = BigDecimal.ZERO;
|
|
|
- for (ElectricField electricField : electricFieldList) {
|
|
|
- totalCapacity = totalCapacity.add(electricField.getCapacity());
|
|
|
- }
|
|
|
- xdMap.put("totalCapacity",totalCapacity);
|
|
|
- bizDataMap.put("xdMap",xdMap);
|
|
|
+
|
|
|
|
|
|
|
|
|
return R.ok(bizDataMap);
|
|
@@ -436,20 +257,29 @@ public class LargeScreenController {
|
|
|
|
|
|
// 统计每天里所有电站发电量总和
|
|
|
if (shortTermDataGroup!=null){
|
|
|
- List<Map.Entry<String, List<DayPowerGeneration>>> sortedGrouped = new ArrayList<>(shortTermDataGroup.entrySet());
|
|
|
- sortedGrouped.sort(Map.Entry.comparingByKey());
|
|
|
- sortedGrouped.forEach(entry->{
|
|
|
- List<DayPowerGeneration> dayPowerGenerations = entry.getValue();
|
|
|
- BigDecimal sum = BigDecimal.ZERO;
|
|
|
- for (DayPowerGeneration dayPowerGeneration:dayPowerGenerations){
|
|
|
- sum = sum.add(dayPowerGeneration.getForecastPowerGeneration());
|
|
|
+ // 第二天
|
|
|
+ Calendar nextDate = Calendar.getInstance();
|
|
|
+ nextDate.add(Calendar.DAY_OF_MONTH, 1);
|
|
|
+ Calendar end10Date = Calendar.getInstance();
|
|
|
+ end10Date.add(Calendar.DAY_OF_MONTH, 10);
|
|
|
+ for (; nextDate.before(end10Date); nextDate.add(Calendar.DATE, 1)) {
|
|
|
+ String dateFormat = DateUtil.format(nextDate.getTime(),"yyyy-MM-dd");
|
|
|
+ xDataList.add(dateFormat.substring(5));
|
|
|
+ if (shortTermDataGroup.get(dateFormat)!=null){
|
|
|
+ List<DayPowerGeneration> dayPowerGenerations = shortTermDataGroup.get(dateFormat);
|
|
|
+ BigDecimal sum = BigDecimal.ZERO;
|
|
|
+ for (DayPowerGeneration dayPowerGeneration:dayPowerGenerations){
|
|
|
+ sum = sum.add(dayPowerGeneration.getForecastPowerGeneration());
|
|
|
+ }
|
|
|
+ pDataList.add(sum);
|
|
|
}
|
|
|
- // 封装每天发电总量
|
|
|
- xDataList.add(entry.getKey().substring(5));
|
|
|
- pDataList.add(sum);
|
|
|
- forecastGeneratingMap.put("xData",xDataList);
|
|
|
- forecastGeneratingMap.put("pData",pDataList);
|
|
|
- });
|
|
|
+ else{
|
|
|
+ pDataList.add(BigDecimal.ZERO);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ forecastGeneratingMap.put("xData",xDataList);
|
|
|
+ forecastGeneratingMap.put("pData",pDataList);
|
|
|
}
|
|
|
return forecastGeneratingMap;
|
|
|
}
|
|
@@ -654,4 +484,152 @@ public class LargeScreenController {
|
|
|
}
|
|
|
return R.ok(forecastWeatherDataMap);
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 首页功率曲线对比
|
|
|
+ * @param forecastDay
|
|
|
+ * @param forecastType
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @GetMapping("/forecastContrast")
|
|
|
+ public R forecastContrast(String forecastDay,String forecastType) {
|
|
|
+ Map<String,List> map = getForecastContrast(forecastDay,forecastType);
|
|
|
+ return R.ok(map);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取预测对比数据公共方法
|
|
|
+ * @param forecastDay
|
|
|
+ * @param forecastType
|
|
|
+ */
|
|
|
+ private Map<String,List> getForecastContrast(String forecastDay,String forecastType){
|
|
|
+ Date dayStartTime = DateTimeUtil.getDayStartTime(System.currentTimeMillis());
|
|
|
+ Date dayEndTime = null;
|
|
|
+ if ("day".equals(forecastDay)){
|
|
|
+ // 当日
|
|
|
+ dayEndTime = DateTimeUtil.getDayLastTime(System.currentTimeMillis());
|
|
|
+ }
|
|
|
+ else{
|
|
|
+ // 包含当天的才是10天
|
|
|
+ dayEndTime = DateUtil.offsetDay(new Date(), 9);
|
|
|
+ }
|
|
|
+
|
|
|
+ QueryWrapper wrapper = new QueryWrapper<>();
|
|
|
+ if ("wind".equals(forecastType)){
|
|
|
+ // 过滤出风场站
|
|
|
+ wrapper.eq("electric_field_type_enum", "E2");
|
|
|
+ }
|
|
|
+ else{
|
|
|
+ // 过滤出光场站
|
|
|
+ wrapper.eq("electric_field_type_enum", "E1");
|
|
|
+ }
|
|
|
+ List<ElectricField> list = electricFieldService.list(wrapper);
|
|
|
+ // 遍历获取场站nwp数据
|
|
|
+ List<String> stationCodeList = new ArrayList<>();
|
|
|
+ for (ElectricField electricField:list){
|
|
|
+ stationCodeList.add(electricField.getStationCode());
|
|
|
+ }
|
|
|
+
|
|
|
+ // 首页实际、可用、理论曲线图数组
|
|
|
+ List<Object> realList = new ArrayList<>();
|
|
|
+ List<Object> ableList = new ArrayList<>();
|
|
|
+ List<Object> theoryList = new ArrayList<>();
|
|
|
+ List<Object> cdqList = new ArrayList<>();
|
|
|
+ List<Object> dqList = new ArrayList<>();
|
|
|
+
|
|
|
+ if (!stationCodeList.isEmpty()){
|
|
|
+ // 查询实际功率、可用、理论
|
|
|
+ QueryWrapper<PowerStationStatusData> realQueryWrapper = new QueryWrapper<>();
|
|
|
+ realQueryWrapper.between("time",dayStartTime,dayEndTime);
|
|
|
+ realQueryWrapper.in("station_code", stationCodeList);
|
|
|
+ List<PowerStationStatusData> powerStationStatusDataList = powerStationStatusDataService.list(realQueryWrapper);
|
|
|
+ // 按场时间分组
|
|
|
+ Map<Long, List<PowerStationStatusData>> powerStationStatusDataGroup = powerStationStatusDataList.stream().collect(Collectors.groupingBy(s->s.getTime().getTime()));
|
|
|
+ // 获取超短期
|
|
|
+ String cdqHowLongAgo = configService.selectConfigByKey("cdqHowLongAgo");
|
|
|
+ QueryWrapper cdqysWrapper = new QueryWrapper<>();
|
|
|
+ cdqysWrapper.eq("forecast_how_long_ago", Integer.parseInt(cdqHowLongAgo));
|
|
|
+ cdqysWrapper.between("time", dayStartTime, dayEndTime);
|
|
|
+ cdqysWrapper.in("station_code", stationCodeList);
|
|
|
+ List<ForecastPowerUltraShortTermRegulation> forecastPowerUltraShortTermStationList = forecastPowerUltraShortTermRegulationService.list(cdqysWrapper);
|
|
|
+ // 按场时间分组
|
|
|
+ Map<Long, List<ForecastPowerUltraShortTermRegulation>> utraShortTermStationDataGroup = forecastPowerUltraShortTermStationList.stream().collect(Collectors.groupingBy(s->s.getTime().getTime()));
|
|
|
+
|
|
|
+ // 获取短期上报
|
|
|
+ String dqHowLongAgo = configService.selectConfigByKey("dqHowLongAgo");
|
|
|
+ QueryWrapper dqsbWrapper = new QueryWrapper<>();
|
|
|
+ dqsbWrapper.eq("forecast_how_long_ago", Integer.parseInt(dqHowLongAgo));
|
|
|
+ dqsbWrapper.between("time", dayStartTime, dayEndTime);
|
|
|
+ dqsbWrapper.in("station_code", stationCodeList);
|
|
|
+ List<ForecastPowerShortTermRegulation> forecastPowerShortTermRegulationList = forecastPowerShortTermRegulationService.list(dqsbWrapper);
|
|
|
+ // 按场时间分组
|
|
|
+ Map<Long, List<ForecastPowerShortTermRegulation>> shortTermDataGroup = forecastPowerShortTermRegulationList.stream().collect(Collectors.groupingBy(s->s.getTime().getTime()));
|
|
|
+
|
|
|
+ Long momentTime = 15 * 60 * 1000L;
|
|
|
+ for (Long tempTime = dayStartTime.getTime(); tempTime <= dayEndTime.getTime(); tempTime = tempTime + momentTime) {
|
|
|
+ // 统计实际功率、可用、理论曲线
|
|
|
+ if (powerStationStatusDataGroup.get(tempTime)!=null){
|
|
|
+ // 对每个时间点的所有场站数据进行求和
|
|
|
+ List<PowerStationStatusData> everyDataList = powerStationStatusDataGroup.get(tempTime);
|
|
|
+ BigDecimal tempRealSum = BigDecimal.ZERO;
|
|
|
+ BigDecimal tempAbleSum = BigDecimal.ZERO;
|
|
|
+ BigDecimal tempTheorySum = BigDecimal.ZERO;
|
|
|
+ for (PowerStationStatusData powerStationStatusData:everyDataList){
|
|
|
+ BigDecimal realValue = powerStationStatusData.getRealValue();
|
|
|
+ tempRealSum = tempRealSum.add(realValue);
|
|
|
+ BigDecimal ableValue = powerStationStatusData.getAbleValue();
|
|
|
+ tempAbleSum = tempAbleSum.add(ableValue);
|
|
|
+ BigDecimal theoryValue = powerStationStatusData.getTheoryValue();
|
|
|
+ tempTheorySum = tempTheorySum.add(theoryValue);
|
|
|
+ }
|
|
|
+ realList.add(tempRealSum);
|
|
|
+ ableList.add(tempAbleSum);
|
|
|
+ theoryList.add(tempTheorySum);
|
|
|
+ }
|
|
|
+ else{
|
|
|
+ realList.add(null);
|
|
|
+ ableList.add(null);
|
|
|
+ theoryList.add(null);
|
|
|
+ }
|
|
|
+ // 统计超短期曲线
|
|
|
+ if (utraShortTermStationDataGroup.get(tempTime)!=null){
|
|
|
+ // 对每个时间点的所有场站数据进行求和
|
|
|
+ List<ForecastPowerUltraShortTermRegulation> everyDataList = utraShortTermStationDataGroup.get(tempTime);
|
|
|
+ BigDecimal tempCdqSum = BigDecimal.ZERO;
|
|
|
+ for (ForecastPowerUltraShortTermRegulation forecastPowerUltraShortTermStation:everyDataList){
|
|
|
+ BigDecimal cdqValue = forecastPowerUltraShortTermStation.getFpValue();
|
|
|
+ tempCdqSum = tempCdqSum.add(cdqValue);
|
|
|
+ }
|
|
|
+ cdqList.add(tempCdqSum);
|
|
|
+ }
|
|
|
+ else{
|
|
|
+ cdqList.add(null);
|
|
|
+ }
|
|
|
+ // 统计短期上报曲线
|
|
|
+ if (shortTermDataGroup.get(tempTime)!=null){
|
|
|
+ // 对每个时间点的所有场站数据进行求和
|
|
|
+ List<ForecastPowerShortTermRegulation> everyDataList = shortTermDataGroup.get(tempTime);
|
|
|
+ BigDecimal tempDqSum = BigDecimal.ZERO;
|
|
|
+ for (ForecastPowerShortTermRegulation forecastPowerShortTermRegulation:everyDataList){
|
|
|
+ BigDecimal dqValue = forecastPowerShortTermRegulation.getFpValue();
|
|
|
+ tempDqSum = tempDqSum.add(dqValue);
|
|
|
+ }
|
|
|
+ dqList.add(tempDqSum);
|
|
|
+ }
|
|
|
+ else{
|
|
|
+ dqList.add(null);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 定义曲线map
|
|
|
+ Map<String,List> curveMap = new HashMap();
|
|
|
+ curveMap.put("realList",realList);
|
|
|
+ curveMap.put("ableList",ableList);
|
|
|
+ curveMap.put("theoryList",theoryList);
|
|
|
+ curveMap.put("cdqList",cdqList);
|
|
|
+ curveMap.put("dqList",dqList);
|
|
|
+
|
|
|
+ return curveMap;
|
|
|
+ }
|
|
|
}
|