|
@@ -4,16 +4,15 @@ 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.MeterInfoCalculating;
|
|
|
-import com.gyee.gaia.meter.entity.MeterPoint;
|
|
|
-import com.gyee.gaia.meter.service.impl.MeterInfoCalculatingServiceImpl;
|
|
|
-import com.gyee.gaia.meter.service.impl.MeterPointServiceImpl;
|
|
|
+import com.gyee.gaia.meter.entity.*;
|
|
|
+import com.gyee.gaia.meter.service.impl.*;
|
|
|
import org.junit.jupiter.api.Test;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.boot.test.context.SpringBootTest;
|
|
|
|
|
|
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;
|
|
@@ -29,56 +28,72 @@ public class SaveMeterInfoHistoryMonthYearTest {
|
|
|
MeterInfoCalculatingServiceImpl meterInfoCalculatingService;
|
|
|
@Resource
|
|
|
MeterPointServiceImpl meterPointService;
|
|
|
+ @Resource
|
|
|
+ MeterInfoBottomcodeServiceImpl meterInfoBottomcodeService;
|
|
|
+ @Resource
|
|
|
+ LineServiceImpl lineService;
|
|
|
+ @Resource
|
|
|
+ ProjectServiceImpl projectService;
|
|
|
+ @Resource
|
|
|
+ PowerStationServiceImpl powerStationService;
|
|
|
+
|
|
|
|
|
|
@Value("${start.time}")
|
|
|
private String startTimeString;
|
|
|
|
|
|
@Test
|
|
|
- void savePowerstationFdl_Month() {
|
|
|
+ void saveLineFdl_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"));
|
|
|
+ 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 = startTimeString;
|
|
|
- DateTime startDateTime0 = DateUtil.parse(startString);
|
|
|
- DateTime startDateTime = DateUtil.beginOfMonth(startDateTime0);
|
|
|
- DateTime endDateTime = DateUtil.endOfMonth(startDateTime0);
|
|
|
|
|
|
- //开始日期到结束日期的天数
|
|
|
- LocalDateTime day1 = LocalDateTimeUtil.of(startDateTime);
|
|
|
- LocalDateTime day2 = LocalDateTimeUtil.of(endDateTime);
|
|
|
- long between = ChronoUnit.DAYS.between(day1, day2);
|
|
|
+ //设置取值开始时间
|
|
|
+ String startString = startTimeString;
|
|
|
+ DateTime startDateTime0 = DateUtil.parse(startString);
|
|
|
+ DateTime startDateTime = DateUtil.beginOfMonth(startDateTime0);
|
|
|
+ DateTime endDateTime = DateUtil.endOfMonth(startDateTime0);
|
|
|
+
|
|
|
+ //开始日期到结束日期的天数
|
|
|
+ LocalDateTime day1 = LocalDateTimeUtil.of(startDateTime);
|
|
|
+ LocalDateTime day2 = LocalDateTimeUtil.of(endDateTime);
|
|
|
+ long between = ChronoUnit.DAYS.between(day1, day2);
|
|
|
+
|
|
|
+ //2,meterPointJSD_YFDLList
|
|
|
|
|
|
- //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.offsetSecond(DateUtil.offsetDay(startDateTime, i), 1);
|
|
|
+ //开始时间00:00:00
|
|
|
+ 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"));
|
|
|
+ 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 (meterInfoCalculatingDay != null) {
|
|
|
- monthValue = monthValue + meterInfoCalculatingDay.getValue().doubleValue();
|
|
|
+ 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));
|
|
|
+ meterInfoCalculating.setValue(BigDecimal.valueOf(monthValue).divide(BigDecimal.valueOf(10000), 4, RoundingMode.HALF_EVEN));
|
|
|
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());
|
|
|
+ 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);
|
|
@@ -86,12 +101,13 @@ public class SaveMeterInfoHistoryMonthYearTest {
|
|
|
meterInfoCalculating.insert();
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
- void savePowerstationFdl_Year() {
|
|
|
+ void saveLineFdl_Year() {
|
|
|
|
|
|
- List<MeterPoint> meterPointJSD_NFDLList = meterPointService.list(new QueryWrapper<MeterPoint>().eq("property", "JSD_POWERSTATIONFDL_YEAR"));
|
|
|
+ List<MeterPoint> meterPointList = meterPointService.list(new QueryWrapper<MeterPoint>().eq("property", "JSD_LINEFDL_YEAR"));
|
|
|
|
|
|
//设置取值开始时间
|
|
|
String startString = startTimeString;
|
|
@@ -106,22 +122,174 @@ public class SaveMeterInfoHistoryMonthYearTest {
|
|
|
System.out.println(between);
|
|
|
|
|
|
//2,meterPointJSD_YFDLList
|
|
|
- for (MeterPoint meterPoint : meterPointJSD_NFDLList) {
|
|
|
|
|
|
- DateTime dateTime1 = DateTime.of(0);
|
|
|
+ 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("windpowerstation_id", meterPoint.getWindpowerstationId()).eq("date", dateTime1.toLocalDateTime()).like("code", "%_POWERSTATIONFDL_MONTH"));
|
|
|
+ //根据每个场站的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());
|
|
@@ -130,10 +298,9 @@ public class SaveMeterInfoHistoryMonthYearTest {
|
|
|
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());
|
|
|
+ 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);
|
|
@@ -143,7 +310,6 @@ public class SaveMeterInfoHistoryMonthYearTest {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
@Test
|
|
|
void saveProjectFdl_Month() {
|
|
|
|
|
@@ -168,8 +334,8 @@ public class SaveMeterInfoHistoryMonthYearTest {
|
|
|
|
|
|
if (meterPoint.getNemCode().endsWith("_P1_MONTH")) {
|
|
|
for (int i = 0; i <= between; i++) {
|
|
|
- //开始时间00:00:01
|
|
|
- dateTime1 = DateUtil.offsetSecond(DateUtil.offsetDay(startDateTime, i), 1);
|
|
|
+
|
|
|
+ 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"));
|
|
@@ -183,7 +349,7 @@ public class SaveMeterInfoHistoryMonthYearTest {
|
|
|
|
|
|
for (int i = 0; i <= between; i++) {
|
|
|
//开始时间00:00:01
|
|
|
- dateTime1 = DateUtil.offsetSecond(DateUtil.offsetDay(startDateTime, i), 1);
|
|
|
+ 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"));
|
|
@@ -196,7 +362,7 @@ public class SaveMeterInfoHistoryMonthYearTest {
|
|
|
} else if (meterPoint.getNemCode().endsWith("_P3_MONTH")) {
|
|
|
for (int i = 0; i <= between; i++) {
|
|
|
//开始时间00:00:01
|
|
|
- dateTime1 = DateUtil.offsetSecond(DateUtil.offsetDay(startDateTime, i), 1);
|
|
|
+ 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"));
|
|
@@ -210,7 +376,7 @@ public class SaveMeterInfoHistoryMonthYearTest {
|
|
|
} else if (meterPoint.getNemCode().endsWith("_P4_MONTH")) {
|
|
|
for (int i = 0; i <= between; i++) {
|
|
|
//开始时间00:00:01
|
|
|
- dateTime1 = DateUtil.offsetSecond(DateUtil.offsetDay(startDateTime, i), 1);
|
|
|
+ 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"));
|
|
@@ -342,6 +508,115 @@ public class SaveMeterInfoHistoryMonthYearTest {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ @Test
|
|
|
+ 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 = startTimeString;
|
|
|
+ DateTime startDateTime0 = DateUtil.parse(startString);
|
|
|
+ DateTime startDateTime = DateUtil.beginOfMonth(startDateTime0);
|
|
|
+ DateTime endDateTime = DateUtil.endOfMonth(startDateTime0);
|
|
|
+
|
|
|
+ //开始日期到结束日期的天数
|
|
|
+ LocalDateTime day1 = LocalDateTimeUtil.of(startDateTime);
|
|
|
+ LocalDateTime day2 = LocalDateTimeUtil.of(endDateTime);
|
|
|
+ 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();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Test
|
|
|
+ void savePowerstationFdl_Year() {
|
|
|
+
|
|
|
+ List<MeterPoint> meterPointJSD_NFDLList = meterPointService.list(new QueryWrapper<MeterPoint>().eq("property", "JSD_POWERSTATIONFDL_YEAR"));
|
|
|
+
|
|
|
+ //设置取值开始时间
|
|
|
+ String startString = startTimeString;
|
|
|
+ DateTime startDateTime0 = DateUtil.parse(startString);
|
|
|
+ DateTime startDateTime = DateUtil.beginOfYear(startDateTime0);
|
|
|
+ DateTime endDateTime = DateUtil.endOfYear(startDateTime0);
|
|
|
+
|
|
|
+ //开始日期到结束日期的天数
|
|
|
+ LocalDateTime day1 = LocalDateTimeUtil.of(startDateTime);
|
|
|
+ LocalDateTime day2 = LocalDateTimeUtil.of(endDateTime);
|
|
|
+ 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();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
@Test
|
|
|
void saveWindStationFdl_Month() {
|
|
@@ -356,7 +631,7 @@ public class SaveMeterInfoHistoryMonthYearTest {
|
|
|
//开始日期到结束日期的天数
|
|
|
LocalDateTime day1 = LocalDateTimeUtil.of(startDateTime);
|
|
|
LocalDateTime day2 = LocalDateTimeUtil.of(endDateTime);
|
|
|
- long between = ChronoUnit.DAYS.between(day1, day2);
|
|
|
+ long between = ChronoUnit.MONTHS.between(day1, day2);
|
|
|
|
|
|
//2,meterPointJSD_YFDLList
|
|
|
|
|
@@ -367,7 +642,7 @@ public class SaveMeterInfoHistoryMonthYearTest {
|
|
|
|
|
|
for (int i = 0; i <= between; i++) {
|
|
|
//开始时间00:00:00
|
|
|
- dateTime1 = DateUtil.offsetDay(startDateTime, i);
|
|
|
+ dateTime1 = DateUtil.offsetMonth(startDateTime, i);
|
|
|
|
|
|
//根据每个场站的id,dateTime1,和集电线路总发电量的code拿到产站日发电量(集电线路项目期次侧)
|
|
|
List<MeterInfoCalculating> meterInfoCalculatingDay = meterInfoCalculatingService.list(new QueryWrapper<MeterInfoCalculating>().eq("date", dateTime1.toLocalDateTime()).like("code", "%_POWERSTATIONFDL_MONTH"));
|
|
@@ -457,6 +732,439 @@ public class SaveMeterInfoHistoryMonthYearTest {
|
|
|
}
|
|
|
|
|
|
|
|
|
+
|
|
|
+ @Test
|
|
|
+ void saveSBSSwdl_Month() {
|
|
|
+
|
|
|
+ List<MeterPoint> meterPointJSD_ProjectFDL_MonthList = meterPointService.list(new QueryWrapper<MeterPoint>().like("property", "JSD_SBSSWDL_MONTH"));
|
|
|
+
|
|
|
+ //设置取值开始时间
|
|
|
+ String startString = startTimeString;
|
|
|
+ DateTime startDateTime0 = DateUtil.parse(startString);
|
|
|
+ DateTime startDateTime = DateUtil.beginOfMonth(startDateTime0);
|
|
|
+ DateTime endDateTime = DateUtil.endOfMonth(startDateTime0);
|
|
|
+
|
|
|
+ //开始日期到结束日期的天数
|
|
|
+ LocalDateTime day1 = LocalDateTimeUtil.of(startDateTime);
|
|
|
+ LocalDateTime day2 = LocalDateTimeUtil.of(endDateTime);
|
|
|
+ long between = ChronoUnit.DAYS.between(day1, day2);
|
|
|
+
|
|
|
+ //2,meterPointJSD_YFDLList
|
|
|
+ for (MeterPoint meterPointJSD_SBSSWDL : meterPointJSD_ProjectFDL_MonthList) {
|
|
|
+
|
|
|
+
|
|
|
+ double monthValue = 0.0;
|
|
|
+ DateTime dateTime1 = DateTime.of(0);
|
|
|
+
|
|
|
+ if (meterPointJSD_SBSSWDL.getNemCode().endsWith("SWDL_SBS1_MONTH")) {
|
|
|
+
|
|
|
+ MeterPoint meterPointSBS = meterPointService.getOne(new QueryWrapper<MeterPoint>().eq("windpowerstation_id", meterPointJSD_SBSSWDL.getWindpowerstationId()).eq("uniform_code", "ZXYG").eq("meter_code", "111"));
|
|
|
+ for (int i = 0; i <= between; i++) {
|
|
|
+ //开始时间00:00:01
|
|
|
+ dateTime1 = DateUtil.offsetDay(startDateTime, i);
|
|
|
+
|
|
|
+ //根据每个场站的id,dateTime1,和集电线路总发电量的code拿到产站日发电量(集电线路项目期次侧)
|
|
|
+ MeterInfoBottomcode meterInfoBottomcode = meterInfoBottomcodeService.getOne(new QueryWrapper<MeterInfoBottomcode>().eq("code", meterPointSBS.getNemCode()).eq("start_time", dateTime1.toLocalDateTime()));
|
|
|
+
|
|
|
+ //MeterInfoCalculating,拿到每个记录的value值并累加到monthValue
|
|
|
+ if (meterInfoBottomcode != null) {
|
|
|
+ monthValue = monthValue + meterInfoBottomcode.getDayValue().doubleValue();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else if (meterPointJSD_SBSSWDL.getNemCode().endsWith("SWDL_SBS2_MONTH")) {
|
|
|
+ MeterPoint meterPointSBS = meterPointService.getOne(new QueryWrapper<MeterPoint>().eq("windpowerstation_id", meterPointJSD_SBSSWDL.getWindpowerstationId()).eq("uniform_code", "ZXYG").eq("meter_code", "121"));
|
|
|
+ for (int i = 0; i <= between; i++) {
|
|
|
+ //开始时间00:00:01
|
|
|
+ dateTime1 = DateUtil.offsetDay(startDateTime, i);
|
|
|
+
|
|
|
+ //根据每个场站的id,dateTime1,和集电线路总发电量的code拿到产站日发电量(集电线路项目期次侧)
|
|
|
+ MeterInfoBottomcode meterInfoBottomcode = meterInfoBottomcodeService.getOne(new QueryWrapper<MeterInfoBottomcode>().eq("code", meterPointSBS.getNemCode()).eq("start_time", dateTime1.toLocalDateTime()));
|
|
|
+
|
|
|
+ //MeterInfoCalculating,拿到每个记录的value值并累加到monthValue
|
|
|
+ if (meterInfoBottomcode != null) {
|
|
|
+ monthValue = monthValue + meterInfoBottomcode.getDayValue().doubleValue();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else if (meterPointJSD_SBSSWDL.getNemCode().endsWith("SWDL_SBS3_MONTH")) {
|
|
|
+ MeterPoint meterPointSBS = meterPointService.getOne(new QueryWrapper<MeterPoint>().eq("windpowerstation_id", meterPointJSD_SBSSWDL.getWindpowerstationId()).eq("uniform_code", "ZXYG").eq("meter_code", "151"));
|
|
|
+ for (int i = 0; i <= between; i++) {
|
|
|
+ //开始时间00:00:01
|
|
|
+ dateTime1 = DateUtil.offsetDay(startDateTime, i);
|
|
|
+
|
|
|
+ //根据每个场站的id,dateTime1,和集电线路总发电量的code拿到产站日发电量(集电线路项目期次侧)
|
|
|
+ MeterInfoBottomcode meterInfoBottomcode = meterInfoBottomcodeService.getOne(new QueryWrapper<MeterInfoBottomcode>().eq("code", meterPointSBS.getNemCode()).eq("start_time", dateTime1.toLocalDateTime()));
|
|
|
+
|
|
|
+ //MeterInfoCalculating,拿到每个记录的value值并累加到monthValue
|
|
|
+ if (meterInfoBottomcode != null) {
|
|
|
+ monthValue = monthValue + meterInfoBottomcode.getDayValue().doubleValue();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ // 将每个场站的每个月的value值存入到MeterInfoCalculating
|
|
|
+ MeterInfoCalculating meterInfoCalculating = new MeterInfoCalculating();
|
|
|
+ meterInfoCalculating.setName(meterPointJSD_SBSSWDL.getName());
|
|
|
+ meterInfoCalculating.setCode(meterPointJSD_SBSSWDL.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());
|
|
|
+ meterInfoCalculating.setWindpowerstationId(meterPointJSD_SBSSWDL.getWindpowerstationId());
|
|
|
+
|
|
|
+ QueryWrapper<MeterInfoCalculating> queryWrapper = new QueryWrapper<>();
|
|
|
+ queryWrapper.eq("code", meterPointJSD_SBSSWDL.getNemCode()).eq("date", dateTime1.toLocalDateTime().withDayOfMonth(1).withNano(0).withSecond(0).withMinute(0).withHour(0)).eq("windpowerstation_id", meterPointJSD_SBSSWDL.getWindpowerstationId());
|
|
|
+ List<MeterInfoCalculating> list = meterInfoCalculatingService.list(queryWrapper);
|
|
|
+ if (list.size() > 0) {
|
|
|
+ meterInfoCalculating.update(queryWrapper);
|
|
|
+ } else {
|
|
|
+ meterInfoCalculating.insert();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Test
|
|
|
+ void saveSBSSwdl_Year() {
|
|
|
+
|
|
|
+ List<MeterPoint> meterPointJSD_NFDLList = meterPointService.list(new QueryWrapper<MeterPoint>().eq("property", "JSD_SBSSWDL_YEAR"));
|
|
|
+
|
|
|
+ //设置取值开始时间
|
|
|
+ String startString = startTimeString;
|
|
|
+ DateTime startDateTime0 = DateUtil.parse(startString);
|
|
|
+ DateTime startDateTime = DateUtil.beginOfYear(startDateTime0);
|
|
|
+ DateTime endDateTime = DateUtil.endOfYear(startDateTime0);
|
|
|
+
|
|
|
+ //开始日期到结束日期的天数
|
|
|
+ LocalDateTime day1 = LocalDateTimeUtil.of(startDateTime);
|
|
|
+ LocalDateTime day2 = LocalDateTimeUtil.of(endDateTime);
|
|
|
+ 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("_SBS1_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", "%_SWDL_SBS1_MONTH"));
|
|
|
+
|
|
|
+ //MeterInfoCalculating,拿到每个记录的value值并累加到monthValue
|
|
|
+ if (meterInfoCalculating != null) {
|
|
|
+ yearValue = yearValue + meterInfoCalculating.getValue().doubleValue();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else if (meterPoint.getNemCode().endsWith("_SBS2_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", "%_SWDL_SBS2_MONTH"));
|
|
|
+
|
|
|
+ //MeterInfoCalculating,拿到每个记录的value值并累加到monthValue
|
|
|
+ if (meterInfoCalculating != null) {
|
|
|
+ yearValue = yearValue + meterInfoCalculating.getValue().doubleValue();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else if (meterPoint.getNemCode().endsWith("_SBS3_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", "%_SWDL_SBS3_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();
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Test
|
|
|
+ void savePowerstationSwdl_Month() {
|
|
|
+
|
|
|
+ List<MeterPoint> meterPointJSD_YFDLList = meterPointService.list(new QueryWrapper<MeterPoint>().eq("property", "JSD_SWDL_MONTH"));
|
|
|
+
|
|
|
+ //设置取值开始时间
|
|
|
+ String startString = startTimeString;
|
|
|
+ DateTime startDateTime0 = DateUtil.parse(startString);
|
|
|
+ DateTime startDateTime = DateUtil.beginOfMonth(startDateTime0);
|
|
|
+ DateTime endDateTime = DateUtil.endOfMonth(startDateTime0);
|
|
|
+
|
|
|
+ //开始日期到结束日期的天数
|
|
|
+ LocalDateTime day1 = LocalDateTimeUtil.of(startDateTime);
|
|
|
+ LocalDateTime day2 = LocalDateTimeUtil.of(endDateTime);
|
|
|
+ long between = ChronoUnit.MONTHS.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拿到产站日发电量(集电线路总发电量)
|
|
|
+ List<MeterInfoCalculating> meterInfoCalculatingDay = meterInfoCalculatingService.list(new QueryWrapper<MeterInfoCalculating>().eq("windpowerstation_id", meterPoint.getWindpowerstationId()).eq("date", dateTime1.toLocalDateTime()).like("code", "%SWDL_SBS%_MONTH"));
|
|
|
+
|
|
|
+ for (MeterInfoCalculating meterInfoCalculating : meterInfoCalculatingDay) {
|
|
|
+ //MeterInfoCalculating,拿到每个记录的value值并累加到monthValue
|
|
|
+ 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());
|
|
|
+ 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();
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ @Test
|
|
|
+ void savePowerstationSwdl_Year() {
|
|
|
+
|
|
|
+ List<MeterPoint> meterPointJSD_YFDLList = meterPointService.list(new QueryWrapper<MeterPoint>().eq("property", "JSD_SWDL_YEAR"));
|
|
|
+
|
|
|
+ //设置取值开始时间
|
|
|
+ String startString = startTimeString;
|
|
|
+ DateTime startDateTime0 = DateUtil.parse(startString);
|
|
|
+ DateTime startDateTime = DateUtil.beginOfYear(startDateTime0);
|
|
|
+ DateTime endDateTime = DateUtil.endOfYear(startDateTime0);
|
|
|
+
|
|
|
+ //开始日期到结束日期的天数
|
|
|
+ LocalDateTime day1 = LocalDateTimeUtil.of(startDateTime);
|
|
|
+ LocalDateTime day2 = LocalDateTimeUtil.of(endDateTime);
|
|
|
+ long between = ChronoUnit.YEARS.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拿到产站日发电量(集电线路总发电量)
|
|
|
+ List<MeterInfoCalculating> meterInfoCalculatingDay = meterInfoCalculatingService.list(new QueryWrapper<MeterInfoCalculating>().eq("windpowerstation_id", meterPoint.getWindpowerstationId()).eq("date", dateTime1.toLocalDateTime()).like("code", "%SWDL_SBS%_YEAR"));
|
|
|
+
|
|
|
+ for (MeterInfoCalculating meterInfoCalculating : meterInfoCalculatingDay) {
|
|
|
+ //MeterInfoCalculating,拿到每个记录的value值并累加到monthValue
|
|
|
+ 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());
|
|
|
+ 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();
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ @Test
|
|
|
+ void saveWindStationSwdl_Month() {
|
|
|
+
|
|
|
+ MeterPoint meterPoint = meterPointService.getOne(new QueryWrapper<MeterPoint>().eq("property", "JSD_FCSWDL_MONTH"));
|
|
|
+ //设置取值开始时间
|
|
|
+ String startString = startTimeString;
|
|
|
+ DateTime startDateTime0 = DateUtil.parse(startString);
|
|
|
+ DateTime startDateTime = DateUtil.beginOfMonth(startDateTime0);
|
|
|
+ DateTime endDateTime = DateUtil.endOfMonth(startDateTime0);
|
|
|
+
|
|
|
+ //开始日期到结束日期的天数
|
|
|
+ LocalDateTime day1 = LocalDateTimeUtil.of(startDateTime);
|
|
|
+ LocalDateTime day2 = LocalDateTimeUtil.of(endDateTime);
|
|
|
+ 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", "%_SWDL_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();
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ @Test
|
|
|
+ void saveWindStationSwdl_Year() {
|
|
|
+
|
|
|
+ MeterPoint meterPoint = meterPointService.getOne(new QueryWrapper<MeterPoint>().eq("property", "JSD_FCSWDL_YEAR"));
|
|
|
+
|
|
|
+ //设置取值开始时间
|
|
|
+ String startString = startTimeString;
|
|
|
+ DateTime startDateTime0 = DateUtil.parse(startString);
|
|
|
+ DateTime startDateTime = DateUtil.beginOfYear(startDateTime0);
|
|
|
+ DateTime endDateTime = DateUtil.endOfYear(startDateTime0);
|
|
|
+
|
|
|
+ //开始日期到结束日期的天数
|
|
|
+ LocalDateTime day1 = LocalDateTimeUtil.of(startDateTime);
|
|
|
+ LocalDateTime day2 = LocalDateTimeUtil.of(endDateTime);
|
|
|
+ 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_FCSWDL_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();
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ @Test
|
|
|
+ void sum(){
|
|
|
+ this.saveLineFdl_Month();
|
|
|
+ this.saveLineFdl_Year();
|
|
|
+ this.saveProjectFdl_Month();
|
|
|
+ this.saveProjectFdl_Year();
|
|
|
+ this.savePowerstationFdl_Month();
|
|
|
+ this.savePowerstationFdl_Year();
|
|
|
+ this.saveWindStationFdl_Month();
|
|
|
+ this.saveWindStationFdl_Year();
|
|
|
+ this.saveSBSSwdl_Month();
|
|
|
+ this.saveSBSSwdl_Year();
|
|
|
+ this.savePowerstationSwdl_Month();
|
|
|
+ this.savePowerstationSwdl_Year();
|
|
|
+ this.saveWindStationSwdl_Month();
|
|
|
+ this.saveWindStationSwdl_Year();
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
|