diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/dto/PmsLedgerStaticDTO.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/dto/PmsLedgerStaticDTO.java index 0fe5fc583..a4efb3a69 100644 --- a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/dto/PmsLedgerStaticDTO.java +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/dto/PmsLedgerStaticDTO.java @@ -35,7 +35,7 @@ public class PmsLedgerStaticDTO implements Serializable { private HashMap> monitorStatisticsByDept; /** - * 根据单位统计终端数量 + *根据单位统计终端数量 */ private HashMap> terminalStatisticsByDept; diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/dto/PmsMonitorBaseDTO.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/dto/PmsMonitorBaseDTO.java index 2ff4d38bd..5fe938d5b 100644 --- a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/dto/PmsMonitorBaseDTO.java +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/dto/PmsMonitorBaseDTO.java @@ -38,7 +38,7 @@ public class PmsMonitorBaseDTO implements Serializable { private String powerrId; /*** - * 终端ID + *终端ID */ private String terminalId; diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/dto/PmsSimpleDTO.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/dto/PmsSimpleDTO.java index b377e6c40..f518c5c20 100644 --- a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/dto/PmsSimpleDTO.java +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/dto/PmsSimpleDTO.java @@ -24,4 +24,14 @@ public class PmsSimpleDTO implements Serializable { private String classification; private Integer sort; + + @ApiModelProperty(name = "id", value = "id") + private String id; + + @Data + public static class PmsSimpleOrg extends PmsSimpleDTO{ + + @ApiModelProperty(name = "orgName", value = "部门名称") + private String orgName; + } } diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/SubstationExpendController.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/SubstationExpendController.java index 54c03e068..53bda4b1a 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/SubstationExpendController.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/SubstationExpendController.java @@ -8,10 +8,10 @@ import com.njcn.common.pojo.param.StatisticsBizBaseParam; import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.utils.HttpResultUtil; import com.njcn.device.pms.pojo.dto.PmsLedgerStaticDTO; -import com.njcn.device.pms.pojo.param.PmsBaseParam; -import com.njcn.device.pms.pojo.param.PmsDeviceInfoParam; import com.njcn.device.pms.pojo.po.SubstationExpend; import com.njcn.device.pms.service.ISubstationExpendService; +import com.njcn.device.pq.pojo.param.CommunicateParam; +import com.njcn.device.pq.pojo.vo.CommunicateVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiOperation; @@ -24,8 +24,6 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.njcn.web.controller.BaseController; -import java.math.BigDecimal; -import java.util.Arrays; import java.util.List; import java.util.Map; @@ -40,7 +38,7 @@ import java.util.Map; @Slf4j @Api(tags = "冀北变电站地图信息") @RestController -@RequestMapping("/pms/substationExpend") +@RequestMapping("/substationExpend") @RequiredArgsConstructor public class SubstationExpendController extends BaseController { @@ -48,7 +46,7 @@ public class SubstationExpendController extends BaseController { @OperateInfo(info = LogEnum.BUSINESS_COMMON) - @PostMapping("/getSubstationExpendInfo") + @PostMapping("/getPVSubstationExpendInfo") @ApiOperation("冀北变电站地图信息") @ApiImplicitParam(name = "param", value = "冀北变电站地图信息参数", required = true) public HttpResult>> getSubstationExpendInfo(@RequestBody StatisticsBizBaseParam param) { @@ -61,11 +59,20 @@ public class SubstationExpendController extends BaseController { @PostMapping("/getLedgerStatic") @ApiOperation("冀北主网监测点台账统计") @ApiImplicitParam(name = "param", value = "冀北主网监测点台账统计参数", required = true) - public HttpResult getLedgerStatic(@RequestBody PmsDeviceInfoParam param) { + public HttpResult getLedgerStatic(@RequestBody StatisticsBizBaseParam param) { String methodDescribe = getMethodDescribe("getLedgerStatic"); PmsLedgerStaticDTO result = substationExpendService.getLedgerStatistics(param); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); } + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getPVCommunicationStatus") + @ApiOperation("冀北主网监测点pms:通讯状态统计") + @ApiImplicitParam(name = "param", value = "冀北主网监测点台账统计参数", required = true) + public HttpResult> getPVCommunicationStatus(@RequestBody CommunicateParam param) { + String methodDescribe = getMethodDescribe("getPVCommunicationStatus"); + List communicationStatus = substationExpendService.getCommunicationStatus(param); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, communicationStatus, methodDescribe); + } } diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/mapping/DistributionMonitorMapper.xml b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/mapping/DistributionMonitorMapper.xml index 0ed98b762..136dffacc 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/mapping/DistributionMonitorMapper.xml +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/mapping/DistributionMonitorMapper.xml @@ -203,8 +203,8 @@ SELECT - pms_monitor.id monitorId, - pms_monitor.Operation_Id, - pms_monitor.Powerr_id, - pms_monitor.Terminal_Id, - pms_monitor.Generatrix_Id, - pms_monitor.line_Name, - pms_monitor.line_Id + pms_monitor.id monitorId, + pms_monitor.Operation_Id, + pms_monitor.Powerr_id, + pms_monitor.Terminal_Id, + pms_monitor.line_Name, + pms_monitor.line_Id FROM - pms_monitor pms_monitor LEFT JOIN pms_terminal pms_terminal ON pms_monitor.Terminal_Id = pms_terminal.id + pms_monitor pms_monitor LEFT JOIN pms_terminal pms_terminal ON pms_monitor.Terminal_Id = pms_terminal.id WHERE - pms_monitor.Org_Id IN + pms_monitor.Org_Id IN #{orgId} diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/ISubstationExpendService.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/ISubstationExpendService.java index 4cd66bd23..d2413eef2 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/ISubstationExpendService.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/ISubstationExpendService.java @@ -4,7 +4,6 @@ package com.njcn.device.pms.service; import com.baomidou.mybatisplus.extension.service.IService; import com.njcn.common.pojo.param.StatisticsBizBaseParam; import com.njcn.device.pms.pojo.dto.PmsLedgerStaticDTO; -import com.njcn.device.pms.pojo.param.PmsDeviceInfoParam; import com.njcn.device.pms.pojo.po.SubstationExpend; import java.util.List; diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/impl/SubstationExpendServiceImpl.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/impl/SubstationExpendServiceImpl.java index 9e47a1bba..321c9f1e7 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/impl/SubstationExpendServiceImpl.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/impl/SubstationExpendServiceImpl.java @@ -1,28 +1,45 @@ package com.njcn.device.pms.service.impl; +import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; +import com.njcn.common.pojo.dto.SimpleDTO; import com.njcn.common.pojo.param.StatisticsBizBaseParam; -import com.njcn.device.pms.api.PmsGeneralDeviceInfoClient; import com.njcn.device.pms.mapper.SubstationExpendMapper; import com.njcn.device.pms.mapper.majornetwork.DistributionMonitorMapper; import com.njcn.device.pms.pojo.dto.PmsGeneralDeviceDTO; import com.njcn.device.pms.pojo.dto.PmsLedgerStaticDTO; import com.njcn.device.pms.pojo.dto.PmsSimpleDTO; import com.njcn.device.pms.pojo.param.PmsDeviceInfoParam; +import com.njcn.device.pms.pojo.po.PmsTerminal; import com.njcn.device.pms.pojo.po.SubstationExpend; import com.njcn.device.pms.service.ISubstationExpendService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.device.pms.service.majornetwork.IPmsGeneralDeviceService; +import com.njcn.device.pms.service.majornetwork.ITerminalService; +import com.njcn.device.pq.pojo.param.CommunicateParam; +import com.njcn.device.pq.pojo.po.Communicate; +import com.njcn.device.pq.pojo.vo.CommunicateVO; +import com.njcn.influxdb.param.InfluxDBPublicParam; +import com.njcn.influxdb.utils.InfluxDbUtils; +import com.njcn.system.api.DicDataFeignClient; +import com.njcn.system.enums.DicDataTypeEnum; +import com.njcn.system.pojo.po.DictData; import com.njcn.user.api.DeptFeignClient; import com.njcn.user.pojo.dto.DeptDTO; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.influxdb.dto.QueryResult; +import org.influxdb.impl.InfluxDBResultMapper; import org.springframework.stereotype.Service; import java.math.BigDecimal; import java.util.*; +import java.util.function.Function; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -43,9 +60,12 @@ public class SubstationExpendServiceImpl extends ServiceImpl> getSubstationExpendInfo(StatisticsBizBaseParam param) { @@ -89,26 +109,61 @@ public class SubstationExpendServiceImpl extends ServiceImpl generalDeviceDTOS = pmsGeneralDeviceInfoClient.getPwPmsDeviceInfoWithOrgId(param).getData(); + PmsDeviceInfoParam pmsDeviceInfoParam = new PmsDeviceInfoParam(); + pmsDeviceInfoParam.setDeptIndex(param.getId()); + pmsDeviceInfoParam.setStatisticalType(new SimpleDTO()); + List generalDeviceDTOS = pmsGeneralDeviceService.getPmsDeviceInfoWithInOrg(pmsDeviceInfoParam); + List data = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_VOLTAGE.getCode()).getData(); + Map collect = data.stream().collect(Collectors.toMap(DictData::getId, Function.identity())); + // 统计监测点 List monitorIds = new ArrayList<>(); generalDeviceDTOS.stream().forEach(e -> monitorIds.addAll(e.getMonitorIdList())); List monitorStatistic = distributionMonitorMapper.statisticMonitor(monitorIds); ledgerStaticDTO.setMonitorStatistics(monitorStatistic); - // 根据单位统计监测点数量 - HashMap> monitorMap = new HashMap<>(); - for (PmsGeneralDeviceDTO generalDeviceDTO : generalDeviceDTOS) { - List monitors = new ArrayList<>(); - if (CollectionUtil.isNotEmpty(generalDeviceDTO.getMonitorIdList())) { - monitors = distributionMonitorMapper.statisticMonitor(generalDeviceDTO.getMonitorIdList()); - } - monitorMap.put(generalDeviceDTO.getName(),monitors); + //获取所有监测点信息 + List lineIds = generalDeviceDTOS.stream().flatMap(dto -> dto.getMonitorIdList().stream()).collect(Collectors.toList()); + List pmsSimpleDTOS = distributionMonitorMapper.statisticMonitor(lineIds); + + //根据电压等级进行分组 + Map> voltageMap = pmsSimpleDTOS.stream().collect(Collectors.groupingBy( + x-> {if (collect.containsKey(x.getName())){ + DictData dictData = collect.get(x.getName()); + return dictData.getName()+"_"+dictData.getSort(); + } + return null; + } + )); + // 根据单位统计监测点数量 + List> list=new ArrayList<>(); + for (PmsGeneralDeviceDTO dto : generalDeviceDTOS) { + List dtoList=new ArrayList<>(); + for (Map.Entry> stringListEntry : voltageMap.entrySet()) { + if(StrUtil.isNotBlank(stringListEntry.getKey())){ + List monitorList = stringListEntry.getValue().stream().filter(x -> dto.getMonitorIdList().contains(x.getId())).collect(Collectors.toList()); + PmsSimpleDTO.PmsSimpleOrg simpleDTO=new PmsSimpleDTO.PmsSimpleOrg(); + if(CollUtil.isNotEmpty(monitorList)){ + simpleDTO.setStatistics((int) monitorList.stream().mapToDouble(PmsSimpleDTO::getStatistics).sum()); + }else{ + simpleDTO.setStatistics(0); + } + String key = stringListEntry.getKey(); + String[] split = key.split("_"); + simpleDTO.setName(split[0]); + simpleDTO.setSort(Integer.valueOf(split[1])); + simpleDTO.setOrgName(dto.getName()); + dtoList.add(simpleDTO); + } + + } + dtoList.sort(Comparator.comparing(r -> r.getSort())); + list.add(dtoList); } - ledgerStaticDTO.setMonitorStatisticsByDept(monitorMap); + ledgerStaticDTO.setMonitorStatisticsByDept(list); // 统计终端 List terminalIds = new ArrayList<>(); List filterList = generalDeviceDTOS.stream().filter(e -> e.getTerminalIdList().size() != 0).collect(Collectors.toList()); @@ -117,13 +172,54 @@ public class SubstationExpendServiceImpl extends ServiceImpl terminalNumStatistic = distributionMonitorMapper.statisticTerminal(terminalIds); ledgerStaticDTO.setTerminalStatistics(terminalNumStatistic); + //获取所有终端信息 + List terminalList = generalDeviceDTOS.stream().flatMap(dto -> dto.getTerminalIdList().stream()).collect(Collectors.toList()); + List dtoList = distributionMonitorMapper.statisticTerminal(terminalList); + //根据终端电压等级进行分组 + Map> terminalMap = dtoList.stream().collect(Collectors.groupingBy( + x-> {if (collect.containsKey(x.getName())){ + DictData dictData = collect.get(x.getName()); + return dictData.getName()+"_"+dictData.getSort(); + } + return null; + } + )); // 根据单位统计终端数量 - HashMap> terminalsMap = new HashMap<>(); - for (PmsGeneralDeviceDTO generalDeviceDTO : generalDeviceDTOS) { - List terminals = distributionMonitorMapper.statisticTerminal(terminalIds); - terminalsMap.put(generalDeviceDTO.getName(),terminals); + List> terminalInfo=new ArrayList<>(); + for (PmsGeneralDeviceDTO dto : generalDeviceDTOS) { + + List terminal=new ArrayList<>(); + for (Map.Entry> stringListEntry : terminalMap.entrySet()) { + if(StrUtil.isNotBlank(stringListEntry.getKey())){ + List monitorList = stringListEntry.getValue().stream().filter(x -> dto.getMonitorIdList().contains(x.getId())).collect(Collectors.toList()); + PmsSimpleDTO.PmsSimpleOrg simpleDTO=new PmsSimpleDTO.PmsSimpleOrg(); + if(CollUtil.isNotEmpty(monitorList)){ + simpleDTO.setStatistics((int) monitorList.stream().mapToDouble(PmsSimpleDTO::getStatistics).sum()); + }else{ + simpleDTO.setStatistics(0); + } + String key = stringListEntry.getKey(); + String[] split = key.split("_"); + simpleDTO.setName(split[0]); + simpleDTO.setSort(Integer.valueOf(split[1])); + simpleDTO.setOrgName(dto.getName()); + terminal.add(simpleDTO); + } + + } + terminal.sort(Comparator.comparing(r -> r.getSort())); + terminalInfo.add(terminal); } - ledgerStaticDTO.setTerminalStatisticsByDept(terminalsMap); + ledgerStaticDTO.setTerminalStatisticsByDept(list); + + +// // 根据单位统计终端数量 +// HashMap> terminalsMap = new HashMap<>(); +// for (PmsGeneralDeviceDTO generalDeviceDTO : generalDeviceDTOS) { +// List terminals = distributionMonitorMapper.statisticTerminal(terminalIds); +// terminalsMap.put(generalDeviceDTO.getName(),terminals); +// } +// ledgerStaticDTO.setTerminalStatisticsByDept(terminalsMap); // 统计在线率 List onlineRateStatistic = distributionMonitorMapper.getOnlineRate(terminalIds); @@ -138,4 +234,54 @@ public class SubstationExpendServiceImpl extends ServiceImpl getCommunicationStatus(CommunicateParam param) { + PmsDeviceInfoParam pmsDeviceInfoParam = new PmsDeviceInfoParam(); + pmsDeviceInfoParam.setDeptIndex(param.getId()); + pmsDeviceInfoParam.setStatisticalType(new SimpleDTO()); + List generalDeviceDTOS = pmsGeneralDeviceService.getPmsDeviceInfoWithInOrg(pmsDeviceInfoParam); + //获取所有终端id + List terminalIds = generalDeviceDTOS.stream().flatMap(dto -> dto.getTerminalIdList().stream()).collect(Collectors.toList()); + + List info =new ArrayList<>(); + StringBuilder stringBuilder = new StringBuilder(); + stringBuilder.append("time >= '").append(DateUtil.beginOfDay(DateUtil.parse(param.getStartTime()))).append("' and ").append("time <= '").append(DateUtil.endOfDay(DateUtil.parse(param.getEndTime()))).append("' "); +// if(CollUtil.isNotEmpty(terminalIds)){ +// stringBuilder.append(" and ").append("("); +// for (int i = 0; i < terminalIds.size(); i++) { +// if (terminalIds.size() - i != 1) { +// stringBuilder.append("dev_id = '").append(terminalIds.get(i)).append("' or "); +// } else { +// stringBuilder.append("dev_id = '").append(terminalIds.get(i)).append("')"); +// } +// } +// } + stringBuilder.append(" limit "+param.getLimit()); + String sql = "select * from " + InfluxDBPublicParam.PQS_COMMUNICATE + " where " + stringBuilder + InfluxDBPublicParam.TIME_ZONE; + // 获取暂降事件 + QueryResult result = influxDbUtils.query(sql); + InfluxDBResultMapper influxDBResultMapper = new InfluxDBResultMapper(); + List communicates = influxDBResultMapper.toPOJO(result, Communicate.class); + if(CollUtil.isEmpty(communicates)){ + return info; + } + List ids = communicates.stream().map(Communicate::getDevId).distinct().collect(Collectors.toList()); + if(CollUtil.isNotEmpty(ids)){ + List terminalSelectByIds = iTerminalService.getTerminalSelectByIds(ids); + Map terminalNameIp = terminalSelectByIds.stream().collect(Collectors.toMap(PmsTerminal::getId, x -> x.getName() + "_" + x.getIp())); + CommunicateVO.PVCommunicateVO communicate; + for (Communicate cate : communicates) { + communicate=new CommunicateVO.PVCommunicateVO(); + BeanUtil.copyProperties(cate, communicate); + communicate.setTime(cate.getUpdateTime()); + if(terminalNameIp.containsKey(cate.getDevId())){ + communicate.setDevIp(terminalNameIp.get(cate.getDevId())); + } + info.add(communicate); + } + } + return info; + } + } diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/ITerminalService.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/ITerminalService.java index 22b5cb43d..c54ea0ebb 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/ITerminalService.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/ITerminalService.java @@ -6,7 +6,6 @@ import com.njcn.device.pms.pojo.param.PmsBaseParam; import com.njcn.device.pms.pojo.param.PmsTerminalParam; import com.njcn.device.pms.pojo.param.TerminalQueryParam; import com.njcn.device.pms.pojo.po.PmsTerminal; -import com.njcn.web.pojo.param.BaseParam; import java.util.List; diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/TerminalServiceImpl.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/TerminalServiceImpl.java index d8722d95e..47d34b807 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/TerminalServiceImpl.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/TerminalServiceImpl.java @@ -6,7 +6,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.njcn.common.pojo.enums.common.DataStateEnum; import com.njcn.common.pojo.exception.BusinessException; import com.njcn.device.pms.enums.PmsDeviceResponseEnum; -import com.njcn.device.pms.mapper.majornetwork.StatationStatMapper; import com.njcn.device.pms.mapper.majornetwork.TerminalMapper; import com.njcn.device.pms.pojo.param.PmsBaseParam; import com.njcn.device.pms.pojo.param.PmsTerminalParam; @@ -24,13 +23,11 @@ import com.njcn.system.api.DicDataFeignClient; import com.njcn.user.api.DeptFeignClient; import com.njcn.user.pojo.po.Dept; import com.njcn.web.factory.PageFactory; -import com.njcn.web.pojo.param.BaseParam; import lombok.RequiredArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import java.time.LocalDate; -import java.time.format.DateTimeFormatter; import java.util.List; import java.util.Objects; diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/CommunicateParam.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/CommunicateParam.java new file mode 100644 index 000000000..befeb0005 --- /dev/null +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/CommunicateParam.java @@ -0,0 +1,21 @@ +package com.njcn.device.pq.pojo.param; + +import com.njcn.common.pojo.param.StatisticsBizBaseParam; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author wr + * @description + * @date 2023/5/15 9:53 + */ +@Data +public class CommunicateParam extends StatisticsBizBaseParam { + + /** + * (查询条数) + */ + @ApiModelProperty("查询条数") + private Integer limit; + +} diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/DeviceInfoParam.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/DeviceInfoParam.java index 378ae81df..2b9cb1752 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/DeviceInfoParam.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/DeviceInfoParam.java @@ -168,5 +168,14 @@ public class DeviceInfoParam implements Serializable { } + @Data + @EqualsAndHashCode(callSuper = true) + public static class CompareLimitParam extends BusinessParam{ + + @ApiModelProperty("查询条数") + @NotNull(message = " 查询条数查询条数不能为空") + private Integer limit; + + } } diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/Communicate.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/Communicate.java index 9a79a1133..0e0bc1c3f 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/Communicate.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/Communicate.java @@ -28,7 +28,9 @@ public class Communicate { */ @Column(name = "time") private Instant updateTime; - + /** + * 监测点id + */ @Column(name = "line_id") private String id; diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/CommunicateVO.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/CommunicateVO.java index e5f8cdd90..fc3c897e6 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/CommunicateVO.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/CommunicateVO.java @@ -1,8 +1,12 @@ package com.njcn.device.pq.pojo.vo; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.njcn.common.utils.serializer.InstantDateSerializer; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.io.Serializable; +import java.time.Instant; import java.util.List; /** @@ -23,4 +27,30 @@ public class CommunicateVO implements Serializable { * 事件类型(0:中断;1:正常;2:退出) */ private List type; + + /** + * 冀北分布式光伏概览通讯状态统计(专用) + */ + @Data + public static class PVCommunicateVO{ + + @ApiModelProperty("监测id") + private String id; + + @ApiModelProperty("终端id") + private String devId; + + @ApiModelProperty("类型") + private Integer type; + + @JsonSerialize(using = InstantDateSerializer.class) + @ApiModelProperty("发生时间") + private Instant time; + + @ApiModelProperty("描述") + private String remark; + + @ApiModelProperty("终端ip:(终端名称_ip)") + private String devIp; + } } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/SubstationExpendController.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/SubstationExpendController.java index 895f5f7cc..ca943213e 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/SubstationExpendController.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/SubstationExpendController.java @@ -38,7 +38,7 @@ public class SubstationExpendController extends BaseController { @OperateInfo(info = LogEnum.BUSINESS_COMMON) @PostMapping("/getPVCommunicationStatus") - @ApiOperation("冀北主网监测点通讯状态统计") + @ApiOperation("冀北主网监测点pq:通讯状态统计") @ApiImplicitParam(name = "param", value = "冀北主网监测点台账统计参数", required = true) public HttpResult> getPVCommunicationStatus(@RequestBody DeviceInfoParam.CompareLimitParam param) { String methodDescribe = getMethodDescribe("getPVCommunicationStatus"); diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/LineMapper.xml b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/LineMapper.xml index cbd771756..612e7a615 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/LineMapper.xml +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/LineMapper.xml @@ -211,7 +211,7 @@