From 499c920196db3f2c194c4b1a8435758b48f20fdf Mon Sep 17 00:00:00 2001 From: zhuxinyu <1799009482@qq.com> Date: Wed, 26 Apr 2023 20:14:07 +0800 Subject: [PATCH] =?UTF-8?q?=E9=97=AE=E9=A2=98=E5=8D=95=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../njcn/device/pq/pojo/po/EventPushLogs.java | 1 - .../controller/OperationContrController.java | 2 +- .../pq/service/impl/LogManageServiceImpl.java | 4 + .../distribution/PwRmpEventDetailMapper.java | 3 +- .../Impl/TransientServiceImpl.java | 7 +- .../PollutionSubstationController.java | 2 +- .../mapper/RMpPollutionDPOMapper.java | 4 + .../mapper/mapping/RMpPollutionDPOMapper.xml | 17 ++++ .../service/PollutionSubstationService.java | 3 + .../impl/PollutionSubstationServiceImpl.java | 85 ++++++++++++++++++- 10 files changed, 122 insertions(+), 6 deletions(-) diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/EventPushLogs.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/EventPushLogs.java index 3ee803bb3..ffba6966c 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/EventPushLogs.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/EventPushLogs.java @@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; -import java.time.Instant; import java.time.LocalDateTime; /** diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/OperationContrController.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/OperationContrController.java index 447480e3e..edaf1d204 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/OperationContrController.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/OperationContrController.java @@ -104,7 +104,7 @@ public class OperationContrController extends BaseController { @PostMapping("/getNewDeviceRunStatistics") @ApiOperation("获取终端运行统计_新") @ApiImplicitParam(name = "deviceInfoParam", value = "实体", required = true) - public HttpResult> getNewDeviceRunStatistics(@RequestBody PqsParam deviceInfoParam){ + public HttpResult> getNewDeviceRunStatistics(@RequestBody PqsParam deviceInfoParam) { String methodDescribe = getMethodDescribe("getDeviceRunStatistics"); if (deviceInfoParam.getDeptIndex() == null) { DeviceInfoParam param = new DeviceInfoParam(RequestUtil.getDeptIndex(),null); diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/LogManageServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/LogManageServiceImpl.java index 217c8775d..2be5ee435 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/LogManageServiceImpl.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/LogManageServiceImpl.java @@ -149,6 +149,10 @@ public class LogManageServiceImpl implements LogManageService { list.add(eventLogVO); } + page.setTotal(p.getTotal()); + page.setCurrent(p.getCurrent()); + //当前页数据 + page.setRecords(list); } return page; diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/distribution/PwRmpEventDetailMapper.java b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/distribution/PwRmpEventDetailMapper.java index fea1240a5..d118f874e 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/distribution/PwRmpEventDetailMapper.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/distribution/PwRmpEventDetailMapper.java @@ -1,5 +1,6 @@ package com.njcn.event.mapper.distribution; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.njcn.event.pojo.param.UniversalFrontEndParam; import com.njcn.event.pojo.po.RmpEventDetailPO; import org.apache.ibatis.annotations.Param; @@ -13,7 +14,7 @@ import java.util.List; * @date 2022/10/31 */ -public interface PwRmpEventDetailMapper { +public interface PwRmpEventDetailMapper extends BaseMapper { /** * 获取配网暂态事件明细 diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/TransientServiceImpl.java b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/TransientServiceImpl.java index a7df7f2db..c172c5c14 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/TransientServiceImpl.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/TransientServiceImpl.java @@ -14,6 +14,7 @@ import com.njcn.device.pms.api.MonitorClient; import com.njcn.device.pms.pojo.param.MonitorTerminalParam; import com.njcn.device.pms.pojo.po.Monitor; import com.njcn.device.pms.pojo.vo.MonitorVO; +import com.njcn.event.mapper.distribution.PwRmpEventDetailMapper; import com.njcn.event.mapper.majornetwork.RmpEventDetailMapper; import com.njcn.event.pojo.po.RmpEventDetailPO; import com.njcn.event.pojo.vo.RmpEventDetailVO; @@ -95,6 +96,8 @@ public class TransientServiceImpl implements TransientService { private final RmpEventDetailMapper rmpEventDetailMapper; + private final PwRmpEventDetailMapper pwRmpEventDetailMapper; + private final FileStorageUtil fileStorageUtil; @Override @@ -325,7 +328,9 @@ public class TransientServiceImpl implements TransientService { if (Objects.nonNull(transientParam.getFileFlag())) { wrapper.eq(Objects.nonNull(transientParam.getFileFlag()), RmpEventDetailPO::getFileFlag, transientParam.getFileFlag()); } - Page pageInfo = eventDetailService.page(new Page<>(transientParam.getPageNum(), transientParam.getPageSize()),wrapper); + // Page pageInfo = eventDetailService.page(new Page<>(transientParam.getPageNum(), transientParam.getPageSize()),wrapper); + Page pageInfo = pwRmpEventDetailMapper.selectPage(new Page<>(transientParam.getPageNum(), transientParam.getPageSize()), wrapper); + List eventDetailData=BeanUtil.copyToList(pageInfo.getRecords(),EventDetailNew.class); page= BeanUtil.copyProperties(pageInfo,Page.class); diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/PollutionSubstationController.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/PollutionSubstationController.java index 24e53fc5c..5f2afdec7 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/PollutionSubstationController.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/PollutionSubstationController.java @@ -100,7 +100,7 @@ public class PollutionSubstationController extends BaseController { public HttpResult> getLineRank(@RequestBody HarmonicPublicParam param) { String methodDescribe = getMethodDescribe("getLineRank"); LogUtil.njcnDebug(log, "{},实体参数:{}", methodDescribe, param); - List list = pollutionSubstationService.getLineRank(param); + List list = pollutionSubstationService.getLineRankTop10(param); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); } } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/RMpPollutionDPOMapper.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/RMpPollutionDPOMapper.java index b805d4ae8..a4cb4932f 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/RMpPollutionDPOMapper.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/RMpPollutionDPOMapper.java @@ -1,6 +1,8 @@ package com.njcn.harmonic.mapper; +import cn.hutool.core.date.DateTime; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.njcn.harmonic.pojo.dto.PublicDTO; import com.njcn.harmonic.pojo.po.RMpPollutionDPO; import java.util.List; import org.apache.ibatis.annotations.Param;import org.apache.ibatis.annotations.Select; @@ -40,4 +42,6 @@ public interface RMpPollutionDPOMapper extends BaseMapper { }) List selectMaxList(@Param("items") List line, @Param("pollutionType") String pollutionType, @Param("searchBeginTime") String searchBeginTime); + + List getTop10Line(@Param("list") List lineList, @Param("start") DateTime searchBeginTime, @Param("end") DateTime searchEndTime, @Param("pollutionType") String id); } \ No newline at end of file diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/RMpPollutionDPOMapper.xml b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/RMpPollutionDPOMapper.xml index f440a60b0..6980a4dc7 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/RMpPollutionDPOMapper.xml +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/RMpPollutionDPOMapper.xml @@ -28,6 +28,23 @@ #{item.lineId,jdbcType=VARCHAR} + + + insert into r_mp_pollution_d diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/PollutionSubstationService.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/PollutionSubstationService.java index 6e68a1a20..8130557d2 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/PollutionSubstationService.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/PollutionSubstationService.java @@ -65,4 +65,7 @@ public interface PollutionSubstationService extends IService getLineRank(HarmonicPublicParam param); + + List getLineRankTop10(HarmonicPublicParam param); + } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/PollutionSubstationServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/PollutionSubstationServiceImpl.java index 0694ee746..db5867cc9 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/PollutionSubstationServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/PollutionSubstationServiceImpl.java @@ -1,6 +1,7 @@ package com.njcn.harmonic.service.impl; import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -570,7 +571,7 @@ public class PollutionSubstationServiceImpl extends ServiceImpl lineList = new ArrayList<>(); PollutionParamDTO paramDTO = new PollutionParamDTO(); @@ -646,6 +647,88 @@ public class PollutionSubstationServiceImpl extends ServiceImpl getLineRankTop10 (HarmonicPublicParam param) { + List list= new ArrayList<>(); + String pollutionType = param.getStatisticalType ( ).getId (); + if(param.getType()==0) { + param.setServerName(generalInfo.getMicroServiceName()); + List lineList = new ArrayList<>(); + PollutionParamDTO paramDTO = new PollutionParamDTO(); + if (StringUtils.isBlank(RequestUtil.getDeptIndex())) { + return list; + } + List 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 result =rMpPollutionDPOMapper.getTop10Line(lineList,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.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; + } + PmsDeviceInfoParam pmsDeviceInfoParam = new PmsDeviceInfoParam(); + pmsDeviceInfoParam.setDeptIndex(param.getDeptIndex()); + //获取统计类型 + pmsDeviceInfoParam.setStatisticalType(param.getStatisticalType()); + //获取主网台账信息 + List deviceList = pmsGeneralDeviceInfoClient.getPmsDeviceInfoWithInOrg(pmsDeviceInfoParam).getData(); + List monitorIdList=new ArrayList<>(); + deviceList.forEach(dept -> { + monitorIdList.addAll(dept.getMonitorIdList()); + }); + + if(CollectionUtil.isNotEmpty(monitorIdList)){ + //获取监测点数据 + List lineData = rMpPollutionDPOMapper.selectMaxList ( monitorIdList,pollutionType,param.getSearchBeginTime()); + + if(CollectionUtil.isEmpty(lineData)){ + return list; + } + + //获取主网监测点信息 + List data = monitorClient.getMonitorList(monitorIdList).getData(); + Map monitorMap = data.stream().collect(Collectors.toMap(Monitor::getId, Function.identity(), (key1, kye2) -> key1)); + lineData.sort((item1, item2) -> item2.getValue().compareTo(item1.getValue())); + if (lineData.size() > Param.UP_LIMIT) { + lineData = lineData.subList(Param.DOWN_LIMIT, Param.UP_LIMIT); + } + + PollutionLineDTO dto; + for (RMpPollutionDPO lineDatum : lineData) { + if(monitorMap.containsKey(lineDatum.getLineId())){ + Monitor monitor = monitorMap.get(lineDatum.getLineId()); + dto=new PollutionLineDTO(); + dto.setId(monitor.getId()); + dto.setName(monitor.getName()); + dto.setPowerCompany(monitor.getOrgName()); + dto.setSubstation(monitor.getPowerrId()); + dto.setSubstationId(monitor.getPowerrName()); + dto.setBusBar(monitor.getLineName()); + dto.setData(lineDatum.getValue()); + list.add(dto); + } + } + } + return list; + } + /** * 功能描述:根据监测点id查询influxDB污染指数 *