谐波统计接口调整
This commit is contained in:
@@ -56,6 +56,7 @@ import java.io.File;
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDate;
|
||||
import java.util.*;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
@@ -105,7 +106,7 @@ public class AnalyzeServiceImpl implements IAnalyzeService {
|
||||
temList.forEach(item -> {
|
||||
OverAreaLimitVO overAreaLimitVO = new OverAreaLimitVO();
|
||||
if (!CollectionUtils.isEmpty(item.getLineIndexes())) {
|
||||
List<LimitTarget> limitTargetList = harmonicService.getLimitTarget(item.getLineIndexes(), param.getSearchBeginTime(), param.getSearchEndTime());
|
||||
List<RStatLimitTargetDPO> limitTargetList = harmonicService.getLimitTarget(item.getLineIndexes(), param.getSearchBeginTime(), param.getSearchEndTime());
|
||||
overAreaLimitVO = handleAreaData(limitTargetList, item.getLineIndexes(), param);
|
||||
}
|
||||
overAreaLimitVO.setName(item.getName());
|
||||
@@ -503,7 +504,7 @@ public class AnalyzeServiceImpl implements IAnalyzeService {
|
||||
* @date 2022/2/25 15:05
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
public OverAreaLimitVO handleAreaData(List<LimitTarget> list, List<String> line, OverAreaVO param) {
|
||||
public OverAreaLimitVO handleAreaData(List<RStatLimitTargetDPO> list, List<String> line, OverAreaVO param) {
|
||||
int onlineCount = 0, overLineCount = 0, freqCount = 0, voltageCount = 0, ubalanceCount = 0, flickerCount = 0, iNegCount = 0, uharmCount = 0, iharmCount = 0, inuharmCount = 0;
|
||||
int freqOverDay = 0, voltageOverDay = 0, ubalanceOverDay = 0, flickerOverDay = 0, iNegOverDay = 0, uharmOverDay = 0, iharmOverDay = 0, inuharmOverDay = 0;
|
||||
OverAreaLimitVO overAreaLimitVO = new OverAreaLimitVO();
|
||||
@@ -572,32 +573,32 @@ public class AnalyzeServiceImpl implements IAnalyzeService {
|
||||
overAreaLimitVO.setInterHarmonicBiLi(BigDecimal.valueOf(inuharmCount * 1.0 / data.size() * 100).setScale(2, RoundingMode.HALF_UP).doubleValue());
|
||||
}
|
||||
}
|
||||
Map<Instant, List<LimitTarget>> map = list.stream().collect(Collectors.groupingBy(LimitTarget::getTime));
|
||||
for (Instant key : map.keySet()) {
|
||||
List<LimitTarget> l = map.get(key);
|
||||
for (LimitTarget pojo : l) {
|
||||
if (pojo.getFreqDevOverTime() > 0) {
|
||||
Map<LocalDate, List<RStatLimitTargetDPO>> map = list.stream().collect(Collectors.groupingBy(RStatLimitTargetDPO::getTime));
|
||||
for (LocalDate key : map.keySet()) {
|
||||
List<RStatLimitTargetDPO> l = map.get(key);
|
||||
for (RStatLimitTargetDPO pojo : l) {
|
||||
if (pojo.getFreqDevOvertime() > 0) {
|
||||
freqOverDay++;
|
||||
}
|
||||
if (pojo.getVoltageDevOverTime() > 0) {
|
||||
if (pojo.getVoltageDevOvertime() > 0) {
|
||||
voltageOverDay++;
|
||||
}
|
||||
if (pojo.getUBalanceOverTime() > 0) {
|
||||
if (pojo.getUbalanceOvertime() > 0) {
|
||||
ubalanceOverDay++;
|
||||
}
|
||||
if (pojo.getFlickerOverTime() > 0) {
|
||||
if (pojo.getFlickerOvertime() > 0) {
|
||||
flickerOverDay++;
|
||||
}
|
||||
if (pojo.getINegOverTime() > 0) {
|
||||
if (pojo.getINegOvertime() > 0) {
|
||||
iNegOverDay++;
|
||||
}
|
||||
if (pojo.getUHarm2OverTime() > 0) {
|
||||
if (pojo.getUharm2Overtime() > 0) {
|
||||
uharmOverDay++;
|
||||
}
|
||||
if (pojo.getIHarm2OverTime() > 0) {
|
||||
if (pojo.getIharm2Overtime() > 0) {
|
||||
iharmOverDay++;
|
||||
}
|
||||
if (pojo.getInuHarm1OverTime() > 0) {
|
||||
if (pojo.getInuharm2Overtime() > 0) {
|
||||
inuharmOverDay++;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -328,107 +328,12 @@ public class HarmonicServiceImpl implements IHarmonicService {
|
||||
* @author xy
|
||||
* @date 2022/2/25 15:05
|
||||
*/
|
||||
public List<LimitTarget> getLimitTarget(List<String> lineList, String startTime, String endTime) {
|
||||
List<LimitTarget> listInfo = new ArrayList<>();
|
||||
List<RStatLimitTargetDPO> limitRates = targetDMapper.selectList(new LambdaQueryWrapper<RStatLimitTargetDPO>()
|
||||
public List<RStatLimitTargetDPO> getLimitTarget(List<String> lineList, String startTime, String endTime) {
|
||||
return targetDMapper.selectList(new LambdaQueryWrapper<RStatLimitTargetDPO>()
|
||||
.in(RStatLimitTargetDPO::getLineId, lineList)
|
||||
.ge(StrUtil.isNotBlank(startTime), RStatLimitTargetDPO::getTime, DateUtil.beginOfDay(DateUtil.parse(startTime)))
|
||||
.le(StrUtil.isNotBlank(endTime), RStatLimitTargetDPO::getTime, DateUtil.endOfDay(DateUtil.parse(endTime)))
|
||||
);
|
||||
if (CollUtil.isNotEmpty(limitRates)) {
|
||||
limitRates.forEach(list -> {
|
||||
LimitTarget limitRatePO = BeanUtil.copyProperties(list, LimitTarget.class);
|
||||
LocalDateTime localDateTime = list.getTime().atStartOfDay();
|
||||
|
||||
// 将LocalDateTime转换为Instant
|
||||
Instant instant = localDateTime.toInstant(ZoneOffset.ofHours(8));
|
||||
limitRatePO.setTime(instant);
|
||||
limitRatePO.setLineId(list.getLineId());
|
||||
limitRatePO.setPhasicType(list.getPhasicType());
|
||||
limitRatePO.setAllTime(list.getAllTime());
|
||||
limitRatePO.setFlickerAllTime(list.getFlickerAllTime());
|
||||
limitRatePO.setFlickerOverTime(list.getFlickerOvertime());
|
||||
limitRatePO.setFreqDevOverTime(list.getFreqDevOvertime());
|
||||
limitRatePO.setIHarm2OverTime(list.getIharm2Overtime());
|
||||
limitRatePO.setIHarm3OverTime(list.getIharm3Overtime());
|
||||
limitRatePO.setIHarm4OverTime(list.getIharm4Overtime());
|
||||
limitRatePO.setIHarm5OverTime(list.getIharm5Overtime());
|
||||
limitRatePO.setIHarm6OverTime(list.getIharm6Overtime());
|
||||
limitRatePO.setIHarm7OverTime(list.getIharm7Overtime());
|
||||
limitRatePO.setIHarm8OverTime(list.getIharm8Overtime());
|
||||
limitRatePO.setIHarm9OverTime(list.getIharm9Overtime());
|
||||
limitRatePO.setIHarm10OverTime(list.getIharm10Overtime());
|
||||
limitRatePO.setIHarm11OverTime(list.getIharm11Overtime());
|
||||
limitRatePO.setIHarm12OverTime(list.getIharm12Overtime());
|
||||
limitRatePO.setIHarm13OverTime(list.getIharm13Overtime());
|
||||
limitRatePO.setIHarm14OverTime(list.getIharm14Overtime());
|
||||
limitRatePO.setIHarm15OverTime(list.getIharm15Overtime());
|
||||
limitRatePO.setIHarm16OverTime(list.getIharm16Overtime());
|
||||
limitRatePO.setIHarm17OverTime(list.getIharm17Overtime());
|
||||
limitRatePO.setIHarm18OverTime(list.getIharm18Overtime());
|
||||
limitRatePO.setIHarm19OverTime(list.getIharm19Overtime());
|
||||
limitRatePO.setIHarm20OverTime(list.getIharm20Overtime());
|
||||
limitRatePO.setIHarm21OverTime(list.getIharm21Overtime());
|
||||
limitRatePO.setIHarm22OverTime(list.getIharm22Overtime());
|
||||
limitRatePO.setIHarm23OverTime(list.getIharm23Overtime());
|
||||
limitRatePO.setIHarm24OverTime(list.getIharm24Overtime());
|
||||
limitRatePO.setIHarm25OverTime(list.getIharm25Overtime());
|
||||
limitRatePO.setINegOverTime(list.getINegOvertime());
|
||||
limitRatePO.setUAberranceOverTime(list.getUaberranceOvertime());
|
||||
limitRatePO.setUBalanceOverTime(list.getUbalanceOvertime());
|
||||
limitRatePO.setUHarm2OverTime(list.getUharm2Overtime());
|
||||
limitRatePO.setUHarm3OverTime(list.getUharm3Overtime());
|
||||
limitRatePO.setUHarm4OverTime(list.getUharm4Overtime());
|
||||
limitRatePO.setUHarm5OverTime(list.getUharm5Overtime());
|
||||
limitRatePO.setUHarm6OverTime(list.getUharm6Overtime());
|
||||
limitRatePO.setUHarm7OverTime(list.getUharm7Overtime());
|
||||
limitRatePO.setUHarm8OverTime(list.getUharm8Overtime());
|
||||
limitRatePO.setUHarm9OverTime(list.getUharm9Overtime());
|
||||
limitRatePO.setUHarm10OverTime(list.getUharm10Overtime());
|
||||
limitRatePO.setUHarm11OverTime(list.getUharm11Overtime());
|
||||
limitRatePO.setUHarm12OverTime(list.getUharm12Overtime());
|
||||
limitRatePO.setUHarm13OverTime(list.getUharm13Overtime());
|
||||
limitRatePO.setUHarm14OverTime(list.getUharm14Overtime());
|
||||
limitRatePO.setUHarm15OverTime(list.getUharm15Overtime());
|
||||
limitRatePO.setUHarm16OverTime(list.getUharm16Overtime());
|
||||
limitRatePO.setUHarm17OverTime(list.getUharm17Overtime());
|
||||
limitRatePO.setUHarm18OverTime(list.getUharm18Overtime());
|
||||
limitRatePO.setUHarm19OverTime(list.getUharm19Overtime());
|
||||
limitRatePO.setUHarm20OverTime(list.getUharm20Overtime());
|
||||
limitRatePO.setUHarm21OverTime(list.getUharm21Overtime());
|
||||
limitRatePO.setUHarm22OverTime(list.getUharm22Overtime());
|
||||
limitRatePO.setUHarm23OverTime(list.getUharm23Overtime());
|
||||
limitRatePO.setUHarm24OverTime(list.getUharm24Overtime());
|
||||
limitRatePO.setUHarm25OverTime(list.getUharm25Overtime());
|
||||
|
||||
limitRatePO.setInuHarm1OverTime(list.getInuharm1Overtime());
|
||||
limitRatePO.setInuHarm2OverTime(list.getInuharm2Overtime());
|
||||
limitRatePO.setInuHarm3OverTime(list.getInuharm3Overtime());
|
||||
limitRatePO.setInuHarm4OverTime(list.getInuharm4Overtime());
|
||||
limitRatePO.setInuHarm5OverTime(list.getInuharm5Overtime());
|
||||
limitRatePO.setInuHarm6OverTime(list.getInuharm6Overtime());
|
||||
limitRatePO.setInuHarm7OverTime(list.getInuharm7Overtime());
|
||||
limitRatePO.setInuHarm8OverTime(list.getInuharm8Overtime());
|
||||
limitRatePO.setInuHarm9OverTime(list.getInuharm9Overtime());
|
||||
limitRatePO.setInuHarm10OverTime(list.getInuharm10Overtime());
|
||||
limitRatePO.setInuHarm11OverTime(list.getInuharm11Overtime());
|
||||
limitRatePO.setInuHarm12OverTime(list.getInuharm12Overtime());
|
||||
limitRatePO.setInuHarm13OverTime(list.getInuharm13Overtime());
|
||||
limitRatePO.setInuHarm14OverTime(list.getInuharm14Overtime());
|
||||
limitRatePO.setInuHarm15OverTime(list.getInuharm15Overtime());
|
||||
limitRatePO.setInuHarm16OverTime(list.getInuharm16Overtime());
|
||||
|
||||
limitRatePO.setFlickerOverTime(list.getFlickerOvertime());
|
||||
limitRatePO.setFlickerAllTime(list.getFlickerAllTime());
|
||||
limitRatePO.setFreqDevOverTime(list.getFreqDevOvertime());
|
||||
limitRatePO.setVoltageDevOverTime(list.getVoltageDevOvertime());
|
||||
limitRatePO.setUAberranceOverTime(list.getUaberranceOvertime());
|
||||
limitRatePO.setINegOverTime(list.getINegOvertime());
|
||||
listInfo.add(limitRatePO);
|
||||
});
|
||||
}
|
||||
return listInfo;
|
||||
|
||||
}
|
||||
|
||||
public AreaDTO handleDataNew(List<RStatLimitTargetDPO> list, List<RStatLimitTargetDPO> sumList, String type) {
|
||||
@@ -497,7 +402,7 @@ public class HarmonicServiceImpl implements IHarmonicService {
|
||||
* @author xy
|
||||
* @date 2022/2/25 15:05
|
||||
*/
|
||||
public AreaDTO handleData(List<LimitTarget> list, String type, List<String> lineList, String startTime, String endTime) {
|
||||
public AreaDTO handleData(List<RStatLimitTargetDPO> list, String type, List<String> lineList, String startTime, String endTime) {
|
||||
int onlineCount = 0, overLineCount = 0, overCountByDay = 0;
|
||||
double avgOverDay = 0.0, ratio = 0.0;
|
||||
AreaDTO areaDTO = new AreaDTO();
|
||||
@@ -526,18 +431,18 @@ public class HarmonicServiceImpl implements IHarmonicService {
|
||||
}
|
||||
}
|
||||
}
|
||||
Map<Instant, List<LimitTarget>> map = list.stream().collect(Collectors.groupingBy(LimitTarget::getTime));
|
||||
for (Instant key : map.keySet()) {
|
||||
Map<LocalDate, List<RStatLimitTargetDPO>> map = list.stream().collect(Collectors.groupingBy(RStatLimitTargetDPO::getTime));
|
||||
for (LocalDate key : map.keySet()) {
|
||||
int overDay = 0;
|
||||
List<LimitTarget> l = map.get(key);
|
||||
for (LimitTarget pojo : l) {
|
||||
List<RStatLimitTargetDPO> l = map.get(key);
|
||||
for (RStatLimitTargetDPO pojo : l) {
|
||||
if (Objects.equals(type, DicDataEnum.XBDY_ENUM.getCode())) {
|
||||
if (pojo.getUAberranceOverTime() > 0 || pojo.getUHarm2OverTime() > 0 || pojo.getUHarm3OverTime() > 0 || pojo.getUHarm4OverTime() > 0 || pojo.getUHarm5OverTime() > 0 || pojo.getUHarm6OverTime() > 0 || pojo.getUHarm7OverTime() > 0 || pojo.getUHarm8OverTime() > 0 || pojo.getUHarm9OverTime() > 0 || pojo.getUHarm10OverTime() > 0 || pojo.getUHarm11OverTime() > 0 || pojo.getUHarm12OverTime() > 0 || pojo.getUHarm13OverTime() > 0 || pojo.getUHarm14OverTime() > 0 || pojo.getUHarm15OverTime() > 0 || pojo.getUHarm16OverTime() > 0 || pojo.getUHarm17OverTime() > 0 || pojo.getUHarm18OverTime() > 0 || pojo.getUHarm19OverTime() > 0 || pojo.getUHarm20OverTime() > 0 || pojo.getUHarm21OverTime() > 0 || pojo.getUHarm22OverTime() > 0 || pojo.getUHarm23OverTime() > 0 || pojo.getUHarm24OverTime() > 0 || pojo.getUHarm25OverTime() > 0) {
|
||||
if (pojo.getUaberranceOvertime() > 0 || pojo.getUharm20Overtime() > 0 || pojo.getUharm3Overtime() > 0 || pojo.getUharm4Overtime() > 0 || pojo.getUharm5Overtime() > 0 || pojo.getUharm6Overtime() > 0 || pojo.getUharm7Overtime() > 0 || pojo.getUharm8Overtime() > 0 || pojo.getUharm9Overtime() > 0 || pojo.getUharm10Overtime() > 0 || pojo.getUharm11Overtime() > 0 || pojo.getUharm12Overtime() > 0 || pojo.getUharm13Overtime() > 0 || pojo.getUharm14Overtime() > 0 || pojo.getUharm15Overtime() > 0 || pojo.getUharm16Overtime() > 0 || pojo.getUharm17Overtime() > 0 || pojo.getUharm18Overtime() > 0 || pojo.getUharm19Overtime() > 0 || pojo.getUharm20Overtime() > 0 || pojo.getUharm21Overtime() > 0 || pojo.getUharm22Overtime() > 0 || pojo.getUharm23Overtime() > 0 || pojo.getUharm24Overtime() > 0 || pojo.getUharm25Overtime() > 0) {
|
||||
overCountByDay = overCountByDay + 1;
|
||||
overDay = overDay + 1;
|
||||
}
|
||||
} else if (Objects.equals(type, DicDataEnum.XBDL_ENUM.getCode())) {
|
||||
if (pojo.getIHarm2OverTime() > 0 || pojo.getIHarm3OverTime() > 0 || pojo.getIHarm4OverTime() > 0 || pojo.getIHarm5OverTime() > 0 || pojo.getIHarm6OverTime() > 0 || pojo.getIHarm7OverTime() > 0 || pojo.getIHarm8OverTime() > 0 || pojo.getIHarm9OverTime() > 0 || pojo.getIHarm10OverTime() > 0 || pojo.getIHarm11OverTime() > 0 || pojo.getIHarm12OverTime() > 0 || pojo.getIHarm13OverTime() > 0 || pojo.getIHarm14OverTime() > 0 || pojo.getIHarm15OverTime() > 0 || pojo.getIHarm16OverTime() > 0 || pojo.getIHarm17OverTime() > 0 || pojo.getIHarm18OverTime() > 0 || pojo.getIHarm19OverTime() > 0 || pojo.getIHarm20OverTime() > 0 || pojo.getIHarm21OverTime() > 0 || pojo.getIHarm22OverTime() > 0 || pojo.getIHarm23OverTime() > 0 || pojo.getIHarm24OverTime() > 0 || pojo.getIHarm25OverTime() > 0) {
|
||||
if (pojo.getIharm2Overtime() > 0 || pojo.getIharm3Overtime() > 0 || pojo.getIharm4Overtime() > 0 || pojo.getIharm5Overtime() > 0 || pojo.getIharm6Overtime() > 0 || pojo.getIharm7Overtime() > 0 || pojo.getIharm8Overtime() > 0 || pojo.getIharm9Overtime() > 0 || pojo.getIharm10Overtime() > 0 || pojo.getIharm11Overtime() > 0 || pojo.getIharm12Overtime() > 0 || pojo.getIharm13Overtime() > 0 || pojo.getIharm14Overtime() > 0 || pojo.getIharm15Overtime() > 0 || pojo.getIharm16Overtime() > 0 || pojo.getIharm17Overtime() > 0 || pojo.getIharm18Overtime() > 0 || pojo.getIharm19Overtime() > 0 || pojo.getIharm20Overtime() > 0 || pojo.getIharm21Overtime() > 0 || pojo.getIharm22Overtime() > 0 || pojo.getIharm23Overtime() > 0 || pojo.getIharm24Overtime() > 0 || pojo.getIharm25Overtime() > 0) {
|
||||
overCountByDay = overCountByDay + 1;
|
||||
overDay = overDay + 1;
|
||||
}
|
||||
|
||||
@@ -684,32 +684,25 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
|
||||
List<PollutionLineDTO> list = new ArrayList<>();
|
||||
if (param.getType() == 0) {
|
||||
param.setServerName(generalInfo.getMicroServiceName());
|
||||
List<String> lineList = new ArrayList<>();
|
||||
PollutionParamDTO paramDTO = new PollutionParamDTO();
|
||||
if (StringUtils.isBlank(RequestUtil.getDeptIndex())) {
|
||||
return list;
|
||||
}
|
||||
List<GeneralDeviceDTO> deviceList = generalDeviceInfoClient.getPracticalRunDeviceInfo(param).getData();
|
||||
deviceList.forEach(item -> {
|
||||
if (!CollectionUtils.isEmpty(item.getLineIndexes())) {
|
||||
lineList.addAll(item.getLineIndexes());
|
||||
}
|
||||
});
|
||||
if (!CollectionUtils.isEmpty(lineList)) {
|
||||
paramDTO.setLineList(lineList);
|
||||
list = lineFeignClient.getLineInfo(paramDTO).getData();
|
||||
List<PublicDTO> result = rMpPollutionDPOMapper.getTop10Line(lineList, DateUtil.beginOfDay(DateUtil.parse(param.getSearchBeginTime())), DateUtil.endOfDay(DateUtil.parse(param.getSearchEndTime())), param.getStatisticalType().getId());
|
||||
List<GeneralDeviceDTO> generalDeviceDTOList = generalDeviceInfoClient.getPracticalRunDeviceInfo(param).getData();
|
||||
List<String> ids = generalDeviceDTOList.stream().filter(it->CollUtil.isNotEmpty(it.getLineIndexes())).flatMap(it->it.getLineIndexes().stream()).collect(Collectors.toList());
|
||||
if (!CollectionUtils.isEmpty(ids)) {
|
||||
List<PublicDTO> result = rMpPollutionDPOMapper.getTop10Line(ids, DateUtil.beginOfDay(DateUtil.parse(param.getSearchBeginTime())), DateUtil.endOfDay(DateUtil.parse(param.getSearchEndTime())), param.getStatisticalType().getId());
|
||||
if (!CollectionUtils.isEmpty(result)) {
|
||||
list.stream().map(list1 -> result.stream().filter(list2 -> Objects.equals(list1.getId(), list2.getId())).findAny().map(m -> {
|
||||
list1.setData(m.getData());
|
||||
return list1;
|
||||
})).collect(Collectors.toList());
|
||||
List<String> monitorIds = result.stream().map(PublicDTO::getId).distinct().collect(Collectors.toList());
|
||||
paramDTO.setLineList(monitorIds);
|
||||
List<PollutionLineDTO> monitorList = lineFeignClient.getLineInfo(paramDTO).getData();
|
||||
Map<String,PollutionLineDTO> monitorMap = monitorList.stream().collect(Collectors.toMap(PollutionLineDTO::getId,Function.identity()));
|
||||
list = result.stream().map(it->{
|
||||
PollutionLineDTO pollutionLineDTO = new PollutionLineDTO();
|
||||
pollutionLineDTO.setData(NumberUtil.round(it.getData(),2).doubleValue());
|
||||
PollutionLineDTO monitor = monitorMap.get(it.getId());
|
||||
pollutionLineDTO.setName(monitor.getSubstation()+"_"+monitor.getName());
|
||||
return pollutionLineDTO;
|
||||
}).sorted(Comparator.comparing(PollutionLineDTO::getData,Comparator.reverseOrder())).collect(Collectors.toList());
|
||||
}
|
||||
}
|
||||
list.sort((item1, item2) -> item2.getData().compareTo(item1.getData()));
|
||||
if (list.size() > Param.UP_LIMIT) {
|
||||
return list.subList(Param.DOWN_LIMIT, Param.UP_LIMIT);
|
||||
}
|
||||
return list;
|
||||
}
|
||||
//pms查询信息
|
||||
|
||||
Reference in New Issue
Block a user