|
@@ -4,6 +4,7 @@ package org.jeecg.modules.deviceLesm.service.impl;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import org.apache.commons.collections.CollectionUtils;
|
|
|
+import org.jeecg.common.util.oConvertUtils;
|
|
|
import org.jeecg.modules.deviceLesm.entity.DeviceInformation;
|
|
|
import org.jeecg.modules.deviceLesm.entity.DeviceRegion;
|
|
|
import org.jeecg.modules.deviceLesm.mapper.DeviceInformationMapper;
|
|
@@ -150,32 +151,35 @@ public class DeviceRegionServiceImpl extends ServiceImpl<DeviceRegionMapper, Dev
|
|
|
|
|
|
// 峰平谷时段处理
|
|
|
peaksAndValleysTimeConfiglist.forEach(peaksAndValleysTime -> {
|
|
|
- String startDate = dayDate + " " + peaksAndValleysTime.getStartTime();
|
|
|
- String endDate = dayDate + " " + peaksAndValleysTime.getEndTime();
|
|
|
-
|
|
|
- LocalDateTime start_time = adjustCrossDay(LocalDateTime.parse(startDate, formatter), LocalDateTime.parse(endDate, formatter));
|
|
|
-
|
|
|
- // 转换为字符串
|
|
|
- String formattedStartTime = start_time.format(formatter);
|
|
|
-
|
|
|
- Map peaksAndValleysTimeMap = fpgGatherDataMapper.getFpgTheLeftSideOneData(region, formattedStartTime, endDate);
|
|
|
- if (peaksAndValleysTimeMap != null) {
|
|
|
- if ("tops".equals(peaksAndValleysTime.getType())) { // 尖值处理
|
|
|
- BigDecimal topsAmount = new BigDecimal(String.valueOf(peaksAndValleysTimeMap.get("active_power")));
|
|
|
- BigDecimal topsSum = new BigDecimal(String.valueOf(mapSum.get("topsSum")));
|
|
|
- mapSum.put("topsSum", topsSum.add(topsAmount));
|
|
|
- } else if ("peaks".equals(peaksAndValleysTime.getType())) { // 峰值处理
|
|
|
- BigDecimal peaksAmount = new BigDecimal(String.valueOf(peaksAndValleysTimeMap.get("active_power")));
|
|
|
- BigDecimal peaksSum = new BigDecimal(String.valueOf(mapSum.get("peaksSum")));
|
|
|
- mapSum.put("peaksSum", peaksSum.add(peaksAmount));
|
|
|
- } else if ("flat".equals(peaksAndValleysTime.getType())) { // 平值处理
|
|
|
- BigDecimal flatAmount = new BigDecimal(String.valueOf(peaksAndValleysTimeMap.get("active_power")));
|
|
|
- BigDecimal flatSum = new BigDecimal(String.valueOf(mapSum.get("flatSum")));
|
|
|
- mapSum.put("flatSum", flatSum.add(flatAmount));
|
|
|
- } else if ("valleys".equals(peaksAndValleysTime.getType())) { // 谷值处理
|
|
|
- BigDecimal valleysAmount = new BigDecimal(String.valueOf(peaksAndValleysTimeMap.get("active_power")));
|
|
|
- BigDecimal valleysSum = new BigDecimal(String.valueOf(mapSum.get("valleysSum")));
|
|
|
- mapSum.put("valleysSum", valleysSum.add(valleysAmount));
|
|
|
+
|
|
|
+ if(oConvertUtils.isNotEmpty(peaksAndValleysTime.getStartTime()) && oConvertUtils.isNotEmpty(peaksAndValleysTime.getEndTime())) {
|
|
|
+ String startDate = dayDate + " " + peaksAndValleysTime.getStartTime();
|
|
|
+ String endDate = dayDate + " " + peaksAndValleysTime.getEndTime();
|
|
|
+
|
|
|
+ LocalDateTime start_time = adjustCrossDay(LocalDateTime.parse(startDate, formatter), LocalDateTime.parse(endDate, formatter));
|
|
|
+
|
|
|
+ // 转换为字符串
|
|
|
+ String formattedStartTime = start_time.format(formatter);
|
|
|
+
|
|
|
+ Map peaksAndValleysTimeMap = fpgGatherDataMapper.getFpgTheLeftSideOneData(region, formattedStartTime, endDate);
|
|
|
+ if (peaksAndValleysTimeMap != null) {
|
|
|
+ if ("tops".equals(peaksAndValleysTime.getType())) { // 尖值处理
|
|
|
+ BigDecimal topsAmount = new BigDecimal(String.valueOf(peaksAndValleysTimeMap.get("active_power")));
|
|
|
+ BigDecimal topsSum = new BigDecimal(String.valueOf(mapSum.get("topsSum")));
|
|
|
+ mapSum.put("topsSum", topsSum.add(topsAmount));
|
|
|
+ } else if ("peaks".equals(peaksAndValleysTime.getType())) { // 峰值处理
|
|
|
+ BigDecimal peaksAmount = new BigDecimal(String.valueOf(peaksAndValleysTimeMap.get("active_power")));
|
|
|
+ BigDecimal peaksSum = new BigDecimal(String.valueOf(mapSum.get("peaksSum")));
|
|
|
+ mapSum.put("peaksSum", peaksSum.add(peaksAmount));
|
|
|
+ } else if ("flat".equals(peaksAndValleysTime.getType())) { // 平值处理
|
|
|
+ BigDecimal flatAmount = new BigDecimal(String.valueOf(peaksAndValleysTimeMap.get("active_power")));
|
|
|
+ BigDecimal flatSum = new BigDecimal(String.valueOf(mapSum.get("flatSum")));
|
|
|
+ mapSum.put("flatSum", flatSum.add(flatAmount));
|
|
|
+ } else if ("valleys".equals(peaksAndValleysTime.getType())) { // 谷值处理
|
|
|
+ BigDecimal valleysAmount = new BigDecimal(String.valueOf(peaksAndValleysTimeMap.get("active_power")));
|
|
|
+ BigDecimal valleysSum = new BigDecimal(String.valueOf(mapSum.get("valleysSum")));
|
|
|
+ mapSum.put("valleysSum", valleysSum.add(valleysAmount));
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
});
|
|
@@ -267,32 +271,34 @@ public class DeviceRegionServiceImpl extends ServiceImpl<DeviceRegionMapper, Dev
|
|
|
|
|
|
if (!CollectionUtils.isEmpty(deviceIds)) {
|
|
|
for (PeaksAndValleysTimeConfig peaksAndValleysTimeConfig : peaksAndValleysTimeConfiglist) {
|
|
|
- String startDate = dayDate + " " + peaksAndValleysTimeConfig.getStartTime();
|
|
|
- String endDate = dayDate + " " + peaksAndValleysTimeConfig.getEndTime();
|
|
|
-
|
|
|
- LocalDateTime start_time = adjustCrossDay(LocalDateTime.parse(startDate, formatter), LocalDateTime.parse(endDate, formatter));
|
|
|
-
|
|
|
- // 转换为字符串
|
|
|
- String formattedStartTime = start_time.format(formatter);
|
|
|
-
|
|
|
- Map peaksAndValleysTimeMap = fpgGatherDataMapper.getDeviceTypeData(deviceIds, formattedStartTime, endDate);
|
|
|
- if (peaksAndValleysTimeMap != null) {
|
|
|
- if ("tops".equals(peaksAndValleysTimeConfig.getType())) { // 尖值处理
|
|
|
- BigDecimal topsAmount = new BigDecimal(String.valueOf(peaksAndValleysTimeMap.get("active_power")));
|
|
|
- BigDecimal topsSum = new BigDecimal(String.valueOf(mapSum1.get("topsSum")));
|
|
|
- mapSum1.put("topsSum", topsSum.add(topsAmount));
|
|
|
- } else if ("peaks".equals(peaksAndValleysTimeConfig.getType())) { // 峰值处理
|
|
|
- BigDecimal peaksAmount = new BigDecimal(String.valueOf(peaksAndValleysTimeMap.get("active_power")));
|
|
|
- BigDecimal peaksSum = new BigDecimal(String.valueOf(mapSum1.get("peaksSum")));
|
|
|
- mapSum1.put("peaksSum", peaksSum.add(peaksAmount));
|
|
|
- } else if ("flat".equals(peaksAndValleysTimeConfig.getType())) { // 平值处理
|
|
|
- BigDecimal flatAmount = new BigDecimal(String.valueOf(peaksAndValleysTimeMap.get("active_power")));
|
|
|
- BigDecimal flatSum = new BigDecimal(String.valueOf(mapSum1.get("flatSum")));
|
|
|
- mapSum1.put("flatSum", flatSum.add(flatAmount));
|
|
|
- } else if ("valleys".equals(peaksAndValleysTimeConfig.getType())) { // 谷值处理
|
|
|
- BigDecimal valleysAmount = new BigDecimal(String.valueOf(peaksAndValleysTimeMap.get("active_power")));
|
|
|
- BigDecimal valleysSum = new BigDecimal(String.valueOf(mapSum1.get("valleysSum")));
|
|
|
- mapSum1.put("valleysSum", valleysSum.add(valleysAmount));
|
|
|
+ if (oConvertUtils.isNotEmpty(peaksAndValleysTimeConfig.getStartTime()) && oConvertUtils.isNotEmpty(peaksAndValleysTimeConfig.getEndTime())) {
|
|
|
+ String startDate = dayDate + " " + peaksAndValleysTimeConfig.getStartTime();
|
|
|
+ String endDate = dayDate + " " + peaksAndValleysTimeConfig.getEndTime();
|
|
|
+
|
|
|
+ LocalDateTime start_time = adjustCrossDay(LocalDateTime.parse(startDate, formatter), LocalDateTime.parse(endDate, formatter));
|
|
|
+
|
|
|
+ // 转换为字符串
|
|
|
+ String formattedStartTime = start_time.format(formatter);
|
|
|
+
|
|
|
+ Map peaksAndValleysTimeMap = fpgGatherDataMapper.getDeviceTypeData(deviceIds, formattedStartTime, endDate);
|
|
|
+ if (peaksAndValleysTimeMap != null) {
|
|
|
+ if ("tops".equals(peaksAndValleysTimeConfig.getType())) { // 尖值处理
|
|
|
+ BigDecimal topsAmount = new BigDecimal(String.valueOf(peaksAndValleysTimeMap.get("active_power")));
|
|
|
+ BigDecimal topsSum = new BigDecimal(String.valueOf(mapSum1.get("topsSum")));
|
|
|
+ mapSum1.put("topsSum", topsSum.add(topsAmount));
|
|
|
+ } else if ("peaks".equals(peaksAndValleysTimeConfig.getType())) { // 峰值处理
|
|
|
+ BigDecimal peaksAmount = new BigDecimal(String.valueOf(peaksAndValleysTimeMap.get("active_power")));
|
|
|
+ BigDecimal peaksSum = new BigDecimal(String.valueOf(mapSum1.get("peaksSum")));
|
|
|
+ mapSum1.put("peaksSum", peaksSum.add(peaksAmount));
|
|
|
+ } else if ("flat".equals(peaksAndValleysTimeConfig.getType())) { // 平值处理
|
|
|
+ BigDecimal flatAmount = new BigDecimal(String.valueOf(peaksAndValleysTimeMap.get("active_power")));
|
|
|
+ BigDecimal flatSum = new BigDecimal(String.valueOf(mapSum1.get("flatSum")));
|
|
|
+ mapSum1.put("flatSum", flatSum.add(flatAmount));
|
|
|
+ } else if ("valleys".equals(peaksAndValleysTimeConfig.getType())) { // 谷值处理
|
|
|
+ BigDecimal valleysAmount = new BigDecimal(String.valueOf(peaksAndValleysTimeMap.get("active_power")));
|
|
|
+ BigDecimal valleysSum = new BigDecimal(String.valueOf(mapSum1.get("valleysSum")));
|
|
|
+ mapSum1.put("valleysSum", valleysSum.add(valleysAmount));
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|