diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/MiddleLimitRateVO.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/MiddleLimitRateVO.java new file mode 100644 index 000000000..6ec0b6c68 --- /dev/null +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/MiddleLimitRateVO.java @@ -0,0 +1,35 @@ +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/06 + */ +@Data +public class MiddleLimitRateVO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 监测点名称 + */ + @ApiModelProperty("监测点名称") + private String mName; + + /** + * 变电站名称 + */ + @ApiModelProperty("变电站名称") + private String subName; + + /** + * 越限次数 + */ + @ApiModelProperty("越限次数") + private String count; +} 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 728fb2c3a..950a0bedf 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 @@ -127,4 +127,17 @@ public class LargeScreenController extends BaseController { List result = largeScreenService.getMiddleTerminal(largeScreenParam); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); } + + /** + * 大屏中间稳态越线信息 + */ + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getMiddleLimitRate") + @ApiOperation("大屏中间稳态越线信息") + @ApiImplicitParam(name = "largeScreenParam", value = "大屏中间稳态越线信息", required = true) + public HttpResult> getMiddleLimitRate(@RequestBody @Validated LargeScreenParam largeScreenParam) { + String methodDescribe = getMethodDescribe("getMiddleLimitRate"); + List result = largeScreenService.getMiddleLimitRate(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 cc0dd23ef..193090015 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 @@ -2,6 +2,7 @@ package com.njcn.event.mapper.majornetwork; import com.njcn.device.pq.pojo.vo.AllDataVO; import com.njcn.device.pq.pojo.vo.EventVO; +import com.njcn.device.pq.pojo.vo.MiddleLimitRateVO; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -29,4 +30,6 @@ public interface LargeScreenMapper { List getMiddleDown (@Param("lineIds") List lineIds, @Param("startTime") String startTime, @Param("endTime") String endTime); List> getMiddleTerminal (@Param("deviceIds") List deviceIds, @Param("startTime") String startTime, @Param("endTime") String endTime); + + List getMiddleLimitRate (@Param("lineIds") List deviceIds, @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 ba6effe37..3e353e547 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 @@ -170,5 +170,30 @@ + + 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 eff6eb29f..7ff900fc9 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 @@ -360,14 +360,14 @@ public class LargeScreenServiceImpl implements LargeScreenService { base = Float.parseFloat(stringObjectMap.get("base").toString()); ream = Float.parseFloat(stringObjectMap.get("ream").toString()); statusValue = Float.parseFloat(stringObjectMap.get("statusValue").toString()); - statusValue = statusValue / 1024.0f/1024.0f; + statusValue = statusValue / 1024.0f / 1024.0f; v = statusValue / (base + ream); s = formatFloat(v); vo.setName(stringObjectMap.get("name").toString()); vo.setIp(stringObjectMap.get("ip").toString()); vo.setPort(stringObjectMap.get("port").toString()); vo.setComFlag(stringObjectMap.get("comFlag").toString()); - vo.setProportion(s+"%"); + vo.setProportion(s + "%"); result.add(vo); } return result; @@ -379,4 +379,28 @@ public class LargeScreenServiceImpl implements LargeScreenService { nf.setRoundingMode(RoundingMode.HALF_UP);//设置四舍五入模式为四舍五入 return nf.format(value); } + + /** + * 大屏中间稳态越线信息 + */ + @Override + public List getMiddleLimitRate(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()); + + // 获取所有数据 + List generalDeviceDTOList = generalDeviceInfoClient.getPracticalAllDeviceInfo(deviceInfoParam).getData(); + //获取所有监测点集合 + List lineIds = generalDeviceDTOList.stream().flatMap(dto -> dto.getLineIndexes().stream()).collect(Collectors.toList()); + return largeScreenMapper.getMiddleLimitRate(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 c808db965..644f87f61 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 @@ -26,4 +26,6 @@ public interface LargeScreenService { List getMiddleDown(LargeScreenParam largeScreenParam); List getMiddleTerminal(LargeScreenParam largeScreenParam); + + List getMiddleLimitRate(LargeScreenParam largeScreenParam); }