diff --git a/pqs-device/common-device-biz/src/main/java/com/njcn/device/biz/pojo/param/DeptGetLineParam.java b/pqs-device/common-device-biz/src/main/java/com/njcn/device/biz/pojo/param/DeptGetLineParam.java index e9a3d75b5..9b3b3e388 100644 --- a/pqs-device/common-device-biz/src/main/java/com/njcn/device/biz/pojo/param/DeptGetLineParam.java +++ b/pqs-device/common-device-biz/src/main/java/com/njcn/device/biz/pojo/param/DeptGetLineParam.java @@ -23,5 +23,8 @@ public class DeptGetLineParam { @ApiModelProperty(name = "serverName",value = "系统类型 0.event-boot 1.harmonic-boot") private String serverName; + @ApiModelProperty(name = "systemType",value = "0.只返回主网的监测点信息; 1.只返回配网的监测点信息; null、2.返回主网配网两种监测点信息") + private Integer systemType; + } diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/Generatrix.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/Generatrix.java deleted file mode 100644 index 507f20702..000000000 --- a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/Generatrix.java +++ /dev/null @@ -1,36 +0,0 @@ -//package com.njcn.device.pms.pojo.po; -// -//import com.baomidou.mybatisplus.annotation.TableId; -//import com.baomidou.mybatisplus.annotation.TableName; -//import com.njcn.db.bo.BaseEntity; -//import lombok.Data; -//import lombok.EqualsAndHashCode; -// -///** -// * pms-device -// * 母线 -// * @author cdf -// * @date 2022/10/26 -// */ -//@Data -//@EqualsAndHashCode(callSuper = true) -//@TableName("pms_generatrix") -//public class Generatrix extends BaseEntity { -// -// private static final long serialVersionUID = 1L; -// -// @TableId -// private String generatrixId; -// -// private String generatrixName; -// -// private String statationId; -// -// private String statationName; -// -// private String scale; -// -// private Integer status; -// -// -//} diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/GeneratrixWire.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/GeneratrixWire.java index 6a848716c..3277d4de3 100644 --- a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/GeneratrixWire.java +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/GeneratrixWire.java @@ -40,6 +40,13 @@ public class GeneratrixWire extends BaseEntity { private Integer status; + /** + * 关联中台的母线id + */ + private String relationId; + + + @TableField(exist = false) private String orgId; } diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/PmsMonitorPO.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/PmsMonitorPO.java index cb74beb47..d5c650efa 100644 --- a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/PmsMonitorPO.java +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/PmsMonitorPO.java @@ -6,11 +6,12 @@ import java.io.Serializable; /** * (PmsMonitor)实体类 - * + * 实体用 Monitor(后面删除这个类) * @author yzh * @since 2022-10-14 10:23:20 */ @Data +@Deprecated public class PmsMonitorPO implements Serializable { private static final long serialVersionUID = -72537315596058339L; /** diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/StatationStat.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/StatationStat.java index a21714d86..059e98a4f 100644 --- a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/StatationStat.java +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/StatationStat.java @@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode; /** *

- * + * pms电站表 *

* * @author hongawen @@ -69,4 +69,11 @@ public class StatationStat extends BaseEntity { + /** + * 关联中台的母线id + */ + private String relationId; + + + } diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/CommTerminalController.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/CommTerminalController.java index 464e15b59..ac2280466 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/CommTerminalController.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/CommTerminalController.java @@ -86,7 +86,7 @@ public class CommTerminalController extends BaseController { } /** - * 根据单位获取监测点信息 + * 根据单位获取层级单位的监测点信息 * @author cdf * @date 2023/5/10 */ diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/ledgerManger/impl/CommTerminalServiceImpl.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/ledgerManger/impl/CommTerminalServiceImpl.java index 52629d314..91cfa0c49 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/ledgerManger/impl/CommTerminalServiceImpl.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/ledgerManger/impl/CommTerminalServiceImpl.java @@ -109,6 +109,9 @@ public class CommTerminalServiceImpl implements CommTerminalService { @Override public List deptGetLine(DeptGetLineParam deptGetLineParam) { + if (Objects.isNull(deptGetLineParam.getSystemType())) { + deptGetLineParam.setSystemType(2); + } List result = new ArrayList<>(); List temDept = getDeptChildrenByParent(deptGetLineParam); //电压等级 @@ -116,13 +119,20 @@ public class CommTerminalServiceImpl implements CommTerminalService { Map mapVoltage = voltageDic.stream().collect(Collectors.toMap(DictData::getId, Function.identity())); //监测点状态 DictData dictData = dicDataFeignClient.getDicDataByNameAndTypeName(DicDataTypeEnum.LINE_STATE.getName(), DicDataEnum.RUN.getName()).getData(); - List monitorList = monitorMapper.selectList(new LambdaQueryWrapper().eq(Monitor::getStatus, 1).eq(Monitor::getMonitorState, dictData.getId())); - Map> map = monitorList.stream().collect(Collectors.groupingBy(Monitor::getOrgId)); + Map> map = new HashMap<>(); + if (deptGetLineParam.getSystemType() == 0 || deptGetLineParam.getSystemType() == 2) { + List monitorList = monitorMapper.selectList(new LambdaQueryWrapper().eq(Monitor::getStatus, 1).eq(Monitor::getMonitorState, dictData.getId())); + map = monitorList.stream().collect(Collectors.groupingBy(Monitor::getOrgId)); + } //TODO 配网数据量巨大,暂时注释 - //List pmsMonitorBaseDTOList = distributionMonitorMapper.getDisMonitorAllList(null, 0); - //Map> mapPms = pmsMonitorBaseDTOList.stream().collect(Collectors.groupingBy(PmsMonitorBaseDTO::getOrgId)); - + /* Map> mapPms = new HashMap<>(); + if (deptGetLineParam.getSystemType() == 1 || deptGetLineParam.getSystemType() == 2) { + List pmsMonitorBaseDTOList = distributionMonitorMapper.getDisMonitorAllList(null, 0); + mapPms = pmsMonitorBaseDTOList.stream().collect(Collectors.groupingBy(PmsMonitorBaseDTO::getOrgId)); + } + Map> finalMapPms = mapPms;*/ + Map> finalMap = map; temDept.forEach(item -> { DeptGetChildrenMoreDTO deptGetChildrenMoreDTO = new DeptGetChildrenMoreDTO(); deptGetChildrenMoreDTO.setUnitId(item.getUnitId()); @@ -133,34 +143,39 @@ public class CommTerminalServiceImpl implements CommTerminalService { List lineList = new ArrayList<>(); List lineListPw = new ArrayList<>(); deptIds.forEach(i -> { - if (map.containsKey(i)) { - map.get(i).forEach(it -> { - LineDevGetDTO lineDevGetDTO = new LineDevGetDTO(); - lineDevGetDTO.setPointId(it.getId()); - lineDevGetDTO.setInterval(it.getStatisticalInterval()); - lineDevGetDTO.setDevId(it.getTerminalId()); - lineDevGetDTO.setType(1); - lineDevGetDTO.setLineType(1); - lineDevGetDTO.setLineTag(it.getMonitorTag()); - lineDevGetDTO.setVoltageLevel(mapVoltage.get(it.getVoltageLevel()).getValue()); - lineList.add(lineDevGetDTO); - }); + if (deptGetLineParam.getSystemType() == 0 || deptGetLineParam.getSystemType() == 2) { + if (finalMap.containsKey(i)) { + finalMap.get(i).forEach(it -> { + LineDevGetDTO lineDevGetDTO = new LineDevGetDTO(); + lineDevGetDTO.setPointId(it.getId()); + lineDevGetDTO.setInterval(it.getStatisticalInterval()); + lineDevGetDTO.setDevId(it.getTerminalId()); + lineDevGetDTO.setType(1); + lineDevGetDTO.setLineType(1); + lineDevGetDTO.setLineTag(it.getMonitorTag()); + lineDevGetDTO.setVoltageLevel(mapVoltage.get(it.getVoltageLevel()).getValue()); + lineList.add(lineDevGetDTO); + }); + } } - /* if (mapPms.containsKey(i)) { - mapPms.get(i).forEach(it -> { - LineDevGetDTO lineDevGetDTOPms = new LineDevGetDTO(); - lineDevGetDTOPms.setPointId(it.getMonitorId()); - lineDevGetDTOPms.setInterval(10); - lineDevGetDTOPms.setDevId(it.getTerminalId()); - lineDevGetDTOPms.setType(1); - lineDevGetDTOPms.setLineType(it.getLineType()); - lineDevGetDTOPms.setVoltageLevel(mapVoltage.get(it.getVoltageLevel()).getValue()); - lineListPw.add(lineDevGetDTOPms); - }); + + /* if (deptGetLineParam.getSystemType() == 1 || deptGetLineParam.getSystemType() == 2) { + if (finalMapPms.containsKey(i)) { + finalMapPms.get(i).forEach(it -> { + LineDevGetDTO lineDevGetDTOPms = new LineDevGetDTO(); + lineDevGetDTOPms.setPointId(it.getMonitorId()); + lineDevGetDTOPms.setInterval(10); + lineDevGetDTOPms.setDevId(it.getTerminalId()); + lineDevGetDTOPms.setType(1); + lineDevGetDTOPms.setLineType(it.getLineType()); + lineDevGetDTOPms.setVoltageLevel(mapVoltage.get(it.getVoltageLevel()).getValue()); + lineListPw.add(lineDevGetDTOPms); + }); + } }*/ }); deptGetChildrenMoreDTO.setLineBaseList(lineList); - //deptGetChildrenMoreDTO.setPwMonitorIds(lineListPw); + deptGetChildrenMoreDTO.setPwMonitorIds(lineListPw); } result.add(deptGetChildrenMoreDTO); }); @@ -198,8 +213,8 @@ public class CommTerminalServiceImpl implements CommTerminalService { lineList.addAll(map.get(i).stream().map(StatationStat::getPowerId).distinct().collect(Collectors.toList())); } - if(statationAndMonitorMap.containsKey(i)){ - statationList.addAll(statationAndMonitorMap.get(i).stream().filter(x->x.getPowerId()!=null).map(PmsStatationStatInfoDTO::getMonitorId).collect(Collectors.toList())); + if (statationAndMonitorMap.containsKey(i)) { + statationList.addAll(statationAndMonitorMap.get(i).stream().filter(x -> x.getPowerId() != null).map(PmsStatationStatInfoDTO::getMonitorId).collect(Collectors.toList())); } /*if (mapPms.containsKey(i)) { lineListPw.addAll(mapPms.get(i).stream().map(PmsMonitorBaseDTO::getPowerrId).distinct().collect(Collectors.toList())); @@ -245,7 +260,7 @@ public class CommTerminalServiceImpl implements CommTerminalService { if (map.containsKey(i)) { lineList.addAll(map.get(i).stream().map(GeneratrixWire::getId).collect(Collectors.toList())); } - if(wireAndMonitorMap.containsKey(i)){ + if (wireAndMonitorMap.containsKey(i)) { wireAndMonitorList.addAll(wireAndMonitorMap.get(i).stream().map(GeneratrixWire::getId).collect(Collectors.toList())); } /* if (mapPms.containsKey(i)) { @@ -307,7 +322,7 @@ public class CommTerminalServiceImpl implements CommTerminalService { lineDevGetDTO.setType(0); lineDevGetDTO.setUpdateTime(dev.getUpdateTime()); lineDevGetDTO.setComFlag(dev.getComFlag()); - if(type == 1) { + if (type == 1) { if (finalMonitorMap.containsKey(dev.getId())) { lineDevGetDTO.setMonitorIds(finalMonitorMap.get(dev.getId()).stream().map(Monitor::getId).distinct().collect(Collectors.toList())); } @@ -523,20 +538,20 @@ public class CommTerminalServiceImpl implements CommTerminalService { @Override public List getOneMonitorIds() { - DictData dictData = dicDataFeignClient.getDicDataByNameAndTypeName(DicDataTypeEnum.LINE_STATE.getName(),DicDataEnum.RUN.getName()).getData(); - if(Objects.isNull(dictData)){ - throw new BusinessException("监测点状态字典为空"); + DictData dictData = dicDataFeignClient.getDicDataByNameAndTypeName(DicDataTypeEnum.LINE_STATE.getName(), DicDataEnum.RUN.getName()).getData(); + if (Objects.isNull(dictData)) { + throw new BusinessException("监测点状态字典为空"); } LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); - lambdaQueryWrapper.select(Monitor::getId).eq(Monitor::getMonitorState,dictData.getId()); + lambdaQueryWrapper.select(Monitor::getId).eq(Monitor::getMonitorState, dictData.getId()); List monitorList = monitorMapper.selectList(lambdaQueryWrapper); return monitorList.stream().map(Monitor::getId).collect(Collectors.toList()); } @Override public List getRunMonitorList() { - DictData dictData = dicDataFeignClient.getDicDataByNameAndTypeName(DicDataTypeEnum.LINE_STATE.getName(),DicDataEnum.RUN.getName()).getData(); - if(Objects.isNull(dictData)){ + DictData dictData = dicDataFeignClient.getDicDataByNameAndTypeName(DicDataTypeEnum.LINE_STATE.getName(), DicDataEnum.RUN.getName()).getData(); + if (Objects.isNull(dictData)) { throw new BusinessException("监测点状态字典为空"); } return null; @@ -544,6 +559,7 @@ public class CommTerminalServiceImpl implements CommTerminalService { /** * 获取单个监测点信息 + * * @author cdf * @date 2023/10/12 */ @@ -552,7 +568,7 @@ public class CommTerminalServiceImpl implements CommTerminalService { LineDevGetDTO lineDevGetDTO = new LineDevGetDTO(); Monitor monitor = monitorMapper.selectById(monitorId); - if(Objects.nonNull(monitor)){ + if (Objects.nonNull(monitor)) { lineDevGetDTO.setPointName(monitor.getName()); lineDevGetDTO.setInterval(monitor.getStatisticalInterval()); lineDevGetDTO.setDevId(monitor.getTerminalId()); @@ -561,23 +577,23 @@ public class CommTerminalServiceImpl implements CommTerminalService { } LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); - lambdaQueryWrapper.eq(DistributionMonitor::getMonitorId,monitorId); + lambdaQueryWrapper.eq(DistributionMonitor::getMonitorId, monitorId); DistributionMonitor distributionMonitor = distributionMonitorMapper.selectOne(lambdaQueryWrapper); - if(Objects.nonNull(distributionMonitor)){ + if (Objects.nonNull(distributionMonitor)) { DictData dictDataSort = dicDataFeignClient.getDicDataById(distributionMonitor.getMonitorSort()).getData(); - if(DicDataEnum.TWO_LINE.getCode().equals(dictDataSort.getCode())){ + if (DicDataEnum.TWO_LINE.getCode().equals(dictDataSort.getCode())) { //二类 PowerDistributionarea powerDistributionarea = powerDistributionareaMapper.selectById(monitorId); - if(Objects.nonNull(powerDistributionarea)){ + if (Objects.nonNull(powerDistributionarea)) { lineDevGetDTO.setPointName(powerDistributionarea.getName()); lineDevGetDTO.setInterval(distributionMonitor.getStatisticalInterval()); lineDevGetDTO.setDevId(distributionMonitor.getTerminalId()); lineDevGetDTO.setVoltageLevel(powerDistributionarea.getVoltageLevel()); return lineDevGetDTO; } - }else if(DicDataEnum.THREE_LINE.getCode().equals(dictDataSort.getCode())){ - if(distributionMonitor.getIfPowerUser() == 1){ + } else if (DicDataEnum.THREE_LINE.getCode().equals(dictDataSort.getCode())) { + if (distributionMonitor.getIfPowerUser() == 1) { //发电用户 PowerGenerationUser powerGenerationUser = powerGenerationUserMapper.selectById(monitorId); lineDevGetDTO.setPointName(powerGenerationUser.getName()); @@ -585,7 +601,7 @@ public class CommTerminalServiceImpl implements CommTerminalService { lineDevGetDTO.setDevId(distributionMonitor.getTerminalId()); lineDevGetDTO.setVoltageLevel(powerGenerationUser.getVoltageLevel()); return lineDevGetDTO; - }else { + } else { PowerClient powerClient = powerClientMapper.selectById(monitorId); lineDevGetDTO.setPointName(powerClient.getName()); lineDevGetDTO.setInterval(distributionMonitor.getStatisticalInterval()); @@ -601,7 +617,7 @@ public class CommTerminalServiceImpl implements CommTerminalService { @Override public List getStatisticsMonitor(StatisticsBizBaseParam param) { - List info=new ArrayList<>(); + List info = new ArrayList<>(); //部门信息 List deptInfos = deptFeignClient.getDeptDescendantIndexes(param.getId(), Stream.of(0, 1).collect(Collectors.toList())).getData(); List voltageList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_VOLTAGE.getCode()).getData(); @@ -613,35 +629,35 @@ public class CommTerminalServiceImpl implements CommTerminalService { PowerDistributionarea::getVoltageLevel, PowerDistributionarea::getApLoadType, PowerDistributionarea::getPhotovoltaicCapacity - ) + ) .eq(PowerDistributionarea::getStatus, 1) .ge(StrUtil.isNotBlank(param.getStartTime()), PowerDistributionarea::getCreateTime, DateUtil.beginOfDay(DateUtil.parse(param.getStartTime()))) .le(StrUtil.isNotBlank(param.getEndTime()), PowerDistributionarea::getCreateTime, DateUtil.endOfDay(DateUtil.parse(param.getEndTime()))) ); List dictDatas = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.MONITORING_LABELS.getCode()).getData(); - Map map=new HashMap<>(); + Map map = new HashMap<>(); for (DictData dictDatum : dictDatas) { - if(DicDataEnum.ONSHORE_WIND.getCode().equals(dictDatum.getCode())){ - map.put("fd",dictDatum.getId()); + if (DicDataEnum.ONSHORE_WIND.getCode().equals(dictDatum.getCode())) { + map.put("fd", dictDatum.getId()); } - if(DicDataEnum.POWER_STATION.getCode().equals(dictDatum.getCode())){ - map.put("gfdz",dictDatum.getId()); + if (DicDataEnum.POWER_STATION.getCode().equals(dictDatum.getCode())) { + map.put("gfdz", dictDatum.getId()); } - if(DicDataEnum.ELECTRIFIED_RAILWAYS.getCode().equals(dictDatum.getCode())){ - map.put("dq",dictDatum.getId()); + if (DicDataEnum.ELECTRIFIED_RAILWAYS.getCode().equals(dictDatum.getCode())) { + map.put("dq", dictDatum.getId()); } - if(DicDataEnum.SMELT_LOAD.getCode().equals(dictDatum.getCode())){ - map.put("yl",dictDatum.getId()); + if (DicDataEnum.SMELT_LOAD.getCode().equals(dictDatum.getCode())) { + map.put("yl", dictDatum.getId()); } - if(DicDataEnum.DISTRIBUTED_PHOTOVOLTAICS.getCode().equals(dictDatum.getCode())){ - map.put("gf",dictDatum.getId()); + if (DicDataEnum.DISTRIBUTED_PHOTOVOLTAICS.getCode().equals(dictDatum.getCode())) { + map.put("gf", dictDatum.getId()); } } // 过滤出传入id的子单位id List directDeptInfos = deptInfos.stream() .filter(deptDTO -> deptDTO.getPid().equals(param.getId())) .collect(Collectors.toList()); - List monitorsNew ; + List monitorsNew; List distributionNew; if (CollectionUtil.isEmpty(directDeptInfos)) { //没有直接子部门,获取当前部门所有信息 @@ -651,7 +667,7 @@ public class CommTerminalServiceImpl implements CommTerminalService { monitorsNew = monitors.stream().filter(x -> x.getOrgId().equals(dept.get(0).getCode())).collect(Collectors.toList()); distributionNew = distributionList.stream().filter(x -> x.getOrgId().equals(dept.get(0).getCode())).collect(Collectors.toList()); - statisticsMonitorAdd(Arrays.asList(dept.get(0).getCode()),voltageList,monitorsNew,distributionNew,map,info); + statisticsMonitorAdd(Arrays.asList(dept.get(0).getCode()), voltageList, monitorsNew, distributionNew, map, info); } else { // 遍历子单位id for (DeptDTO deptDTO : directDeptInfos) { @@ -665,40 +681,40 @@ public class CommTerminalServiceImpl implements CommTerminalService { .distinct() .collect(Collectors.toList()); deptIdList.add(deptDTO.getCode()); - monitorsNew = monitors.stream().filter(x->deptIdList.contains(x.getOrgId())).collect(Collectors.toList()); + monitorsNew = monitors.stream().filter(x -> deptIdList.contains(x.getOrgId())).collect(Collectors.toList()); distributionNew = distributionList.stream().filter(x -> deptIdList.contains(x.getOrgId())).collect(Collectors.toList()); - statisticsMonitorAdd(deptIdList,voltageList,monitorsNew,distributionNew,map,info); + statisticsMonitorAdd(deptIdList, voltageList, monitorsNew, distributionNew, map, info); } } return info; } - public List statisticsMonitorAdd(List deptIdList,List voltageList ,List monitorsNew,List list,Map map,List info){ + public List statisticsMonitorAdd(List deptIdList, List voltageList, List monitorsNew, List list, Map map, List info) { Map> monitorMap = monitorsNew.stream().collect(Collectors.groupingBy(x -> x.getOrgId() + "_" + x.getVoltageLevel())); Map> distributionMap = list.stream().collect(Collectors.groupingBy(x -> x.getOrgId() + "_" + x.getVoltageLevel())); for (String s : deptIdList) { for (DictData dictData : voltageList) { - StatisticsMonitor monitor=new StatisticsMonitor(); - monitor.setOrgId(s ); + StatisticsMonitor monitor = new StatisticsMonitor(); + monitor.setOrgId(s); monitor.setVoltageLevel(dictData.getId()); monitor.setGeneratrixSum(0); String key = s + "_" + dictData.getId(); - if(monitorMap.containsKey(key)){ + if (monitorMap.containsKey(key)) { List monitors = monitorMap.get(s + "_" + dictData.getId()); monitor.setLineNum(Math.toIntExact(monitors.stream().map(Monitor::getLineId).distinct().count())); - monitor.setPhotovoltaicLineNum(Math.toIntExact(monitors.stream().filter(x->x.getMonitorTag().equals(map.get("gf"))).map(Monitor::getLineId).distinct().count())); - monitor.setWindPowerNum(Math.toIntExact(monitors.stream().filter(x->x.getMonitorTag().equals(map.get("fd"))).map(Monitor::getId).distinct().count())); - monitor.setPvNum(Math.toIntExact(monitors.stream().filter(x->x.getMonitorTag().equals(map.get("gfdz"))).map(Monitor::getId).distinct().count())); - monitor.setSmeltingLoadNum(Math.toIntExact(monitors.stream().filter(x->x.getMonitorTag().equals(map.get("yl"))).map(Monitor::getId).distinct().count())); - monitor.setElectricTrackNum(Math.toIntExact(monitors.stream().filter(x->x.getMonitorTag().equals(map.get("dq"))).map(Monitor::getId).distinct().count())); - monitor.setWindPowerCapacity(monitors.stream().filter(x->x.getMonitorTag().equals(map.get("fd"))).mapToDouble(Monitor::getStandShortCapacity).sum()); - monitor.setPvCapacity(monitors.stream().filter(x->x.getMonitorTag().equals(map.get("fd"))).mapToDouble(Monitor::getStandShortCapacity).sum()); - monitor.setSmeltingLoadCapacity(monitors.stream().filter(x->x.getMonitorTag().equals(map.get("fd"))).mapToDouble(Monitor::getStandShortCapacity).sum()); - monitor.setElectricTrackCapacity(monitors.stream().filter(x->x.getMonitorTag().equals(map.get("fd"))).mapToDouble(Monitor::getStandShortCapacity).sum()); + monitor.setPhotovoltaicLineNum(Math.toIntExact(monitors.stream().filter(x -> x.getMonitorTag().equals(map.get("gf"))).map(Monitor::getLineId).distinct().count())); + monitor.setWindPowerNum(Math.toIntExact(monitors.stream().filter(x -> x.getMonitorTag().equals(map.get("fd"))).map(Monitor::getId).distinct().count())); + monitor.setPvNum(Math.toIntExact(monitors.stream().filter(x -> x.getMonitorTag().equals(map.get("gfdz"))).map(Monitor::getId).distinct().count())); + monitor.setSmeltingLoadNum(Math.toIntExact(monitors.stream().filter(x -> x.getMonitorTag().equals(map.get("yl"))).map(Monitor::getId).distinct().count())); + monitor.setElectricTrackNum(Math.toIntExact(monitors.stream().filter(x -> x.getMonitorTag().equals(map.get("dq"))).map(Monitor::getId).distinct().count())); + monitor.setWindPowerCapacity(monitors.stream().filter(x -> x.getMonitorTag().equals(map.get("fd"))).mapToDouble(Monitor::getStandShortCapacity).sum()); + monitor.setPvCapacity(monitors.stream().filter(x -> x.getMonitorTag().equals(map.get("fd"))).mapToDouble(Monitor::getStandShortCapacity).sum()); + monitor.setSmeltingLoadCapacity(monitors.stream().filter(x -> x.getMonitorTag().equals(map.get("fd"))).mapToDouble(Monitor::getStandShortCapacity).sum()); + monitor.setElectricTrackCapacity(monitors.stream().filter(x -> x.getMonitorTag().equals(map.get("fd"))).mapToDouble(Monitor::getStandShortCapacity).sum()); - }else{ + } else { monitor.setLineNum(0); monitor.setPhotovoltaicLineNum(0); monitor.setWindPowerNum(0); @@ -711,16 +727,16 @@ public class CommTerminalServiceImpl implements CommTerminalService { monitor.setElectricTrackCapacity(0.0); } - if(distributionMap.containsKey(key)){ - List distributionAreaList= distributionMap.get(key); + if (distributionMap.containsKey(key)) { + List distributionAreaList = distributionMap.get(key); int size = distributionAreaList.size(); monitor.setPlatformNum(size); - monitor.setPhotovoltaicCourtsNum(distributionAreaList.stream().filter(x->x.getApLoadType().equals(map.get("gf"))).map(PowerDistributionarea::getId).distinct().collect(Collectors.toList()).size()); + monitor.setPhotovoltaicCourtsNum(distributionAreaList.stream().filter(x -> x.getApLoadType().equals(map.get("gf"))).map(PowerDistributionarea::getId).distinct().collect(Collectors.toList()).size()); //获取分布式光伏总容量 double sum = distributionAreaList.stream().mapToDouble(PowerDistributionarea::getPhotovoltaicCapacity).sum(); double v = sum / size * 0.25; - monitor.setExceedCourtscapNum(distributionAreaList.stream().filter(x->x.getPhotovoltaicCapacity()>v).distinct().collect(Collectors.toList()).size()); - }else{ + monitor.setExceedCourtscapNum(distributionAreaList.stream().filter(x -> x.getPhotovoltaicCapacity() > v).distinct().collect(Collectors.toList()).size()); + } else { monitor.setPlatformNum(0); monitor.setPhotovoltaicCourtsNum(0); monitor.setExceedCourtscapNum(0); diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/ledgerManger/impl/DeptLineServiceImpl.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/ledgerManger/impl/DeptLineServiceImpl.java index 9bc281d2e..ab876108c 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/ledgerManger/impl/DeptLineServiceImpl.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/ledgerManger/impl/DeptLineServiceImpl.java @@ -81,9 +81,6 @@ public class DeptLineServiceImpl extends ServiceImpl i */ @Override public Map> getLineByDeptRelation(Integer devDataType) { - - Map> map = new HashMap<> (); - List deptLines = deptLineMapper.getLineByDeptRelation(devDataType); Map> collect = deptLines.stream ( ).collect (Collectors.groupingBy (DeptLine::getId, Collectors.mapping (DeptLine::getLineId,Collectors.toList ()))); diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/MonitorServiceImpl.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/MonitorServiceImpl.java index 6cb202216..90ed3925d 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/MonitorServiceImpl.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/MonitorServiceImpl.java @@ -361,11 +361,14 @@ public class MonitorServiceImpl extends ServiceImpl impl @Override public List deptMonitor(DeptGetLineParam param) { + if (Objects.isNull(param)) { + param.setSystemType(2); + } //返回主网和配网监测信息 List deviceInfos = new ArrayList<>(); List deptInfos = deptFeignClient.getDeptDescendantIndexes(param.getDeptId(), Stream.of(0, 1).collect(Collectors.toList())).getData(); - DictData dictData = dicDataFeignClient.getDicDataByNameAndTypeName(DicDataTypeEnum.LINE_STATE.getName(),DicDataEnum.RUN.getName()).getData(); - if(Objects.isNull(dictData)){ + DictData dictData = dicDataFeignClient.getDicDataByNameAndTypeName(DicDataTypeEnum.LINE_STATE.getName(), DicDataEnum.RUN.getName()).getData(); + if (Objects.isNull(dictData)) { throw new BusinessException("监测点状态字典为空"); } for (DeptDTO deptInfo : deptInfos) { @@ -377,7 +380,7 @@ public class MonitorServiceImpl extends ServiceImpl impl List dept = deptInfos.stream() .filter(deptDTO -> deptDTO.getId().equals(deptInfo.getId())) .collect(Collectors.toList()); - deviceInfos.add(getPmsMonitor(dept.get(0),dictData, Collections.singletonList(dept.get(0).getCode()))); + deviceInfos.add(getPmsMonitor(dept.get(0), dictData, Collections.singletonList(dept.get(0).getCode()),param.getSystemType())); } else { List deptIdList = new ArrayList<>(); for (DeptDTO deptDTO : directDeptInfos) { @@ -386,13 +389,13 @@ public class MonitorServiceImpl extends ServiceImpl impl .filter(d -> d.getPids().contains(deptDTO.getId())) .collect(Collectors.toList()); //形成需要查询监测点的部门索引 - deptIdList.addAll( descendantDeptDTO.stream() + deptIdList.addAll(descendantDeptDTO.stream() .map(DeptDTO::getCode) .distinct() .collect(Collectors.toList())); deptIdList.add(deptDTO.getCode()); } - deviceInfos.add(getPmsMonitor(deptInfo, dictData,deptIdList)); + deviceInfos.add(getPmsMonitor(deptInfo, dictData, deptIdList,param.getSystemType())); } } return deviceInfos; @@ -426,13 +429,13 @@ public class MonitorServiceImpl extends ServiceImpl impl @Override public List getAllLineOverLimit() { - return overlimitMapper.selectList(null); + return overlimitMapper.selectList(null); } @Override public Map> getLineBySubstationRelation(Integer devDataType) { //获取主网监测点信息 - if(devDataType==0){ + if (devDataType == 0) { List list = this.list(); return list.stream() .collect(Collectors.groupingBy(Monitor::getPowerrId, Collectors.mapping(Monitor::getId, Collectors.toList()))); @@ -447,7 +450,7 @@ public class MonitorServiceImpl extends ServiceImpl impl List connect = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_CONNECT.getCode()).getData(); Map connectMap = connect.stream().collect(Collectors.toMap(DictData::getId, DictData::getValue)); LineDTO lineDTO = this.baseMapper.selectLineDetail(id); - if(voltageMap.containsKey(lineDTO.getVoltageLevel())&&connectMap.containsKey(lineDTO.getPtType())){ + if (voltageMap.containsKey(lineDTO.getVoltageLevel()) && connectMap.containsKey(lineDTO.getPtType())) { lineDTO.setVoltageLevel(voltageMap.get(lineDTO.getVoltageLevel())); lineDTO.setPtType(connectMap.get(lineDTO.getPtType())); return lineDTO; @@ -460,7 +463,7 @@ public class MonitorServiceImpl extends ServiceImpl impl */ @Override public List getLineDetailBatch(List ids) { - if(CollectionUtil.isEmpty(ids)){ + if (CollectionUtil.isEmpty(ids)) { return null; } List lineDTOS = this.baseMapper.selectLineDetailBatch(ids); @@ -468,16 +471,16 @@ public class MonitorServiceImpl extends ServiceImpl impl Map> lineVoltageMap = lineDTOS.stream().collect(Collectors.groupingBy(LineDTO::getVoltageLevel)); List voltageList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_VOLTAGE.getCode()).getData(); Map voltageMap = voltageList.stream().collect(Collectors.toMap(DictData::getId, DictData::getValue)); - lineVoltageMap.forEach((key,lineData) -> { - String voltage= voltageMap.get(key); + lineVoltageMap.forEach((key, lineData) -> { + String voltage = voltageMap.get(key); lineData = lineData.stream().peek(line -> line.setVoltageLevel(voltage)).collect(Collectors.toList()); }); //接线方式 Map> linePtTypeMap = lineDTOS.stream().collect(Collectors.groupingBy(LineDTO::getPtType)); List connect = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_CONNECT.getCode()).getData(); Map connectMap = connect.stream().collect(Collectors.toMap(DictData::getId, DictData::getValue)); - linePtTypeMap.forEach((key,lineData)->{ - String ptType= connectMap.get(key); + linePtTypeMap.forEach((key, lineData) -> { + String ptType = connectMap.get(key); lineData = lineData.stream().peek(line -> line.setPtType(ptType)).collect(Collectors.toList()); }); return lineDTOS; @@ -491,7 +494,7 @@ public class MonitorServiceImpl extends ServiceImpl impl * @param deptIdList * @return */ - private DeptGetChildrenDTO getPmsMonitor(DeptDTO deptDTO,DictData dictData, List deptIdList) { + private DeptGetChildrenDTO getPmsMonitor(DeptDTO deptDTO, DictData dictData, List deptIdList, Integer systemType) { DeptGetChildrenDTO pmsDeptGetChildrenDTO = new DeptGetChildrenDTO(); pmsDeptGetChildrenDTO.setDeptId(deptDTO.getCode()); if (deptDTO.getType() == 0) { @@ -502,14 +505,23 @@ public class MonitorServiceImpl extends ServiceImpl impl pmsDeptGetChildrenDTO.setDeptChildren(deptIdList); if (CollUtil.isNotEmpty(deptIdList)) { //主网监测点 - List monitorList = this.list(new LambdaQueryWrapper() - .select(Monitor::getId) - .eq(Monitor::getMonitorState,dictData.getId()) - .in(CollUtil.isNotEmpty(deptIdList), Monitor::getOrgId, deptIdList)); - //配网监测点 - List pwMonitorList = iDistributionMonitorService.getMonitorByCondition(deptIdList, null); - pmsDeptGetChildrenDTO.setLineIds(monitorList.stream().map(Monitor::getId).distinct().collect(Collectors.toList())); - pmsDeptGetChildrenDTO.setPwMonitorIds(pwMonitorList.stream().map(PmsMonitorBaseDTO::getMonitorId).distinct().collect(Collectors.toList())); + if (systemType == 0 || systemType == 2) { + List monitorList = this.list(new LambdaQueryWrapper() + .select(Monitor::getId) + .eq(Monitor::getMonitorState, dictData.getId()) + .in(CollUtil.isNotEmpty(deptIdList), Monitor::getOrgId, deptIdList)); + pmsDeptGetChildrenDTO.setLineIds(monitorList.stream().map(Monitor::getId).distinct().collect(Collectors.toList())); + }else { + pmsDeptGetChildrenDTO.setLineIds(new ArrayList<>()); + } + + if (systemType == 1 || systemType == 2) { + //配网监测点 + List pwMonitorList = iDistributionMonitorService.getMonitorByCondition(deptIdList, null); + pmsDeptGetChildrenDTO.setPwMonitorIds(pwMonitorList.stream().map(PmsMonitorBaseDTO::getMonitorId).distinct().collect(Collectors.toList())); + }else { + pmsDeptGetChildrenDTO.setPwMonitorIds(new ArrayList<>()); + } } else { pmsDeptGetChildrenDTO.setLineIds(new ArrayList<>()); pmsDeptGetChildrenDTO.setPwMonitorIds(new ArrayList<>()); @@ -682,9 +694,9 @@ public class MonitorServiceImpl extends ServiceImpl impl } //判断是否操作过该条记录 - LineBak lineBak = lineBakMapper.selectOne(new LambdaQueryWrapper().eq(LineBak::getLineId,oracleTerminalExcel.getId())); + LineBak lineBak = lineBakMapper.selectOne(new LambdaQueryWrapper().eq(LineBak::getLineId, oracleTerminalExcel.getId())); - DeviceBak deviceBak = deviceBakMapper.selectOne(new LambdaQueryWrapper().eq(DeviceBak::getDevId,oracleTerminalExcel.getDeviceId())); + DeviceBak deviceBak = deviceBakMapper.selectOne(new LambdaQueryWrapper().eq(DeviceBak::getDevId, oracleTerminalExcel.getDeviceId())); //单位 @@ -749,7 +761,7 @@ public class MonitorServiceImpl extends ServiceImpl impl pmsTerminalPO.setDeviceModel(devTypelDicMap.get(oracleTerminalExcel.getDevType()).getId()); } else { oracleTerminalExcelMsg.add(assembleMsg(oracleTerminalExcel, "字典装置类型不存在,请确认后重试")); - continue; + continue; } @@ -785,9 +797,9 @@ public class MonitorServiceImpl extends ServiceImpl impl pmsTerminalPO.setPort(oracleTerminalExcel.getPort().toString()); pmsTerminalPO.setIsUpToGrid(0); - if(manDicMap.containsKey(oracleTerminalExcel.getManufacturer())){ + if (manDicMap.containsKey(oracleTerminalExcel.getManufacturer())) { pmsTerminalPO.setManufacture(manDicMap.get(oracleTerminalExcel.getManufacturer()).getId()); - }else { + } else { oracleTerminalExcelMsg.add(assembleMsg(oracleTerminalExcel, "字典制造厂商不存在,请确认后重试")); continue; } @@ -800,7 +812,7 @@ public class MonitorServiceImpl extends ServiceImpl impl deviceBakPO.setDevId(oracleTerminalExcel.getDeviceId()); deviceBakMapper.insert(deviceBakPO); } else { - if(Objects.isNull(deviceBak)) { + if (Objects.isNull(deviceBak)) { pmsTerminalPO.setId(pmsTerminal.getId()); DeviceBak deviceBakPO = new DeviceBak(); deviceBakPO.setId(pmsTerminal.getId()); @@ -808,13 +820,13 @@ public class MonitorServiceImpl extends ServiceImpl impl deviceBakMapper.insert(deviceBakPO); terminalMapper.updateById(pmsTerminalPO); devId = pmsTerminal.getId(); - }else if(Objects.isNull(pmsTerminal)){ + } else if (Objects.isNull(pmsTerminal)) { terminalMapper.deleteById(deviceBak.getId()); pmsTerminalPO.setId(deviceBak.getId()); terminalMapper.insert(pmsTerminalPO); devId = pmsTerminalPO.getId(); - }else { + } else { devId = pmsTerminal.getId(); } @@ -841,7 +853,7 @@ public class MonitorServiceImpl extends ServiceImpl impl if (voltageLevelMap.containsKey(dicVoltagePms)) { DictData temVoltage = voltageLevelMap.get(dicVoltagePms); generatrixWirePO.setScale(temVoltage.getId()); - }else { + } else { oracleTerminalExcelMsg.add(assembleMsg(oracleTerminalExcel, "字典母线电压等级不存在,请确认后重试")); continue; } @@ -973,19 +985,19 @@ public class MonitorServiceImpl extends ServiceImpl impl lineBakPO.setId(monitorPO.getId()); lineBakPO.setLineId(oracleTerminalExcel.getId()); lineBakMapper.insert(lineBakPO); - }else { - if(Objects.isNull(lineBak)){ + } else { + if (Objects.isNull(lineBak)) { LineBak lineBakPO = new LineBak(); lineBakPO.setId(monitor.getId()); lineBakPO.setLineId(oracleTerminalExcel.getId()); lineBakMapper.insert(lineBakPO); monitorMapper.updateById(monitorPO); - }else if(Objects.isNull(monitor)){ + } else if (Objects.isNull(monitor)) { monitorMapper.deleteById(lineBak.getId()); overlimitMapper.deleteById(lineBak.getId()); monitorPO.setId(lineBak.getId()); monitorMapper.insert(monitorPO); - }else{ + } else { monitorMapper.deleteById(monitor.getId()); overlimitMapper.deleteById(monitor.getId()); monitorPO.setId(lineBak.getId()); diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimBusGlobalD.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimBusGlobalD.java new file mode 100644 index 000000000..f7d0eedc6 --- /dev/null +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimBusGlobalD.java @@ -0,0 +1,55 @@ +package com.njcn.harmonic.pojo.po.dim; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.njcn.db.bo.BaseEntity; +import java.io.Serializable; +import java.time.LocalDate; +import java.time.LocalDateTime; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 母线监测总概览 + *

+ * + * @author hongawen + * @since 2023-11-14 + */ +@Getter +@Setter +@TableName("r_dim_bus_global_d") +public class RDimBusGlobalD extends BaseEntity { + + private static final long serialVersionUID = 1L; + + /** + * 单位code + */ + private String orgId; + + /** + * 统计时间 yyyy-mm-dd + */ + private LocalDate statisDate; + + /** + * 母线监测率(%) + */ + private Float monitorRate; + + /** + * 稳态指标超标或监测到暂态指标的变电站/换流站母线占比(%) + */ + private Float limitRate; + + /** + * 稳态指标超标或监测到暂态指标的变电站/换流站母线平均占比(%) + */ + private Float limitAvgRate; + + private Integer state; + + + +} diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimBusGlobalM.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimBusGlobalM.java new file mode 100644 index 000000000..1354202cc --- /dev/null +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimBusGlobalM.java @@ -0,0 +1,41 @@ +package com.njcn.harmonic.pojo.po.dim; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.njcn.db.bo.BaseEntity; +import java.io.Serializable; +import java.time.LocalDate; +import java.time.LocalDateTime; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * + *

+ * + * @author hongawen + * @since 2023-11-14 + */ +@Getter +@Setter +@TableName("r_dim_bus_global_m") +public class RDimBusGlobalM extends BaseEntity { + + private static final long serialVersionUID = 1L; + + private String orgId; + + private LocalDate statisDate; + + private Float monitorRate; + + private Float limitRate; + + private Float limitAvgRate; + + private Integer state; + + + + +} diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimBusGlobalY.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimBusGlobalY.java new file mode 100644 index 000000000..4501b1d36 --- /dev/null +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimBusGlobalY.java @@ -0,0 +1,40 @@ +package com.njcn.harmonic.pojo.po.dim; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.njcn.db.bo.BaseEntity; +import java.io.Serializable; +import java.time.LocalDate; +import java.time.LocalDateTime; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * + *

+ * + * @author hongawen + * @since 2023-11-14 + */ +@Getter +@Setter +@TableName("r_dim_bus_global_y") +public class RDimBusGlobalY extends BaseEntity { + + private static final long serialVersionUID = 1L; + + private String orgId; + + private LocalDate statisDate; + + private Float monitorRate; + + private Float limitRate; + + private Float limitAvgRate; + + private Integer state; + + + +} diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimBusTargetD.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimBusTargetD.java new file mode 100644 index 000000000..d67d3bc17 --- /dev/null +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimBusTargetD.java @@ -0,0 +1,51 @@ +package com.njcn.harmonic.pojo.po.dim; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.njcn.db.bo.BaseEntity; +import java.io.Serializable; +import java.time.LocalDate; +import java.time.LocalDateTime; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * + *

+ * + * @author hongawen + * @since 2023-11-14 + */ +@Getter +@Setter +@TableName("r_dim_bus_target_d") +public class RDimBusTargetD extends BaseEntity { + + private static final long serialVersionUID = 1L; + + private String orgId; + + private LocalDate statisDate; + + private String targetType; + + /** + * 母线**指标超标占比(%) + */ + private Float limitRate; + + /** + * 母线**指标合格率(%) + */ + private Float passRate; + + /** + * 母线**指标平均合格率(%) + */ + private Float passAvgRate; + + private Integer state; + + + +} diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimBusTargetM.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimBusTargetM.java new file mode 100644 index 000000000..4fb8d8399 --- /dev/null +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimBusTargetM.java @@ -0,0 +1,54 @@ +package com.njcn.harmonic.pojo.po.dim; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.njcn.db.bo.BaseEntity; +import java.io.Serializable; +import java.time.LocalDate; +import java.time.LocalDateTime; + +import io.swagger.models.auth.In; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * + *

+ * + * @author hongawen + * @since 2023-11-14 + */ +@Getter +@Setter +@TableName("r_dim_bus_target_m") +public class RDimBusTargetM extends BaseEntity { + + private static final long serialVersionUID = 1L; + + private String orgId; + + private LocalDate statisDate; + + private String targetType; + + /** + * 母线**指标超标占比(%) + */ + private Float limitRate; + + /** + * 母线**指标合格率(%) + */ + private Float passRate; + + /** + * 母线**指标平均合格率(%) + */ + private Float passAvgRate; + + private Integer state; + + + + +} diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimBusTargetY.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimBusTargetY.java new file mode 100644 index 000000000..82b24c178 --- /dev/null +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimBusTargetY.java @@ -0,0 +1,51 @@ +package com.njcn.harmonic.pojo.po.dim; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.njcn.db.bo.BaseEntity; +import java.io.Serializable; +import java.time.LocalDate; +import java.time.LocalDateTime; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * + *

+ * + * @author hongawen + * @since 2023-11-14 + */ +@Getter +@Setter +@TableName("r_dim_bus_target_y") +public class RDimBusTargetY extends BaseEntity { + + private static final long serialVersionUID = 1L; + + private String orgId; + + private LocalDate statisDate; + + private String targetType; + + /** + * 母线**指标超标占比(%) + */ + private Float limitRate; + + /** + * 母线**指标合格率(%) + */ + private Float passRate; + + /** + * 母线**指标平均合格率(%) + */ + private Float passAvgRate; + + private Integer state; + + + +} diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimStationGlobalD.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimStationGlobalD.java new file mode 100644 index 000000000..ff20ffa08 --- /dev/null +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimStationGlobalD.java @@ -0,0 +1,50 @@ +package com.njcn.harmonic.pojo.po.dim; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.njcn.db.bo.BaseEntity; +import java.io.Serializable; +import java.time.LocalDate; +import java.time.LocalDateTime; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * + *

+ * + * @author hongawen + * @since 2023-11-14 + */ +@Getter +@Setter +@TableName("r_dim_station_global_d") +public class RDimStationGlobalD extends BaseEntity { + + private static final long serialVersionUID = 1L; + + private String orgId; + + private LocalDate statisDate; + + /** + * 变电站/换流站监测率(%) + */ + private Float monitorRate; + + /** + * 稳态指标超标或监测到暂态指标的变电站/换流站占比(%) + */ + private Float limitRate; + + /** + * 稳态指标超标或监测到暂态指标的变电站/换流站平均占比(%) + */ + private Float limitAvgRate; + + private Integer state; + + + + +} diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimStationGlobalM.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimStationGlobalM.java new file mode 100644 index 000000000..f8f662761 --- /dev/null +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimStationGlobalM.java @@ -0,0 +1,49 @@ +package com.njcn.harmonic.pojo.po.dim; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.njcn.db.bo.BaseEntity; +import java.io.Serializable; +import java.time.LocalDate; +import java.time.LocalDateTime; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * + *

+ * + * @author hongawen + * @since 2023-11-14 + */ +@Getter +@Setter +@TableName("r_dim_station_global_m") +public class RDimStationGlobalM extends BaseEntity { + + private static final long serialVersionUID = 1L; + + private String orgId; + + private LocalDate statisDate; + + /** + * 变电站/换流站监测率(%) + */ + private Float monitorRate; + + /** + * 稳态指标超标或监测到暂态指标的变电站/换流站占比(%) + */ + private Float limitRate; + + /** + * 稳态指标超标或监测到暂态指标的变电站/换流站平均占比(%) + */ + private Float limitAvgRate; + + private Integer state; + + + +} diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimStationGlobalY.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimStationGlobalY.java new file mode 100644 index 000000000..5422f9215 --- /dev/null +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimStationGlobalY.java @@ -0,0 +1,50 @@ +package com.njcn.harmonic.pojo.po.dim; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.njcn.db.bo.BaseEntity; +import java.io.Serializable; +import java.time.LocalDate; +import java.time.LocalDateTime; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * + *

+ * + * @author hongawen + * @since 2023-11-14 + */ +@Getter +@Setter +@TableName("r_dim_station_global_y") +public class RDimStationGlobalY extends BaseEntity { + + private static final long serialVersionUID = 1L; + + private String orgId; + + private LocalDate statisDate; + + /** + * 变电站/换流站监测率(%) + */ + private Float monitorRate; + + /** + * 稳态指标超标或监测到暂态指标的变电站/换流站占比(%) + */ + private Float limitRate; + + /** + * 稳态指标超标或监测到暂态指标的变电站/换流站平均占比(%) + */ + private Float limitAvgRate; + + private Integer state; + + + + +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/area/PmsMonitorPOMapper.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/area/PmsMonitorPOMapper.java index 3f43155da..f7920699a 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/area/PmsMonitorPOMapper.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/area/PmsMonitorPOMapper.java @@ -1,11 +1,12 @@ package com.njcn.prepare.harmonic.mapper.mysql.area; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.njcn.device.pms.pojo.po.Monitor; import com.njcn.harmonic.pojo.po.PmsMonitorPO; import org.apache.ibatis.annotations.Mapper; /** - * + * * Description: * 接口文档访问地址:http://serverIP:port/swagger-ui.html * Date: 2022/11/25 10:10【需求编号】 @@ -14,5 +15,5 @@ import org.apache.ibatis.annotations.Mapper; * @version V1.0.0 */ @Mapper -public interface PmsMonitorPOMapper extends BaseMapper { -} \ No newline at end of file +public interface PmsMonitorPOMapper extends BaseMapper { +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/GeneratrixWireMapper.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/GeneratrixWireMapper.java new file mode 100644 index 000000000..fc4981c54 --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/GeneratrixWireMapper.java @@ -0,0 +1,26 @@ +package com.njcn.prepare.harmonic.mapper.mysql.dim; + +import com.github.jeffreyning.mybatisplus.base.MppBaseMapper; +import com.njcn.device.pms.pojo.dto.GeneratrixAndPowerStationDTO; +import com.njcn.device.pms.pojo.dto.GeneratrixAndPowerStationSonDTO; +import com.njcn.device.pms.pojo.dto.PmsGeneratrixDTO; +import com.njcn.device.pms.pojo.param.ConditionParam; +import com.njcn.device.pms.pojo.param.PmsGeneratrixParam; +import com.njcn.device.pms.pojo.po.GeneratrixWire; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * pms-device + * + * @author cdf + * @date 2022/10/26 + */ +@Mapper +public interface GeneratrixWireMapper extends MppBaseMapper { + + + +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimBusGlobalDMapper.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimBusGlobalDMapper.java new file mode 100644 index 000000000..c03fac0a7 --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimBusGlobalDMapper.java @@ -0,0 +1,17 @@ +package com.njcn.prepare.harmonic.mapper.mysql.dim; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.njcn.harmonic.pojo.po.dim.RDimBusGlobalD; + +/** + *

+ * 母线监测总概览 Mapper 接口 + *

+ * + * @author hongawen + * @since 2023-11-14 + */ +public interface RDimBusGlobalDMapper extends BaseMapper { + +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimBusGlobalMMapper.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimBusGlobalMMapper.java new file mode 100644 index 000000000..7951dfb93 --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimBusGlobalMMapper.java @@ -0,0 +1,17 @@ +package com.njcn.prepare.harmonic.mapper.mysql.dim; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.njcn.harmonic.pojo.po.dim.RDimBusGlobalM; + +/** + *

+ * Mapper 接口 + *

+ * + * @author hongawen + * @since 2023-11-14 + */ +public interface RDimBusGlobalMMapper extends BaseMapper { + +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimBusGlobalYMapper.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimBusGlobalYMapper.java new file mode 100644 index 000000000..e3f72c7bc --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimBusGlobalYMapper.java @@ -0,0 +1,17 @@ +package com.njcn.prepare.harmonic.mapper.mysql.dim; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.njcn.harmonic.pojo.po.dim.RDimBusGlobalY; + +/** + *

+ * Mapper 接口 + *

+ * + * @author hongawen + * @since 2023-11-14 + */ +public interface RDimBusGlobalYMapper extends BaseMapper { + +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimBusTargetDMapper.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimBusTargetDMapper.java new file mode 100644 index 000000000..ea7148a4a --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimBusTargetDMapper.java @@ -0,0 +1,17 @@ +package com.njcn.prepare.harmonic.mapper.mysql.dim; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.njcn.harmonic.pojo.po.dim.RDimBusTargetD; + +/** + *

+ * Mapper 接口 + *

+ * + * @author hongawen + * @since 2023-11-14 + */ +public interface RDimBusTargetDMapper extends BaseMapper { + +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimBusTargetMMapper.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimBusTargetMMapper.java new file mode 100644 index 000000000..73b446151 --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimBusTargetMMapper.java @@ -0,0 +1,17 @@ +package com.njcn.prepare.harmonic.mapper.mysql.dim; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.njcn.harmonic.pojo.po.dim.RDimBusTargetM; + +/** + *

+ * Mapper 接口 + *

+ * + * @author hongawen + * @since 2023-11-14 + */ +public interface RDimBusTargetMMapper extends BaseMapper { + +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimBusTargetYMapper.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimBusTargetYMapper.java new file mode 100644 index 000000000..6bc470f6c --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimBusTargetYMapper.java @@ -0,0 +1,17 @@ +package com.njcn.prepare.harmonic.mapper.mysql.dim; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.njcn.harmonic.pojo.po.dim.RDimBusTargetY; + +/** + *

+ * Mapper 接口 + *

+ * + * @author hongawen + * @since 2023-11-14 + */ +public interface RDimBusTargetYMapper extends BaseMapper { + +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimStationGlobalDMapper.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimStationGlobalDMapper.java new file mode 100644 index 000000000..d1e4f21b8 --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimStationGlobalDMapper.java @@ -0,0 +1,17 @@ +package com.njcn.prepare.harmonic.mapper.mysql.dim; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.njcn.harmonic.pojo.po.dim.RDimStationGlobalD; + +/** + *

+ * Mapper 接口 + *

+ * + * @author hongawen + * @since 2023-11-14 + */ +public interface RDimStationGlobalDMapper extends BaseMapper { + +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimStationGlobalMMapper.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimStationGlobalMMapper.java new file mode 100644 index 000000000..5c989707a --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimStationGlobalMMapper.java @@ -0,0 +1,17 @@ +package com.njcn.prepare.harmonic.mapper.mysql.dim; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.njcn.harmonic.pojo.po.dim.RDimStationGlobalM; + +/** + *

+ * Mapper 接口 + *

+ * + * @author hongawen + * @since 2023-11-14 + */ +public interface RDimStationGlobalMMapper extends BaseMapper { + +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimStationGlobalYMapper.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimStationGlobalYMapper.java new file mode 100644 index 000000000..3910a6425 --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimStationGlobalYMapper.java @@ -0,0 +1,17 @@ +package com.njcn.prepare.harmonic.mapper.mysql.dim; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.njcn.harmonic.pojo.po.dim.RDimStationGlobalY; + +/** + *

+ * Mapper 接口 + *

+ * + * @author hongawen + * @since 2023-11-14 + */ +public interface RDimStationGlobalYMapper extends BaseMapper { + +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/area/AreaCountServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/area/AreaCountServiceImpl.java index 90ce970ff..e71660eb7 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/area/AreaCountServiceImpl.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/area/AreaCountServiceImpl.java @@ -1,24 +1,10 @@ package com.njcn.prepare.harmonic.service.mysql.Impl.area; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.njcn.common.pojo.exception.BusinessException; -import com.njcn.device.pms.api.DistributionMonitorClient; -import com.njcn.device.pms.pojo.po.DistributionMonitor; -import com.njcn.harmonic.pojo.po.PmsMonitorPO; -import com.njcn.harmonic.pojo.po.RStatAbnormalDPO; -import com.njcn.harmonic.pojo.po.RStatOrgDPO; -import com.njcn.harmonic.pojo.po.RStatOrgMPO; + import com.njcn.prepare.harmonic.constant.AlgorithmParam; -import com.njcn.prepare.harmonic.constant.PqsPrepareExceptionEnum; -import com.njcn.prepare.harmonic.mapper.mysql.area.RStatAbnormalDPOMapper; -import com.njcn.prepare.harmonic.pojo.dto.MonitorDataIntegrityDTO; + import com.njcn.prepare.harmonic.pojo.param.PrimaryGridParam; import com.njcn.prepare.harmonic.service.mysql.area.*; -import com.njcn.redis.utils.RedisUtil; -import com.njcn.system.enums.DicDataEnum; -import com.njcn.system.enums.DicDataTypeEnum; -import lombok.SneakyThrows; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; @@ -46,7 +32,7 @@ import static com.njcn.system.pojo.constant.DicDataConstant.SPLIT_SIGN; public class AreaCountServiceImpl implements AreaCountService { - private @Autowired + /* private @Autowired PmsMonitorPOService pmsMonitorPOService; @@ -72,13 +58,13 @@ public class AreaCountServiceImpl implements AreaCountService { private @Autowired - RedisUtil redisUtil; + RedisUtil redisUtil;*/ @Override @Async("asyncExecutor") public void areaCountHanlder(PrimaryGridParam primaryGridParam) { if (Objects.equals (primaryGridParam.getDataSource ( ), AlgorithmParam.ORACLE_DATA)) { - this.hanlderOracleData (primaryGridParam); + //this.hanlderOracleData (primaryGridParam); } else if (Objects.equals (primaryGridParam.getDataSource ( ), AlgorithmParam.INFLUX_DATA)) { this.hanlderInfludxbData (primaryGridParam); } @@ -101,7 +87,7 @@ public class AreaCountServiceImpl implements AreaCountService { * @Author: clam * @Date: 2022/12/13 */ - private void hanlderOracleData(PrimaryGridParam primaryGridParam) { + /* private void hanlderOracleData(PrimaryGridParam primaryGridParam) { Integer type = primaryGridParam.getType ( ); switch (type) { @@ -120,15 +106,15 @@ public class AreaCountServiceImpl implements AreaCountService { default: break; } - } - @SneakyThrows + }*/ +/* @SneakyThrows private void hanlderOracleMonth(PrimaryGridParam primaryGridParam) { List orgIdList = primaryGridParam.getOrgIdList ( ); String dataDate = primaryGridParam.getDataDate ( ); List rStatOrgMPOList = new ArrayList<> ( ); final Date tempDate = new SimpleDateFormat ("yyyy-MM-dd").parse (dataDate); - /*在运的字典表id,配网1,2,3类监测点字典表id用于for循环中过滤*/ + *//*在运的字典表id,配网1,2,3类监测点字典表id用于for循环中过滤*//* String lineTypeOneId = redisUtil.getStringByKey (NAME_KEY + SPLIT_SIGN + DicDataTypeEnum.LINE_SORT.getCode ( ) + SPLIT_SIGN + DicDataEnum.ONE_LINE.getCode ( )); @@ -145,13 +131,13 @@ public class AreaCountServiceImpl implements AreaCountService { throw new BusinessException (PqsPrepareExceptionEnum.REDIS_NULL_EXCEPTION); } orgIdList.forEach (orgid -> { - /*1.2.2.1. 主网区域分类有效接入监测点数*/ - /*主网在运监测点*/ - List pmsMonitorPOS = pmsMonitorPOService.qurymeasurementRunPoints (orgid); - /* 根据监测点对象类型分组获取监测点*/ + *//*1.2.2.1. 主网区域分类有效接入监测点数*//* + *//*主网在运监测点*//* + List pmsMonitorPOS = pmsMonitorPOService.qurymeasurementRunPoints (orgid); + *//* 根据监测点对象类型分组获取监测点*//* Map> collect = pmsMonitorPOS.stream ( ).collect (Collectors.groupingBy (PmsMonitorPO::getMonitorObjectType)); for (Map.Entry> entry : collect.entrySet ( )) { - /*计算出当前机构不同监测点对象类型累计稳态超标监测点数*/ + *//*计算出当前机构不同监测点对象类型累计稳态超标监测点数*//* List monitorIdList = entry.getValue ( ).stream ( ).map (PmsMonitorPO::getId).collect (Collectors.toList ( )); Integer integer = rMpTargetWarnDService.queryHarmonicMeasurementAccrued (monitorIdList, dataDate); RStatOrgMPO rStatOrgMPO = new RStatOrgMPO ( ); @@ -162,8 +148,8 @@ public class AreaCountServiceImpl implements AreaCountService { rStatOrgMPO.setHarmonicMeasurementAccrued (integer); rStatOrgMPOList.add (rStatOrgMPO); } - /* 配网区域分类1.2.3类有效接入监测点数*/ - /*monitorSort=""获取配网监1,2,3类测点全部数据*/ + *//* 配网区域分类1.2.3类有效接入监测点数*//* + *//*monitorSort=""获取配网监1,2,3类测点全部数据*//* RStatOrgMPO rStatOrgMPOOne = packageRStatOrgMPO (orgid, lineTypeOneId, dataDate); RStatOrgMPO rStatOrgMPOTwo = packageRStatOrgMPO (orgid, lineTypeTwoId, dataDate); RStatOrgMPO rStatOrgMPOThree = packageRStatOrgMPO (orgid, lineTypeThreeId, dataDate); @@ -175,7 +161,7 @@ public class AreaCountServiceImpl implements AreaCountService { ); rStatOrgMService.saveOrUpdateBatchByMultiId (rStatOrgMPOList,500); - } + }*/ /** @@ -185,7 +171,7 @@ public class AreaCountServiceImpl implements AreaCountService { * @Author: clam * @Date: 2022/12/13 */ - @SneakyThrows + /* @SneakyThrows private void hanlderOracleDay(PrimaryGridParam primaryGridParam) { List orgIdList = primaryGridParam.getOrgIdList ( ); @@ -193,7 +179,7 @@ public class AreaCountServiceImpl implements AreaCountService { List rStatOrgDPOList = new ArrayList<> ( ); final Date tempDate = new SimpleDateFormat ("yyyy-MM-dd").parse (dataDate); - /*在运的字典表id,配网1,2,3类监测点字典表id用于for循环中过滤*/ + *//*在运的字典表id,配网1,2,3类监测点字典表id用于for循环中过滤*//* String lineTypeOneId = redisUtil.getStringByKey (NAME_KEY + SPLIT_SIGN + DicDataTypeEnum.LINE_SORT.getCode ( ) + SPLIT_SIGN + DicDataEnum.ONE_LINE.getCode ( )); @@ -210,13 +196,13 @@ public class AreaCountServiceImpl implements AreaCountService { throw new BusinessException (PqsPrepareExceptionEnum.REDIS_NULL_EXCEPTION); } orgIdList.forEach (orgid -> { - /*1.2.2.1. 主网区域分类有效接入监测点数*/ - /*主网在运监测点*/ - List pmsMonitorPOS = pmsMonitorPOService.qurymeasurementRunPoints (orgid); - /* 根据监测点对象类型分组获取监测点*/ - Map> collect = pmsMonitorPOS.stream ( ).collect (Collectors.groupingBy (PmsMonitorPO::getMonitorObjectType)); + *//*1.2.2.1. 主网区域分类有效接入监测点数*//* + *//*主网在运监测点*//* + List pmsMonitorPOS = pmsMonitorPOService.qurymeasurementRunPoints (orgid); + *//* 根据监测点对象类型分组获取监测点*//* + Map> collect = pmsMonitorPOS.stream ( ).collect (Collectors.groupingBy (Monitor::getMonitorObjectType)); for (Map.Entry> entry : collect.entrySet ( )) { - /*计算出当前监测点对象类型有效接入监测点个数*/ + *//*计算出当前监测点对象类型有效接入监测点个数*//* List monitorIdList = entry.getValue ( ).stream ( ).map (PmsMonitorPO::getId).collect (Collectors.toList ( )); Integer integer = this.queryEffectiveAccessMeasurementCount (monitorIdList, dataDate); RStatOrgDPO rStatOrgDPO = new RStatOrgDPO ( ); @@ -227,8 +213,8 @@ public class AreaCountServiceImpl implements AreaCountService { rStatOrgDPO.setEffectiveMeasurement (integer); rStatOrgDPOList.add (rStatOrgDPO); } - /* 配网区域分类1.2.3类有效接入监测点数*/ - /*monitorSort=""获取配网监1,2,3类测点全部数据*/ + *//* 配网区域分类1.2.3类有效接入监测点数*//* + *//*monitorSort=""获取配网监1,2,3类测点全部数据*//* RStatOrgDPO rStatOrgDPOOne = packageRStatOrgDPO (orgid, lineTypeOneId, dataDate); RStatOrgDPO rStatOrgDPOTwo = packageRStatOrgDPO (orgid, lineTypeTwoId, dataDate); RStatOrgDPO rStatOrgDPOThree = packageRStatOrgDPO (orgid, lineTypeThreeId, dataDate); @@ -242,15 +228,15 @@ public class AreaCountServiceImpl implements AreaCountService { rStatOrgDService.saveOrUpdateBatchByMultiId (rStatOrgDPOList,500); - } + }*/ - @SneakyThrows + /* @SneakyThrows private RStatOrgMPO packageRStatOrgMPO(String orgid, String lineTypeId, String dataDate) { RStatOrgMPO rStatOrgMPO = new RStatOrgMPO ( ); List distributionMonitorList = distributionMonitorClient.distributionMonitorListByCondition (orgid, lineTypeId).getData ( ); final Date tempDate = new SimpleDateFormat ("yyyy-MM-dd").parse (dataDate); - /*计算出当前监测点对象类型有效接入监测点个数*/ + *//*计算出当前监测点对象类型有效接入监测点个数*//* List monitorIdList = distributionMonitorList.stream ( ).map (DistributionMonitor::getMonitorId).collect (Collectors.toList ( )); Integer integer = rMpTargetWarnDService.queryHarmonicMeasurementAccrued (monitorIdList, dataDate); @@ -262,20 +248,20 @@ public class AreaCountServiceImpl implements AreaCountService { return rStatOrgMPO; } - /** + *//** * @Description: 计算1,2,3类配网有效接入监测 后包装成RStatOrgDPO * @Param: [orgid, lineTypeId, dataDate] * @return: com.njcn.prepare.harmonic.pojo.mysql.po.RStatOrgDPO * @Author: clam * @Date: 2022/12/14 - */ + *//* @SneakyThrows private RStatOrgDPO packageRStatOrgDPO(String orgid, String lineTypeId, String dataDate) { RStatOrgDPO rStatOrgDPO = new RStatOrgDPO ( ); List distributionMonitorList = distributionMonitorClient.distributionMonitorListByCondition (orgid, lineTypeId).getData ( ); final Date tempDate = new SimpleDateFormat ("yyyy-MM-dd").parse (dataDate); - /*计算出当前监测点对象类型有效接入监测点个数*/ + *//*计算出当前监测点对象类型有效接入监测点个数*//* List monitorIdList = distributionMonitorList.stream ( ).map (DistributionMonitor::getMonitorId).collect (Collectors.toList ( )); Integer integer = this.queryEffectiveAccessMeasurementCount (monitorIdList, dataDate); rStatOrgDPO.setOrgNo (orgid); @@ -287,7 +273,7 @@ public class AreaCountServiceImpl implements AreaCountService { return rStatOrgDPO; } - /** + *//** * @Description: 有效接入监测点个数 * 1.获取pms_monitor表中监测点状态为投运的监测点id列表 * 2.根据id查询r_mp_integrity_d表中当天各项指标个数,采用以下公式计算数据完整率 @@ -300,16 +286,16 @@ public class AreaCountServiceImpl implements AreaCountService { * @return: java.lang.String * @Author: clam * @Date: 2022/11/25 - */ + *//* private Integer queryEffectiveAccessMeasurementCount(List indexlist, String dataDate) { - /*获取监测点的数据完整性*/ + *//*获取监测点的数据完整性*//* List monitorDataIntegrityDTOList = rMpIntegrityDPOService.calculateDataIntegrity (indexlist, dataDate); - /*获取完整率>0.95的监测点id*/ + *//*获取完整率>0.95的监测点id*//* List collect = monitorDataIntegrityDTOList.stream ( ). filter (temp -> temp.getDataIntegrity ( ).compareTo (new BigDecimal (0.95)) == 1 ).map (MonitorDataIntegrityDTO::getId).collect (Collectors.toList ( )); - /*获取完整率>0.95条件下value_alarm为1的监测点id*/ + *//*获取完整率>0.95条件下value_alarm为1的监测点id*//* if (CollectionUtils.isEmpty (collect)) { return 0; } @@ -322,5 +308,5 @@ public class AreaCountServiceImpl implements AreaCountService { return rStatAbnormalDPOS.size ( ); - } + }*/ } diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/area/EffectiveMinuteCountServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/area/EffectiveMinuteCountServiceImpl.java index a817de6f4..8a43a2636 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/area/EffectiveMinuteCountServiceImpl.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/area/EffectiveMinuteCountServiceImpl.java @@ -2,6 +2,7 @@ package com.njcn.prepare.harmonic.service.mysql.Impl.area; import cn.hutool.core.collection.CollectionUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.njcn.device.pms.pojo.po.Monitor; import com.njcn.device.pq.constant.Param; import com.njcn.device.pq.pojo.po.PmsAbnormalRules; import com.njcn.harmonic.pojo.po.PmsMonitorPO; @@ -116,8 +117,8 @@ public class EffectiveMinuteCountServiceImpl implements EffectiveMinuteCountServ final Date tempDate = new SimpleDateFormat ("yyyy-MM-dd").parse (dataDate); orgIdList.forEach (orgid -> { /*主网在运监测点*/ - List pmsMonitorPOS = pmsMonitorPOService.qurymeasurementRunPoints (orgid); - List mysqlIndexList = pmsMonitorPOS.stream ( ).map (PmsMonitorPO::getId).collect (Collectors.toList ( )); + List pmsMonitorPOS = pmsMonitorPOService.qurymeasurementRunPoints (orgid); + List mysqlIndexList = pmsMonitorPOS.stream ( ).map (Monitor::getId).collect (Collectors.toList ( )); if (CollectionUtil.isEmpty (mysqlIndexList)) { return; } @@ -129,7 +130,7 @@ public class EffectiveMinuteCountServiceImpl implements EffectiveMinuteCountServ eq ("DATE_FORMAT( data_date ,'%Y-%m-%d')", dataDate); List rStatAbnormalDPOS = rStatAbnormalDPOMapper.selectList (rStatAbnormalDPOLambdaQueryWrapper); List collect = rStatAbnormalDPOS.stream ( ).map (RStatAbnormalDPO::getMeasurementPointId).collect (Collectors.toList ( )); - List collect1 = pmsMonitorPOS.stream ( ).filter (temp -> collect.contains (temp.getId ( ))).collect (Collectors.toList ( )); + List collect1 = pmsMonitorPOS.stream ( ).filter (temp -> collect.contains (temp.getId ( ))).collect (Collectors.toList ( )); // /*测试造的数据*/ // List collect1 = new ArrayList<> (); // PmsMonitorPO pmsMonitorPO = new PmsMonitorPO(); @@ -208,8 +209,8 @@ public class EffectiveMinuteCountServiceImpl implements EffectiveMinuteCountServ final Date tempDate = new SimpleDateFormat ("yyyy-MM-dd").parse (dataDate); orgIdList.forEach (orgid -> { /*主网在运监测点*/ - List pmsMonitorPOS = pmsMonitorPOService.qurymeasurementRunPoints (orgid); - List mysqlIndexList = pmsMonitorPOS.stream ( ).map (PmsMonitorPO::getId).collect (Collectors.toList ( )); + List pmsMonitorPOS = pmsMonitorPOService.qurymeasurementRunPoints (orgid); + List mysqlIndexList = pmsMonitorPOS.stream ( ).map (Monitor::getId).collect (Collectors.toList ( )); if (CollectionUtil.isEmpty (mysqlIndexList)) { return; } @@ -221,7 +222,7 @@ public class EffectiveMinuteCountServiceImpl implements EffectiveMinuteCountServ eq ("DATE_FORMAT( data_date ,'%Y-%m-%d')", dataDate); List rStatAbnormalDPOS = rStatAbnormalDPOMapper.selectList (rStatAbnormalDPOLambdaQueryWrapper); List collect = rStatAbnormalDPOS.stream ( ).map (RStatAbnormalDPO::getMeasurementPointId).collect (Collectors.toList ( )); - List collect1 = pmsMonitorPOS.stream ( ).filter (temp -> collect.contains (temp.getId ( ))).collect (Collectors.toList ( )); + List collect1 = pmsMonitorPOS.stream ( ).filter (temp -> collect.contains (temp.getId ( ))).collect (Collectors.toList ( )); /*测试造的数据*/ // List collect1 = new ArrayList<> (); // PmsMonitorPO pmsMonitorPO = new PmsMonitorPO(); diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/area/PmsMonitorPOServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/area/PmsMonitorPOServiceImpl.java index 8e31dc206..121c9ad02 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/area/PmsMonitorPOServiceImpl.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/area/PmsMonitorPOServiceImpl.java @@ -6,6 +6,7 @@ import com.njcn.common.pojo.exception.BusinessException; import com.njcn.device.biz.commApi.CommTerminalGeneralClient; import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO; import com.njcn.device.biz.pojo.param.DeptGetLineParam; +import com.njcn.device.pms.pojo.po.Monitor; import com.njcn.harmonic.pojo.po.PmsMonitorPO; import com.njcn.prepare.harmonic.constant.PqsPrepareExceptionEnum; import com.njcn.prepare.harmonic.mapper.mysql.area.PmsMonitorPOMapper; @@ -36,7 +37,7 @@ import static com.njcn.system.pojo.constant.DicDataConstant.SPLIT_SIGN; */ @Service @RequiredArgsConstructor -public class PmsMonitorPOServiceImpl extends ServiceImpl implements PmsMonitorPOService{ +public class PmsMonitorPOServiceImpl extends ServiceImpl implements PmsMonitorPOService{ private final RedisUtil redisUtil; @@ -52,13 +53,13 @@ public class PmsMonitorPOServiceImpl extends ServiceImpl qurymeasurementRunPoints(String orgid) { + public List qurymeasurementRunPoints(String orgid) { - LambdaQueryWrapper monitorPOLambdaQueryWrapper = new LambdaQueryWrapper ( ); + LambdaQueryWrapper monitorPOLambdaQueryWrapper = new LambdaQueryWrapper ( ); /*获取当前部门及子部门*/ List deptIds = deptFeignClient.getDepSonSelfCodetByDeptId(orgid).getData(); - monitorPOLambdaQueryWrapper.in (PmsMonitorPO::getOrgId, deptIds); + monitorPOLambdaQueryWrapper.in (Monitor::getOrgId, deptIds); // List data = dicDataFeignClient.getDicDataByTypeCode (DicDataTypeEnum.LINE_STATE.getCode ( )).getData ( ); // List collect = data.stream ( ).filter (temp -> Objects.equals (temp.getCode ( ), DicDataEnum.RUN.getCode ())).collect (Collectors.toList ( )); String state = redisUtil.getStringByKey (NAME_KEY+ @@ -67,8 +68,8 @@ public class PmsMonitorPOServiceImpl extends ServiceImpl pmsMonitorPOS = pmsMonitorPOMapper.selectList (monitorPOLambdaQueryWrapper); + monitorPOLambdaQueryWrapper.eq (Monitor::getMonitorState, state); + List pmsMonitorPOS = pmsMonitorPOMapper.selectList (monitorPOLambdaQueryWrapper); return pmsMonitorPOS; } } diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/area/PrimaryGridDataServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/area/PrimaryGridDataServiceImpl.java index 270817561..3d7f2f5fe 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/area/PrimaryGridDataServiceImpl.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/area/PrimaryGridDataServiceImpl.java @@ -8,6 +8,7 @@ import com.njcn.common.pojo.exception.BusinessException; import com.njcn.device.biz.commApi.CommTerminalGeneralClient; import com.njcn.device.biz.pojo.dto.LineDevGetDTO; import com.njcn.device.biz.pojo.param.DeptGetLineParam; +import com.njcn.device.pms.pojo.po.Monitor; import com.njcn.harmonic.pojo.po.*; import com.njcn.prepare.harmonic.constant.AlgorithmParam; import com.njcn.prepare.harmonic.constant.PqsPrepareExceptionEnum; @@ -122,17 +123,17 @@ public class PrimaryGridDataServiceImpl implements PrimaryGridDataService { deviceIds.forEach(deviceId -> { double dev_data_rate = 0.00; /*获取终端下的监测点集合*/ - QueryWrapper queryWrapper = new QueryWrapper<>(); + QueryWrapper queryWrapper = new QueryWrapper<>(); String state = redisUtil.getStringByKey(NAME_KEY + SPLIT_SIGN + DicDataTypeEnum.LINE_STATE.getCode() + SPLIT_SIGN + DicDataEnum.RUN.getCode()); if (StringUtils.isEmpty(state)) { throw new BusinessException(PqsPrepareExceptionEnum.REDIS_NULL_EXCEPTION); } - queryWrapper.lambda().eq(PmsMonitorPO::getTerminalId, deviceId). - eq(PmsMonitorPO::getMonitorState, state); - List list = pmsMonitorPOService.list(queryWrapper); - List mysqlIndexList = list.stream().map(PmsMonitorPO::getId).collect(Collectors.toList()); + queryWrapper.lambda().eq(Monitor::getTerminalId, deviceId). + eq(Monitor::getMonitorState, state); + List list = pmsMonitorPOService.list(queryWrapper); + List mysqlIndexList = list.stream().map(Monitor::getId).collect(Collectors.toList()); /*获取检测点的月平均数据完整率*/ List monitorDataIntegrityDTOList = rMpIntegrityDPOService.calculateMouthDataIntegrity(mysqlIndexList, dataDate); /*求平均值*/ @@ -356,10 +357,10 @@ public class PrimaryGridDataServiceImpl implements PrimaryGridDataService { orgIdList.forEach(orgid -> { /*measurement_run_points:在运监测点个数*/ - List pmsMonitorPOS = pmsMonitorPOService.qurymeasurementRunPoints(orgid); + List pmsMonitorPOS = pmsMonitorPOService.qurymeasurementRunPoints(orgid); Integer measurement_run_points = pmsMonitorPOS.size(); /*获取mysql与Oracle监测点id对应关系*/ - List mysqlIndexList = pmsMonitorPOS.stream().map(PmsMonitorPO::getId).collect(Collectors.toList()); + List mysqlIndexList = pmsMonitorPOS.stream().map(Monitor::getId).collect(Collectors.toList()); List pqLinedetailPOS = pqLinedetailPOService.queryOracleIndexIdByMysqlIndexId(mysqlIndexList); List oracleIndexlist = pqLinedetailPOS.stream().map(PqLinedetailPO::getLineIndex).collect(Collectors.toList()); diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/area/RStatAbnormalDPOServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/area/RStatAbnormalDPOServiceImpl.java index b60288f06..8a4398761 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/area/RStatAbnormalDPOServiceImpl.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/area/RStatAbnormalDPOServiceImpl.java @@ -23,7 +23,7 @@ import java.util.Objects; import java.util.stream.Collectors; /** - * + * * Description: * 接口文档访问地址:http://serverIP:port/swagger-ui.html * Date: 2022/11/28 19:31【需求编号】 @@ -35,6 +35,7 @@ import java.util.stream.Collectors; public class RStatAbnormalDPOServiceImpl extends MppServiceImpl implements RStatAbnormalDPOService { +/* private @Autowired RStatAbnormalDPOMapper rStatAbnormalDPOMapper; @@ -45,6 +46,7 @@ public class RStatAbnormalDPOServiceImpl extends MppServiceImpl orgIdList = primaryGridParam.getOrgIdList ( ); @@ -91,10 +93,10 @@ public class RStatAbnormalDPOServiceImpl extends MppServiceImpl { - /*measurement_run_points:在运监测点个数*/ - /*measurement_run_points:在运监测点个数*/ + *//*measurement_run_points:在运监测点个数*//* + *//*measurement_run_points:在运监测点个数*//* List pmsMonitorPOS = pmsMonitorPOService.qurymeasurementRunPoints (orgid); - /*获取mysql与Oracle监测点id对应关系*/ + *//*获取mysql与Oracle监测点id对应关系*//* List mysqlIndexList = pmsMonitorPOS.stream ( ).map (PmsMonitorPO::getId).collect (Collectors.toList ( )); List pqLinedetailPOS = pqLinedetailPOService.queryOracleIndexIdByMysqlIndexId (mysqlIndexList); @@ -105,5 +107,5 @@ public class RStatAbnormalDPOServiceImpl extends MppServiceImpl { +public interface PmsMonitorPOService extends IService { /** * @Description: 在运监测点集合 @@ -22,6 +23,6 @@ public interface PmsMonitorPOService extends IService { * @Author: clam * @Date: 2022/11/25 */ - List qurymeasurementRunPoints(String orgid); + List qurymeasurementRunPoints(String orgid); } diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimBusGlobalDService.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimBusGlobalDService.java new file mode 100644 index 000000000..59e78a0ca --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimBusGlobalDService.java @@ -0,0 +1,20 @@ +package com.njcn.prepare.harmonic.service.mysql.dim; + + +import com.baomidou.mybatisplus.extension.service.IService; +import com.njcn.harmonic.pojo.po.dim.RDimBusGlobalD; +import com.njcn.prepare.bo.CalculatedParam; + +/** + *

+ * 母线监测总概览 服务类 + *

+ * + * @author hongawen + * @since 2023-11-14 + */ +public interface IRDimBusGlobalDService extends IService { + + public void globalCalBusBar(CalculatedParam calculatedParam); + +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimBusGlobalMService.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimBusGlobalMService.java new file mode 100644 index 000000000..a687de064 --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimBusGlobalMService.java @@ -0,0 +1,16 @@ +package com.njcn.prepare.harmonic.service.mysql.dim; + +import com.njcn.harmonic.pojo.po.dim.RDimBusGlobalM; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 服务类 + *

+ * + * @author hongawen + * @since 2023-11-14 + */ +public interface IRDimBusGlobalMService extends IService { + +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimBusGlobalYService.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimBusGlobalYService.java new file mode 100644 index 000000000..80815273d --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimBusGlobalYService.java @@ -0,0 +1,16 @@ +package com.njcn.prepare.harmonic.service.mysql.dim; + +import com.njcn.harmonic.pojo.po.dim.RDimBusGlobalY; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 服务类 + *

+ * + * @author hongawen + * @since 2023-11-14 + */ +public interface IRDimBusGlobalYService extends IService { + +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimBusTargetDService.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimBusTargetDService.java new file mode 100644 index 000000000..9c4823e41 --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimBusTargetDService.java @@ -0,0 +1,16 @@ +package com.njcn.prepare.harmonic.service.mysql.dim; + +import com.njcn.harmonic.pojo.po.dim.RDimBusTargetD; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 服务类 + *

+ * + * @author hongawen + * @since 2023-11-14 + */ +public interface IRDimBusTargetDService extends IService { + +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimBusTargetMService.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimBusTargetMService.java new file mode 100644 index 000000000..115cc7574 --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimBusTargetMService.java @@ -0,0 +1,16 @@ +package com.njcn.prepare.harmonic.service.mysql.dim; + +import com.njcn.harmonic.pojo.po.dim.RDimBusTargetM; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 服务类 + *

+ * + * @author hongawen + * @since 2023-11-14 + */ +public interface IRDimBusTargetMService extends IService { + +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimBusTargetYService.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimBusTargetYService.java new file mode 100644 index 000000000..a45cb0b1c --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimBusTargetYService.java @@ -0,0 +1,16 @@ +package com.njcn.prepare.harmonic.service.mysql.dim; + +import com.njcn.harmonic.pojo.po.dim.RDimBusTargetY; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 服务类 + *

+ * + * @author hongawen + * @since 2023-11-14 + */ +public interface IRDimBusTargetYService extends IService { + +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimStationGlobalDService.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimStationGlobalDService.java new file mode 100644 index 000000000..d397098b8 --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimStationGlobalDService.java @@ -0,0 +1,16 @@ +package com.njcn.prepare.harmonic.service.mysql.dim; + +import com.njcn.harmonic.pojo.po.dim.RDimStationGlobalD; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 服务类 + *

+ * + * @author hongawen + * @since 2023-11-14 + */ +public interface IRDimStationGlobalDService extends IService { + +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimStationGlobalMService.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimStationGlobalMService.java new file mode 100644 index 000000000..71027b809 --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimStationGlobalMService.java @@ -0,0 +1,16 @@ +package com.njcn.prepare.harmonic.service.mysql.dim; + +import com.njcn.harmonic.pojo.po.dim.RDimStationGlobalM; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 服务类 + *

+ * + * @author hongawen + * @since 2023-11-14 + */ +public interface IRDimStationGlobalMService extends IService { + +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimStationGlobalYService.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimStationGlobalYService.java new file mode 100644 index 000000000..b73cabd00 --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimStationGlobalYService.java @@ -0,0 +1,17 @@ +package com.njcn.prepare.harmonic.service.mysql.dim; + + +import com.baomidou.mybatisplus.extension.service.IService; +import com.njcn.harmonic.pojo.po.dim.RDimStationGlobalY; + +/** + *

+ * 服务类 + *

+ * + * @author hongawen + * @since 2023-11-14 + */ +public interface IRDimStationGlobalYService extends IService { + +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimBusGlobalDServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimBusGlobalDServiceImpl.java new file mode 100644 index 000000000..df8be04ca --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimBusGlobalDServiceImpl.java @@ -0,0 +1,127 @@ +package com.njcn.prepare.harmonic.service.mysql.dim.impl; + + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.common.pojo.enums.common.DataStateEnum; +import com.njcn.device.biz.commApi.CommTerminalGeneralClient; +import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO; +import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO; +import com.njcn.device.biz.pojo.param.DeptGetLineParam; +import com.njcn.device.pms.pojo.param.GeneratrixWireParam; +import com.njcn.device.pq.pojo.po.RStatIntegrityD; +import com.njcn.device.pms.pojo.po.Monitor; +import com.njcn.harmonic.pojo.po.dim.RDimBusGlobalD; +import com.njcn.prepare.bo.CalculatedParam; +import com.njcn.prepare.harmonic.mapper.mysql.area.PmsMonitorPOMapper; +import com.njcn.prepare.harmonic.mapper.mysql.day.RStatIntegrityDMapper; +import com.njcn.prepare.harmonic.mapper.mysql.dim.GeneratrixWireMapper; +import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimBusGlobalDMapper; +import com.njcn.prepare.harmonic.service.mysql.dim.IRDimBusGlobalDService; +import com.njcn.user.api.DeptFeignClient; +import com.njcn.user.pojo.po.Dept; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.time.LocalDate; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import java.util.stream.Collectors; + +/** + *

+ * 母线监测总概览 服务实现类 + *

+ * + * @author hongawen + * @since 2023-11-14 + */ +@Service +@RequiredArgsConstructor +public class RDimBusGlobalDServiceImpl extends ServiceImpl implements IRDimBusGlobalDService { + + private final DeptFeignClient deptFeignClient; + + private final CommTerminalGeneralClient commTerminalGeneralClient; + + private final RStatIntegrityDMapper rStatIntegrityDMapper; + + private final GeneratrixWireMapper generatrixWireMapper; + + private final PmsMonitorPOMapper pmsMonitorPOMapper; + + + + /** + * 本算法只有pms使用到,只针对pms主网测点 + * @author cdf + * @date 2023/11/15 + */ + @Override + public void globalCalBusBar(CalculatedParam calculatedParam) { + List poList = new ArrayList<>(); + + LocalDate date = LocalDate.parse(calculatedParam.getDataDate()); + + + Dept dept = deptFeignClient.getRootDept().getData(); + + //获取所有层级单位 + DeptGetLineParam deptGetLineParam = new DeptGetLineParam(); + deptGetLineParam.setDeptId(dept.getId()); + deptGetLineParam.setSystemType(0); + List deptList = commTerminalGeneralClient.deptGetLineList(deptGetLineParam).getData(); + for(DeptGetChildrenDTO dto : deptList){ + RDimBusGlobalD rDimBusGlobalD = new RDimBusGlobalD(); + rDimBusGlobalD.setOrgId(dto.getDeptId()); + rDimBusGlobalD.setStatisDate(date); + + List monitorIds = dto.getLineIds(); + if(CollectionUtil.isNotEmpty(monitorIds)){ + //先初步筛选出完整性大于95%的 + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.in(RStatIntegrityD::getLineIndex,monitorIds).eq(RStatIntegrityD::getTimeId,date); + List integrityDList = rStatIntegrityDMapper.selectList(lambdaQueryWrapper); + + if(CollectionUtil.isEmpty(integrityDList)){ + rDimBusGlobalD.setLimitRate(3.14159f); + rDimBusGlobalD.setMonitorRate(3.14159f); + rDimBusGlobalD.setLimitAvgRate(3.14159f); + poList.add(rDimBusGlobalD); + break; + } + + //不为空还要判断完整性是否大于95% + integrityDList = integrityDList.stream() + .filter(it -> it.getRealTime() / it.getDueTime() > 0.95f) + .collect(Collectors.toList()); + if(CollectionUtil.isEmpty(integrityDList)){ + rDimBusGlobalD.setLimitRate(3.14159f); + rDimBusGlobalD.setMonitorRate(3.14159f); + rDimBusGlobalD.setLimitAvgRate(3.14159f); + poList.add(rDimBusGlobalD); + break; + }else { + List goodMonitorIds = integrityDList.stream().map(RStatIntegrityD::getLineIndex).distinct().collect(Collectors.toList()); + LambdaQueryWrapper monitorLambdaQueryWrapper = new LambdaQueryWrapper<>(); + monitorLambdaQueryWrapper.select(Monitor::getId,Monitor::getLineId).in(Monitor::getId,goodMonitorIds).eq(Monitor::getStatus,DataStateEnum.ENABLE.getCode()); + List monitorList = pmsMonitorPOMapper.selectList(monitorLambdaQueryWrapper); + List busBarIds = monitorList.stream().map(Monitor::getLineId).collect(Collectors.toList()); + + + + } + + + + + } + } + + + } +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimBusGlobalMServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimBusGlobalMServiceImpl.java new file mode 100644 index 000000000..45707ebad --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimBusGlobalMServiceImpl.java @@ -0,0 +1,21 @@ +package com.njcn.prepare.harmonic.service.mysql.dim.impl; + + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.harmonic.pojo.po.dim.RDimBusGlobalM; +import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimBusGlobalMMapper; +import com.njcn.prepare.harmonic.service.mysql.dim.IRDimBusGlobalMService; +import org.springframework.stereotype.Service; + +/** + *

+ * 服务实现类 + *

+ * + * @author hongawen + * @since 2023-11-14 + */ +@Service +public class RDimBusGlobalMServiceImpl extends ServiceImpl implements IRDimBusGlobalMService { + +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimBusGlobalYServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimBusGlobalYServiceImpl.java new file mode 100644 index 000000000..e8dd3ba87 --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimBusGlobalYServiceImpl.java @@ -0,0 +1,21 @@ +package com.njcn.prepare.harmonic.service.mysql.dim.impl; + + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.harmonic.pojo.po.dim.RDimBusGlobalY; +import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimBusGlobalYMapper; +import com.njcn.prepare.harmonic.service.mysql.dim.IRDimBusGlobalYService; +import org.springframework.stereotype.Service; + +/** + *

+ * 服务实现类 + *

+ * + * @author hongawen + * @since 2023-11-14 + */ +@Service +public class RDimBusGlobalYServiceImpl extends ServiceImpl implements IRDimBusGlobalYService { + +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimBusTargetDServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimBusTargetDServiceImpl.java new file mode 100644 index 000000000..00878090f --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimBusTargetDServiceImpl.java @@ -0,0 +1,21 @@ +package com.njcn.prepare.harmonic.service.mysql.dim.impl; + + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.harmonic.pojo.po.dim.RDimBusTargetD; +import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimBusTargetDMapper; +import com.njcn.prepare.harmonic.service.mysql.dim.IRDimBusTargetDService; +import org.springframework.stereotype.Service; + +/** + *

+ * 服务实现类 + *

+ * + * @author hongawen + * @since 2023-11-14 + */ +@Service +public class RDimBusTargetDServiceImpl extends ServiceImpl implements IRDimBusTargetDService { + +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimBusTargetMServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimBusTargetMServiceImpl.java new file mode 100644 index 000000000..25c83c972 --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimBusTargetMServiceImpl.java @@ -0,0 +1,21 @@ +package com.njcn.prepare.harmonic.service.mysql.dim.impl; + + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.harmonic.pojo.po.dim.RDimBusTargetM; +import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimBusTargetMMapper; +import com.njcn.prepare.harmonic.service.mysql.dim.IRDimBusTargetMService; +import org.springframework.stereotype.Service; + +/** + *

+ * 服务实现类 + *

+ * + * @author hongawen + * @since 2023-11-14 + */ +@Service +public class RDimBusTargetMServiceImpl extends ServiceImpl implements IRDimBusTargetMService { + +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimBusTargetYServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimBusTargetYServiceImpl.java new file mode 100644 index 000000000..be1056f3f --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimBusTargetYServiceImpl.java @@ -0,0 +1,21 @@ +package com.njcn.prepare.harmonic.service.mysql.dim.impl; + + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.harmonic.pojo.po.dim.RDimBusTargetY; +import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimBusTargetYMapper; +import com.njcn.prepare.harmonic.service.mysql.dim.IRDimBusTargetYService; +import org.springframework.stereotype.Service; + +/** + *

+ * 服务实现类 + *

+ * + * @author hongawen + * @since 2023-11-14 + */ +@Service +public class RDimBusTargetYServiceImpl extends ServiceImpl implements IRDimBusTargetYService { + +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimStationGlobalDServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimStationGlobalDServiceImpl.java new file mode 100644 index 000000000..67141e5a4 --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimStationGlobalDServiceImpl.java @@ -0,0 +1,21 @@ +package com.njcn.prepare.harmonic.service.mysql.dim.impl; + + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.harmonic.pojo.po.dim.RDimStationGlobalD; +import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimStationGlobalDMapper; +import com.njcn.prepare.harmonic.service.mysql.dim.IRDimStationGlobalDService; +import org.springframework.stereotype.Service; + +/** + *

+ * 服务实现类 + *

+ * + * @author hongawen + * @since 2023-11-14 + */ +@Service +public class RDimStationGlobalDServiceImpl extends ServiceImpl implements IRDimStationGlobalDService { + +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimStationGlobalMServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimStationGlobalMServiceImpl.java new file mode 100644 index 000000000..3cc64bb30 --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimStationGlobalMServiceImpl.java @@ -0,0 +1,21 @@ +package com.njcn.prepare.harmonic.service.mysql.dim.impl; + + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.harmonic.pojo.po.dim.RDimStationGlobalM; +import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimStationGlobalMMapper; +import com.njcn.prepare.harmonic.service.mysql.dim.IRDimStationGlobalMService; +import org.springframework.stereotype.Service; + +/** + *

+ * 服务实现类 + *

+ * + * @author hongawen + * @since 2023-11-14 + */ +@Service +public class RDimStationGlobalMServiceImpl extends ServiceImpl implements IRDimStationGlobalMService { + +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimStationGlobalYServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimStationGlobalYServiceImpl.java new file mode 100644 index 000000000..c581b4113 --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimStationGlobalYServiceImpl.java @@ -0,0 +1,21 @@ +package com.njcn.prepare.harmonic.service.mysql.dim.impl; + + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.harmonic.pojo.po.dim.RDimStationGlobalY; +import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimStationGlobalYMapper; +import com.njcn.prepare.harmonic.service.mysql.dim.IRDimStationGlobalYService; +import org.springframework.stereotype.Service; + +/** + *

+ * 服务实现类 + *

+ * + * @author hongawen + * @since 2023-11-14 + */ +@Service +public class RDimStationGlobalYServiceImpl extends ServiceImpl implements IRDimStationGlobalYService { + +}