diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/RStatIntegrityDServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/RStatIntegrityDServiceImpl.java index ef4231e0a..4b9af8b60 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/RStatIntegrityDServiceImpl.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/RStatIntegrityDServiceImpl.java @@ -5,6 +5,7 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.date.StopWatch; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -37,6 +38,7 @@ import com.njcn.device.userledger.service.UserLedgerService; import com.njcn.supervision.pojo.param.user.UserReportParam; import com.njcn.supervision.pojo.vo.user.UserLedgerVO; import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -60,6 +62,7 @@ import java.util.stream.Collectors; */ @Service @RequiredArgsConstructor +@Slf4j public class RStatIntegrityDServiceImpl extends MppServiceImpl implements IRStatIntegrityDService { private final RStatOnlinerateDMapper onlineRateMapper; @@ -153,8 +156,14 @@ public class RStatIntegrityDServiceImpl extends MppServiceImpl deviceInfo = deviceService.getDeviceInfo(param, null, Collections.singletonList(1)); + sw.stop(); + if (CollUtil.isNotEmpty(deviceInfo)) { List lineIds = deviceInfo.stream() .flatMap(x -> x.getLineIndexes().stream()).collect(Collectors.toList()) @@ -165,7 +174,12 @@ public class RStatIntegrityDServiceImpl extends MppServiceImpl data = commLineClient.getLineAllDetailList(lineIds).getData(); + sw.stop(); + sw.start("内存过滤线路"); + filterLineList= data.stream() .filter(dto -> { LineALLInfoDTO.LineLineDTO lineDTO = dto.getLineLineDTO(); @@ -183,9 +197,12 @@ public class RStatIntegrityDServiceImpl extends MppServiceImpl finalFilterLineList = filterLineList; //根据过滤后监测点过滤 + sw.start("过滤后重新组装"); deviceInfo= deviceInfo.stream() .filter(dto -> { List original = dto.getLineIndexes(); @@ -204,9 +221,16 @@ public class RStatIntegrityDServiceImpl extends MppServiceImpl lineIntegrityRateInfo = rStatIntegrityDMapper.getLineIntegrityRateInfo(filterLineList, param.getSearchBeginTime(), param.getSearchEndTime()); + sw.stop(); + sw.start("查询线路详情"); + //获取所有监测点信息信息 List LineInfoByIds = lineService.getLineDetailByIds(filterLineList); + sw.stop(); rate.setBelowNum(CollUtil.isNotEmpty(lineIntegrityRateInfo) ? calculateIntegrityRate(lineIntegrityRateInfo, 90, filterLineList.size()) : lineIds.size()); rate.setTotalOnlineRate(calculateIntegrityRate(lineIntegrityRateInfo, filterLineList).doubleValue()>100.0?BigDecimal.valueOf(100.0) : calculateIntegrityRate(lineIntegrityRateInfo, lineIds)); @@ -214,7 +238,12 @@ public class RStatIntegrityDServiceImpl extends MppServiceImpl userLedgerVOS = userLedgerService.selectUserList(new UserReportParam()); + sw.stop(); + sw.start("组装响应"); + Map objMap = userLedgerVOS.stream().collect(Collectors.toMap(UserLedgerVO::getId, UserLedgerVO::getProjectName)); for (GeneralDeviceDTO dto : deviceInfo) { //获取部门终端集合 @@ -252,7 +281,9 @@ public class RStatIntegrityDServiceImpl extends MppServiceImpl