From e45a3d6dabd7f02657b5b8a77efcc951e8343f39 Mon Sep 17 00:00:00 2001 From: zhangbaojian <1065122561@qq.com> Date: Thu, 6 Apr 2023 10:03:25 +0800 Subject: [PATCH] =?UTF-8?q?zbj//1.=E5=A4=A7=E5=B1=8F=E4=B8=AD=E9=97=B4?= =?UTF-8?q?=E6=89=80=E6=9C=89=E6=95=B0=E6=8D=AE=E6=9C=AA=E5=86=99=E5=AE=8C?= =?UTF-8?q?=202.=E5=A4=A7=E5=B1=8F=E4=B8=AD=E9=97=B4=E6=9A=82=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/njcn/device/pq/pojo/vo/AllDataVO.java | 65 +++++++++++++++ .../majornetwork/LargeScreenController.java | 26 ++++++ .../majornetwork/LargeScreenMapper.java | 8 ++ .../mapping/LargeScreenMapper.xml | 55 ++++++++++++ .../Impl/LargeScreenServiceImpl.java | 83 ++++++++++++++++++- .../majornetwork/LargeScreenService.java | 10 ++- 6 files changed, 239 insertions(+), 8 deletions(-) create mode 100644 pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/AllDataVO.java diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/AllDataVO.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/AllDataVO.java new file mode 100644 index 000000000..fc181c760 --- /dev/null +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/AllDataVO.java @@ -0,0 +1,65 @@ +package com.njcn.device.pq.pojo.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @version 1.0.0 + * @author: zbj + * @date: 2023/04/03 + */ +@Data +public class AllDataVO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 部门名称 + */ + @ApiModelProperty("部门名称") + private String areaName; + + /** + * 暂降事件次数 + */ + @ApiModelProperty("暂降事件次数") + private String eventCounts; + + /** + * 稳态符合性 + */ + @ApiModelProperty("稳态符合性") + private String steadyLoad; + + /** + * 投运 + */ + @ApiModelProperty("投运") + private String running; + + /** + * 热备用 + */ + @ApiModelProperty("热备用") + private String hotSpare; + + /** + * 停运 + */ + @ApiModelProperty("停运") + private String shutdown; + + /** + * 正常 + */ + @ApiModelProperty("正常") + private String normal; + + /** + * 中断 + */ + @ApiModelProperty("中断") + private String breakdown; +} diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/LargeScreenController.java b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/LargeScreenController.java index d70dee297..91b6edc1d 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/LargeScreenController.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/LargeScreenController.java @@ -88,4 +88,30 @@ public class LargeScreenController extends BaseController { List result = largeScreenService.eventLists(largeScreenParam); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); } + + /** + * 大屏中间所有数据 + */ + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getAllData") + @ApiOperation("大屏中间所有数据") + @ApiImplicitParam(name = "largeScreenParam", value = "大屏中间所有数据", required = true) + public HttpResult> getAllData(@RequestBody @Validated LargeScreenParam largeScreenParam) { + String methodDescribe = getMethodDescribe("getAllData"); + List result = largeScreenService.getAllData(largeScreenParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); + } + + /** + * 大屏中间暂态 + */ + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getMiddleDown") + @ApiOperation("大屏中间暂态") + @ApiImplicitParam(name = "largeScreenParam", value = "大屏中间暂态", required = true) + public HttpResult> getMiddleDown(@RequestBody @Validated LargeScreenParam largeScreenParam) { + String methodDescribe = getMethodDescribe("getMiddleDown"); + List result = largeScreenService.getMiddleDown(largeScreenParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); + } } diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/LargeScreenMapper.java b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/LargeScreenMapper.java index d3d76ef13..f203e3656 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/LargeScreenMapper.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/LargeScreenMapper.java @@ -1,5 +1,7 @@ package com.njcn.event.mapper.majornetwork; +import com.njcn.device.pq.pojo.vo.AllDataVO; +import com.njcn.device.pq.pojo.vo.EventVO; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -19,4 +21,10 @@ public interface LargeScreenMapper { List> getTimeCount(@Param("lineIds") List lineIds, @Param("startTime") String startTime, @Param("endTime") String endTime); List> eventLists(@Param("startTime") String startTime, @Param("endTime") String endTime); + + AllDataVO getFlagCount(@Param("lineIds") List lineIds); + + Map getDownCount (@Param("lineIds") List lineIds, @Param("startTime") String startTime, @Param("endTime") String endTime); + + List getMiddleDown (@Param("lineIds") List lineIds, @Param("startTime") String startTime, @Param("endTime") String endTime); } diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/LargeScreenMapper.xml b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/LargeScreenMapper.xml index 45adf4496..405a5d126 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/LargeScreenMapper.xml +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/LargeScreenMapper.xml @@ -73,4 +73,59 @@ limit 50 + + + + + + + + diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/LargeScreenServiceImpl.java b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/LargeScreenServiceImpl.java index 308e037a1..df834520c 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/LargeScreenServiceImpl.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/LargeScreenServiceImpl.java @@ -5,10 +5,7 @@ import com.njcn.device.pq.pojo.dto.GeneralDeviceDTO; import com.njcn.device.pq.pojo.param.DeviceInfoParam; import com.njcn.device.pq.pojo.param.LargeScreenParam; import com.njcn.device.pq.pojo.param.MonitoringPointScaleParam; -import com.njcn.device.pq.pojo.vo.AreaDownVO; -import com.njcn.device.pq.pojo.vo.DownTimeVO; -import com.njcn.device.pq.pojo.vo.EventVO; -import com.njcn.device.pq.pojo.vo.LoadTypeVO; +import com.njcn.device.pq.pojo.vo.*; import com.njcn.event.mapper.majornetwork.LargeScreenMapper; import com.njcn.event.service.majornetwork.LargeScreenService; import com.njcn.system.pojo.enums.StatisticsEnum; @@ -234,6 +231,7 @@ public class LargeScreenServiceImpl implements LargeScreenService { */ @Override public List eventLists(LargeScreenParam largeScreenParam) { + //创建返回VO List result = new ArrayList<>(); List> maps = largeScreenMapper.eventLists(largeScreenParam.getSearchBeginTime(), largeScreenParam.getSearchEndTime()); for (Map map : maps) { @@ -249,5 +247,82 @@ public class LargeScreenServiceImpl implements LargeScreenService { return result; } + /** + * 大屏中间所有数据 + */ + @Override + public List getAllData(LargeScreenParam largeScreenParam) { + //创建返回VO + List result = new ArrayList<>(); + DeviceInfoParam.BusinessParam deviceInfoParam = new DeviceInfoParam.BusinessParam(); + //部门索引 + deviceInfoParam.setDeptIndex(largeScreenParam.getDeptIndex()); + //统计类型 + SimpleDTO simpleDTO = new SimpleDTO(); + simpleDTO.setCode(String.valueOf(StatisticsEnum.POWER_NETWORK)); + deviceInfoParam.setStatisticalType(simpleDTO); + //添加时间 + deviceInfoParam.setSearchBeginTime(largeScreenParam.getSearchBeginTime()); + deviceInfoParam.setSearchEndTime(largeScreenParam.getSearchEndTime()); + //添加服务名 + //deviceInfoParam.setServerName("event-boot"); + // 获取所有数据 + List generalDeviceDTOList = generalDeviceInfoClient.getPracticalAllDeviceInfo(deviceInfoParam).getData(); + for (GeneralDeviceDTO generalDeviceDTO : generalDeviceDTOList) { + if (generalDeviceDTO.getDeviceIndexes().size() > 0) { + AllDataVO allDataVO = largeScreenMapper.getFlagCount(generalDeviceDTO.getDeviceIndexes()); + allDataVO.setAreaName(generalDeviceDTO.getName()); + if (generalDeviceDTO.getLineIndexes().size() > 0) { + Map map = largeScreenMapper.getDownCount(generalDeviceDTO.getLineIndexes(), largeScreenParam.getSearchBeginTime(), largeScreenParam.getSearchEndTime()); + allDataVO.setEventCounts(map.get("count").toString()); + } else { + allDataVO.setEventCounts("0"); + } + result.add(allDataVO); + } else { + AllDataVO allDataVO = new AllDataVO(); + allDataVO.setAreaName(generalDeviceDTO.getName()); + allDataVO.setRunning("0"); + allDataVO.setHotSpare("0"); + allDataVO.setShutdown("0"); + allDataVO.setNormal("0"); + allDataVO.setBreakdown("0"); + if (generalDeviceDTO.getLineIndexes().size() > 0) { + Map map = largeScreenMapper.getDownCount(generalDeviceDTO.getLineIndexes(), largeScreenParam.getSearchBeginTime(), largeScreenParam.getSearchEndTime()); + allDataVO.setEventCounts(map.get("count").toString()); + } else { + allDataVO.setEventCounts("0"); + } + result.add(allDataVO); + } + } + //todo 该接口部分功能未完成 1.稳态符合性 2.综合评估 + return result; + } + + /** + * 大屏中间暂态 + */ + @Override + public List getMiddleDown(LargeScreenParam largeScreenParam) { + DeviceInfoParam.BusinessParam deviceInfoParam = new DeviceInfoParam.BusinessParam(); + //部门索引 + deviceInfoParam.setDeptIndex(largeScreenParam.getDeptIndex()); + //统计类型 + SimpleDTO simpleDTO = new SimpleDTO(); + simpleDTO.setCode(String.valueOf(StatisticsEnum.POWER_NETWORK)); + deviceInfoParam.setStatisticalType(simpleDTO); + //添加时间 + deviceInfoParam.setSearchBeginTime(largeScreenParam.getSearchBeginTime()); + deviceInfoParam.setSearchEndTime(largeScreenParam.getSearchEndTime()); + //添加服务名 + deviceInfoParam.setServerName("event-boot"); + // 获取所有数据 + List generalDeviceDTOList = generalDeviceInfoClient.getPracticalAllDeviceInfo(deviceInfoParam).getData(); + //获取所有监测点集合 + List lineIds = generalDeviceDTOList.stream().flatMap(dto -> dto.getLineIndexes().stream()).collect(Collectors.toList()); + return largeScreenMapper.getMiddleDown(lineIds, largeScreenParam.getSearchBeginTime(), largeScreenParam.getSearchEndTime()); + + } } diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/LargeScreenService.java b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/LargeScreenService.java index 7b33030b4..5b29d23aa 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/LargeScreenService.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/LargeScreenService.java @@ -1,10 +1,7 @@ package com.njcn.event.service.majornetwork; import com.njcn.device.pq.pojo.param.LargeScreenParam; -import com.njcn.device.pq.pojo.vo.AreaDownVO; -import com.njcn.device.pq.pojo.vo.DownTimeVO; -import com.njcn.device.pq.pojo.vo.EventVO; -import com.njcn.device.pq.pojo.vo.LoadTypeVO; +import com.njcn.device.pq.pojo.vo.*; import java.util.List; @@ -23,4 +20,9 @@ public interface LargeScreenService { List getTimeCount(LargeScreenParam largeScreenParam); List eventLists(LargeScreenParam largeScreenParam); + + List getAllData(LargeScreenParam largeScreenParam); + + List getMiddleDown(LargeScreenParam largeScreenParam); + }