From 20c95cab63b5c073ce9be789fe9d8e8b5ee2884c Mon Sep 17 00:00:00 2001 From: wr <1754607820@qq.com> Date: Fri, 26 Apr 2024 10:36:16 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=BB=9F=E8=AE=A1=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=E7=9B=91=E6=B5=8B=E7=82=B9=E6=80=A7=E8=B4=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../njcn/device/pq/enums/PowerFlagEnum.java | 43 +++++++++++++++++++ .../njcn/device/pq/pojo/vo/GridDiagramVO.java | 9 +++- .../njcn/device/pq/pojo/vo/HalfReportVO.java | 7 ++- .../com/njcn/device/pq/mapper/LineMapper.java | 2 + .../device/pq/mapper/mapping/LineMapper.xml | 17 ++++++++ .../pq/service/TerminalBaseService.java | 8 ++++ .../pq/service/impl/GeneralDeviceService.java | 23 ++++++++++ .../service/impl/GridDiagramServiceImpl.java | 5 ++- .../service/impl/TerminalBaseServiceImpl.java | 5 +++ .../system/pojo/enums/StatisticsEnum.java | 1 + 10 files changed, 114 insertions(+), 6 deletions(-) create mode 100644 pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/enums/PowerFlagEnum.java diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/enums/PowerFlagEnum.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/enums/PowerFlagEnum.java new file mode 100644 index 000000000..48e4bf3e5 --- /dev/null +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/enums/PowerFlagEnum.java @@ -0,0 +1,43 @@ +package com.njcn.device.pq.enums; + +import lombok.Getter; + +import java.util.Arrays; + +/** + * pqs + * + * @author cdf + * @date 2022/1/4 + */ +@Getter +public enum PowerFlagEnum { + + /** + * 系统拓扑各层级描述 + */ + GRID_SIDE(0, "电网侧"), + NO_GRID_SIDE(1, "非电网侧"), + NEW_ENERGY(2, "电网侧(新能源)"), + NO_NEW_ENERGY(3, "非电网侧(新能源)"), + SEND_NETWORK(4, "上送国网"), + PCC(5, "PCC"); + + + + private final Integer code; + private final String message; + + PowerFlagEnum(Integer code, String message) { + this.code = code; + this.message = message; + } + + public static PowerFlagEnum getPowerFlagEnumByCode(Integer code) { + return Arrays.stream(PowerFlagEnum.values()) + .filter(x -> x.getCode().equals(code)) + .findAny() + .orElse(GRID_SIDE); + } + +} diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/GridDiagramVO.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/GridDiagramVO.java index bc23179ae..00b49506e 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/GridDiagramVO.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/GridDiagramVO.java @@ -1,6 +1,5 @@ package com.njcn.device.pq.pojo.vo; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -21,6 +20,11 @@ public class GridDiagramVO { @ApiModelProperty(name = "gwInfo", value = "国网监测点信息信息") private List gwInfo; + @ApiModelProperty(name = "data", value = "总信息") + private Double data; + + @ApiModelProperty(name = "gwData", value = "国网总信息") + private Double gwData; @Data public static class LineStatistics { @ApiModelProperty(name = "orgId", value = "单位id") @@ -29,6 +33,9 @@ public class GridDiagramVO { @ApiModelProperty(name = "orgName", value = "单位名称") private String orgName; + @ApiModelProperty(name = "count", value = "次数") + private Long count; + @ApiModelProperty(name = "data", value = "数据") private List data; } diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/HalfReportVO.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/HalfReportVO.java index 2fd624c76..f3d2b004f 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/HalfReportVO.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/HalfReportVO.java @@ -73,10 +73,9 @@ public class HalfReportVO implements Serializable { @ApiModelProperty("使用流量(M)") private BigDecimal statisValue; - // @ApiModelProperty("剩余流量(M)") -// private BigDecimal ; -// @ApiModelProperty("使用率(%)") -// private BigDecimal ; + @ApiModelProperty("干扰源类型") + private String loadType; + @ApiModelProperty("ICICD") private String sim; diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/LineMapper.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/LineMapper.java index d1caa2aeb..e0b121a66 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/LineMapper.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/LineMapper.java @@ -541,4 +541,6 @@ public interface LineMapper extends BaseMapper { */ List selectByIds(@Param("ids") List ids); + + List getDeviceIdByPowerFlag(@Param("lineIds")List lineIds, @Param("powerFlag")Integer manufacturer); } 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 325c9510f..ad55e32ba 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 @@ -1272,6 +1272,7 @@ pd.Com_Flag AS comFlag, pld.Line_Grade AS lineGrade, pld.Business_Type AS businessType, + pld.Load_Type AS loadType, pd.Login_Time AS loginTime, pd.Update_Time AS updateTime, ifnull( round(onlineRate,2), 0 ) AS onlineRate, @@ -1484,5 +1485,21 @@ + diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/TerminalBaseService.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/TerminalBaseService.java index b21fb1447..ff04a8c46 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/TerminalBaseService.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/TerminalBaseService.java @@ -158,6 +158,14 @@ public interface TerminalBaseService { * @param manufacturer 终端厂家 */ List getDeviceIdByManufacturer(List deviceIds, String manufacturer); + /** + * 根据监测点性质获取监测信息 + * + * @param lineIds 监测点id + * @param manufacturer 监测点性质 + */ + List getDeviceIdByPowerFlag(List lineIds, Integer manufacturer); + /** * 根据监测点集合查询基础信息 diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/GeneralDeviceService.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/GeneralDeviceService.java index 96713f6fb..b27c41c03 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/GeneralDeviceService.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/GeneralDeviceService.java @@ -9,6 +9,7 @@ import com.njcn.common.pojo.dto.SimpleDTO; import com.njcn.common.pojo.enums.common.ServerEnum; import com.njcn.common.utils.EnumUtils; import com.njcn.device.pq.enums.LineBaseEnum; +import com.njcn.device.pq.enums.PowerFlagEnum; import com.njcn.device.pq.mapper.DeviceMapper; import com.njcn.device.pq.mapper.LineMapper; import com.njcn.device.pq.mapper.TopMsgMapper; @@ -368,6 +369,8 @@ public class GeneralDeviceService { return filterDataByLoadType(deviceInfos, deviceInfoParam.getLoadType()); case MANUFACTURER: return filterDataByManufacturer(deviceInfos, deviceInfoParam.getManufacturer()); + case POWER_FLAG: + return filterDataByPowerFlag(deviceInfos, deviceInfoParam.getManufacturer()); default: return deviceInfos; } @@ -548,7 +551,27 @@ public class GeneralDeviceService { return generalDeviceDTOS; } + private List filterDataByPowerFlag(List deviceInfos, List manufacturer) { + List generalDeviceDTOS = new ArrayList<>(); + List deviceIds = deviceInfos.stream().flatMap(x->x.getLineIndexes().stream()).collect(Collectors.toList()); + List lineIds = deviceInfos.stream().flatMap(x->x.getLineIndexes().stream()).collect(Collectors.toList()); + //监测点为空,则返回空的分类数据 + if (CollectionUtil.isEmpty(lineIds)) { + return assembleCommonData(manufacturer); + } + SimpleDTO dto; + List lines = terminalBaseService.getLineById(lineIds); + for (int i = 0; i < 6; i++) { + List powerFlagIds = terminalBaseService.getDeviceIdByPowerFlag(deviceIds, i); + dto=new SimpleDTO(); + PowerFlagEnum enumByCode = PowerFlagEnum.getPowerFlagEnumByCode(i); + dto.setId(enumByCode.getCode().toString()); + dto.setName(enumByCode.getMessage()); + generalDeviceDTOS.add(assembleDataByLine(dto, lines, powerFlagIds, LineBaseEnum.LINE_LEVEL.getCode())); + } + return generalDeviceDTOS; + } /** * 当该部门不存在监测点时,返回空的分类数据 * diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/GridDiagramServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/GridDiagramServiceImpl.java index 463f8eed8..362f0322a 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/GridDiagramServiceImpl.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/GridDiagramServiceImpl.java @@ -282,13 +282,16 @@ public class GridDiagramServiceImpl implements GridDiagramService { List generalDeviceDTOList = generalDeviceService.getDeviceInfo(param.getDeviceInfoParam(), Stream.of(0).collect(Collectors.toList()), Stream.of(1).collect(Collectors.toList())); Map map = new LinkedHashMap<>(); DateField dateField; + DateTime parse; if (1 == param.getType()) { dateField = DateField.YEAR; + parse =DateUtil.offset(DateUtil.parse(param.getSearchBeginTime()),DateField.YEAR,-5); } else { dateField = DateField.MONTH; + parse = DateUtil.parse(param.getSearchBeginTime()); } //根据步进单位获取起始日期时间和结束日期时间的时间区间集合 - List dateTimes = DateUtil.rangeToList(DateUtil.parse(param.getSearchBeginTime()), DateUtil.parse(param.getSearchEndTime()), dateField); + List dateTimes = DateUtil.rangeToList(parse, DateUtil.parse(param.getSearchEndTime()), dateField); List times; if (4 == type) { List devIDs = generalDeviceDTOList.stream().flatMap(x -> x.getDeviceIndexes().stream()).distinct().collect(Collectors.toList()); diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalBaseServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalBaseServiceImpl.java index 62c653a91..0fdad6a9a 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalBaseServiceImpl.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalBaseServiceImpl.java @@ -1504,6 +1504,11 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple return this.baseMapper.getDeviceIdByManufacturer(deviceIds, manufacturer); } + @Override + public List getDeviceIdByPowerFlag(List lineIds, Integer manufacturer) { + return this.baseMapper.getDeviceIdByPowerFlag(lineIds, manufacturer); + } + @Override public List getBaseLineInfo(List lineIndex) { return this.baseMapper.getBaseLineInfo(lineIndex); diff --git a/pqs-system/system-api/src/main/java/com/njcn/system/pojo/enums/StatisticsEnum.java b/pqs-system/system-api/src/main/java/com/njcn/system/pojo/enums/StatisticsEnum.java index 050e4bf0d..6d51cd5b9 100644 --- a/pqs-system/system-api/src/main/java/com/njcn/system/pojo/enums/StatisticsEnum.java +++ b/pqs-system/system-api/src/main/java/com/njcn/system/pojo/enums/StatisticsEnum.java @@ -20,6 +20,7 @@ public enum StatisticsEnum { VOLTAGE_LEVEL("电压等级", "Voltage_Level"), LOAD_TYPE("干扰源类型", "Load_Type"), MANUFACTURER("终端厂家", "Manufacturer"), + POWER_FLAG("监测点性质", "Power_Flag"), REPORT_TYPE("上报类型", "Report_Type"); private final String name;