|
@@ -149,4 +149,137 @@ public class GetPowerStationInfoById {
|
|
|
return meterVO;
|
|
|
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ public List<MeterVO> getMeterInfoGDC_Day(String id) {
|
|
|
+ //根据id传过来的code,拿到场站的nem_code
|
|
|
+ PowerStation powerStation = powerStationService.getOne(new QueryWrapper<PowerStation>().eq("code", id));
|
|
|
+ String nemCode = powerStation.getNemCode();
|
|
|
+
|
|
|
+ //当前时间
|
|
|
+ DateTime now = DateTime.now();
|
|
|
+ //当月开始时间
|
|
|
+ DateTime beginOfMonth = DateUtil.beginOfMonth(now);
|
|
|
+ //当月第几天
|
|
|
+ int days = DateUtil.dayOfMonth(now);
|
|
|
+
|
|
|
+ //创建一个MeterInfoVO的list集合
|
|
|
+ List<MeterVO> list = new ArrayList<>();
|
|
|
+
|
|
|
+ //循环遍历每一天,取每天的数据
|
|
|
+ for (int i = 1; i <= days; i++) {
|
|
|
+ //开始时间
|
|
|
+ DateTime dateTime1 = DateUtil.offsetDay(beginOfMonth, i - 1);
|
|
|
+
|
|
|
+ //根据时间和code查询光场日发电量,日上网电量
|
|
|
+ MeterInfoCalculating oneFDL = meterInfoCalculatingService.getOne(new QueryWrapper<MeterInfoCalculating>()
|
|
|
+ .likeLeft("code", "_GFJDXLFDL_P0")
|
|
|
+ .eq("date", dateTime1)
|
|
|
+ .eq("windpowerstation_id", nemCode));
|
|
|
+ MeterInfoCalculating oneSWDL= meterInfoCalculatingService.getOne(new QueryWrapper<MeterInfoCalculating>()
|
|
|
+ .likeLeft("code", "_GFSWDL_P0")
|
|
|
+ .eq("date", dateTime1)
|
|
|
+ .eq("windpowerstation_id", nemCode));
|
|
|
+
|
|
|
+ BigDecimal rfdl = BigDecimal.valueOf(0);
|
|
|
+ BigDecimal rswdl = BigDecimal.valueOf(0);
|
|
|
+ BigDecimal rgwdl = BigDecimal.valueOf(0);
|
|
|
+ BigDecimal speed = BigDecimal.valueOf(0);
|
|
|
+
|
|
|
+ if (oneFDL != null) {
|
|
|
+ rfdl = oneFDL.getValue();
|
|
|
+ }
|
|
|
+ if (oneSWDL != null) {
|
|
|
+ rswdl = oneSWDL.getValue();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ MeterVO meterVO = new MeterVO();
|
|
|
+ meterVO.setTimestr(String.valueOf(i));
|
|
|
+ meterVO.setDate(dateTime1);
|
|
|
+ meterVO.setValue1(rfdl);
|
|
|
+ meterVO.setValue2(rswdl);
|
|
|
+ meterVO.setValue3(rgwdl.divide(BigDecimal.valueOf(10000), 4, RoundingMode.HALF_EVEN));
|
|
|
+ meterVO.setSpeed(speed);
|
|
|
+
|
|
|
+ list.add(meterVO);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ return list;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ public MeterVO getMeterInfoGDCFDL_DayMonthYear(String id) {
|
|
|
+
|
|
|
+ //根据id传过来的code,拿到nem_code
|
|
|
+ PowerStation onePowerStation = powerStationService.getOne(new QueryWrapper<PowerStation>().eq("code", id));
|
|
|
+ String nemCode = onePowerStation.getNemCode();
|
|
|
+
|
|
|
+ //当前时间
|
|
|
+ DateTime now = DateTime.now();
|
|
|
+ //当天开始时间
|
|
|
+ DateTime beginOfDay = DateUtil.beginOfDay(now);
|
|
|
+ //当月开始时间
|
|
|
+ DateTime beginOfMonth = DateUtil.beginOfMonth(now);
|
|
|
+ //当年开始时间
|
|
|
+ DateTime beginOfYear = DateUtil.beginOfYear(now);
|
|
|
+
|
|
|
+
|
|
|
+ //根据时间场站ID和code查询各个光场日发电量,月发电量,年发电量,日上网电量
|
|
|
+ MeterInfoCalculating dayFDL = meterInfoCalculatingService.getOne(new QueryWrapper<MeterInfoCalculating>()
|
|
|
+ .likeLeft("code", "_GFJDXLFDL_P0")
|
|
|
+ .eq("date", beginOfDay)
|
|
|
+ .eq("windpowerstation_id", nemCode));
|
|
|
+ MeterInfoCalculating monthFDL = meterInfoCalculatingService.getOne(new QueryWrapper<MeterInfoCalculating>().like("code", "%_POWERSTATIONFDL_MONTH").eq("date", beginOfMonth).eq("windpowerstation_id", nemCode));
|
|
|
+ MeterInfoCalculating yearFDL = meterInfoCalculatingService.getOne(new QueryWrapper<MeterInfoCalculating>().like("code", "%_POWERSTATIONFDL_YEAR").eq("date", beginOfYear).eq("windpowerstation_id", nemCode));
|
|
|
+ MeterInfoCalculating oneSWDL= meterInfoCalculatingService.getOne(new QueryWrapper<MeterInfoCalculating>()
|
|
|
+ .likeLeft("code", "_GFSWDL_P0")
|
|
|
+ .eq("date", beginOfDay)
|
|
|
+ .eq("windpowerstation_id", nemCode));
|
|
|
+
|
|
|
+ //装机容量
|
|
|
+ List<PowerStation> windCapacity = powerStationService.list(new QueryWrapper<PowerStation>().eq("nem_code", nemCode));
|
|
|
+ BigDecimal zjrl = BigDecimal.valueOf(0);
|
|
|
+ if (null != windCapacity) {
|
|
|
+ for (PowerStation powerStation : windCapacity) {
|
|
|
+ zjrl = zjrl.add(powerStation.getCapacity());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ BigDecimal rfdl = BigDecimal.valueOf(0);
|
|
|
+ BigDecimal yfdl = BigDecimal.valueOf(0);
|
|
|
+ BigDecimal nfdl = BigDecimal.valueOf(0);
|
|
|
+ BigDecimal rswdl = BigDecimal.valueOf(0);
|
|
|
+ BigDecimal ylyxs = BigDecimal.valueOf(0);
|
|
|
+ BigDecimal nlyxs = BigDecimal.valueOf(0);
|
|
|
+
|
|
|
+ if (dayFDL != null) {
|
|
|
+ rfdl = dayFDL.getValue();
|
|
|
+ }
|
|
|
+ if (monthFDL != null) {
|
|
|
+ yfdl = monthFDL.getValue();
|
|
|
+ ylyxs=yfdl.multiply(BigDecimal.valueOf(10)).divide(zjrl, 2,RoundingMode.HALF_EVEN);
|
|
|
+ }
|
|
|
+ if (yearFDL != null) {
|
|
|
+ nfdl = yearFDL.getValue();
|
|
|
+ nlyxs=nfdl.multiply(BigDecimal.valueOf(10)).divide(zjrl, 2,RoundingMode.HALF_EVEN);
|
|
|
+ }
|
|
|
+ if (oneSWDL != null) {
|
|
|
+ rswdl = oneSWDL.getValue();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ MeterVO meterVO = new MeterVO();
|
|
|
+ meterVO.setRfdl(rfdl);
|
|
|
+ meterVO.setYfdl(yfdl);
|
|
|
+ meterVO.setNfdl(nfdl);
|
|
|
+ meterVO.setSwdl(rswdl);
|
|
|
+ meterVO.setZjrl(zjrl);
|
|
|
+ meterVO.setYlyxs(ylyxs);
|
|
|
+ meterVO.setNlyxs(nlyxs);
|
|
|
+ return meterVO;
|
|
|
+
|
|
|
+ }
|
|
|
}
|