|
@@ -401,168 +401,194 @@ public class ComprehensiveelectricityService {
|
|
|
|
|
|
|
|
|
for (ProBasicPowerstation wp : wpls) {
|
|
|
- //当前场站本年循环所有指标取值集合
|
|
|
+ //添加各指标
|
|
|
+ ComprehensiveVo vo = new ComprehensiveVo();
|
|
|
|
|
|
- double rfdlsj = 0.0;
|
|
|
- List<StationInfoDay> zbls = iStationInfoDayService.getmax(wp.getId(), firstDayZeroHour);
|
|
|
- List<StationInfoDay> tbzbls = iStationInfoDayService.getmax(wp.getId(), tbjssj);
|
|
|
- List<StationInfoDay> hbzbls = iStationInfoDayService.getmax(wp.getId(), hbjssj);
|
|
|
+ if (i > currentMonth) {
|
|
|
+ vo.setHours(i);
|
|
|
+ vo.setSjdl(0.0);
|
|
|
+ vo.setSjdltb(0.0);
|
|
|
+ vo.setSjdlhb(0.0);
|
|
|
+ vo.setGwdl(0.0);
|
|
|
+ vo.setGwdltb(0.0);
|
|
|
+ vo.setGwdlhb(0.0);
|
|
|
+ vo.setSwdl(0.0);
|
|
|
+ vo.setSwdltb(0.0);
|
|
|
+ vo.setSwdlhb(0.0);
|
|
|
+ vo.setZhcydl(0.0);
|
|
|
+ vo.setZhcydltb(0.0);
|
|
|
+ vo.setZhcydlhb(0.0);
|
|
|
+ vo.setZhcydll(0.0);
|
|
|
+ vo.setZhcydlltb(0.0);
|
|
|
+ vo.setZhcydllhb(0.0);
|
|
|
+ vos.add(vo);
|
|
|
+ SortUtils.sort(vos, "hours", SortUtils.ASC);
|
|
|
+ map.put("value", vos);
|
|
|
+ } else {
|
|
|
+ //当前场站本年循环所有指标取值集合
|
|
|
+
|
|
|
+ double rfdlsj = 0.0;
|
|
|
+// List<StationInfoDay> zbls = iStationInfoDayService.getmax(wp.getId(), firstDayZeroHour);
|
|
|
+// List<StationInfoDay> tbzbls = iStationInfoDayService.getmax(wp.getId(), tbjssj);
|
|
|
+// List<StationInfoDay> hbzbls = iStationInfoDayService.getmax(wp.getId(), hbjssj);
|
|
|
+
|
|
|
+ List<StationInfoDay> zbls = iStationInfoDayService.getSum(wp.getId(), firstDayZeroHour);
|
|
|
+ List<StationInfoDay> tbzbls = iStationInfoDayService.getSum(wp.getId(), tbjssj);
|
|
|
+ List<StationInfoDay> hbzbls = iStationInfoDayService.getSum(wp.getId(), hbjssj);
|
|
|
+
|
|
|
+
|
|
|
+ ProBasicPowerstationPoint rfdlvalue = proBasicPowerstationPointService.getPowerstationPoint(wp.getId(), ContantXk.RFDL);
|
|
|
+ rfdlsj = edosUtil.getRealData(rfdlvalue).getPointValueInDouble();
|
|
|
+
|
|
|
+ if (!zbls.isEmpty() && zbls != null) {
|
|
|
+ //综合场用电量取值
|
|
|
+ zhcydl = zbls.get(0).getZhcydl().doubleValue();
|
|
|
+ zhcydlsum += zhcydl;
|
|
|
+ //发电量取值
|
|
|
+ if (calFirstMonth == currentMonth && currentyear == dqnf) {
|
|
|
+ // sjdl = (zbls.get(0).getYfdldb().doubleValue() / 10000) + (rfdlsj / 10000);
|
|
|
+ sjdl = (zbls.get(0).getRfdlFj().doubleValue());
|
|
|
+ } else {
|
|
|
+ sjdl = zbls.get(0).getRfdlFj().doubleValue();
|
|
|
+ }
|
|
|
+ sjdlsum += sjdl;
|
|
|
+
|
|
|
+ //上网电量取值
|
|
|
+ swdl = zbls.get(0).getSwdl().doubleValue();
|
|
|
+ swdlsum += swdl;
|
|
|
+ //购网电量取值
|
|
|
+ gwdl = zbls.get(0).getGwdl().doubleValue();
|
|
|
+ gwdlsum += gwdl;
|
|
|
+ //综合场用电率计算 —— 综合场用电率=(发电量-上网电量+购网电量)/发电量
|
|
|
+ if (sjdl != 0) {
|
|
|
+ zhcydll = (sjdl - swdl + gwdl) / sjdl;
|
|
|
+ } else {
|
|
|
+ zhcydll = (sjdl - swdl + gwdl) / 1;
|
|
|
+ }
|
|
|
+ zhcydllsum += zhcydll;
|
|
|
+ }
|
|
|
+ if (!tbzbls.isEmpty() && tbzbls != null) {
|
|
|
+ zhcydltb = tbzbls.get(0).getZhcydl().doubleValue();
|
|
|
+ sjdltb = tbzbls.get(0).getRfdlFj().doubleValue();
|
|
|
+ swdltb = tbzbls.get(0).getSwdl().doubleValue();
|
|
|
+ gwdltb = tbzbls.get(0).getGwdl().doubleValue();
|
|
|
+ if (sjdltb != 0) {
|
|
|
+ zhcydlltb = (sjdltb - swdltb + gwdltb) / sjdltb;
|
|
|
+ } else {
|
|
|
+ zhcydlltb = (sjdltb - swdltb + gwdltb) / 1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (!hbzbls.isEmpty() && hbzbls != null) {
|
|
|
+ zhcydlhb = hbzbls.get(0).getZhcydl().doubleValue();
|
|
|
+ sjdlhb = hbzbls.get(0).getRfdlFj().doubleValue();
|
|
|
+ swdlhb = hbzbls.get(0).getSwdl().doubleValue();
|
|
|
+ gwdlhb = hbzbls.get(0).getGwdl().doubleValue();
|
|
|
+ if (sjdlhb != 0) {
|
|
|
+ zhcydllhb = (sjdlhb - swdlhb + gwdlhb) / sjdlhb;
|
|
|
+ } else {
|
|
|
+ zhcydllhb = (sjdlhb - swdlhb + gwdlhb) / 1;
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
|
|
|
- ProBasicPowerstationPoint rfdlvalue = proBasicPowerstationPointService.getPowerstationPoint(wp.getId(), ContantXk.RFDL);
|
|
|
- rfdlsj = edosUtil.getRealData(rfdlvalue).getPointValueInDouble();
|
|
|
-
|
|
|
- if (!zbls.isEmpty() && zbls != null) {
|
|
|
- //综合场用电量取值
|
|
|
- zhcydl = zbls.get(0).getZhcydl().doubleValue();
|
|
|
- zhcydlsum += zhcydl;
|
|
|
- //发电量取值
|
|
|
- if (calFirstMonth == currentMonth && currentyear == dqnf) {
|
|
|
- // sjdl = (zbls.get(0).getYfdldb().doubleValue() / 10000) + (rfdlsj / 10000);
|
|
|
- sjdl = (zbls.get(0).getRfdlFj().doubleValue() );
|
|
|
+ //添加综合厂用电量数据
|
|
|
+ vo.setZhcydl(StringUtils.round(zhcydl / 1000, 2));
|
|
|
+ if (zhcydltb != 0) {
|
|
|
+ // vo.setZhcydltb(StringUtils.round((zhcydl - zhcydltb) / zhcydltb * 100, 0));
|
|
|
+ vo.setZhcydltb(StringUtils.round(zhcydltb / 1000, 2));
|
|
|
} else {
|
|
|
- sjdl = zbls.get(0).getRfdlFj().doubleValue();
|
|
|
+ vo.setZhcydltb(0.0);
|
|
|
}
|
|
|
- sjdlsum += sjdl;
|
|
|
|
|
|
- //上网电量取值
|
|
|
- swdl = zbls.get(0).getSwdl().doubleValue();
|
|
|
- swdlsum += swdl;
|
|
|
- //购网电量取值
|
|
|
- gwdl = zbls.get(0).getGwdl().doubleValue();
|
|
|
- gwdlsum += gwdl;
|
|
|
- //综合场用电率计算 —— 综合场用电率=(发电量-上网电量+购网电量)/发电量
|
|
|
- if (sjdl != 0) {
|
|
|
- zhcydll = (sjdl - swdl + gwdl) / sjdl;
|
|
|
+ if (zhcydlhb != 0) {
|
|
|
+ // vo.setZhcydlhb(StringUtils.round((zhcydl - zhcydlhb) / zhcydlhb * 100, 0));
|
|
|
+ vo.setZhcydlhb(StringUtils.round(zhcydlhb / 1000, 2));
|
|
|
} else {
|
|
|
- zhcydll = (sjdl - swdl + gwdl) / 1;
|
|
|
+ vo.setZhcydlhb(0.0);
|
|
|
}
|
|
|
- zhcydllsum += zhcydll;
|
|
|
- }
|
|
|
- if (!tbzbls.isEmpty() && tbzbls != null) {
|
|
|
- zhcydltb = tbzbls.get(0).getZhcydl().doubleValue();
|
|
|
- sjdltb = tbzbls.get(0).getRfdlFj().doubleValue();
|
|
|
- swdltb = tbzbls.get(0).getSwdl().doubleValue();
|
|
|
- gwdltb = tbzbls.get(0).getGwdl().doubleValue();
|
|
|
+
|
|
|
+ //添加时间戳
|
|
|
+ vo.setHours(i);
|
|
|
+
|
|
|
+ //添加实际电量数据
|
|
|
+ vo.setSjdl(StringUtils.round(sjdl / 1000, 2));
|
|
|
+
|
|
|
if (sjdltb != 0) {
|
|
|
- zhcydlltb = (sjdltb - swdltb + gwdltb) / sjdltb;
|
|
|
+ // vo.setSjdltb(StringUtils.round((sjdl - sjdltb) / sjdltb * 100, 0));
|
|
|
+ vo.setSjdltb(StringUtils.round(sjdltb / 1000, 2));
|
|
|
} else {
|
|
|
- zhcydlltb = (sjdltb - swdltb + gwdltb) / 1;
|
|
|
+ vo.setSjdltb(0.0);
|
|
|
}
|
|
|
- }
|
|
|
- if (!hbzbls.isEmpty() && hbzbls != null) {
|
|
|
- zhcydlhb = hbzbls.get(0).getZhcydl().doubleValue();
|
|
|
- sjdlhb = hbzbls.get(0).getRfdlFj().doubleValue();
|
|
|
- swdlhb = hbzbls.get(0).getSwdl().doubleValue();
|
|
|
- gwdlhb = hbzbls.get(0).getGwdl().doubleValue();
|
|
|
if (sjdlhb != 0) {
|
|
|
- zhcydllhb = (sjdlhb - swdlhb + gwdlhb) / sjdlhb;
|
|
|
+ // vo.setSjdlhb(StringUtils.round((sjdl - sjdlhb) / sjdlhb * 100, 0));
|
|
|
+ vo.setSjdlhb(StringUtils.round(sjdlhb / 1000, 2));
|
|
|
} else {
|
|
|
- zhcydllhb = (sjdlhb - swdlhb + gwdlhb) / 1;
|
|
|
+ vo.setSjdlhb(0.0);
|
|
|
}
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- //添加各指标
|
|
|
- ComprehensiveVo vo = new ComprehensiveVo();
|
|
|
-
|
|
|
- //添加综合厂用电量数据
|
|
|
- vo.setZhcydl(StringUtils.round(zhcydl, 2));
|
|
|
- if (zhcydltb != 0) {
|
|
|
- // vo.setZhcydltb(StringUtils.round((zhcydl - zhcydltb) / zhcydltb * 100, 0));
|
|
|
- vo.setZhcydltb(StringUtils.round(zhcydltb, 2));
|
|
|
- } else {
|
|
|
- vo.setZhcydltb(0.0);
|
|
|
- }
|
|
|
|
|
|
- if (zhcydlhb != 0) {
|
|
|
- // vo.setZhcydlhb(StringUtils.round((zhcydl - zhcydlhb) / zhcydlhb * 100, 0));
|
|
|
- vo.setZhcydlhb(StringUtils.round(zhcydlhb, 2));
|
|
|
- } else {
|
|
|
- vo.setZhcydlhb(0.0);
|
|
|
- }
|
|
|
-
|
|
|
- //添加时间戳
|
|
|
- vo.setHours(i);
|
|
|
-
|
|
|
- //添加实际电量数据
|
|
|
- vo.setSjdl(StringUtils.round(sjdl, 2));
|
|
|
-
|
|
|
- if (sjdltb != 0) {
|
|
|
- // vo.setSjdltb(StringUtils.round((sjdl - sjdltb) / sjdltb * 100, 0));
|
|
|
- vo.setSjdltb(StringUtils.round(sjdltb, 2));
|
|
|
- } else {
|
|
|
- vo.setSjdltb(0.0);
|
|
|
- }
|
|
|
- if (sjdlhb != 0) {
|
|
|
- // vo.setSjdlhb(StringUtils.round((sjdl - sjdlhb) / sjdlhb * 100, 0));
|
|
|
- vo.setSjdlhb(StringUtils.round(sjdlhb, 2));
|
|
|
- } else {
|
|
|
- vo.setSjdlhb(0.0);
|
|
|
- }
|
|
|
+ //添加上网电量数据
|
|
|
+ vo.setSwdl(StringUtils.round(swdl / 1000, 2));
|
|
|
+ if (swdltb != 0) {
|
|
|
+ // vo.setSwdltb(StringUtils.round((swdl - swdltb) / swdltb * 100, 0));
|
|
|
+ vo.setSwdltb(StringUtils.round(swdltb / 1000, 2));
|
|
|
+ } else {
|
|
|
+ vo.setSwdltb(0.0);
|
|
|
+ }
|
|
|
+ if (swdlhb != 0) {
|
|
|
+ // vo.setSwdlhb(StringUtils.round((swdl - swdlhb) / swdlhb * 100, 0));
|
|
|
+ vo.setSwdlhb(StringUtils.round(swdlhb / 1000, 2));
|
|
|
+ } else {
|
|
|
+ vo.setSwdlhb(0.0);
|
|
|
+ }
|
|
|
|
|
|
- //添加上网电量数据
|
|
|
- vo.setSwdl(StringUtils.round(swdl, 2));
|
|
|
- if (swdltb != 0) {
|
|
|
- // vo.setSwdltb(StringUtils.round((swdl - swdltb) / swdltb * 100, 0));
|
|
|
- vo.setSwdltb(StringUtils.round(swdltb, 2));
|
|
|
- } else {
|
|
|
- vo.setSwdltb(0.0);
|
|
|
- }
|
|
|
- if (swdlhb != 0) {
|
|
|
- // vo.setSwdlhb(StringUtils.round((swdl - swdlhb) / swdlhb * 100, 0));
|
|
|
- vo.setSwdlhb(StringUtils.round(swdlhb, 2));
|
|
|
- } else {
|
|
|
- vo.setSwdlhb(0.0);
|
|
|
- }
|
|
|
+ //添加购网电量数据
|
|
|
+ vo.setGwdl(StringUtils.round(gwdl / 1000, 2));
|
|
|
+ if (gwdltb != 0) {
|
|
|
+ // vo.setGwdltb(StringUtils.round((gwdl - gwdltb) / gwdltb * 100, 0));
|
|
|
+ vo.setGwdltb(StringUtils.round(gwdltb / 1000, 2));
|
|
|
+ } else {
|
|
|
+ vo.setGwdltb(0.0);
|
|
|
+ }
|
|
|
|
|
|
- //添加购网电量数据
|
|
|
- vo.setGwdl(StringUtils.round(gwdl, 2));
|
|
|
- if (gwdltb != 0) {
|
|
|
- // vo.setGwdltb(StringUtils.round((gwdl - gwdltb) / gwdltb * 100, 0));
|
|
|
- vo.setGwdltb(StringUtils.round(gwdltb, 2));
|
|
|
- } else {
|
|
|
- vo.setGwdltb(0.0);
|
|
|
- }
|
|
|
+ if (gwdlhb != 0) {
|
|
|
+ // vo.setGwdlhb(StringUtils.round((gwdl - gwdlhb) / gwdlhb * 100, 0));
|
|
|
+ vo.setGwdlhb(StringUtils.round(gwdlhb / 1000, 2));
|
|
|
+ } else {
|
|
|
+ vo.setGwdlhb(0.0);
|
|
|
+ }
|
|
|
|
|
|
- if (gwdlhb != 0) {
|
|
|
- // vo.setGwdlhb(StringUtils.round((gwdl - gwdlhb) / gwdlhb * 100, 0));
|
|
|
- vo.setGwdlhb(StringUtils.round(gwdlhb, 2));
|
|
|
- } else {
|
|
|
- vo.setGwdlhb(0.0);
|
|
|
- }
|
|
|
+ //添加综合厂用电率数据
|
|
|
+ vo.setZhcydll(StringUtils.round(zhcydll * 100, 0));
|
|
|
|
|
|
- //添加综合厂用电率数据
|
|
|
- vo.setZhcydll(StringUtils.round(zhcydll * 100, 0));
|
|
|
+ if (zhcydlltb != 0) {
|
|
|
+ // vo.setZhcydlltb(StringUtils.round((zhcydll - zhcydlltb) / zhcydlltb * 100, 0));
|
|
|
+ vo.setZhcydlltb(StringUtils.round(zhcydlltb, 2));
|
|
|
+ } else {
|
|
|
+ vo.setZhcydlltb(0.0);
|
|
|
+ }
|
|
|
|
|
|
- if (zhcydlltb != 0) {
|
|
|
- // vo.setZhcydlltb(StringUtils.round((zhcydll - zhcydlltb) / zhcydlltb * 100, 0));
|
|
|
- vo.setZhcydlltb(StringUtils.round(zhcydlltb, 2));
|
|
|
- } else {
|
|
|
- vo.setZhcydlltb(0.0);
|
|
|
- }
|
|
|
+ if (zhcydllhb != 0) {
|
|
|
+ // vo.setZhcydllhb(StringUtils.round((zhcydll - zhcydllhb) / zhcydllhb * 100, 0));
|
|
|
+ vo.setZhcydllhb(StringUtils.round(zhcydllhb, 2));
|
|
|
+ } else {
|
|
|
+ vo.setZhcydllhb(0.0);
|
|
|
+ }
|
|
|
+ vos.add(vo);
|
|
|
+ SortUtils.sort(vos, "hours", SortUtils.ASC);
|
|
|
+ map.put("value", vos);
|
|
|
|
|
|
- if (zhcydllhb != 0) {
|
|
|
- // vo.setZhcydllhb(StringUtils.round((zhcydll - zhcydllhb) / zhcydllhb * 100, 0));
|
|
|
- vo.setZhcydllhb(StringUtils.round(zhcydllhb, 2));
|
|
|
- } else {
|
|
|
- vo.setZhcydllhb(0.0);
|
|
|
}
|
|
|
- vos.add(vo);
|
|
|
- SortUtils.sort(vos, "hours", SortUtils.ASC);
|
|
|
- map.put("value", vos);
|
|
|
-
|
|
|
+ firstDayZeroHour = DateUtils.addMonths(firstDayZeroHour, 1);
|
|
|
+ calFirstDayZeroHour.setTime(firstDayZeroHour);
|
|
|
+ calFirstMonth = calFirstDayZeroHour.get(Calendar.MONTH) + 1;
|
|
|
+ hbjssj = DateUtils.addMonths(hbjssj, 1);
|
|
|
+ tbjssj = DateUtils.addMonths(tbjssj, 1);
|
|
|
}
|
|
|
- firstDayZeroHour = DateUtils.addMonths(firstDayZeroHour, 1);
|
|
|
- calFirstDayZeroHour.setTime(firstDayZeroHour);
|
|
|
- calFirstMonth = calFirstDayZeroHour.get(Calendar.MONTH) + 1;
|
|
|
- hbjssj = DateUtils.addMonths(hbjssj, 1);
|
|
|
- tbjssj = DateUtils.addMonths(tbjssj, 1);
|
|
|
}
|
|
|
- map.put("zhcydlsum", StringUtils.round(zhcydlsum, 2));
|
|
|
- map.put("sjdlsum", StringUtils.round(sjdlsum, 2));
|
|
|
- map.put("swdlsum", StringUtils.round(swdlsum, 2));
|
|
|
- map.put("gwdlsum", StringUtils.round(gwdlsum, 2));
|
|
|
+ map.put("zhcydlsum", StringUtils.round(zhcydlsum / 1000, 2));
|
|
|
+ map.put("sjdlsum", StringUtils.round(sjdlsum / 1000, 2));
|
|
|
+ map.put("swdlsum", StringUtils.round(swdlsum / 1000, 2));
|
|
|
+ map.put("gwdlsum", StringUtils.round(gwdlsum / 1000, 2));
|
|
|
map.put("zhcydllsum", StringUtils.round(zhcydllsum * 100, 0));
|
|
|
|
|
|
return map;
|