|
@@ -0,0 +1,775 @@
|
|
|
+package com.gyee.gaia.meter.service.meterinfo;
|
|
|
+
|
|
|
+import cn.hutool.core.date.DateTime;
|
|
|
+import cn.hutool.core.date.DateUtil;
|
|
|
+import cn.hutool.core.date.LocalDateTimeUtil;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
+import com.gyee.gaia.meter.entity.MeterInfoBottomcode;
|
|
|
+import com.gyee.gaia.meter.entity.MeterInfoCalculating;
|
|
|
+import com.gyee.gaia.meter.entity.MeterPoint;
|
|
|
+import com.gyee.gaia.meter.service.impl.MeterInfoBottomcodeServiceImpl;
|
|
|
+import com.gyee.gaia.meter.service.impl.MeterInfoCalculatingServiceImpl;
|
|
|
+import com.gyee.gaia.meter.service.impl.MeterPointServiceImpl;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+
|
|
|
+import javax.annotation.Resource;
|
|
|
+import java.math.BigDecimal;
|
|
|
+import java.math.RoundingMode;
|
|
|
+import java.time.LocalDateTime;
|
|
|
+import java.time.temporal.ChronoUnit;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+/**
|
|
|
+ * Author: malijun
|
|
|
+ * Data : 2023: 05: 19
|
|
|
+ **/
|
|
|
+@Service
|
|
|
+public class SaveFDL_Day_Month_Year {
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ MeterInfoCalculatingServiceImpl meterInfoCalculatingService;
|
|
|
+ @Resource
|
|
|
+ MeterPointServiceImpl meterPointService;
|
|
|
+ @Resource
|
|
|
+ MeterInfoBottomcodeServiceImpl meterInfoBottomcodeService;
|
|
|
+
|
|
|
+
|
|
|
+ void saveLineFdl_Month() {
|
|
|
+
|
|
|
+ List<MeterPoint> meterPointList = meterPointService.list(new QueryWrapper<MeterPoint>().eq("property", "JSD_LINEFDL_MONTH"));
|
|
|
+ for (MeterPoint meterPoint : meterPointList) {
|
|
|
+ System.out.println(meterPoint.getName() + ":" + meterPoint);
|
|
|
+
|
|
|
+
|
|
|
+ //设置取值开始时间
|
|
|
+ String startString = DateUtil.now();
|
|
|
+ DateTime nowDateTime = DateUtil.parse(startString);
|
|
|
+ DateTime startDateTime = DateUtil.beginOfMonth(DateUtil.parse(startString));
|
|
|
+
|
|
|
+ //开始日期到结束日期的天数
|
|
|
+ LocalDateTime day1 = LocalDateTimeUtil.of(startDateTime);
|
|
|
+ LocalDateTime day2 = LocalDateTimeUtil.of(nowDateTime);
|
|
|
+ long between = ChronoUnit.DAYS.between(day1, day2);
|
|
|
+
|
|
|
+ //2,meterPointJSD_YFDLList
|
|
|
+
|
|
|
+
|
|
|
+ DateTime dateTime1 = DateTime.of(0);
|
|
|
+ double monthValue = 0.0;
|
|
|
+
|
|
|
+
|
|
|
+ for (int i = 0; i <= between; i++) {
|
|
|
+ //开始时间00:00:00
|
|
|
+ dateTime1 = DateUtil.offsetDay(startDateTime, i);
|
|
|
+
|
|
|
+ MeterPoint meterPointLine = meterPointService.getOne(new QueryWrapper<MeterPoint>().eq("line_id", meterPoint.getLineId()).eq("uniform_code", "ZXYG"));
|
|
|
+ System.out.println(meterPointLine.getLineId());
|
|
|
+
|
|
|
+ //根据每个场站的id,dateTime1,和集电线路总发电量的code拿到产站日发电量(集电线路项目期次侧)
|
|
|
+ MeterInfoBottomcode meterInfoBottomcode = meterInfoBottomcodeService.getOne(new QueryWrapper<MeterInfoBottomcode>().eq("start_time", dateTime1.toLocalDateTime()).eq("code", meterPointLine.getNemCode()));
|
|
|
+ //MeterInfoCalculating,拿到每个记录的value值并累加到monthValue
|
|
|
+ if (meterInfoBottomcode != null) {
|
|
|
+ monthValue = monthValue + meterInfoBottomcode.getDayValue().doubleValue();
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 将每个场站的每个月的value值存入到MeterInfoCalculating
|
|
|
+ MeterInfoCalculating meterInfoCalculating = new MeterInfoCalculating();
|
|
|
+ meterInfoCalculating.setName(meterPoint.getName());
|
|
|
+ meterInfoCalculating.setCode(meterPoint.getNemCode());
|
|
|
+ //LocalDateTime只显示年月(实际为每月的1号00:00:00)
|
|
|
+ meterInfoCalculating.setDate(dateTime1.toLocalDateTime().withDayOfMonth(1).withNano(0).withSecond(0).withMinute(0).withHour(0));
|
|
|
+ meterInfoCalculating.setValue(BigDecimal.valueOf(monthValue).divide(BigDecimal.valueOf(10000), 4, RoundingMode.HALF_EVEN));
|
|
|
+ meterInfoCalculating.setUpdateTime(LocalDateTime.now());
|
|
|
+
|
|
|
+ QueryWrapper<MeterInfoCalculating> queryWrapper = new QueryWrapper<>();
|
|
|
+ queryWrapper.eq("code", meterPoint.getNemCode()).eq("date", dateTime1.toLocalDateTime().withDayOfMonth(1).withNano(0).withSecond(0).withMinute(0).withHour(0));
|
|
|
+ List<MeterInfoCalculating> list = meterInfoCalculatingService.list(queryWrapper);
|
|
|
+ if (list.size() > 0) {
|
|
|
+ meterInfoCalculating.update(queryWrapper);
|
|
|
+ } else {
|
|
|
+ meterInfoCalculating.insert();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ void saveLineFdl_Year() {
|
|
|
+
|
|
|
+ List<MeterPoint> meterPointList = meterPointService.list(new QueryWrapper<MeterPoint>().eq("property", "JSD_LINEFDL_YEAR"));
|
|
|
+
|
|
|
+ //设置取值开始时间
|
|
|
+ String startString = DateUtil.now();
|
|
|
+ DateTime nowDateTime = DateUtil.parse(startString);
|
|
|
+ DateTime startDateTime = DateUtil.beginOfYear(nowDateTime);
|
|
|
+
|
|
|
+ //开始日期到结束日期的天数
|
|
|
+ LocalDateTime day1 = LocalDateTimeUtil.of(startDateTime);
|
|
|
+ LocalDateTime day2 = LocalDateTimeUtil.of(nowDateTime);
|
|
|
+ long between = ChronoUnit.MONTHS.between(day1, day2);
|
|
|
+ System.out.println(between);
|
|
|
+
|
|
|
+ //2,meterPointJSD_YFDLList
|
|
|
+
|
|
|
+ DateTime dateTime1 = DateTime.of(0);
|
|
|
+
|
|
|
+ for (MeterPoint meterPoint : meterPointList) {
|
|
|
+ double yearValue = 0.0;
|
|
|
+
|
|
|
+ MeterPoint meterPointLine = meterPointService.getOne(new QueryWrapper<MeterPoint>().eq("property", "JSD_LINEFDL_MONTH").eq("line_id", meterPoint.getLineId()));
|
|
|
+
|
|
|
+ for (int i = 0; i <= between; i++) {
|
|
|
+ //开始时间00:00:01
|
|
|
+ dateTime1 = DateUtil.offsetMonth(startDateTime, i);
|
|
|
+
|
|
|
+ //根据每个场站的id,dateTime1,和集电线路总发电量的code拿到产站日发电量(集电线路期次)
|
|
|
+ MeterInfoCalculating meterInfoCalculating = meterInfoCalculatingService.getOne(new QueryWrapper<MeterInfoCalculating>().eq("date", dateTime1.toLocalDateTime()).like("code", meterPointLine.getNemCode()));
|
|
|
+
|
|
|
+ //MeterInfoCalculating,拿到每个记录的value值并累加到monthValue
|
|
|
+ if (meterInfoCalculating != null) {
|
|
|
+ yearValue = yearValue + meterInfoCalculating.getValue().doubleValue();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+// if (meterPoint.getNemCode().endsWith("_L1_YEAR")) {
|
|
|
+// for (int i = 0; i <= between; i++) {
|
|
|
+// //开始时间00:00:01
|
|
|
+// dateTime1 = DateUtil.offsetMonth(startDateTime, i);
|
|
|
+//
|
|
|
+// //根据每个场站的id,dateTime1,和集电线路总发电量的code拿到产站日发电量(集电线路期次)
|
|
|
+// MeterInfoCalculating meterInfoCalculating = meterInfoCalculatingService.getOne(new QueryWrapper<MeterInfoCalculating>().eq("date", dateTime1.toLocalDateTime()).like("code", "%_LINEFDL_L1_MONTH"));
|
|
|
+//
|
|
|
+// //MeterInfoCalculating,拿到每个记录的value值并累加到monthValue
|
|
|
+// if (meterInfoCalculating != null) {
|
|
|
+// yearValue = yearValue + meterInfoCalculating.getValue().doubleValue();
|
|
|
+// }
|
|
|
+// }
|
|
|
+// } else if (meterPoint.getNemCode().endsWith("_L2_YEAR")) {
|
|
|
+// for (int i = 0; i <= between; i++) {
|
|
|
+// //开始时间00:00:01
|
|
|
+// dateTime1 = DateUtil.offsetMonth(startDateTime, i);
|
|
|
+//
|
|
|
+// //根据每个场站的id,dateTime1,和集电线路总发电量的code拿到产站日发电量(集电线路期次)
|
|
|
+// MeterInfoCalculating meterInfoCalculating = meterInfoCalculatingService.getOne(new QueryWrapper<MeterInfoCalculating>().eq("date", dateTime1.toLocalDateTime()).eq("code", "%_LINEFDL_l2_MONTH"));
|
|
|
+//
|
|
|
+// //MeterInfoCalculating,拿到每个记录的value值并累加到monthValue
|
|
|
+// if (meterInfoCalculating != null) {
|
|
|
+// yearValue = yearValue + meterInfoCalculating.getValue().doubleValue();
|
|
|
+// }
|
|
|
+// }
|
|
|
+// } else if (meterPoint.getNemCode().endsWith("_L3_YEAR")) {
|
|
|
+// for (int i = 0; i <= between; i++) {
|
|
|
+// //开始时间00:00:01
|
|
|
+// dateTime1 = DateUtil.offsetMonth(startDateTime, i);
|
|
|
+//
|
|
|
+// //根据每个场站的id,dateTime1,和集电线路总发电量的code拿到产站日发电量(集电线路期次)
|
|
|
+// MeterInfoCalculating meterInfoCalculating = meterInfoCalculatingService.getOne(new QueryWrapper<MeterInfoCalculating>().eq("date", dateTime1.toLocalDateTime()).eq("code", "%_LINEFDL_l3_MONTH"));
|
|
|
+//
|
|
|
+// //MeterInfoCalculating,拿到每个记录的value值并累加到monthValue
|
|
|
+// if (meterInfoCalculating != null) {
|
|
|
+// yearValue = yearValue + meterInfoCalculating.getValue().doubleValue();
|
|
|
+// }
|
|
|
+// }
|
|
|
+// } else if (meterPoint.getNemCode().endsWith("_L4_YEAR")) {
|
|
|
+// for (int i = 0; i <= between; i++) {
|
|
|
+// //开始时间00:00:01
|
|
|
+// dateTime1 = DateUtil.offsetMonth(startDateTime, i);
|
|
|
+//
|
|
|
+// //根据每个场站的id,dateTime1,和集电线路总发电量的code拿到产站日发电量(集电线路期次)
|
|
|
+// MeterInfoCalculating meterInfoCalculating = meterInfoCalculatingService.getOne(new QueryWrapper<MeterInfoCalculating>().eq("date", dateTime1.toLocalDateTime()).eq("code", "%_LINEFDL_l4_MONTH"));
|
|
|
+//
|
|
|
+// //MeterInfoCalculating,拿到每个记录的value值并累加到monthValue
|
|
|
+// if (meterInfoCalculating != null) {
|
|
|
+// yearValue = yearValue + meterInfoCalculating.getValue().doubleValue();
|
|
|
+// }
|
|
|
+// }
|
|
|
+// } else if (meterPoint.getNemCode().endsWith("_L5_YEAR")) {
|
|
|
+// for (int i = 0; i <= between; i++) {
|
|
|
+// //开始时间00:00:01
|
|
|
+// dateTime1 = DateUtil.offsetMonth(startDateTime, i);
|
|
|
+//
|
|
|
+// //根据每个场站的id,dateTime1,和集电线路总发电量的code拿到产站日发电量(集电线路期次)
|
|
|
+// MeterInfoCalculating meterInfoCalculating = meterInfoCalculatingService.getOne(new QueryWrapper<MeterInfoCalculating>().eq("date", dateTime1.toLocalDateTime()).eq("code", "%_LINEFDL_l5_MONTH"));
|
|
|
+//
|
|
|
+// //MeterInfoCalculating,拿到每个记录的value值并累加到monthValue
|
|
|
+// if (meterInfoCalculating != null) {
|
|
|
+// yearValue = yearValue + meterInfoCalculating.getValue().doubleValue();
|
|
|
+// }
|
|
|
+// }
|
|
|
+// } else if (meterPoint.getNemCode().endsWith("_L6_YEAR")) {
|
|
|
+// for (int i = 0; i <= between; i++) {
|
|
|
+// //开始时间00:00:01
|
|
|
+// dateTime1 = DateUtil.offsetMonth(startDateTime, i);
|
|
|
+//
|
|
|
+// //根据每个场站的id,dateTime1,和集电线路总发电量的code拿到产站日发电量(集电线路期次)
|
|
|
+// MeterInfoCalculating meterInfoCalculating = meterInfoCalculatingService.getOne(new QueryWrapper<MeterInfoCalculating>().eq("date", dateTime1.toLocalDateTime()).eq("code", "%_LINEFDL_l6_MONTH"));
|
|
|
+//
|
|
|
+// //MeterInfoCalculating,拿到每个记录的value值并累加到monthValue
|
|
|
+// if (meterInfoCalculating != null) {
|
|
|
+// yearValue = yearValue + meterInfoCalculating.getValue().doubleValue();
|
|
|
+// }
|
|
|
+// }
|
|
|
+// } else if (meterPoint.getNemCode().endsWith("_L7_YEAR")) {
|
|
|
+// for (int i = 0; i <= between; i++) {
|
|
|
+// //开始时间00:00:01
|
|
|
+// dateTime1 = DateUtil.offsetMonth(startDateTime, i);
|
|
|
+//
|
|
|
+// //根据每个场站的id,dateTime1,和集电线路总发电量的code拿到产站日发电量(集电线路期次)
|
|
|
+// MeterInfoCalculating meterInfoCalculating = meterInfoCalculatingService.getOne(new QueryWrapper<MeterInfoCalculating>().eq("date", dateTime1.toLocalDateTime()).eq("code", "%_LINEFDL_l7_MONTH"));
|
|
|
+//
|
|
|
+// //MeterInfoCalculating,拿到每个记录的value值并累加到monthValue
|
|
|
+// if (meterInfoCalculating != null) {
|
|
|
+// yearValue = yearValue + meterInfoCalculating.getValue().doubleValue();
|
|
|
+// }
|
|
|
+// }
|
|
|
+// } else if (meterPoint.getNemCode().endsWith("_L8_YEAR")) {
|
|
|
+// for (int i = 0; i <= between; i++) {
|
|
|
+// //开始时间00:00:01
|
|
|
+// dateTime1 = DateUtil.offsetMonth(startDateTime, i);
|
|
|
+//
|
|
|
+// //根据每个场站的id,dateTime1,和集电线路总发电量的code拿到产站日发电量(集电线路期次)
|
|
|
+// MeterInfoCalculating meterInfoCalculating = meterInfoCalculatingService.getOne(new QueryWrapper<MeterInfoCalculating>().eq("date", dateTime1.toLocalDateTime()).eq("code", "%_LINEFDL_l8_MONTH"));
|
|
|
+//
|
|
|
+// //MeterInfoCalculating,拿到每个记录的value值并累加到monthValue
|
|
|
+// if (meterInfoCalculating != null) {
|
|
|
+// yearValue = yearValue + meterInfoCalculating.getValue().doubleValue();
|
|
|
+// }
|
|
|
+// }
|
|
|
+// } else if (meterPoint.getNemCode().endsWith("_L9_YEAR")) {
|
|
|
+// for (int i = 0; i <= between; i++) {
|
|
|
+// //开始时间00:00:01
|
|
|
+// dateTime1 = DateUtil.offsetMonth(startDateTime, i);
|
|
|
+//
|
|
|
+// //根据每个场站的id,dateTime1,和集电线路总发电量的code拿到产站日发电量(集电线路期次)
|
|
|
+// MeterInfoCalculating meterInfoCalculating = meterInfoCalculatingService.getOne(new QueryWrapper<MeterInfoCalculating>().eq("date", dateTime1.toLocalDateTime()).eq("code", "%_LINEFDL_l9_MONTH"));
|
|
|
+//
|
|
|
+// //MeterInfoCalculating,拿到每个记录的value值并累加到monthValue
|
|
|
+// if (meterInfoCalculating != null) {
|
|
|
+// yearValue = yearValue + meterInfoCalculating.getValue().doubleValue();
|
|
|
+// }
|
|
|
+// }
|
|
|
+// } else if (meterPoint.getNemCode().endsWith("_L10_YEAR")) {
|
|
|
+// for (int i = 0; i <= between; i++) {
|
|
|
+// //开始时间00:00:01
|
|
|
+// dateTime1 = DateUtil.offsetMonth(startDateTime, i);
|
|
|
+//
|
|
|
+// //根据每个场站的id,dateTime1,和集电线路总发电量的code拿到产站日发电量(集电线路期次)
|
|
|
+// MeterInfoCalculating meterInfoCalculating = meterInfoCalculatingService.getOne(new QueryWrapper<MeterInfoCalculating>().eq("date", dateTime1.toLocalDateTime()).eq("code", "%_LINEFDL_l10_MONTH"));
|
|
|
+//
|
|
|
+// //MeterInfoCalculating,拿到每个记录的value值并累加到monthValue
|
|
|
+// if (meterInfoCalculating != null) {
|
|
|
+// yearValue = yearValue + meterInfoCalculating.getValue().doubleValue();
|
|
|
+// }
|
|
|
+// }
|
|
|
+// } else if (meterPoint.getNemCode().endsWith("_L11_YEAR")) {
|
|
|
+// for (int i = 0; i <= between; i++) {
|
|
|
+// //开始时间00:00:01
|
|
|
+// dateTime1 = DateUtil.offsetMonth(startDateTime, i);
|
|
|
+//
|
|
|
+// //根据每个场站的id,dateTime1,和集电线路总发电量的code拿到产站日发电量(集电线路期次)
|
|
|
+// MeterInfoCalculating meterInfoCalculating = meterInfoCalculatingService.getOne(new QueryWrapper<MeterInfoCalculating>().eq("date", dateTime1.toLocalDateTime()).eq("code", "%_LINEFDL_l11_MONTH"));
|
|
|
+//
|
|
|
+// //MeterInfoCalculating,拿到每个记录的value值并累加到monthValue
|
|
|
+// if (meterInfoCalculating != null) {
|
|
|
+// yearValue = yearValue + meterInfoCalculating.getValue().doubleValue();
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
+
|
|
|
+
|
|
|
+ // 将每个场站的每个月的value值存入到MeterInfoCalculating
|
|
|
+ MeterInfoCalculating meterInfoCalculating = new MeterInfoCalculating();
|
|
|
+ meterInfoCalculating.setName(meterPoint.getName());
|
|
|
+ meterInfoCalculating.setCode(meterPoint.getNemCode());
|
|
|
+ //LocalDateTime只显示年月(实际为每月的1号00:00:00)
|
|
|
+ meterInfoCalculating.setDate(dateTime1.toLocalDateTime().withDayOfYear(1).withNano(0).withSecond(0).withMinute(0).withHour(0));
|
|
|
+ meterInfoCalculating.setValue(BigDecimal.valueOf(yearValue));
|
|
|
+ meterInfoCalculating.setUpdateTime(LocalDateTime.now());
|
|
|
+
|
|
|
+ QueryWrapper<MeterInfoCalculating> queryWrapper = new QueryWrapper<>();
|
|
|
+ queryWrapper.eq("code", meterPoint.getNemCode()).eq("date", dateTime1.toLocalDateTime().withDayOfYear(1).withNano(0).withSecond(0).withMinute(0).withHour(0));
|
|
|
+ List<MeterInfoCalculating> list = meterInfoCalculatingService.list(queryWrapper);
|
|
|
+ if (list.size() > 0) {
|
|
|
+ meterInfoCalculating.update(queryWrapper);
|
|
|
+ } else {
|
|
|
+ meterInfoCalculating.insert();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ void saveProjectFdl_Month() {
|
|
|
+
|
|
|
+ List<MeterPoint> meterPointJSD_ProjectFDL_MonthList = meterPointService.list(new QueryWrapper<MeterPoint>().eq("property", "JSD_PROJECTFDL_MONTH"));
|
|
|
+
|
|
|
+ //设置取值开始时间
|
|
|
+ String startString = DateUtil.now();
|
|
|
+ DateTime nowDateTime = DateUtil.parse(startString);
|
|
|
+ DateTime startDateTime = DateUtil.beginOfMonth(nowDateTime);
|
|
|
+
|
|
|
+ //开始日期到结束日期的天数
|
|
|
+ LocalDateTime day1 = LocalDateTimeUtil.of(startDateTime);
|
|
|
+ LocalDateTime day2 = LocalDateTimeUtil.of(nowDateTime);
|
|
|
+ long between = ChronoUnit.DAYS.between(day1, day2);
|
|
|
+
|
|
|
+ //2,meterPointJSD_YFDLList
|
|
|
+ for (MeterPoint meterPoint : meterPointJSD_ProjectFDL_MonthList) {
|
|
|
+
|
|
|
+ DateTime dateTime1 = DateTime.of(0);
|
|
|
+ double monthValue = 0.0;
|
|
|
+
|
|
|
+ if (meterPoint.getNemCode().endsWith("_P1_MONTH")) {
|
|
|
+ for (int i = 0; i <= between; i++) {
|
|
|
+
|
|
|
+ dateTime1 = DateUtil.offsetDay(startDateTime, i);
|
|
|
+
|
|
|
+ //根据每个场站的id,dateTime1,和集电线路总发电量的code拿到产站日发电量(集电线路项目期次侧)
|
|
|
+ MeterInfoCalculating meterInfoCalculatingDay = meterInfoCalculatingService.getOne(new QueryWrapper<MeterInfoCalculating>().eq("windpowerstation_id", meterPoint.getWindpowerstationId()).eq("date", dateTime1.toLocalDateTime()).like("code", "%_JDXLFDL_P1"));
|
|
|
+
|
|
|
+ //MeterInfoCalculating,拿到每个记录的value值并累加到monthValue
|
|
|
+ if (meterInfoCalculatingDay != null) {
|
|
|
+ monthValue = monthValue + meterInfoCalculatingDay.getValue().doubleValue();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else if (meterPoint.getNemCode().endsWith("_P2_MONTH")) {
|
|
|
+
|
|
|
+ for (int i = 0; i <= between; i++) {
|
|
|
+ //开始时间00:00:01
|
|
|
+ dateTime1 = DateUtil.offsetDay(startDateTime, i);
|
|
|
+
|
|
|
+ //根据每个场站的id,dateTime1,和集电线路总发电量的code拿到产站日发电量(集电线路项目期次侧)
|
|
|
+ MeterInfoCalculating meterInfoCalculatingDay = meterInfoCalculatingService.getOne(new QueryWrapper<MeterInfoCalculating>().eq("windpowerstation_id", meterPoint.getWindpowerstationId()).eq("date", dateTime1.toLocalDateTime()).like("code", "%_JDXLFDL_P2"));
|
|
|
+
|
|
|
+ //MeterInfoCalculating,拿到每个记录的value值并累加到monthValue
|
|
|
+ if (meterInfoCalculatingDay != null) {
|
|
|
+ monthValue = monthValue + meterInfoCalculatingDay.getValue().doubleValue();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else if (meterPoint.getNemCode().endsWith("_P3_MONTH")) {
|
|
|
+ for (int i = 0; i <= between; i++) {
|
|
|
+ //开始时间00:00:01
|
|
|
+ dateTime1 = DateUtil.offsetDay(startDateTime, i);
|
|
|
+
|
|
|
+ //根据每个场站的id,dateTime1,和集电线路总发电量的code拿到产站日发电量(集电线路项目期次侧)
|
|
|
+ MeterInfoCalculating meterInfoCalculatingDay = meterInfoCalculatingService.getOne(new QueryWrapper<MeterInfoCalculating>().eq("windpowerstation_id", meterPoint.getWindpowerstationId()).eq("date", dateTime1.toLocalDateTime()).like("code", "%_JDXLFDL_P3"));
|
|
|
+
|
|
|
+ //MeterInfoCalculating,拿到每个记录的value值并累加到monthValue
|
|
|
+ if (meterInfoCalculatingDay != null) {
|
|
|
+ monthValue = monthValue + meterInfoCalculatingDay.getValue().doubleValue();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ } else if (meterPoint.getNemCode().endsWith("_P4_MONTH")) {
|
|
|
+ for (int i = 0; i <= between; i++) {
|
|
|
+ //开始时间00:00:01
|
|
|
+ dateTime1 = DateUtil.offsetDay(startDateTime, i);
|
|
|
+
|
|
|
+ //根据每个场站的id,dateTime1,和集电线路总发电量的code拿到产站日发电量(集电线路项目期次侧)
|
|
|
+ MeterInfoCalculating meterInfoCalculatingDay = meterInfoCalculatingService.getOne(new QueryWrapper<MeterInfoCalculating>().eq("windpowerstation_id", meterPoint.getWindpowerstationId()).eq("date", dateTime1.toLocalDateTime()).like("code", "%_JDXLFDL_P4"));
|
|
|
+
|
|
|
+ //MeterInfoCalculating,拿到每个记录的value值并累加到monthValue
|
|
|
+ if (meterInfoCalculatingDay != null) {
|
|
|
+ monthValue = monthValue + meterInfoCalculatingDay.getValue().doubleValue();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ // 将每个场站的每个月的value值存入到MeterInfoCalculating
|
|
|
+ MeterInfoCalculating meterInfoCalculating = new MeterInfoCalculating();
|
|
|
+ meterInfoCalculating.setName(meterPoint.getName());
|
|
|
+ meterInfoCalculating.setCode(meterPoint.getNemCode());
|
|
|
+ //LocalDateTime只显示年月(实际为每月的1号00:00:00)
|
|
|
+ meterInfoCalculating.setDate(dateTime1.toLocalDateTime().withDayOfMonth(1).withNano(0).withSecond(0).withMinute(0).withHour(0));
|
|
|
+ meterInfoCalculating.setValue(BigDecimal.valueOf(monthValue));
|
|
|
+ meterInfoCalculating.setUpdateTime(LocalDateTime.now());
|
|
|
+ meterInfoCalculating.setWindpowerstationId(meterPoint.getWindpowerstationId());
|
|
|
+
|
|
|
+ QueryWrapper<MeterInfoCalculating> queryWrapper = new QueryWrapper<>();
|
|
|
+ queryWrapper.eq("code", meterPoint.getNemCode()).eq("date", dateTime1.toLocalDateTime().withDayOfMonth(1).withNano(0).withSecond(0).withMinute(0).withHour(0)).eq("windpowerstation_id", meterPoint.getWindpowerstationId());
|
|
|
+ List<MeterInfoCalculating> list = meterInfoCalculatingService.list(queryWrapper);
|
|
|
+ if (list.size() > 0) {
|
|
|
+ meterInfoCalculating.update(queryWrapper);
|
|
|
+ } else {
|
|
|
+ meterInfoCalculating.insert();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ void saveProjectFdl_Year() {
|
|
|
+
|
|
|
+ List<MeterPoint> meterPointJSD_NFDLList = meterPointService.list(new QueryWrapper<MeterPoint>().eq("property", "JSD_PROJECTFDL_YEAR"));
|
|
|
+
|
|
|
+ //设置取值开始时间
|
|
|
+ //设置取值开始时间
|
|
|
+ String startString = DateUtil.now();
|
|
|
+ DateTime nowDateTime = DateUtil.parse(startString);
|
|
|
+ DateTime startDateTime = DateUtil.beginOfYear(nowDateTime);
|
|
|
+
|
|
|
+ //开始日期到结束日期的天数
|
|
|
+ LocalDateTime day1 = LocalDateTimeUtil.of(startDateTime);
|
|
|
+ LocalDateTime day2 = LocalDateTimeUtil.of(nowDateTime);
|
|
|
+ long between = ChronoUnit.MONTHS.between(day1, day2);
|
|
|
+ System.out.println(between);
|
|
|
+
|
|
|
+ //2,meterPointJSD_YFDLList
|
|
|
+ for (MeterPoint meterPoint : meterPointJSD_NFDLList) {
|
|
|
+
|
|
|
+ DateTime dateTime1 = DateTime.of(0);
|
|
|
+ double yearValue = 0.0;
|
|
|
+
|
|
|
+ if (meterPoint.getNemCode().endsWith("_P1_YEAR")) {
|
|
|
+ for (int i = 0; i <= between; i++) {
|
|
|
+ //开始时间00:00:01
|
|
|
+ dateTime1 = DateUtil.offsetMonth(startDateTime, i);
|
|
|
+
|
|
|
+ //根据每个场站的id,dateTime1,和集电线路总发电量的code拿到产站日发电量(集电线路期次)
|
|
|
+ MeterInfoCalculating meterInfoCalculating = meterInfoCalculatingService.getOne(new QueryWrapper<MeterInfoCalculating>().eq("windpowerstation_id", meterPoint.getWindpowerstationId()).eq("date", dateTime1.toLocalDateTime()).like("code", "%_PROJECTFDL_P1_MONTH"));
|
|
|
+
|
|
|
+ //MeterInfoCalculating,拿到每个记录的value值并累加到monthValue
|
|
|
+ if (meterInfoCalculating != null) {
|
|
|
+ yearValue = yearValue + meterInfoCalculating.getValue().doubleValue();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else if (meterPoint.getNemCode().endsWith("_P2_YEAR")) {
|
|
|
+ for (int i = 0; i <= between; i++) {
|
|
|
+ //开始时间00:00:01
|
|
|
+ dateTime1 = DateUtil.offsetMonth(startDateTime, i);
|
|
|
+
|
|
|
+ //根据每个场站的id,dateTime1,和集电线路总发电量的code拿到产站日发电量(集电线路期次)
|
|
|
+ MeterInfoCalculating meterInfoCalculating = meterInfoCalculatingService.getOne(new QueryWrapper<MeterInfoCalculating>().eq("windpowerstation_id", meterPoint.getWindpowerstationId()).eq("date", dateTime1.toLocalDateTime()).like("code", "%_PROJECTFDL_P2_MONTH"));
|
|
|
+
|
|
|
+ //MeterInfoCalculating,拿到每个记录的value值并累加到monthValue
|
|
|
+ if (meterInfoCalculating != null) {
|
|
|
+ yearValue = yearValue + meterInfoCalculating.getValue().doubleValue();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else if (meterPoint.getNemCode().endsWith("_P3_YEAR")) {
|
|
|
+ for (int i = 0; i <= between; i++) {
|
|
|
+ //开始时间00:00:01
|
|
|
+ dateTime1 = DateUtil.offsetMonth(startDateTime, i);
|
|
|
+
|
|
|
+ //根据每个场站的id,dateTime1,和集电线路总发电量的code拿到产站日发电量(集电线路期次)
|
|
|
+ MeterInfoCalculating meterInfoCalculating = meterInfoCalculatingService.getOne(new QueryWrapper<MeterInfoCalculating>().eq("windpowerstation_id", meterPoint.getWindpowerstationId()).eq("date", dateTime1.toLocalDateTime()).like("code", "%_PROJECTFDL_P3_MONTH"));
|
|
|
+
|
|
|
+ //MeterInfoCalculating,拿到每个记录的value值并累加到monthValue
|
|
|
+ if (meterInfoCalculating != null) {
|
|
|
+ yearValue = yearValue + meterInfoCalculating.getValue().doubleValue();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else if (meterPoint.getNemCode().endsWith("_P4_YEAR")) {
|
|
|
+ for (int i = 0; i <= between; i++) {
|
|
|
+ //开始时间00:00:01
|
|
|
+ dateTime1 = DateUtil.offsetMonth(startDateTime, i);
|
|
|
+
|
|
|
+ //根据每个场站的id,dateTime1,和集电线路总发电量的code拿到产站日发电量(集电线路期次)
|
|
|
+ MeterInfoCalculating meterInfoCalculating = meterInfoCalculatingService.getOne(new QueryWrapper<MeterInfoCalculating>().eq("windpowerstation_id", meterPoint.getWindpowerstationId()).eq("date", dateTime1.toLocalDateTime()).like("code", "%_PROJECTFDL_P4_MONTH"));
|
|
|
+
|
|
|
+ //MeterInfoCalculating,拿到每个记录的value值并累加到monthValue
|
|
|
+ if (meterInfoCalculating != null) {
|
|
|
+ yearValue = yearValue + meterInfoCalculating.getValue().doubleValue();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 将每个场站的每个月的value值存入到MeterInfoCalculating
|
|
|
+ MeterInfoCalculating meterInfoCalculating = new MeterInfoCalculating();
|
|
|
+ meterInfoCalculating.setName(meterPoint.getName());
|
|
|
+ meterInfoCalculating.setCode(meterPoint.getNemCode());
|
|
|
+ //LocalDateTime只显示年月(实际为每月的1号00:00:00)
|
|
|
+ meterInfoCalculating.setDate(dateTime1.toLocalDateTime().withDayOfYear(1).withNano(0).withSecond(0).withMinute(0).withHour(0));
|
|
|
+ meterInfoCalculating.setValue(BigDecimal.valueOf(yearValue));
|
|
|
+ meterInfoCalculating.setUpdateTime(LocalDateTime.now());
|
|
|
+ meterInfoCalculating.setWindpowerstationId(meterPoint.getWindpowerstationId());
|
|
|
+
|
|
|
+ QueryWrapper<MeterInfoCalculating> queryWrapper = new QueryWrapper<>();
|
|
|
+ queryWrapper.eq("code", meterPoint.getNemCode()).eq("date", dateTime1.toLocalDateTime().withDayOfYear(1).withNano(0).withSecond(0).withMinute(0).withHour(0)).eq("windpowerstation_id", meterPoint.getWindpowerstationId());
|
|
|
+ List<MeterInfoCalculating> list = meterInfoCalculatingService.list(queryWrapper);
|
|
|
+ if (list.size() > 0) {
|
|
|
+ meterInfoCalculating.update(queryWrapper);
|
|
|
+ } else {
|
|
|
+ meterInfoCalculating.insert();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ void savePowerstationFdl_Month() {
|
|
|
+
|
|
|
+ List<MeterPoint> meterPointJSD_YFDLList = meterPointService.list(new QueryWrapper<MeterPoint>().eq("property", "JSD_POWERSTATIONFDL_MONTH"));
|
|
|
+// List<MeterPoint> meterPointJSD_NFDLList = meterPointService.list(new QueryWrapper<MeterPoint>().eq("property", "JSD_NFDL"));
|
|
|
+
|
|
|
+ //设置取值开始时间
|
|
|
+ String startString = DateUtil.now();
|
|
|
+ DateTime nowDateTime = DateUtil.parse(startString);
|
|
|
+ DateTime startDateTime = DateUtil.beginOfMonth(nowDateTime);
|
|
|
+
|
|
|
+ //开始日期到结束日期的天数
|
|
|
+ LocalDateTime day1 = LocalDateTimeUtil.of(startDateTime);
|
|
|
+ LocalDateTime day2 = LocalDateTimeUtil.of(nowDateTime);
|
|
|
+ long between = ChronoUnit.DAYS.between(day1, day2);
|
|
|
+
|
|
|
+ //2,meterPointJSD_YFDLList
|
|
|
+ for (MeterPoint meterPoint : meterPointJSD_YFDLList) {
|
|
|
+
|
|
|
+ DateTime dateTime1 = DateTime.of(0);
|
|
|
+ double monthValue = 0.0;
|
|
|
+ for (int i = 0; i <= between; i++) {
|
|
|
+ //开始时间00:00:01
|
|
|
+ dateTime1 = DateUtil.offsetDay(startDateTime, i);
|
|
|
+
|
|
|
+ //根据每个场站的id,dateTime1,和集电线路总发电量的code拿到产站日发电量(集电线路总发电量)
|
|
|
+ MeterInfoCalculating meterInfoCalculatingDay = meterInfoCalculatingService.getOne(new QueryWrapper<MeterInfoCalculating>().eq("windpowerstation_id", meterPoint.getWindpowerstationId()).eq("date", dateTime1.toLocalDateTime()).like("code", "%_JDXLFDL_P0"));
|
|
|
+
|
|
|
+ //MeterInfoCalculating,拿到每个记录的value值并累加到monthValue
|
|
|
+ if (meterInfoCalculatingDay != null) {
|
|
|
+ monthValue = monthValue + meterInfoCalculatingDay.getValue().doubleValue();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 将每个场站的每个月的value值存入到MeterInfoCalculating
|
|
|
+ MeterInfoCalculating meterInfoCalculating = new MeterInfoCalculating();
|
|
|
+ meterInfoCalculating.setName(meterPoint.getName());
|
|
|
+ meterInfoCalculating.setCode(meterPoint.getNemCode());
|
|
|
+ //LocalDateTime只显示年月(实际为每月的1号00:00:00)
|
|
|
+ meterInfoCalculating.setDate(dateTime1.toLocalDateTime().withDayOfMonth(1).withNano(0).withSecond(0).withMinute(0).withHour(0));
|
|
|
+ meterInfoCalculating.setValue(BigDecimal.valueOf(monthValue));
|
|
|
+ meterInfoCalculating.setUpdateTime(LocalDateTime.now());
|
|
|
+ meterInfoCalculating.setWindpowerstationId(meterPoint.getWindpowerstationId());
|
|
|
+
|
|
|
+ QueryWrapper<MeterInfoCalculating> queryWrapper = new QueryWrapper<>();
|
|
|
+ queryWrapper.eq("code", meterPoint.getNemCode()).eq("date", dateTime1.toLocalDateTime().withDayOfMonth(1).withNano(0).withSecond(0).withMinute(0).withHour(0)).eq("windpowerstation_id", meterPoint.getWindpowerstationId());
|
|
|
+ List<MeterInfoCalculating> list = meterInfoCalculatingService.list(queryWrapper);
|
|
|
+ if (list.size() > 0) {
|
|
|
+ meterInfoCalculating.update(queryWrapper);
|
|
|
+ } else {
|
|
|
+ meterInfoCalculating.insert();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ void savePowerstationFdl_Year() {
|
|
|
+
|
|
|
+ List<MeterPoint> meterPointJSD_NFDLList = meterPointService.list(new QueryWrapper<MeterPoint>().eq("property", "JSD_POWERSTATIONFDL_YEAR"));
|
|
|
+
|
|
|
+ //设置取值开始时间
|
|
|
+ String startString = DateUtil.now();
|
|
|
+ DateTime nowDateTime = DateUtil.parse(startString);
|
|
|
+ DateTime startDateTime = DateUtil.beginOfYear(nowDateTime);
|
|
|
+
|
|
|
+ //开始日期到结束日期的天数
|
|
|
+ LocalDateTime day1 = LocalDateTimeUtil.of(startDateTime);
|
|
|
+ LocalDateTime day2 = LocalDateTimeUtil.of(nowDateTime);
|
|
|
+ long between = ChronoUnit.MONTHS.between(day1, day2);
|
|
|
+ System.out.println(between);
|
|
|
+
|
|
|
+ //2,meterPointJSD_YFDLList
|
|
|
+ for (MeterPoint meterPoint : meterPointJSD_NFDLList) {
|
|
|
+
|
|
|
+ DateTime dateTime1 = DateTime.of(0);
|
|
|
+ double yearValue = 0.0;
|
|
|
+ for (int i = 0; i <= between; i++) {
|
|
|
+ //开始时间00:00:01
|
|
|
+ dateTime1 = DateUtil.offsetMonth(startDateTime, i);
|
|
|
+
|
|
|
+ //根据每个场站的id,dateTime1,和集电线路总发电量的code拿到产站日发电量(集电线路总发电量)
|
|
|
+ MeterInfoCalculating meterInfoCalculating = meterInfoCalculatingService.getOne(new QueryWrapper<MeterInfoCalculating>().eq("windpowerstation_id", meterPoint.getWindpowerstationId()).eq("date", dateTime1.toLocalDateTime()).like("code", "%_POWERSTATIONFDL_MONTH"));
|
|
|
+
|
|
|
+ //MeterInfoCalculating,拿到每个记录的value值并累加到monthValue
|
|
|
+ if (meterInfoCalculating != null) {
|
|
|
+ yearValue = yearValue + meterInfoCalculating.getValue().doubleValue();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 将每个场站的每个月的value值存入到MeterInfoCalculating
|
|
|
+ MeterInfoCalculating meterInfoCalculating = new MeterInfoCalculating();
|
|
|
+ meterInfoCalculating.setName(meterPoint.getName());
|
|
|
+ meterInfoCalculating.setCode(meterPoint.getNemCode());
|
|
|
+ //LocalDateTime只显示年月(实际为每月的1号00:00:00)
|
|
|
+ meterInfoCalculating.setDate(dateTime1.toLocalDateTime().withDayOfYear(1).withNano(0).withSecond(0).withMinute(0).withHour(0));
|
|
|
+ meterInfoCalculating.setValue(BigDecimal.valueOf(yearValue));
|
|
|
+ meterInfoCalculating.setUpdateTime(LocalDateTime.now());
|
|
|
+ meterInfoCalculating.setWindpowerstationId(meterPoint.getWindpowerstationId());
|
|
|
+
|
|
|
+ QueryWrapper<MeterInfoCalculating> queryWrapper = new QueryWrapper<>();
|
|
|
+ queryWrapper.eq("code", meterPoint.getNemCode()).eq("date", dateTime1.toLocalDateTime().withDayOfYear(1).withNano(0).withSecond(0).withMinute(0).withHour(0)).eq("windpowerstation_id", meterPoint.getWindpowerstationId());
|
|
|
+ List<MeterInfoCalculating> list = meterInfoCalculatingService.list(queryWrapper);
|
|
|
+ if (list.size() > 0) {
|
|
|
+ meterInfoCalculating.update(queryWrapper);
|
|
|
+ } else {
|
|
|
+ meterInfoCalculating.insert();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ void saveWindStationFdl_Day() {
|
|
|
+
|
|
|
+ MeterPoint meterPoint = meterPointService.getOne(new QueryWrapper<MeterPoint>().eq("property", "JSD_FCFDL_DAY"));
|
|
|
+
|
|
|
+ //设置取值开始时间
|
|
|
+ String startString = DateUtil.now();
|
|
|
+ DateTime nowDateTime = DateUtil.parse(startString);
|
|
|
+ DateTime startDateTime = DateUtil.beginOfDay(nowDateTime);
|
|
|
+
|
|
|
+ double monthValue = 0.0;
|
|
|
+ //开始时间00:00:00
|
|
|
+
|
|
|
+ //根据每个场站的id,dateTime1,和集电线路总发电量的code拿到产站日发电量(集电线路项目期次侧)
|
|
|
+ List<MeterInfoCalculating> meterInfoCalculatingDay = meterInfoCalculatingService.list(new QueryWrapper<MeterInfoCalculating>().eq("date", startDateTime.toLocalDateTime()).like("code", "%_JDXLFDL_P0"));
|
|
|
+ //MeterInfoCalculating,拿到每个记录的value值并累加到monthValue
|
|
|
+ if (meterInfoCalculatingDay.size() > 0) {
|
|
|
+ for (MeterInfoCalculating meterInfoCalculating : meterInfoCalculatingDay) {
|
|
|
+ monthValue = monthValue + meterInfoCalculating.getValue().doubleValue();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ // 将每个场站的每个月的value值存入到MeterInfoCalculating
|
|
|
+ MeterInfoCalculating meterInfoCalculating = new MeterInfoCalculating();
|
|
|
+ meterInfoCalculating.setName(meterPoint.getName());
|
|
|
+ meterInfoCalculating.setCode(meterPoint.getNemCode());
|
|
|
+ //LocalDateTime只显示年月(实际为每月的1号00:00:00)
|
|
|
+ meterInfoCalculating.setDate(startDateTime.toLocalDateTime());
|
|
|
+ meterInfoCalculating.setValue(BigDecimal.valueOf(monthValue));
|
|
|
+ meterInfoCalculating.setUpdateTime(LocalDateTime.now());
|
|
|
+
|
|
|
+ QueryWrapper<MeterInfoCalculating> queryWrapper = new QueryWrapper<>();
|
|
|
+ queryWrapper.eq("code", meterPoint.getNemCode()).eq("date", startDateTime.toLocalDateTime());
|
|
|
+ List<MeterInfoCalculating> list = meterInfoCalculatingService.list(queryWrapper);
|
|
|
+ if (list.size() > 0) {
|
|
|
+ meterInfoCalculating.update(queryWrapper);
|
|
|
+ } else {
|
|
|
+ meterInfoCalculating.insert();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ void saveWindStationFdl_Month() {
|
|
|
+
|
|
|
+ MeterPoint meterPoint = meterPointService.getOne(new QueryWrapper<MeterPoint>().eq("property", "JSD_FCFDL_MONTH"));
|
|
|
+
|
|
|
+ //设置取值开始时间
|
|
|
+ String startString = DateUtil.now();
|
|
|
+ DateTime nowDateTime = DateUtil.parse(startString);
|
|
|
+ DateTime startDateTime = DateUtil.beginOfMonth(nowDateTime);
|
|
|
+
|
|
|
+ //开始日期到结束日期的天数
|
|
|
+ LocalDateTime day1 = LocalDateTimeUtil.of(startDateTime);
|
|
|
+ LocalDateTime day2 = LocalDateTimeUtil.of(nowDateTime);
|
|
|
+ long between = ChronoUnit.MONTHS.between(day1, day2);
|
|
|
+
|
|
|
+ //2,meterPointJSD_YFDLList
|
|
|
+
|
|
|
+
|
|
|
+ DateTime dateTime1 = DateTime.of(0);
|
|
|
+ double monthValue = 0.0;
|
|
|
+
|
|
|
+
|
|
|
+ for (int i = 0; i <= between; i++) {
|
|
|
+ //开始时间00:00:00
|
|
|
+ dateTime1 = DateUtil.offsetMonth(startDateTime, i);
|
|
|
+
|
|
|
+ //根据每个场站的id,dateTime1,和集电线路总发电量的code拿到产站日发电量(集电线路项目期次侧)
|
|
|
+ List<MeterInfoCalculating> meterInfoCalculatingDay = meterInfoCalculatingService.list(new QueryWrapper<MeterInfoCalculating>().eq("date", dateTime1.toLocalDateTime()).like("code", "%_POWERSTATIONFDL_MONTH"));
|
|
|
+ //MeterInfoCalculating,拿到每个记录的value值并累加到monthValue
|
|
|
+ if (meterInfoCalculatingDay.size() > 0) {
|
|
|
+ for (MeterInfoCalculating meterInfoCalculating : meterInfoCalculatingDay) {
|
|
|
+ monthValue = monthValue + meterInfoCalculating.getValue().doubleValue();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ // 将每个场站的每个月的value值存入到MeterInfoCalculating
|
|
|
+ MeterInfoCalculating meterInfoCalculating = new MeterInfoCalculating();
|
|
|
+ meterInfoCalculating.setName(meterPoint.getName());
|
|
|
+ meterInfoCalculating.setCode(meterPoint.getNemCode());
|
|
|
+ //LocalDateTime只显示年月(实际为每月的1号00:00:00)
|
|
|
+ meterInfoCalculating.setDate(dateTime1.toLocalDateTime().withDayOfMonth(1).withNano(0).withSecond(0).withMinute(0).withHour(0));
|
|
|
+ meterInfoCalculating.setValue(BigDecimal.valueOf(monthValue));
|
|
|
+ meterInfoCalculating.setUpdateTime(LocalDateTime.now());
|
|
|
+
|
|
|
+ QueryWrapper<MeterInfoCalculating> queryWrapper = new QueryWrapper<>();
|
|
|
+ queryWrapper.eq("code", meterPoint.getNemCode()).eq("date", dateTime1.toLocalDateTime().withDayOfMonth(1).withNano(0).withSecond(0).withMinute(0).withHour(0));
|
|
|
+ List<MeterInfoCalculating> list = meterInfoCalculatingService.list(queryWrapper);
|
|
|
+ if (list.size() > 0) {
|
|
|
+ meterInfoCalculating.update(queryWrapper);
|
|
|
+ } else {
|
|
|
+ meterInfoCalculating.insert();
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ void saveWindStationFdl_Year() {
|
|
|
+
|
|
|
+ MeterPoint meterPoint = meterPointService.getOne(new QueryWrapper<MeterPoint>().eq("property", "JSD_FCFDL_YEAR"));
|
|
|
+
|
|
|
+ //设置取值开始时间
|
|
|
+ String startString = DateUtil.now();
|
|
|
+ DateTime nowDateTime = DateUtil.parse(startString);
|
|
|
+ DateTime startDateTime = DateUtil.beginOfYear(nowDateTime);
|
|
|
+
|
|
|
+ //开始日期到结束日期的天数
|
|
|
+ LocalDateTime day1 = LocalDateTimeUtil.of(startDateTime);
|
|
|
+ LocalDateTime day2 = LocalDateTimeUtil.of(nowDateTime);
|
|
|
+ long between = ChronoUnit.MONTHS.between(day1, day2);
|
|
|
+ System.out.println(between);
|
|
|
+
|
|
|
+ //2,meterPointJSD_YFDLList
|
|
|
+
|
|
|
+ DateTime dateTime1 = DateTime.of(0);
|
|
|
+ double yearValue = 0.0;
|
|
|
+
|
|
|
+
|
|
|
+ for (int i = 0; i <= between; i++) {
|
|
|
+ //开始时间00:00:01
|
|
|
+ dateTime1 = DateUtil.offsetMonth(startDateTime, i);
|
|
|
+
|
|
|
+ //根据每个场站的id,dateTime1,和集电线路总发电量的code拿到产站日发电量(集电线路期次)
|
|
|
+ MeterInfoCalculating meterInfoCalculating = meterInfoCalculatingService.getOne(new QueryWrapper<MeterInfoCalculating>().eq("date", dateTime1.toLocalDateTime()).eq("code", "DL.NX_GD_WINDSTATIONFDL_MONTH"));
|
|
|
+
|
|
|
+ //MeterInfoCalculating,拿到每个记录的value值并累加到monthValue
|
|
|
+ if (meterInfoCalculating != null) {
|
|
|
+ yearValue = yearValue + meterInfoCalculating.getValue().doubleValue();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 将每个场站的每个月的value值存入到MeterInfoCalculating
|
|
|
+ MeterInfoCalculating meterInfoCalculating = new MeterInfoCalculating();
|
|
|
+ meterInfoCalculating.setName(meterPoint.getName());
|
|
|
+ meterInfoCalculating.setCode(meterPoint.getNemCode());
|
|
|
+ //LocalDateTime只显示年月(实际为每月的1号00:00:00)
|
|
|
+ meterInfoCalculating.setDate(dateTime1.toLocalDateTime().withDayOfYear(1).withNano(0).withSecond(0).withMinute(0).withHour(0));
|
|
|
+ meterInfoCalculating.setValue(BigDecimal.valueOf(yearValue));
|
|
|
+ meterInfoCalculating.setUpdateTime(LocalDateTime.now());
|
|
|
+
|
|
|
+ QueryWrapper<MeterInfoCalculating> queryWrapper = new QueryWrapper<>();
|
|
|
+ queryWrapper.eq("code", meterPoint.getNemCode()).eq("date", dateTime1.toLocalDateTime().withDayOfYear(1).withNano(0).withSecond(0).withMinute(0).withHour(0));
|
|
|
+ List<MeterInfoCalculating> list = meterInfoCalculatingService.list(queryWrapper);
|
|
|
+ if (list.size() > 0) {
|
|
|
+ meterInfoCalculating.update(queryWrapper);
|
|
|
+ } else {
|
|
|
+ meterInfoCalculating.insert();
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ public void sum() {
|
|
|
+ this.saveLineFdl_Month();
|
|
|
+ this.saveLineFdl_Year();
|
|
|
+
|
|
|
+ this.saveProjectFdl_Month();
|
|
|
+ this.saveProjectFdl_Year();
|
|
|
+
|
|
|
+ this.savePowerstationFdl_Month();
|
|
|
+ this.savePowerstationFdl_Year();
|
|
|
+
|
|
|
+ this.saveWindStationFdl_Day();
|
|
|
+ this.saveWindStationFdl_Month();
|
|
|
+ this.saveWindStationFdl_Year();
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+}
|