代码调整
This commit is contained in:
@@ -23,5 +23,8 @@ public class DeptGetLineParam {
|
|||||||
@ApiModelProperty(name = "serverName",value = "系统类型 0.event-boot 1.harmonic-boot")
|
@ApiModelProperty(name = "serverName",value = "系统类型 0.event-boot 1.harmonic-boot")
|
||||||
private String serverName;
|
private String serverName;
|
||||||
|
|
||||||
|
@ApiModelProperty(name = "systemType",value = "0.只返回主网的监测点信息; 1.只返回配网的监测点信息; null、2.返回主网配网两种监测点信息")
|
||||||
|
private Integer systemType;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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;
|
|
||||||
//
|
|
||||||
//
|
|
||||||
//}
|
|
||||||
@@ -40,6 +40,13 @@ public class GeneratrixWire extends BaseEntity {
|
|||||||
|
|
||||||
private Integer status;
|
private Integer status;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 关联中台的母线id
|
||||||
|
*/
|
||||||
|
private String relationId;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private String orgId;
|
private String orgId;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,11 +6,12 @@ import java.io.Serializable;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* (PmsMonitor)实体类
|
* (PmsMonitor)实体类
|
||||||
*
|
* 实体用 Monitor(后面删除这个类)
|
||||||
* @author yzh
|
* @author yzh
|
||||||
* @since 2022-10-14 10:23:20
|
* @since 2022-10-14 10:23:20
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
|
@Deprecated
|
||||||
public class PmsMonitorPO implements Serializable {
|
public class PmsMonitorPO implements Serializable {
|
||||||
private static final long serialVersionUID = -72537315596058339L;
|
private static final long serialVersionUID = -72537315596058339L;
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
*
|
* pms电站表
|
||||||
* </p>
|
* </p>
|
||||||
*
|
*
|
||||||
* @author hongawen
|
* @author hongawen
|
||||||
@@ -69,4 +69,11 @@ public class StatationStat extends BaseEntity {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 关联中台的母线id
|
||||||
|
*/
|
||||||
|
private String relationId;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -86,7 +86,7 @@ public class CommTerminalController extends BaseController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据单位获取监测点信息
|
* 根据单位获取层级单位的监测点信息
|
||||||
* @author cdf
|
* @author cdf
|
||||||
* @date 2023/5/10
|
* @date 2023/5/10
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -109,6 +109,9 @@ public class CommTerminalServiceImpl implements CommTerminalService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<DeptGetChildrenMoreDTO> deptGetLine(DeptGetLineParam deptGetLineParam) {
|
public List<DeptGetChildrenMoreDTO> deptGetLine(DeptGetLineParam deptGetLineParam) {
|
||||||
|
if (Objects.isNull(deptGetLineParam.getSystemType())) {
|
||||||
|
deptGetLineParam.setSystemType(2);
|
||||||
|
}
|
||||||
List<DeptGetChildrenMoreDTO> result = new ArrayList<>();
|
List<DeptGetChildrenMoreDTO> result = new ArrayList<>();
|
||||||
List<DeptGetBase> temDept = getDeptChildrenByParent(deptGetLineParam);
|
List<DeptGetBase> temDept = getDeptChildrenByParent(deptGetLineParam);
|
||||||
//电压等级
|
//电压等级
|
||||||
@@ -116,13 +119,20 @@ public class CommTerminalServiceImpl implements CommTerminalService {
|
|||||||
Map<String, DictData> mapVoltage = voltageDic.stream().collect(Collectors.toMap(DictData::getId, Function.identity()));
|
Map<String, DictData> mapVoltage = voltageDic.stream().collect(Collectors.toMap(DictData::getId, Function.identity()));
|
||||||
//监测点状态
|
//监测点状态
|
||||||
DictData dictData = dicDataFeignClient.getDicDataByNameAndTypeName(DicDataTypeEnum.LINE_STATE.getName(), DicDataEnum.RUN.getName()).getData();
|
DictData dictData = dicDataFeignClient.getDicDataByNameAndTypeName(DicDataTypeEnum.LINE_STATE.getName(), DicDataEnum.RUN.getName()).getData();
|
||||||
List<Monitor> monitorList = monitorMapper.selectList(new LambdaQueryWrapper<Monitor>().eq(Monitor::getStatus, 1).eq(Monitor::getMonitorState, dictData.getId()));
|
|
||||||
Map<String, List<Monitor>> map = monitorList.stream().collect(Collectors.groupingBy(Monitor::getOrgId));
|
|
||||||
|
|
||||||
|
Map<String, List<Monitor>> map = new HashMap<>();
|
||||||
|
if (deptGetLineParam.getSystemType() == 0 || deptGetLineParam.getSystemType() == 2) {
|
||||||
|
List<Monitor> monitorList = monitorMapper.selectList(new LambdaQueryWrapper<Monitor>().eq(Monitor::getStatus, 1).eq(Monitor::getMonitorState, dictData.getId()));
|
||||||
|
map = monitorList.stream().collect(Collectors.groupingBy(Monitor::getOrgId));
|
||||||
|
}
|
||||||
//TODO 配网数据量巨大,暂时注释
|
//TODO 配网数据量巨大,暂时注释
|
||||||
//List<PmsMonitorBaseDTO> pmsMonitorBaseDTOList = distributionMonitorMapper.getDisMonitorAllList(null, 0);
|
/* Map<String, List<PmsMonitorBaseDTO>> mapPms = new HashMap<>();
|
||||||
//Map<String, List<PmsMonitorBaseDTO>> mapPms = pmsMonitorBaseDTOList.stream().collect(Collectors.groupingBy(PmsMonitorBaseDTO::getOrgId));
|
if (deptGetLineParam.getSystemType() == 1 || deptGetLineParam.getSystemType() == 2) {
|
||||||
|
List<PmsMonitorBaseDTO> pmsMonitorBaseDTOList = distributionMonitorMapper.getDisMonitorAllList(null, 0);
|
||||||
|
mapPms = pmsMonitorBaseDTOList.stream().collect(Collectors.groupingBy(PmsMonitorBaseDTO::getOrgId));
|
||||||
|
}
|
||||||
|
Map<String, List<PmsMonitorBaseDTO>> finalMapPms = mapPms;*/
|
||||||
|
Map<String, List<Monitor>> finalMap = map;
|
||||||
temDept.forEach(item -> {
|
temDept.forEach(item -> {
|
||||||
DeptGetChildrenMoreDTO deptGetChildrenMoreDTO = new DeptGetChildrenMoreDTO();
|
DeptGetChildrenMoreDTO deptGetChildrenMoreDTO = new DeptGetChildrenMoreDTO();
|
||||||
deptGetChildrenMoreDTO.setUnitId(item.getUnitId());
|
deptGetChildrenMoreDTO.setUnitId(item.getUnitId());
|
||||||
@@ -133,34 +143,39 @@ public class CommTerminalServiceImpl implements CommTerminalService {
|
|||||||
List<LineDevGetDTO> lineList = new ArrayList<>();
|
List<LineDevGetDTO> lineList = new ArrayList<>();
|
||||||
List<LineDevGetDTO> lineListPw = new ArrayList<>();
|
List<LineDevGetDTO> lineListPw = new ArrayList<>();
|
||||||
deptIds.forEach(i -> {
|
deptIds.forEach(i -> {
|
||||||
if (map.containsKey(i)) {
|
if (deptGetLineParam.getSystemType() == 0 || deptGetLineParam.getSystemType() == 2) {
|
||||||
map.get(i).forEach(it -> {
|
if (finalMap.containsKey(i)) {
|
||||||
LineDevGetDTO lineDevGetDTO = new LineDevGetDTO();
|
finalMap.get(i).forEach(it -> {
|
||||||
lineDevGetDTO.setPointId(it.getId());
|
LineDevGetDTO lineDevGetDTO = new LineDevGetDTO();
|
||||||
lineDevGetDTO.setInterval(it.getStatisticalInterval());
|
lineDevGetDTO.setPointId(it.getId());
|
||||||
lineDevGetDTO.setDevId(it.getTerminalId());
|
lineDevGetDTO.setInterval(it.getStatisticalInterval());
|
||||||
lineDevGetDTO.setType(1);
|
lineDevGetDTO.setDevId(it.getTerminalId());
|
||||||
lineDevGetDTO.setLineType(1);
|
lineDevGetDTO.setType(1);
|
||||||
lineDevGetDTO.setLineTag(it.getMonitorTag());
|
lineDevGetDTO.setLineType(1);
|
||||||
lineDevGetDTO.setVoltageLevel(mapVoltage.get(it.getVoltageLevel()).getValue());
|
lineDevGetDTO.setLineTag(it.getMonitorTag());
|
||||||
lineList.add(lineDevGetDTO);
|
lineDevGetDTO.setVoltageLevel(mapVoltage.get(it.getVoltageLevel()).getValue());
|
||||||
});
|
lineList.add(lineDevGetDTO);
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
/* if (mapPms.containsKey(i)) {
|
|
||||||
mapPms.get(i).forEach(it -> {
|
/* if (deptGetLineParam.getSystemType() == 1 || deptGetLineParam.getSystemType() == 2) {
|
||||||
LineDevGetDTO lineDevGetDTOPms = new LineDevGetDTO();
|
if (finalMapPms.containsKey(i)) {
|
||||||
lineDevGetDTOPms.setPointId(it.getMonitorId());
|
finalMapPms.get(i).forEach(it -> {
|
||||||
lineDevGetDTOPms.setInterval(10);
|
LineDevGetDTO lineDevGetDTOPms = new LineDevGetDTO();
|
||||||
lineDevGetDTOPms.setDevId(it.getTerminalId());
|
lineDevGetDTOPms.setPointId(it.getMonitorId());
|
||||||
lineDevGetDTOPms.setType(1);
|
lineDevGetDTOPms.setInterval(10);
|
||||||
lineDevGetDTOPms.setLineType(it.getLineType());
|
lineDevGetDTOPms.setDevId(it.getTerminalId());
|
||||||
lineDevGetDTOPms.setVoltageLevel(mapVoltage.get(it.getVoltageLevel()).getValue());
|
lineDevGetDTOPms.setType(1);
|
||||||
lineListPw.add(lineDevGetDTOPms);
|
lineDevGetDTOPms.setLineType(it.getLineType());
|
||||||
});
|
lineDevGetDTOPms.setVoltageLevel(mapVoltage.get(it.getVoltageLevel()).getValue());
|
||||||
|
lineListPw.add(lineDevGetDTOPms);
|
||||||
|
});
|
||||||
|
}
|
||||||
}*/
|
}*/
|
||||||
});
|
});
|
||||||
deptGetChildrenMoreDTO.setLineBaseList(lineList);
|
deptGetChildrenMoreDTO.setLineBaseList(lineList);
|
||||||
//deptGetChildrenMoreDTO.setPwMonitorIds(lineListPw);
|
deptGetChildrenMoreDTO.setPwMonitorIds(lineListPw);
|
||||||
}
|
}
|
||||||
result.add(deptGetChildrenMoreDTO);
|
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()));
|
lineList.addAll(map.get(i).stream().map(StatationStat::getPowerId).distinct().collect(Collectors.toList()));
|
||||||
|
|
||||||
}
|
}
|
||||||
if(statationAndMonitorMap.containsKey(i)){
|
if (statationAndMonitorMap.containsKey(i)) {
|
||||||
statationList.addAll(statationAndMonitorMap.get(i).stream().filter(x->x.getPowerId()!=null).map(PmsStatationStatInfoDTO::getMonitorId).collect(Collectors.toList()));
|
statationList.addAll(statationAndMonitorMap.get(i).stream().filter(x -> x.getPowerId() != null).map(PmsStatationStatInfoDTO::getMonitorId).collect(Collectors.toList()));
|
||||||
}
|
}
|
||||||
/*if (mapPms.containsKey(i)) {
|
/*if (mapPms.containsKey(i)) {
|
||||||
lineListPw.addAll(mapPms.get(i).stream().map(PmsMonitorBaseDTO::getPowerrId).distinct().collect(Collectors.toList()));
|
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)) {
|
if (map.containsKey(i)) {
|
||||||
lineList.addAll(map.get(i).stream().map(GeneratrixWire::getId).collect(Collectors.toList()));
|
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()));
|
wireAndMonitorList.addAll(wireAndMonitorMap.get(i).stream().map(GeneratrixWire::getId).collect(Collectors.toList()));
|
||||||
}
|
}
|
||||||
/* if (mapPms.containsKey(i)) {
|
/* if (mapPms.containsKey(i)) {
|
||||||
@@ -307,7 +322,7 @@ public class CommTerminalServiceImpl implements CommTerminalService {
|
|||||||
lineDevGetDTO.setType(0);
|
lineDevGetDTO.setType(0);
|
||||||
lineDevGetDTO.setUpdateTime(dev.getUpdateTime());
|
lineDevGetDTO.setUpdateTime(dev.getUpdateTime());
|
||||||
lineDevGetDTO.setComFlag(dev.getComFlag());
|
lineDevGetDTO.setComFlag(dev.getComFlag());
|
||||||
if(type == 1) {
|
if (type == 1) {
|
||||||
if (finalMonitorMap.containsKey(dev.getId())) {
|
if (finalMonitorMap.containsKey(dev.getId())) {
|
||||||
lineDevGetDTO.setMonitorIds(finalMonitorMap.get(dev.getId()).stream().map(Monitor::getId).distinct().collect(Collectors.toList()));
|
lineDevGetDTO.setMonitorIds(finalMonitorMap.get(dev.getId()).stream().map(Monitor::getId).distinct().collect(Collectors.toList()));
|
||||||
}
|
}
|
||||||
@@ -523,20 +538,20 @@ public class CommTerminalServiceImpl implements CommTerminalService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<String> getOneMonitorIds() {
|
public List<String> getOneMonitorIds() {
|
||||||
DictData dictData = dicDataFeignClient.getDicDataByNameAndTypeName(DicDataTypeEnum.LINE_STATE.getName(),DicDataEnum.RUN.getName()).getData();
|
DictData dictData = dicDataFeignClient.getDicDataByNameAndTypeName(DicDataTypeEnum.LINE_STATE.getName(), DicDataEnum.RUN.getName()).getData();
|
||||||
if(Objects.isNull(dictData)){
|
if (Objects.isNull(dictData)) {
|
||||||
throw new BusinessException("监测点状态字典为空");
|
throw new BusinessException("监测点状态字典为空");
|
||||||
}
|
}
|
||||||
LambdaQueryWrapper<Monitor> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<Monitor> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
lambdaQueryWrapper.select(Monitor::getId).eq(Monitor::getMonitorState,dictData.getId());
|
lambdaQueryWrapper.select(Monitor::getId).eq(Monitor::getMonitorState, dictData.getId());
|
||||||
List<Monitor> monitorList = monitorMapper.selectList(lambdaQueryWrapper);
|
List<Monitor> monitorList = monitorMapper.selectList(lambdaQueryWrapper);
|
||||||
return monitorList.stream().map(Monitor::getId).collect(Collectors.toList());
|
return monitorList.stream().map(Monitor::getId).collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<CommLineDetailDTO> getRunMonitorList() {
|
public List<CommLineDetailDTO> getRunMonitorList() {
|
||||||
DictData dictData = dicDataFeignClient.getDicDataByNameAndTypeName(DicDataTypeEnum.LINE_STATE.getName(),DicDataEnum.RUN.getName()).getData();
|
DictData dictData = dicDataFeignClient.getDicDataByNameAndTypeName(DicDataTypeEnum.LINE_STATE.getName(), DicDataEnum.RUN.getName()).getData();
|
||||||
if(Objects.isNull(dictData)){
|
if (Objects.isNull(dictData)) {
|
||||||
throw new BusinessException("监测点状态字典为空");
|
throw new BusinessException("监测点状态字典为空");
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
@@ -544,6 +559,7 @@ public class CommTerminalServiceImpl implements CommTerminalService {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取单个监测点信息
|
* 获取单个监测点信息
|
||||||
|
*
|
||||||
* @author cdf
|
* @author cdf
|
||||||
* @date 2023/10/12
|
* @date 2023/10/12
|
||||||
*/
|
*/
|
||||||
@@ -552,7 +568,7 @@ public class CommTerminalServiceImpl implements CommTerminalService {
|
|||||||
LineDevGetDTO lineDevGetDTO = new LineDevGetDTO();
|
LineDevGetDTO lineDevGetDTO = new LineDevGetDTO();
|
||||||
|
|
||||||
Monitor monitor = monitorMapper.selectById(monitorId);
|
Monitor monitor = monitorMapper.selectById(monitorId);
|
||||||
if(Objects.nonNull(monitor)){
|
if (Objects.nonNull(monitor)) {
|
||||||
lineDevGetDTO.setPointName(monitor.getName());
|
lineDevGetDTO.setPointName(monitor.getName());
|
||||||
lineDevGetDTO.setInterval(monitor.getStatisticalInterval());
|
lineDevGetDTO.setInterval(monitor.getStatisticalInterval());
|
||||||
lineDevGetDTO.setDevId(monitor.getTerminalId());
|
lineDevGetDTO.setDevId(monitor.getTerminalId());
|
||||||
@@ -561,23 +577,23 @@ public class CommTerminalServiceImpl implements CommTerminalService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
LambdaQueryWrapper<DistributionMonitor> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<DistributionMonitor> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
lambdaQueryWrapper.eq(DistributionMonitor::getMonitorId,monitorId);
|
lambdaQueryWrapper.eq(DistributionMonitor::getMonitorId, monitorId);
|
||||||
DistributionMonitor distributionMonitor = distributionMonitorMapper.selectOne(lambdaQueryWrapper);
|
DistributionMonitor distributionMonitor = distributionMonitorMapper.selectOne(lambdaQueryWrapper);
|
||||||
if(Objects.nonNull(distributionMonitor)){
|
if (Objects.nonNull(distributionMonitor)) {
|
||||||
DictData dictDataSort = dicDataFeignClient.getDicDataById(distributionMonitor.getMonitorSort()).getData();
|
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);
|
PowerDistributionarea powerDistributionarea = powerDistributionareaMapper.selectById(monitorId);
|
||||||
if(Objects.nonNull(powerDistributionarea)){
|
if (Objects.nonNull(powerDistributionarea)) {
|
||||||
lineDevGetDTO.setPointName(powerDistributionarea.getName());
|
lineDevGetDTO.setPointName(powerDistributionarea.getName());
|
||||||
lineDevGetDTO.setInterval(distributionMonitor.getStatisticalInterval());
|
lineDevGetDTO.setInterval(distributionMonitor.getStatisticalInterval());
|
||||||
lineDevGetDTO.setDevId(distributionMonitor.getTerminalId());
|
lineDevGetDTO.setDevId(distributionMonitor.getTerminalId());
|
||||||
lineDevGetDTO.setVoltageLevel(powerDistributionarea.getVoltageLevel());
|
lineDevGetDTO.setVoltageLevel(powerDistributionarea.getVoltageLevel());
|
||||||
return lineDevGetDTO;
|
return lineDevGetDTO;
|
||||||
}
|
}
|
||||||
}else if(DicDataEnum.THREE_LINE.getCode().equals(dictDataSort.getCode())){
|
} else if (DicDataEnum.THREE_LINE.getCode().equals(dictDataSort.getCode())) {
|
||||||
if(distributionMonitor.getIfPowerUser() == 1){
|
if (distributionMonitor.getIfPowerUser() == 1) {
|
||||||
//发电用户
|
//发电用户
|
||||||
PowerGenerationUser powerGenerationUser = powerGenerationUserMapper.selectById(monitorId);
|
PowerGenerationUser powerGenerationUser = powerGenerationUserMapper.selectById(monitorId);
|
||||||
lineDevGetDTO.setPointName(powerGenerationUser.getName());
|
lineDevGetDTO.setPointName(powerGenerationUser.getName());
|
||||||
@@ -585,7 +601,7 @@ public class CommTerminalServiceImpl implements CommTerminalService {
|
|||||||
lineDevGetDTO.setDevId(distributionMonitor.getTerminalId());
|
lineDevGetDTO.setDevId(distributionMonitor.getTerminalId());
|
||||||
lineDevGetDTO.setVoltageLevel(powerGenerationUser.getVoltageLevel());
|
lineDevGetDTO.setVoltageLevel(powerGenerationUser.getVoltageLevel());
|
||||||
return lineDevGetDTO;
|
return lineDevGetDTO;
|
||||||
}else {
|
} else {
|
||||||
PowerClient powerClient = powerClientMapper.selectById(monitorId);
|
PowerClient powerClient = powerClientMapper.selectById(monitorId);
|
||||||
lineDevGetDTO.setPointName(powerClient.getName());
|
lineDevGetDTO.setPointName(powerClient.getName());
|
||||||
lineDevGetDTO.setInterval(distributionMonitor.getStatisticalInterval());
|
lineDevGetDTO.setInterval(distributionMonitor.getStatisticalInterval());
|
||||||
@@ -601,7 +617,7 @@ public class CommTerminalServiceImpl implements CommTerminalService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<StatisticsMonitor> getStatisticsMonitor(StatisticsBizBaseParam param) {
|
public List<StatisticsMonitor> getStatisticsMonitor(StatisticsBizBaseParam param) {
|
||||||
List<StatisticsMonitor> info=new ArrayList<>();
|
List<StatisticsMonitor> info = new ArrayList<>();
|
||||||
//部门信息
|
//部门信息
|
||||||
List<DeptDTO> deptInfos = deptFeignClient.getDeptDescendantIndexes(param.getId(), Stream.of(0, 1).collect(Collectors.toList())).getData();
|
List<DeptDTO> deptInfos = deptFeignClient.getDeptDescendantIndexes(param.getId(), Stream.of(0, 1).collect(Collectors.toList())).getData();
|
||||||
List<DictData> voltageList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_VOLTAGE.getCode()).getData();
|
List<DictData> voltageList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_VOLTAGE.getCode()).getData();
|
||||||
@@ -613,35 +629,35 @@ public class CommTerminalServiceImpl implements CommTerminalService {
|
|||||||
PowerDistributionarea::getVoltageLevel,
|
PowerDistributionarea::getVoltageLevel,
|
||||||
PowerDistributionarea::getApLoadType,
|
PowerDistributionarea::getApLoadType,
|
||||||
PowerDistributionarea::getPhotovoltaicCapacity
|
PowerDistributionarea::getPhotovoltaicCapacity
|
||||||
)
|
)
|
||||||
.eq(PowerDistributionarea::getStatus, 1)
|
.eq(PowerDistributionarea::getStatus, 1)
|
||||||
.ge(StrUtil.isNotBlank(param.getStartTime()), PowerDistributionarea::getCreateTime, DateUtil.beginOfDay(DateUtil.parse(param.getStartTime())))
|
.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())))
|
.le(StrUtil.isNotBlank(param.getEndTime()), PowerDistributionarea::getCreateTime, DateUtil.endOfDay(DateUtil.parse(param.getEndTime())))
|
||||||
);
|
);
|
||||||
List<DictData> dictDatas = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.MONITORING_LABELS.getCode()).getData();
|
List<DictData> dictDatas = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.MONITORING_LABELS.getCode()).getData();
|
||||||
Map<String,String> map=new HashMap<>();
|
Map<String, String> map = new HashMap<>();
|
||||||
for (DictData dictDatum : dictDatas) {
|
for (DictData dictDatum : dictDatas) {
|
||||||
if(DicDataEnum.ONSHORE_WIND.getCode().equals(dictDatum.getCode())){
|
if (DicDataEnum.ONSHORE_WIND.getCode().equals(dictDatum.getCode())) {
|
||||||
map.put("fd",dictDatum.getId());
|
map.put("fd", dictDatum.getId());
|
||||||
}
|
}
|
||||||
if(DicDataEnum.POWER_STATION.getCode().equals(dictDatum.getCode())){
|
if (DicDataEnum.POWER_STATION.getCode().equals(dictDatum.getCode())) {
|
||||||
map.put("gfdz",dictDatum.getId());
|
map.put("gfdz", dictDatum.getId());
|
||||||
}
|
}
|
||||||
if(DicDataEnum.ELECTRIFIED_RAILWAYS.getCode().equals(dictDatum.getCode())){
|
if (DicDataEnum.ELECTRIFIED_RAILWAYS.getCode().equals(dictDatum.getCode())) {
|
||||||
map.put("dq",dictDatum.getId());
|
map.put("dq", dictDatum.getId());
|
||||||
}
|
}
|
||||||
if(DicDataEnum.SMELT_LOAD.getCode().equals(dictDatum.getCode())){
|
if (DicDataEnum.SMELT_LOAD.getCode().equals(dictDatum.getCode())) {
|
||||||
map.put("yl",dictDatum.getId());
|
map.put("yl", dictDatum.getId());
|
||||||
}
|
}
|
||||||
if(DicDataEnum.DISTRIBUTED_PHOTOVOLTAICS.getCode().equals(dictDatum.getCode())){
|
if (DicDataEnum.DISTRIBUTED_PHOTOVOLTAICS.getCode().equals(dictDatum.getCode())) {
|
||||||
map.put("gf",dictDatum.getId());
|
map.put("gf", dictDatum.getId());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 过滤出传入id的子单位id
|
// 过滤出传入id的子单位id
|
||||||
List<DeptDTO> directDeptInfos = deptInfos.stream()
|
List<DeptDTO> directDeptInfos = deptInfos.stream()
|
||||||
.filter(deptDTO -> deptDTO.getPid().equals(param.getId()))
|
.filter(deptDTO -> deptDTO.getPid().equals(param.getId()))
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
List<Monitor> monitorsNew ;
|
List<Monitor> monitorsNew;
|
||||||
List<PowerDistributionarea> distributionNew;
|
List<PowerDistributionarea> distributionNew;
|
||||||
if (CollectionUtil.isEmpty(directDeptInfos)) {
|
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());
|
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());
|
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 {
|
} else {
|
||||||
// 遍历子单位id
|
// 遍历子单位id
|
||||||
for (DeptDTO deptDTO : directDeptInfos) {
|
for (DeptDTO deptDTO : directDeptInfos) {
|
||||||
@@ -665,40 +681,40 @@ public class CommTerminalServiceImpl implements CommTerminalService {
|
|||||||
.distinct()
|
.distinct()
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
deptIdList.add(deptDTO.getCode());
|
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());
|
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;
|
return info;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<StatisticsMonitor> statisticsMonitorAdd(List<String> deptIdList,List<DictData> voltageList ,List<Monitor> monitorsNew,List<PowerDistributionarea> list,Map<String,String> map,List<StatisticsMonitor> info){
|
public List<StatisticsMonitor> statisticsMonitorAdd(List<String> deptIdList, List<DictData> voltageList, List<Monitor> monitorsNew, List<PowerDistributionarea> list, Map<String, String> map, List<StatisticsMonitor> info) {
|
||||||
|
|
||||||
Map<String, List<Monitor>> monitorMap = monitorsNew.stream().collect(Collectors.groupingBy(x -> x.getOrgId() + "_" + x.getVoltageLevel()));
|
Map<String, List<Monitor>> monitorMap = monitorsNew.stream().collect(Collectors.groupingBy(x -> x.getOrgId() + "_" + x.getVoltageLevel()));
|
||||||
Map<String, List<PowerDistributionarea>> distributionMap = list.stream().collect(Collectors.groupingBy(x -> x.getOrgId() + "_" + x.getVoltageLevel()));
|
Map<String, List<PowerDistributionarea>> distributionMap = list.stream().collect(Collectors.groupingBy(x -> x.getOrgId() + "_" + x.getVoltageLevel()));
|
||||||
|
|
||||||
for (String s : deptIdList) {
|
for (String s : deptIdList) {
|
||||||
for (DictData dictData : voltageList) {
|
for (DictData dictData : voltageList) {
|
||||||
StatisticsMonitor monitor=new StatisticsMonitor();
|
StatisticsMonitor monitor = new StatisticsMonitor();
|
||||||
monitor.setOrgId(s );
|
monitor.setOrgId(s);
|
||||||
monitor.setVoltageLevel(dictData.getId());
|
monitor.setVoltageLevel(dictData.getId());
|
||||||
monitor.setGeneratrixSum(0);
|
monitor.setGeneratrixSum(0);
|
||||||
String key = s + "_" + dictData.getId();
|
String key = s + "_" + dictData.getId();
|
||||||
if(monitorMap.containsKey(key)){
|
if (monitorMap.containsKey(key)) {
|
||||||
List<Monitor> monitors = monitorMap.get(s + "_" + dictData.getId());
|
List<Monitor> monitors = monitorMap.get(s + "_" + dictData.getId());
|
||||||
monitor.setLineNum(Math.toIntExact(monitors.stream().map(Monitor::getLineId).distinct().count()));
|
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.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.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.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.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.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.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.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.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.setElectricTrackCapacity(monitors.stream().filter(x -> x.getMonitorTag().equals(map.get("fd"))).mapToDouble(Monitor::getStandShortCapacity).sum());
|
||||||
|
|
||||||
}else{
|
} else {
|
||||||
monitor.setLineNum(0);
|
monitor.setLineNum(0);
|
||||||
monitor.setPhotovoltaicLineNum(0);
|
monitor.setPhotovoltaicLineNum(0);
|
||||||
monitor.setWindPowerNum(0);
|
monitor.setWindPowerNum(0);
|
||||||
@@ -711,16 +727,16 @@ public class CommTerminalServiceImpl implements CommTerminalService {
|
|||||||
monitor.setElectricTrackCapacity(0.0);
|
monitor.setElectricTrackCapacity(0.0);
|
||||||
|
|
||||||
}
|
}
|
||||||
if(distributionMap.containsKey(key)){
|
if (distributionMap.containsKey(key)) {
|
||||||
List<PowerDistributionarea> distributionAreaList= distributionMap.get(key);
|
List<PowerDistributionarea> distributionAreaList = distributionMap.get(key);
|
||||||
int size = distributionAreaList.size();
|
int size = distributionAreaList.size();
|
||||||
monitor.setPlatformNum(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 sum = distributionAreaList.stream().mapToDouble(PowerDistributionarea::getPhotovoltaicCapacity).sum();
|
||||||
double v = sum / size * 0.25;
|
double v = sum / size * 0.25;
|
||||||
monitor.setExceedCourtscapNum(distributionAreaList.stream().filter(x->x.getPhotovoltaicCapacity()>v).distinct().collect(Collectors.toList()).size());
|
monitor.setExceedCourtscapNum(distributionAreaList.stream().filter(x -> x.getPhotovoltaicCapacity() > v).distinct().collect(Collectors.toList()).size());
|
||||||
}else{
|
} else {
|
||||||
monitor.setPlatformNum(0);
|
monitor.setPlatformNum(0);
|
||||||
monitor.setPhotovoltaicCourtsNum(0);
|
monitor.setPhotovoltaicCourtsNum(0);
|
||||||
monitor.setExceedCourtscapNum(0);
|
monitor.setExceedCourtscapNum(0);
|
||||||
|
|||||||
@@ -81,9 +81,6 @@ public class DeptLineServiceImpl extends ServiceImpl<DeptLineMapper, DeptLine> i
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Map<String, List<String>> getLineByDeptRelation(Integer devDataType) {
|
public Map<String, List<String>> getLineByDeptRelation(Integer devDataType) {
|
||||||
|
|
||||||
Map<String, List<String>> map = new HashMap<> ();
|
|
||||||
|
|
||||||
List<DeptLine> deptLines = deptLineMapper.getLineByDeptRelation(devDataType);
|
List<DeptLine> deptLines = deptLineMapper.getLineByDeptRelation(devDataType);
|
||||||
Map<String, List<String>> collect = deptLines.stream ( ).collect (Collectors.groupingBy (DeptLine::getId, Collectors.mapping (DeptLine::getLineId,Collectors.toList ())));
|
Map<String, List<String>> collect = deptLines.stream ( ).collect (Collectors.groupingBy (DeptLine::getId, Collectors.mapping (DeptLine::getLineId,Collectors.toList ())));
|
||||||
|
|
||||||
|
|||||||
@@ -361,11 +361,14 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<DeptGetChildrenDTO> deptMonitor(DeptGetLineParam param) {
|
public List<DeptGetChildrenDTO> deptMonitor(DeptGetLineParam param) {
|
||||||
|
if (Objects.isNull(param)) {
|
||||||
|
param.setSystemType(2);
|
||||||
|
}
|
||||||
//返回主网和配网监测信息
|
//返回主网和配网监测信息
|
||||||
List<DeptGetChildrenDTO> deviceInfos = new ArrayList<>();
|
List<DeptGetChildrenDTO> deviceInfos = new ArrayList<>();
|
||||||
List<DeptDTO> deptInfos = deptFeignClient.getDeptDescendantIndexes(param.getDeptId(), Stream.of(0, 1).collect(Collectors.toList())).getData();
|
List<DeptDTO> 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();
|
DictData dictData = dicDataFeignClient.getDicDataByNameAndTypeName(DicDataTypeEnum.LINE_STATE.getName(), DicDataEnum.RUN.getName()).getData();
|
||||||
if(Objects.isNull(dictData)){
|
if (Objects.isNull(dictData)) {
|
||||||
throw new BusinessException("监测点状态字典为空");
|
throw new BusinessException("监测点状态字典为空");
|
||||||
}
|
}
|
||||||
for (DeptDTO deptInfo : deptInfos) {
|
for (DeptDTO deptInfo : deptInfos) {
|
||||||
@@ -377,7 +380,7 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
|
|||||||
List<DeptDTO> dept = deptInfos.stream()
|
List<DeptDTO> dept = deptInfos.stream()
|
||||||
.filter(deptDTO -> deptDTO.getId().equals(deptInfo.getId()))
|
.filter(deptDTO -> deptDTO.getId().equals(deptInfo.getId()))
|
||||||
.collect(Collectors.toList());
|
.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 {
|
} else {
|
||||||
List<String> deptIdList = new ArrayList<>();
|
List<String> deptIdList = new ArrayList<>();
|
||||||
for (DeptDTO deptDTO : directDeptInfos) {
|
for (DeptDTO deptDTO : directDeptInfos) {
|
||||||
@@ -386,13 +389,13 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
|
|||||||
.filter(d -> d.getPids().contains(deptDTO.getId()))
|
.filter(d -> d.getPids().contains(deptDTO.getId()))
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
//形成需要查询监测点的部门索引
|
//形成需要查询监测点的部门索引
|
||||||
deptIdList.addAll( descendantDeptDTO.stream()
|
deptIdList.addAll(descendantDeptDTO.stream()
|
||||||
.map(DeptDTO::getCode)
|
.map(DeptDTO::getCode)
|
||||||
.distinct()
|
.distinct()
|
||||||
.collect(Collectors.toList()));
|
.collect(Collectors.toList()));
|
||||||
deptIdList.add(deptDTO.getCode());
|
deptIdList.add(deptDTO.getCode());
|
||||||
}
|
}
|
||||||
deviceInfos.add(getPmsMonitor(deptInfo, dictData,deptIdList));
|
deviceInfos.add(getPmsMonitor(deptInfo, dictData, deptIdList,param.getSystemType()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return deviceInfos;
|
return deviceInfos;
|
||||||
@@ -426,13 +429,13 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Overlimit> getAllLineOverLimit() {
|
public List<Overlimit> getAllLineOverLimit() {
|
||||||
return overlimitMapper.selectList(null);
|
return overlimitMapper.selectList(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<String, List<String>> getLineBySubstationRelation(Integer devDataType) {
|
public Map<String, List<String>> getLineBySubstationRelation(Integer devDataType) {
|
||||||
//获取主网监测点信息
|
//获取主网监测点信息
|
||||||
if(devDataType==0){
|
if (devDataType == 0) {
|
||||||
List<Monitor> list = this.list();
|
List<Monitor> list = this.list();
|
||||||
return list.stream()
|
return list.stream()
|
||||||
.collect(Collectors.groupingBy(Monitor::getPowerrId, Collectors.mapping(Monitor::getId, Collectors.toList())));
|
.collect(Collectors.groupingBy(Monitor::getPowerrId, Collectors.mapping(Monitor::getId, Collectors.toList())));
|
||||||
@@ -447,7 +450,7 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
|
|||||||
List<DictData> connect = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_CONNECT.getCode()).getData();
|
List<DictData> connect = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_CONNECT.getCode()).getData();
|
||||||
Map<String, String> connectMap = connect.stream().collect(Collectors.toMap(DictData::getId, DictData::getValue));
|
Map<String, String> connectMap = connect.stream().collect(Collectors.toMap(DictData::getId, DictData::getValue));
|
||||||
LineDTO lineDTO = this.baseMapper.selectLineDetail(id);
|
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.setVoltageLevel(voltageMap.get(lineDTO.getVoltageLevel()));
|
||||||
lineDTO.setPtType(connectMap.get(lineDTO.getPtType()));
|
lineDTO.setPtType(connectMap.get(lineDTO.getPtType()));
|
||||||
return lineDTO;
|
return lineDTO;
|
||||||
@@ -460,7 +463,7 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<LineDTO> getLineDetailBatch(List<String> ids) {
|
public List<LineDTO> getLineDetailBatch(List<String> ids) {
|
||||||
if(CollectionUtil.isEmpty(ids)){
|
if (CollectionUtil.isEmpty(ids)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
List<LineDTO> lineDTOS = this.baseMapper.selectLineDetailBatch(ids);
|
List<LineDTO> lineDTOS = this.baseMapper.selectLineDetailBatch(ids);
|
||||||
@@ -468,16 +471,16 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
|
|||||||
Map<String, List<LineDTO>> lineVoltageMap = lineDTOS.stream().collect(Collectors.groupingBy(LineDTO::getVoltageLevel));
|
Map<String, List<LineDTO>> lineVoltageMap = lineDTOS.stream().collect(Collectors.groupingBy(LineDTO::getVoltageLevel));
|
||||||
List<DictData> voltageList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_VOLTAGE.getCode()).getData();
|
List<DictData> voltageList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_VOLTAGE.getCode()).getData();
|
||||||
Map<String, String> voltageMap = voltageList.stream().collect(Collectors.toMap(DictData::getId, DictData::getValue));
|
Map<String, String> voltageMap = voltageList.stream().collect(Collectors.toMap(DictData::getId, DictData::getValue));
|
||||||
lineVoltageMap.forEach((key,lineData) -> {
|
lineVoltageMap.forEach((key, lineData) -> {
|
||||||
String voltage= voltageMap.get(key);
|
String voltage = voltageMap.get(key);
|
||||||
lineData = lineData.stream().peek(line -> line.setVoltageLevel(voltage)).collect(Collectors.toList());
|
lineData = lineData.stream().peek(line -> line.setVoltageLevel(voltage)).collect(Collectors.toList());
|
||||||
});
|
});
|
||||||
//接线方式
|
//接线方式
|
||||||
Map<String, List<LineDTO>> linePtTypeMap = lineDTOS.stream().collect(Collectors.groupingBy(LineDTO::getPtType));
|
Map<String, List<LineDTO>> linePtTypeMap = lineDTOS.stream().collect(Collectors.groupingBy(LineDTO::getPtType));
|
||||||
List<DictData> connect = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_CONNECT.getCode()).getData();
|
List<DictData> connect = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_CONNECT.getCode()).getData();
|
||||||
Map<String, String> connectMap = connect.stream().collect(Collectors.toMap(DictData::getId, DictData::getValue));
|
Map<String, String> connectMap = connect.stream().collect(Collectors.toMap(DictData::getId, DictData::getValue));
|
||||||
linePtTypeMap.forEach((key,lineData)->{
|
linePtTypeMap.forEach((key, lineData) -> {
|
||||||
String ptType= connectMap.get(key);
|
String ptType = connectMap.get(key);
|
||||||
lineData = lineData.stream().peek(line -> line.setPtType(ptType)).collect(Collectors.toList());
|
lineData = lineData.stream().peek(line -> line.setPtType(ptType)).collect(Collectors.toList());
|
||||||
});
|
});
|
||||||
return lineDTOS;
|
return lineDTOS;
|
||||||
@@ -491,7 +494,7 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
|
|||||||
* @param deptIdList
|
* @param deptIdList
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
private DeptGetChildrenDTO getPmsMonitor(DeptDTO deptDTO,DictData dictData, List<String> deptIdList) {
|
private DeptGetChildrenDTO getPmsMonitor(DeptDTO deptDTO, DictData dictData, List<String> deptIdList, Integer systemType) {
|
||||||
DeptGetChildrenDTO pmsDeptGetChildrenDTO = new DeptGetChildrenDTO();
|
DeptGetChildrenDTO pmsDeptGetChildrenDTO = new DeptGetChildrenDTO();
|
||||||
pmsDeptGetChildrenDTO.setDeptId(deptDTO.getCode());
|
pmsDeptGetChildrenDTO.setDeptId(deptDTO.getCode());
|
||||||
if (deptDTO.getType() == 0) {
|
if (deptDTO.getType() == 0) {
|
||||||
@@ -502,14 +505,23 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
|
|||||||
pmsDeptGetChildrenDTO.setDeptChildren(deptIdList);
|
pmsDeptGetChildrenDTO.setDeptChildren(deptIdList);
|
||||||
if (CollUtil.isNotEmpty(deptIdList)) {
|
if (CollUtil.isNotEmpty(deptIdList)) {
|
||||||
//主网监测点
|
//主网监测点
|
||||||
List<Monitor> monitorList = this.list(new LambdaQueryWrapper<Monitor>()
|
if (systemType == 0 || systemType == 2) {
|
||||||
.select(Monitor::getId)
|
List<Monitor> monitorList = this.list(new LambdaQueryWrapper<Monitor>()
|
||||||
.eq(Monitor::getMonitorState,dictData.getId())
|
.select(Monitor::getId)
|
||||||
.in(CollUtil.isNotEmpty(deptIdList), Monitor::getOrgId, deptIdList));
|
.eq(Monitor::getMonitorState, dictData.getId())
|
||||||
//配网监测点
|
.in(CollUtil.isNotEmpty(deptIdList), Monitor::getOrgId, deptIdList));
|
||||||
List<PmsMonitorBaseDTO> pwMonitorList = iDistributionMonitorService.getMonitorByCondition(deptIdList, null);
|
pmsDeptGetChildrenDTO.setLineIds(monitorList.stream().map(Monitor::getId).distinct().collect(Collectors.toList()));
|
||||||
pmsDeptGetChildrenDTO.setLineIds(monitorList.stream().map(Monitor::getId).distinct().collect(Collectors.toList()));
|
}else {
|
||||||
pmsDeptGetChildrenDTO.setPwMonitorIds(pwMonitorList.stream().map(PmsMonitorBaseDTO::getMonitorId).distinct().collect(Collectors.toList()));
|
pmsDeptGetChildrenDTO.setLineIds(new ArrayList<>());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (systemType == 1 || systemType == 2) {
|
||||||
|
//配网监测点
|
||||||
|
List<PmsMonitorBaseDTO> pwMonitorList = iDistributionMonitorService.getMonitorByCondition(deptIdList, null);
|
||||||
|
pmsDeptGetChildrenDTO.setPwMonitorIds(pwMonitorList.stream().map(PmsMonitorBaseDTO::getMonitorId).distinct().collect(Collectors.toList()));
|
||||||
|
}else {
|
||||||
|
pmsDeptGetChildrenDTO.setPwMonitorIds(new ArrayList<>());
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
pmsDeptGetChildrenDTO.setLineIds(new ArrayList<>());
|
pmsDeptGetChildrenDTO.setLineIds(new ArrayList<>());
|
||||||
pmsDeptGetChildrenDTO.setPwMonitorIds(new ArrayList<>());
|
pmsDeptGetChildrenDTO.setPwMonitorIds(new ArrayList<>());
|
||||||
@@ -682,9 +694,9 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
|
|||||||
}
|
}
|
||||||
|
|
||||||
//判断是否操作过该条记录
|
//判断是否操作过该条记录
|
||||||
LineBak lineBak = lineBakMapper.selectOne(new LambdaQueryWrapper<LineBak>().eq(LineBak::getLineId,oracleTerminalExcel.getId()));
|
LineBak lineBak = lineBakMapper.selectOne(new LambdaQueryWrapper<LineBak>().eq(LineBak::getLineId, oracleTerminalExcel.getId()));
|
||||||
|
|
||||||
DeviceBak deviceBak = deviceBakMapper.selectOne(new LambdaQueryWrapper<DeviceBak>().eq(DeviceBak::getDevId,oracleTerminalExcel.getDeviceId()));
|
DeviceBak deviceBak = deviceBakMapper.selectOne(new LambdaQueryWrapper<DeviceBak>().eq(DeviceBak::getDevId, oracleTerminalExcel.getDeviceId()));
|
||||||
|
|
||||||
|
|
||||||
//单位
|
//单位
|
||||||
@@ -749,7 +761,7 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
|
|||||||
pmsTerminalPO.setDeviceModel(devTypelDicMap.get(oracleTerminalExcel.getDevType()).getId());
|
pmsTerminalPO.setDeviceModel(devTypelDicMap.get(oracleTerminalExcel.getDevType()).getId());
|
||||||
} else {
|
} else {
|
||||||
oracleTerminalExcelMsg.add(assembleMsg(oracleTerminalExcel, "字典装置类型不存在,请确认后重试"));
|
oracleTerminalExcelMsg.add(assembleMsg(oracleTerminalExcel, "字典装置类型不存在,请确认后重试"));
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -785,9 +797,9 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
|
|||||||
pmsTerminalPO.setPort(oracleTerminalExcel.getPort().toString());
|
pmsTerminalPO.setPort(oracleTerminalExcel.getPort().toString());
|
||||||
pmsTerminalPO.setIsUpToGrid(0);
|
pmsTerminalPO.setIsUpToGrid(0);
|
||||||
|
|
||||||
if(manDicMap.containsKey(oracleTerminalExcel.getManufacturer())){
|
if (manDicMap.containsKey(oracleTerminalExcel.getManufacturer())) {
|
||||||
pmsTerminalPO.setManufacture(manDicMap.get(oracleTerminalExcel.getManufacturer()).getId());
|
pmsTerminalPO.setManufacture(manDicMap.get(oracleTerminalExcel.getManufacturer()).getId());
|
||||||
}else {
|
} else {
|
||||||
oracleTerminalExcelMsg.add(assembleMsg(oracleTerminalExcel, "字典制造厂商不存在,请确认后重试"));
|
oracleTerminalExcelMsg.add(assembleMsg(oracleTerminalExcel, "字典制造厂商不存在,请确认后重试"));
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@@ -800,7 +812,7 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
|
|||||||
deviceBakPO.setDevId(oracleTerminalExcel.getDeviceId());
|
deviceBakPO.setDevId(oracleTerminalExcel.getDeviceId());
|
||||||
deviceBakMapper.insert(deviceBakPO);
|
deviceBakMapper.insert(deviceBakPO);
|
||||||
} else {
|
} else {
|
||||||
if(Objects.isNull(deviceBak)) {
|
if (Objects.isNull(deviceBak)) {
|
||||||
pmsTerminalPO.setId(pmsTerminal.getId());
|
pmsTerminalPO.setId(pmsTerminal.getId());
|
||||||
DeviceBak deviceBakPO = new DeviceBak();
|
DeviceBak deviceBakPO = new DeviceBak();
|
||||||
deviceBakPO.setId(pmsTerminal.getId());
|
deviceBakPO.setId(pmsTerminal.getId());
|
||||||
@@ -808,13 +820,13 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
|
|||||||
deviceBakMapper.insert(deviceBakPO);
|
deviceBakMapper.insert(deviceBakPO);
|
||||||
terminalMapper.updateById(pmsTerminalPO);
|
terminalMapper.updateById(pmsTerminalPO);
|
||||||
devId = pmsTerminal.getId();
|
devId = pmsTerminal.getId();
|
||||||
}else if(Objects.isNull(pmsTerminal)){
|
} else if (Objects.isNull(pmsTerminal)) {
|
||||||
|
|
||||||
terminalMapper.deleteById(deviceBak.getId());
|
terminalMapper.deleteById(deviceBak.getId());
|
||||||
pmsTerminalPO.setId(deviceBak.getId());
|
pmsTerminalPO.setId(deviceBak.getId());
|
||||||
terminalMapper.insert(pmsTerminalPO);
|
terminalMapper.insert(pmsTerminalPO);
|
||||||
devId = pmsTerminalPO.getId();
|
devId = pmsTerminalPO.getId();
|
||||||
}else {
|
} else {
|
||||||
devId = pmsTerminal.getId();
|
devId = pmsTerminal.getId();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -841,7 +853,7 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
|
|||||||
if (voltageLevelMap.containsKey(dicVoltagePms)) {
|
if (voltageLevelMap.containsKey(dicVoltagePms)) {
|
||||||
DictData temVoltage = voltageLevelMap.get(dicVoltagePms);
|
DictData temVoltage = voltageLevelMap.get(dicVoltagePms);
|
||||||
generatrixWirePO.setScale(temVoltage.getId());
|
generatrixWirePO.setScale(temVoltage.getId());
|
||||||
}else {
|
} else {
|
||||||
oracleTerminalExcelMsg.add(assembleMsg(oracleTerminalExcel, "字典母线电压等级不存在,请确认后重试"));
|
oracleTerminalExcelMsg.add(assembleMsg(oracleTerminalExcel, "字典母线电压等级不存在,请确认后重试"));
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@@ -973,19 +985,19 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
|
|||||||
lineBakPO.setId(monitorPO.getId());
|
lineBakPO.setId(monitorPO.getId());
|
||||||
lineBakPO.setLineId(oracleTerminalExcel.getId());
|
lineBakPO.setLineId(oracleTerminalExcel.getId());
|
||||||
lineBakMapper.insert(lineBakPO);
|
lineBakMapper.insert(lineBakPO);
|
||||||
}else {
|
} else {
|
||||||
if(Objects.isNull(lineBak)){
|
if (Objects.isNull(lineBak)) {
|
||||||
LineBak lineBakPO = new LineBak();
|
LineBak lineBakPO = new LineBak();
|
||||||
lineBakPO.setId(monitor.getId());
|
lineBakPO.setId(monitor.getId());
|
||||||
lineBakPO.setLineId(oracleTerminalExcel.getId());
|
lineBakPO.setLineId(oracleTerminalExcel.getId());
|
||||||
lineBakMapper.insert(lineBakPO);
|
lineBakMapper.insert(lineBakPO);
|
||||||
monitorMapper.updateById(monitorPO);
|
monitorMapper.updateById(monitorPO);
|
||||||
}else if(Objects.isNull(monitor)){
|
} else if (Objects.isNull(monitor)) {
|
||||||
monitorMapper.deleteById(lineBak.getId());
|
monitorMapper.deleteById(lineBak.getId());
|
||||||
overlimitMapper.deleteById(lineBak.getId());
|
overlimitMapper.deleteById(lineBak.getId());
|
||||||
monitorPO.setId(lineBak.getId());
|
monitorPO.setId(lineBak.getId());
|
||||||
monitorMapper.insert(monitorPO);
|
monitorMapper.insert(monitorPO);
|
||||||
}else{
|
} else {
|
||||||
monitorMapper.deleteById(monitor.getId());
|
monitorMapper.deleteById(monitor.getId());
|
||||||
overlimitMapper.deleteById(monitor.getId());
|
overlimitMapper.deleteById(monitor.getId());
|
||||||
monitorPO.setId(lineBak.getId());
|
monitorPO.setId(lineBak.getId());
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 母线监测总概览
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @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;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
*
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @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;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
*
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @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;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
*
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @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;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
*
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @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;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
*
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @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;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
*
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @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;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
*
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @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;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
*
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @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;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.njcn.prepare.harmonic.mapper.mysql.area;
|
package com.njcn.prepare.harmonic.mapper.mysql.area;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.njcn.device.pms.pojo.po.Monitor;
|
||||||
import com.njcn.harmonic.pojo.po.PmsMonitorPO;
|
import com.njcn.harmonic.pojo.po.PmsMonitorPO;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
@@ -14,5 +15,5 @@ import org.apache.ibatis.annotations.Mapper;
|
|||||||
* @version V1.0.0
|
* @version V1.0.0
|
||||||
*/
|
*/
|
||||||
@Mapper
|
@Mapper
|
||||||
public interface PmsMonitorPOMapper extends BaseMapper<PmsMonitorPO> {
|
public interface PmsMonitorPOMapper extends BaseMapper<Monitor> {
|
||||||
}
|
}
|
||||||
@@ -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<GeneratrixWire> {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 母线监测总概览 Mapper 接口
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author hongawen
|
||||||
|
* @since 2023-11-14
|
||||||
|
*/
|
||||||
|
public interface RDimBusGlobalDMapper extends BaseMapper<RDimBusGlobalD> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Mapper 接口
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author hongawen
|
||||||
|
* @since 2023-11-14
|
||||||
|
*/
|
||||||
|
public interface RDimBusGlobalMMapper extends BaseMapper<RDimBusGlobalM> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Mapper 接口
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author hongawen
|
||||||
|
* @since 2023-11-14
|
||||||
|
*/
|
||||||
|
public interface RDimBusGlobalYMapper extends BaseMapper<RDimBusGlobalY> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Mapper 接口
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author hongawen
|
||||||
|
* @since 2023-11-14
|
||||||
|
*/
|
||||||
|
public interface RDimBusTargetDMapper extends BaseMapper<RDimBusTargetD> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Mapper 接口
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author hongawen
|
||||||
|
* @since 2023-11-14
|
||||||
|
*/
|
||||||
|
public interface RDimBusTargetMMapper extends BaseMapper<RDimBusTargetM> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Mapper 接口
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author hongawen
|
||||||
|
* @since 2023-11-14
|
||||||
|
*/
|
||||||
|
public interface RDimBusTargetYMapper extends BaseMapper<RDimBusTargetY> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Mapper 接口
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author hongawen
|
||||||
|
* @since 2023-11-14
|
||||||
|
*/
|
||||||
|
public interface RDimStationGlobalDMapper extends BaseMapper<RDimStationGlobalD> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Mapper 接口
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author hongawen
|
||||||
|
* @since 2023-11-14
|
||||||
|
*/
|
||||||
|
public interface RDimStationGlobalMMapper extends BaseMapper<RDimStationGlobalM> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Mapper 接口
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author hongawen
|
||||||
|
* @since 2023-11-14
|
||||||
|
*/
|
||||||
|
public interface RDimStationGlobalYMapper extends BaseMapper<RDimStationGlobalY> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,24 +1,10 @@
|
|||||||
package com.njcn.prepare.harmonic.service.mysql.Impl.area;
|
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.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.pojo.param.PrimaryGridParam;
|
||||||
import com.njcn.prepare.harmonic.service.mysql.area.*;
|
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.scheduling.annotation.Async;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.util.CollectionUtils;
|
import org.springframework.util.CollectionUtils;
|
||||||
@@ -46,7 +32,7 @@ import static com.njcn.system.pojo.constant.DicDataConstant.SPLIT_SIGN;
|
|||||||
public class AreaCountServiceImpl implements AreaCountService {
|
public class AreaCountServiceImpl implements AreaCountService {
|
||||||
|
|
||||||
|
|
||||||
private @Autowired
|
/* private @Autowired
|
||||||
PmsMonitorPOService pmsMonitorPOService;
|
PmsMonitorPOService pmsMonitorPOService;
|
||||||
|
|
||||||
|
|
||||||
@@ -72,13 +58,13 @@ public class AreaCountServiceImpl implements AreaCountService {
|
|||||||
|
|
||||||
|
|
||||||
private @Autowired
|
private @Autowired
|
||||||
RedisUtil redisUtil;
|
RedisUtil redisUtil;*/
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Async("asyncExecutor")
|
@Async("asyncExecutor")
|
||||||
public void areaCountHanlder(PrimaryGridParam primaryGridParam) {
|
public void areaCountHanlder(PrimaryGridParam primaryGridParam) {
|
||||||
if (Objects.equals (primaryGridParam.getDataSource ( ), AlgorithmParam.ORACLE_DATA)) {
|
if (Objects.equals (primaryGridParam.getDataSource ( ), AlgorithmParam.ORACLE_DATA)) {
|
||||||
this.hanlderOracleData (primaryGridParam);
|
//this.hanlderOracleData (primaryGridParam);
|
||||||
} else if (Objects.equals (primaryGridParam.getDataSource ( ), AlgorithmParam.INFLUX_DATA)) {
|
} else if (Objects.equals (primaryGridParam.getDataSource ( ), AlgorithmParam.INFLUX_DATA)) {
|
||||||
this.hanlderInfludxbData (primaryGridParam);
|
this.hanlderInfludxbData (primaryGridParam);
|
||||||
}
|
}
|
||||||
@@ -101,7 +87,7 @@ public class AreaCountServiceImpl implements AreaCountService {
|
|||||||
* @Author: clam
|
* @Author: clam
|
||||||
* @Date: 2022/12/13
|
* @Date: 2022/12/13
|
||||||
*/
|
*/
|
||||||
private void hanlderOracleData(PrimaryGridParam primaryGridParam) {
|
/* private void hanlderOracleData(PrimaryGridParam primaryGridParam) {
|
||||||
|
|
||||||
Integer type = primaryGridParam.getType ( );
|
Integer type = primaryGridParam.getType ( );
|
||||||
switch (type) {
|
switch (type) {
|
||||||
@@ -120,15 +106,15 @@ public class AreaCountServiceImpl implements AreaCountService {
|
|||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}*/
|
||||||
@SneakyThrows
|
/* @SneakyThrows
|
||||||
private void hanlderOracleMonth(PrimaryGridParam primaryGridParam) {
|
private void hanlderOracleMonth(PrimaryGridParam primaryGridParam) {
|
||||||
List<String> orgIdList = primaryGridParam.getOrgIdList ( );
|
List<String> orgIdList = primaryGridParam.getOrgIdList ( );
|
||||||
String dataDate = primaryGridParam.getDataDate ( );
|
String dataDate = primaryGridParam.getDataDate ( );
|
||||||
List<RStatOrgMPO> rStatOrgMPOList = new ArrayList<> ( );
|
List<RStatOrgMPO> rStatOrgMPOList = new ArrayList<> ( );
|
||||||
|
|
||||||
final Date tempDate = new SimpleDateFormat ("yyyy-MM-dd").parse (dataDate);
|
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 +
|
String lineTypeOneId = redisUtil.getStringByKey (NAME_KEY +
|
||||||
SPLIT_SIGN + DicDataTypeEnum.LINE_SORT.getCode ( ) +
|
SPLIT_SIGN + DicDataTypeEnum.LINE_SORT.getCode ( ) +
|
||||||
SPLIT_SIGN + DicDataEnum.ONE_LINE.getCode ( ));
|
SPLIT_SIGN + DicDataEnum.ONE_LINE.getCode ( ));
|
||||||
@@ -145,13 +131,13 @@ public class AreaCountServiceImpl implements AreaCountService {
|
|||||||
throw new BusinessException (PqsPrepareExceptionEnum.REDIS_NULL_EXCEPTION);
|
throw new BusinessException (PqsPrepareExceptionEnum.REDIS_NULL_EXCEPTION);
|
||||||
}
|
}
|
||||||
orgIdList.forEach (orgid -> {
|
orgIdList.forEach (orgid -> {
|
||||||
/*1.2.2.1. 主网区域分类有效接入监测点数*/
|
*//*1.2.2.1. 主网区域分类有效接入监测点数*//*
|
||||||
/*主网在运监测点*/
|
*//*主网在运监测点*//*
|
||||||
List<PmsMonitorPO> pmsMonitorPOS = pmsMonitorPOService.qurymeasurementRunPoints (orgid);
|
List<Monitor> pmsMonitorPOS = pmsMonitorPOService.qurymeasurementRunPoints (orgid);
|
||||||
/* 根据监测点对象类型分组获取监测点*/
|
*//* 根据监测点对象类型分组获取监测点*//*
|
||||||
Map<String, List<PmsMonitorPO>> collect = pmsMonitorPOS.stream ( ).collect (Collectors.groupingBy (PmsMonitorPO::getMonitorObjectType));
|
Map<String, List<PmsMonitorPO>> collect = pmsMonitorPOS.stream ( ).collect (Collectors.groupingBy (PmsMonitorPO::getMonitorObjectType));
|
||||||
for (Map.Entry<String, List<PmsMonitorPO>> entry : collect.entrySet ( )) {
|
for (Map.Entry<String, List<PmsMonitorPO>> entry : collect.entrySet ( )) {
|
||||||
/*计算出当前机构不同监测点对象类型累计稳态超标监测点数*/
|
*//*计算出当前机构不同监测点对象类型累计稳态超标监测点数*//*
|
||||||
List<String> monitorIdList = entry.getValue ( ).stream ( ).map (PmsMonitorPO::getId).collect (Collectors.toList ( ));
|
List<String> monitorIdList = entry.getValue ( ).stream ( ).map (PmsMonitorPO::getId).collect (Collectors.toList ( ));
|
||||||
Integer integer = rMpTargetWarnDService.queryHarmonicMeasurementAccrued (monitorIdList, dataDate);
|
Integer integer = rMpTargetWarnDService.queryHarmonicMeasurementAccrued (monitorIdList, dataDate);
|
||||||
RStatOrgMPO rStatOrgMPO = new RStatOrgMPO ( );
|
RStatOrgMPO rStatOrgMPO = new RStatOrgMPO ( );
|
||||||
@@ -162,8 +148,8 @@ public class AreaCountServiceImpl implements AreaCountService {
|
|||||||
rStatOrgMPO.setHarmonicMeasurementAccrued (integer);
|
rStatOrgMPO.setHarmonicMeasurementAccrued (integer);
|
||||||
rStatOrgMPOList.add (rStatOrgMPO);
|
rStatOrgMPOList.add (rStatOrgMPO);
|
||||||
}
|
}
|
||||||
/* 配网区域分类1.2.3类有效接入监测点数*/
|
*//* 配网区域分类1.2.3类有效接入监测点数*//*
|
||||||
/*monitorSort=""获取配网监1,2,3类测点全部数据*/
|
*//*monitorSort=""获取配网监1,2,3类测点全部数据*//*
|
||||||
RStatOrgMPO rStatOrgMPOOne = packageRStatOrgMPO (orgid, lineTypeOneId, dataDate);
|
RStatOrgMPO rStatOrgMPOOne = packageRStatOrgMPO (orgid, lineTypeOneId, dataDate);
|
||||||
RStatOrgMPO rStatOrgMPOTwo = packageRStatOrgMPO (orgid, lineTypeTwoId, dataDate);
|
RStatOrgMPO rStatOrgMPOTwo = packageRStatOrgMPO (orgid, lineTypeTwoId, dataDate);
|
||||||
RStatOrgMPO rStatOrgMPOThree = packageRStatOrgMPO (orgid, lineTypeThreeId, dataDate);
|
RStatOrgMPO rStatOrgMPOThree = packageRStatOrgMPO (orgid, lineTypeThreeId, dataDate);
|
||||||
@@ -175,7 +161,7 @@ public class AreaCountServiceImpl implements AreaCountService {
|
|||||||
|
|
||||||
);
|
);
|
||||||
rStatOrgMService.saveOrUpdateBatchByMultiId (rStatOrgMPOList,500);
|
rStatOrgMService.saveOrUpdateBatchByMultiId (rStatOrgMPOList,500);
|
||||||
}
|
}*/
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -185,7 +171,7 @@ public class AreaCountServiceImpl implements AreaCountService {
|
|||||||
* @Author: clam
|
* @Author: clam
|
||||||
* @Date: 2022/12/13
|
* @Date: 2022/12/13
|
||||||
*/
|
*/
|
||||||
@SneakyThrows
|
/* @SneakyThrows
|
||||||
private void hanlderOracleDay(PrimaryGridParam primaryGridParam) {
|
private void hanlderOracleDay(PrimaryGridParam primaryGridParam) {
|
||||||
|
|
||||||
List<String> orgIdList = primaryGridParam.getOrgIdList ( );
|
List<String> orgIdList = primaryGridParam.getOrgIdList ( );
|
||||||
@@ -193,7 +179,7 @@ public class AreaCountServiceImpl implements AreaCountService {
|
|||||||
List<RStatOrgDPO> rStatOrgDPOList = new ArrayList<> ( );
|
List<RStatOrgDPO> rStatOrgDPOList = new ArrayList<> ( );
|
||||||
|
|
||||||
final Date tempDate = new SimpleDateFormat ("yyyy-MM-dd").parse (dataDate);
|
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 +
|
String lineTypeOneId = redisUtil.getStringByKey (NAME_KEY +
|
||||||
SPLIT_SIGN + DicDataTypeEnum.LINE_SORT.getCode ( ) +
|
SPLIT_SIGN + DicDataTypeEnum.LINE_SORT.getCode ( ) +
|
||||||
SPLIT_SIGN + DicDataEnum.ONE_LINE.getCode ( ));
|
SPLIT_SIGN + DicDataEnum.ONE_LINE.getCode ( ));
|
||||||
@@ -210,13 +196,13 @@ public class AreaCountServiceImpl implements AreaCountService {
|
|||||||
throw new BusinessException (PqsPrepareExceptionEnum.REDIS_NULL_EXCEPTION);
|
throw new BusinessException (PqsPrepareExceptionEnum.REDIS_NULL_EXCEPTION);
|
||||||
}
|
}
|
||||||
orgIdList.forEach (orgid -> {
|
orgIdList.forEach (orgid -> {
|
||||||
/*1.2.2.1. 主网区域分类有效接入监测点数*/
|
*//*1.2.2.1. 主网区域分类有效接入监测点数*//*
|
||||||
/*主网在运监测点*/
|
*//*主网在运监测点*//*
|
||||||
List<PmsMonitorPO> pmsMonitorPOS = pmsMonitorPOService.qurymeasurementRunPoints (orgid);
|
List<Monitor> pmsMonitorPOS = pmsMonitorPOService.qurymeasurementRunPoints (orgid);
|
||||||
/* 根据监测点对象类型分组获取监测点*/
|
*//* 根据监测点对象类型分组获取监测点*//*
|
||||||
Map<String, List<PmsMonitorPO>> collect = pmsMonitorPOS.stream ( ).collect (Collectors.groupingBy (PmsMonitorPO::getMonitorObjectType));
|
Map<String, List<PmsMonitorPO>> collect = pmsMonitorPOS.stream ( ).collect (Collectors.groupingBy (Monitor::getMonitorObjectType));
|
||||||
for (Map.Entry<String, List<PmsMonitorPO>> entry : collect.entrySet ( )) {
|
for (Map.Entry<String, List<PmsMonitorPO>> entry : collect.entrySet ( )) {
|
||||||
/*计算出当前监测点对象类型有效接入监测点个数*/
|
*//*计算出当前监测点对象类型有效接入监测点个数*//*
|
||||||
List<String> monitorIdList = entry.getValue ( ).stream ( ).map (PmsMonitorPO::getId).collect (Collectors.toList ( ));
|
List<String> monitorIdList = entry.getValue ( ).stream ( ).map (PmsMonitorPO::getId).collect (Collectors.toList ( ));
|
||||||
Integer integer = this.queryEffectiveAccessMeasurementCount (monitorIdList, dataDate);
|
Integer integer = this.queryEffectiveAccessMeasurementCount (monitorIdList, dataDate);
|
||||||
RStatOrgDPO rStatOrgDPO = new RStatOrgDPO ( );
|
RStatOrgDPO rStatOrgDPO = new RStatOrgDPO ( );
|
||||||
@@ -227,8 +213,8 @@ public class AreaCountServiceImpl implements AreaCountService {
|
|||||||
rStatOrgDPO.setEffectiveMeasurement (integer);
|
rStatOrgDPO.setEffectiveMeasurement (integer);
|
||||||
rStatOrgDPOList.add (rStatOrgDPO);
|
rStatOrgDPOList.add (rStatOrgDPO);
|
||||||
}
|
}
|
||||||
/* 配网区域分类1.2.3类有效接入监测点数*/
|
*//* 配网区域分类1.2.3类有效接入监测点数*//*
|
||||||
/*monitorSort=""获取配网监1,2,3类测点全部数据*/
|
*//*monitorSort=""获取配网监1,2,3类测点全部数据*//*
|
||||||
RStatOrgDPO rStatOrgDPOOne = packageRStatOrgDPO (orgid, lineTypeOneId, dataDate);
|
RStatOrgDPO rStatOrgDPOOne = packageRStatOrgDPO (orgid, lineTypeOneId, dataDate);
|
||||||
RStatOrgDPO rStatOrgDPOTwo = packageRStatOrgDPO (orgid, lineTypeTwoId, dataDate);
|
RStatOrgDPO rStatOrgDPOTwo = packageRStatOrgDPO (orgid, lineTypeTwoId, dataDate);
|
||||||
RStatOrgDPO rStatOrgDPOThree = packageRStatOrgDPO (orgid, lineTypeThreeId, dataDate);
|
RStatOrgDPO rStatOrgDPOThree = packageRStatOrgDPO (orgid, lineTypeThreeId, dataDate);
|
||||||
@@ -242,15 +228,15 @@ public class AreaCountServiceImpl implements AreaCountService {
|
|||||||
rStatOrgDService.saveOrUpdateBatchByMultiId (rStatOrgDPOList,500);
|
rStatOrgDService.saveOrUpdateBatchByMultiId (rStatOrgDPOList,500);
|
||||||
|
|
||||||
|
|
||||||
}
|
}*/
|
||||||
|
|
||||||
@SneakyThrows
|
/* @SneakyThrows
|
||||||
private RStatOrgMPO packageRStatOrgMPO(String orgid, String lineTypeId, String dataDate) {
|
private RStatOrgMPO packageRStatOrgMPO(String orgid, String lineTypeId, String dataDate) {
|
||||||
RStatOrgMPO rStatOrgMPO = new RStatOrgMPO ( );
|
RStatOrgMPO rStatOrgMPO = new RStatOrgMPO ( );
|
||||||
List<DistributionMonitor> distributionMonitorList = distributionMonitorClient.distributionMonitorListByCondition (orgid, lineTypeId).getData ( );
|
List<DistributionMonitor> distributionMonitorList = distributionMonitorClient.distributionMonitorListByCondition (orgid, lineTypeId).getData ( );
|
||||||
final Date tempDate = new SimpleDateFormat ("yyyy-MM-dd").parse (dataDate);
|
final Date tempDate = new SimpleDateFormat ("yyyy-MM-dd").parse (dataDate);
|
||||||
|
|
||||||
/*计算出当前监测点对象类型有效接入监测点个数*/
|
*//*计算出当前监测点对象类型有效接入监测点个数*//*
|
||||||
List<String> monitorIdList = distributionMonitorList.stream ( ).map (DistributionMonitor::getMonitorId).collect (Collectors.toList ( ));
|
List<String> monitorIdList = distributionMonitorList.stream ( ).map (DistributionMonitor::getMonitorId).collect (Collectors.toList ( ));
|
||||||
|
|
||||||
Integer integer = rMpTargetWarnDService.queryHarmonicMeasurementAccrued (monitorIdList, dataDate);
|
Integer integer = rMpTargetWarnDService.queryHarmonicMeasurementAccrued (monitorIdList, dataDate);
|
||||||
@@ -262,20 +248,20 @@ public class AreaCountServiceImpl implements AreaCountService {
|
|||||||
return rStatOrgMPO;
|
return rStatOrgMPO;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
*//**
|
||||||
* @Description: 计算1,2,3类配网有效接入监测 后包装成RStatOrgDPO
|
* @Description: 计算1,2,3类配网有效接入监测 后包装成RStatOrgDPO
|
||||||
* @Param: [orgid, lineTypeId, dataDate]
|
* @Param: [orgid, lineTypeId, dataDate]
|
||||||
* @return: com.njcn.prepare.harmonic.pojo.mysql.po.RStatOrgDPO
|
* @return: com.njcn.prepare.harmonic.pojo.mysql.po.RStatOrgDPO
|
||||||
* @Author: clam
|
* @Author: clam
|
||||||
* @Date: 2022/12/14
|
* @Date: 2022/12/14
|
||||||
*/
|
*//*
|
||||||
@SneakyThrows
|
@SneakyThrows
|
||||||
private RStatOrgDPO packageRStatOrgDPO(String orgid, String lineTypeId, String dataDate) {
|
private RStatOrgDPO packageRStatOrgDPO(String orgid, String lineTypeId, String dataDate) {
|
||||||
RStatOrgDPO rStatOrgDPO = new RStatOrgDPO ( );
|
RStatOrgDPO rStatOrgDPO = new RStatOrgDPO ( );
|
||||||
List<DistributionMonitor> distributionMonitorList = distributionMonitorClient.distributionMonitorListByCondition (orgid, lineTypeId).getData ( );
|
List<DistributionMonitor> distributionMonitorList = distributionMonitorClient.distributionMonitorListByCondition (orgid, lineTypeId).getData ( );
|
||||||
final Date tempDate = new SimpleDateFormat ("yyyy-MM-dd").parse (dataDate);
|
final Date tempDate = new SimpleDateFormat ("yyyy-MM-dd").parse (dataDate);
|
||||||
|
|
||||||
/*计算出当前监测点对象类型有效接入监测点个数*/
|
*//*计算出当前监测点对象类型有效接入监测点个数*//*
|
||||||
List<String> monitorIdList = distributionMonitorList.stream ( ).map (DistributionMonitor::getMonitorId).collect (Collectors.toList ( ));
|
List<String> monitorIdList = distributionMonitorList.stream ( ).map (DistributionMonitor::getMonitorId).collect (Collectors.toList ( ));
|
||||||
Integer integer = this.queryEffectiveAccessMeasurementCount (monitorIdList, dataDate);
|
Integer integer = this.queryEffectiveAccessMeasurementCount (monitorIdList, dataDate);
|
||||||
rStatOrgDPO.setOrgNo (orgid);
|
rStatOrgDPO.setOrgNo (orgid);
|
||||||
@@ -287,7 +273,7 @@ public class AreaCountServiceImpl implements AreaCountService {
|
|||||||
return rStatOrgDPO;
|
return rStatOrgDPO;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
*//**
|
||||||
* @Description: 有效接入监测点个数
|
* @Description: 有效接入监测点个数
|
||||||
* 1.获取pms_monitor表中监测点状态为投运的监测点id列表
|
* 1.获取pms_monitor表中监测点状态为投运的监测点id列表
|
||||||
* 2.根据id查询r_mp_integrity_d表中当天各项指标个数,采用以下公式计算数据完整率
|
* 2.根据id查询r_mp_integrity_d表中当天各项指标个数,采用以下公式计算数据完整率
|
||||||
@@ -300,16 +286,16 @@ public class AreaCountServiceImpl implements AreaCountService {
|
|||||||
* @return: java.lang.String
|
* @return: java.lang.String
|
||||||
* @Author: clam
|
* @Author: clam
|
||||||
* @Date: 2022/11/25
|
* @Date: 2022/11/25
|
||||||
*/
|
*//*
|
||||||
private Integer queryEffectiveAccessMeasurementCount(List<String> indexlist, String dataDate) {
|
private Integer queryEffectiveAccessMeasurementCount(List<String> indexlist, String dataDate) {
|
||||||
|
|
||||||
/*获取监测点的数据完整性*/
|
*//*获取监测点的数据完整性*//*
|
||||||
List<MonitorDataIntegrityDTO> monitorDataIntegrityDTOList = rMpIntegrityDPOService.calculateDataIntegrity (indexlist, dataDate);
|
List<MonitorDataIntegrityDTO> monitorDataIntegrityDTOList = rMpIntegrityDPOService.calculateDataIntegrity (indexlist, dataDate);
|
||||||
/*获取完整率>0.95的监测点id*/
|
*//*获取完整率>0.95的监测点id*//*
|
||||||
List<String> collect = monitorDataIntegrityDTOList.stream ( ).
|
List<String> collect = monitorDataIntegrityDTOList.stream ( ).
|
||||||
filter (temp -> temp.getDataIntegrity ( ).compareTo (new BigDecimal (0.95)) == 1
|
filter (temp -> temp.getDataIntegrity ( ).compareTo (new BigDecimal (0.95)) == 1
|
||||||
).map (MonitorDataIntegrityDTO::getId).collect (Collectors.toList ( ));
|
).map (MonitorDataIntegrityDTO::getId).collect (Collectors.toList ( ));
|
||||||
/*获取完整率>0.95条件下value_alarm为1的监测点id*/
|
*//*获取完整率>0.95条件下value_alarm为1的监测点id*//*
|
||||||
if (CollectionUtils.isEmpty (collect)) {
|
if (CollectionUtils.isEmpty (collect)) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@@ -322,5 +308,5 @@ public class AreaCountServiceImpl implements AreaCountService {
|
|||||||
|
|
||||||
return rStatAbnormalDPOS.size ( );
|
return rStatAbnormalDPOS.size ( );
|
||||||
|
|
||||||
}
|
}*/
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package com.njcn.prepare.harmonic.service.mysql.Impl.area;
|
|||||||
|
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
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.constant.Param;
|
||||||
import com.njcn.device.pq.pojo.po.PmsAbnormalRules;
|
import com.njcn.device.pq.pojo.po.PmsAbnormalRules;
|
||||||
import com.njcn.harmonic.pojo.po.PmsMonitorPO;
|
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);
|
final Date tempDate = new SimpleDateFormat ("yyyy-MM-dd").parse (dataDate);
|
||||||
orgIdList.forEach (orgid -> {
|
orgIdList.forEach (orgid -> {
|
||||||
/*主网在运监测点*/
|
/*主网在运监测点*/
|
||||||
List<PmsMonitorPO> pmsMonitorPOS = pmsMonitorPOService.qurymeasurementRunPoints (orgid);
|
List<Monitor> pmsMonitorPOS = pmsMonitorPOService.qurymeasurementRunPoints (orgid);
|
||||||
List<String> mysqlIndexList = pmsMonitorPOS.stream ( ).map (PmsMonitorPO::getId).collect (Collectors.toList ( ));
|
List<String> mysqlIndexList = pmsMonitorPOS.stream ( ).map (Monitor::getId).collect (Collectors.toList ( ));
|
||||||
if (CollectionUtil.isEmpty (mysqlIndexList)) {
|
if (CollectionUtil.isEmpty (mysqlIndexList)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -129,7 +130,7 @@ public class EffectiveMinuteCountServiceImpl implements EffectiveMinuteCountServ
|
|||||||
eq ("DATE_FORMAT( data_date ,'%Y-%m-%d')", dataDate);
|
eq ("DATE_FORMAT( data_date ,'%Y-%m-%d')", dataDate);
|
||||||
List<RStatAbnormalDPO> rStatAbnormalDPOS = rStatAbnormalDPOMapper.selectList (rStatAbnormalDPOLambdaQueryWrapper);
|
List<RStatAbnormalDPO> rStatAbnormalDPOS = rStatAbnormalDPOMapper.selectList (rStatAbnormalDPOLambdaQueryWrapper);
|
||||||
List<String> collect = rStatAbnormalDPOS.stream ( ).map (RStatAbnormalDPO::getMeasurementPointId).collect (Collectors.toList ( ));
|
List<String> collect = rStatAbnormalDPOS.stream ( ).map (RStatAbnormalDPO::getMeasurementPointId).collect (Collectors.toList ( ));
|
||||||
List<PmsMonitorPO> collect1 = pmsMonitorPOS.stream ( ).filter (temp -> collect.contains (temp.getId ( ))).collect (Collectors.toList ( ));
|
List<Monitor> collect1 = pmsMonitorPOS.stream ( ).filter (temp -> collect.contains (temp.getId ( ))).collect (Collectors.toList ( ));
|
||||||
// /*测试造的数据*/
|
// /*测试造的数据*/
|
||||||
// List<PmsMonitorPO> collect1 = new ArrayList<> ();
|
// List<PmsMonitorPO> collect1 = new ArrayList<> ();
|
||||||
// PmsMonitorPO pmsMonitorPO = new PmsMonitorPO();
|
// PmsMonitorPO pmsMonitorPO = new PmsMonitorPO();
|
||||||
@@ -208,8 +209,8 @@ public class EffectiveMinuteCountServiceImpl implements EffectiveMinuteCountServ
|
|||||||
final Date tempDate = new SimpleDateFormat ("yyyy-MM-dd").parse (dataDate);
|
final Date tempDate = new SimpleDateFormat ("yyyy-MM-dd").parse (dataDate);
|
||||||
orgIdList.forEach (orgid -> {
|
orgIdList.forEach (orgid -> {
|
||||||
/*主网在运监测点*/
|
/*主网在运监测点*/
|
||||||
List<PmsMonitorPO> pmsMonitorPOS = pmsMonitorPOService.qurymeasurementRunPoints (orgid);
|
List<Monitor> pmsMonitorPOS = pmsMonitorPOService.qurymeasurementRunPoints (orgid);
|
||||||
List<String> mysqlIndexList = pmsMonitorPOS.stream ( ).map (PmsMonitorPO::getId).collect (Collectors.toList ( ));
|
List<String> mysqlIndexList = pmsMonitorPOS.stream ( ).map (Monitor::getId).collect (Collectors.toList ( ));
|
||||||
if (CollectionUtil.isEmpty (mysqlIndexList)) {
|
if (CollectionUtil.isEmpty (mysqlIndexList)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -221,7 +222,7 @@ public class EffectiveMinuteCountServiceImpl implements EffectiveMinuteCountServ
|
|||||||
eq ("DATE_FORMAT( data_date ,'%Y-%m-%d')", dataDate);
|
eq ("DATE_FORMAT( data_date ,'%Y-%m-%d')", dataDate);
|
||||||
List<RStatAbnormalDPO> rStatAbnormalDPOS = rStatAbnormalDPOMapper.selectList (rStatAbnormalDPOLambdaQueryWrapper);
|
List<RStatAbnormalDPO> rStatAbnormalDPOS = rStatAbnormalDPOMapper.selectList (rStatAbnormalDPOLambdaQueryWrapper);
|
||||||
List<String> collect = rStatAbnormalDPOS.stream ( ).map (RStatAbnormalDPO::getMeasurementPointId).collect (Collectors.toList ( ));
|
List<String> collect = rStatAbnormalDPOS.stream ( ).map (RStatAbnormalDPO::getMeasurementPointId).collect (Collectors.toList ( ));
|
||||||
List<PmsMonitorPO> collect1 = pmsMonitorPOS.stream ( ).filter (temp -> collect.contains (temp.getId ( ))).collect (Collectors.toList ( ));
|
List<Monitor> collect1 = pmsMonitorPOS.stream ( ).filter (temp -> collect.contains (temp.getId ( ))).collect (Collectors.toList ( ));
|
||||||
/*测试造的数据*/
|
/*测试造的数据*/
|
||||||
// List<PmsMonitorPO> collect1 = new ArrayList<> ();
|
// List<PmsMonitorPO> collect1 = new ArrayList<> ();
|
||||||
// PmsMonitorPO pmsMonitorPO = new PmsMonitorPO();
|
// PmsMonitorPO pmsMonitorPO = new PmsMonitorPO();
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import com.njcn.common.pojo.exception.BusinessException;
|
|||||||
import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
|
import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
|
||||||
import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO;
|
import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO;
|
||||||
import com.njcn.device.biz.pojo.param.DeptGetLineParam;
|
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.harmonic.pojo.po.PmsMonitorPO;
|
||||||
import com.njcn.prepare.harmonic.constant.PqsPrepareExceptionEnum;
|
import com.njcn.prepare.harmonic.constant.PqsPrepareExceptionEnum;
|
||||||
import com.njcn.prepare.harmonic.mapper.mysql.area.PmsMonitorPOMapper;
|
import com.njcn.prepare.harmonic.mapper.mysql.area.PmsMonitorPOMapper;
|
||||||
@@ -36,7 +37,7 @@ import static com.njcn.system.pojo.constant.DicDataConstant.SPLIT_SIGN;
|
|||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class PmsMonitorPOServiceImpl extends ServiceImpl<PmsMonitorPOMapper, PmsMonitorPO> implements PmsMonitorPOService{
|
public class PmsMonitorPOServiceImpl extends ServiceImpl<PmsMonitorPOMapper, Monitor> implements PmsMonitorPOService{
|
||||||
|
|
||||||
private final RedisUtil redisUtil;
|
private final RedisUtil redisUtil;
|
||||||
|
|
||||||
@@ -52,13 +53,13 @@ public class PmsMonitorPOServiceImpl extends ServiceImpl<PmsMonitorPOMapper, Pms
|
|||||||
* @Date: 2022/11/25
|
* @Date: 2022/11/25
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<PmsMonitorPO> qurymeasurementRunPoints(String orgid) {
|
public List<Monitor> qurymeasurementRunPoints(String orgid) {
|
||||||
|
|
||||||
LambdaQueryWrapper<PmsMonitorPO> monitorPOLambdaQueryWrapper = new LambdaQueryWrapper ( );
|
LambdaQueryWrapper<Monitor> monitorPOLambdaQueryWrapper = new LambdaQueryWrapper ( );
|
||||||
/*获取当前部门及子部门*/
|
/*获取当前部门及子部门*/
|
||||||
List<String> deptIds = deptFeignClient.getDepSonSelfCodetByDeptId(orgid).getData();
|
List<String> deptIds = deptFeignClient.getDepSonSelfCodetByDeptId(orgid).getData();
|
||||||
|
|
||||||
monitorPOLambdaQueryWrapper.in (PmsMonitorPO::getOrgId, deptIds);
|
monitorPOLambdaQueryWrapper.in (Monitor::getOrgId, deptIds);
|
||||||
// List<DictData> data = dicDataFeignClient.getDicDataByTypeCode (DicDataTypeEnum.LINE_STATE.getCode ( )).getData ( );
|
// List<DictData> data = dicDataFeignClient.getDicDataByTypeCode (DicDataTypeEnum.LINE_STATE.getCode ( )).getData ( );
|
||||||
// List<DictData> collect = data.stream ( ).filter (temp -> Objects.equals (temp.getCode ( ), DicDataEnum.RUN.getCode ())).collect (Collectors.toList ( ));
|
// List<DictData> collect = data.stream ( ).filter (temp -> Objects.equals (temp.getCode ( ), DicDataEnum.RUN.getCode ())).collect (Collectors.toList ( ));
|
||||||
String state = redisUtil.getStringByKey (NAME_KEY+
|
String state = redisUtil.getStringByKey (NAME_KEY+
|
||||||
@@ -67,8 +68,8 @@ public class PmsMonitorPOServiceImpl extends ServiceImpl<PmsMonitorPOMapper, Pms
|
|||||||
if(StringUtils.isEmpty (state)){
|
if(StringUtils.isEmpty (state)){
|
||||||
throw new BusinessException (PqsPrepareExceptionEnum.REDIS_NULL_EXCEPTION);
|
throw new BusinessException (PqsPrepareExceptionEnum.REDIS_NULL_EXCEPTION);
|
||||||
}
|
}
|
||||||
monitorPOLambdaQueryWrapper.eq (PmsMonitorPO::getMonitorState, state);
|
monitorPOLambdaQueryWrapper.eq (Monitor::getMonitorState, state);
|
||||||
List<PmsMonitorPO> pmsMonitorPOS = pmsMonitorPOMapper.selectList (monitorPOLambdaQueryWrapper);
|
List<Monitor> pmsMonitorPOS = pmsMonitorPOMapper.selectList (monitorPOLambdaQueryWrapper);
|
||||||
return pmsMonitorPOS;
|
return pmsMonitorPOS;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import com.njcn.common.pojo.exception.BusinessException;
|
|||||||
import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
|
import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
|
||||||
import com.njcn.device.biz.pojo.dto.LineDevGetDTO;
|
import com.njcn.device.biz.pojo.dto.LineDevGetDTO;
|
||||||
import com.njcn.device.biz.pojo.param.DeptGetLineParam;
|
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.harmonic.pojo.po.*;
|
||||||
import com.njcn.prepare.harmonic.constant.AlgorithmParam;
|
import com.njcn.prepare.harmonic.constant.AlgorithmParam;
|
||||||
import com.njcn.prepare.harmonic.constant.PqsPrepareExceptionEnum;
|
import com.njcn.prepare.harmonic.constant.PqsPrepareExceptionEnum;
|
||||||
@@ -122,17 +123,17 @@ public class PrimaryGridDataServiceImpl implements PrimaryGridDataService {
|
|||||||
deviceIds.forEach(deviceId -> {
|
deviceIds.forEach(deviceId -> {
|
||||||
double dev_data_rate = 0.00;
|
double dev_data_rate = 0.00;
|
||||||
/*获取终端下的监测点集合*/
|
/*获取终端下的监测点集合*/
|
||||||
QueryWrapper<PmsMonitorPO> queryWrapper = new QueryWrapper<>();
|
QueryWrapper<Monitor> queryWrapper = new QueryWrapper<>();
|
||||||
String state = redisUtil.getStringByKey(NAME_KEY +
|
String state = redisUtil.getStringByKey(NAME_KEY +
|
||||||
SPLIT_SIGN + DicDataTypeEnum.LINE_STATE.getCode() +
|
SPLIT_SIGN + DicDataTypeEnum.LINE_STATE.getCode() +
|
||||||
SPLIT_SIGN + DicDataEnum.RUN.getCode());
|
SPLIT_SIGN + DicDataEnum.RUN.getCode());
|
||||||
if (StringUtils.isEmpty(state)) {
|
if (StringUtils.isEmpty(state)) {
|
||||||
throw new BusinessException(PqsPrepareExceptionEnum.REDIS_NULL_EXCEPTION);
|
throw new BusinessException(PqsPrepareExceptionEnum.REDIS_NULL_EXCEPTION);
|
||||||
}
|
}
|
||||||
queryWrapper.lambda().eq(PmsMonitorPO::getTerminalId, deviceId).
|
queryWrapper.lambda().eq(Monitor::getTerminalId, deviceId).
|
||||||
eq(PmsMonitorPO::getMonitorState, state);
|
eq(Monitor::getMonitorState, state);
|
||||||
List<PmsMonitorPO> list = pmsMonitorPOService.list(queryWrapper);
|
List<Monitor> list = pmsMonitorPOService.list(queryWrapper);
|
||||||
List<String> mysqlIndexList = list.stream().map(PmsMonitorPO::getId).collect(Collectors.toList());
|
List<String> mysqlIndexList = list.stream().map(Monitor::getId).collect(Collectors.toList());
|
||||||
/*获取检测点的月平均数据完整率*/
|
/*获取检测点的月平均数据完整率*/
|
||||||
List<MonitorDataIntegrityDTO> monitorDataIntegrityDTOList = rMpIntegrityDPOService.calculateMouthDataIntegrity(mysqlIndexList, dataDate);
|
List<MonitorDataIntegrityDTO> monitorDataIntegrityDTOList = rMpIntegrityDPOService.calculateMouthDataIntegrity(mysqlIndexList, dataDate);
|
||||||
/*求平均值*/
|
/*求平均值*/
|
||||||
@@ -356,10 +357,10 @@ public class PrimaryGridDataServiceImpl implements PrimaryGridDataService {
|
|||||||
orgIdList.forEach(orgid -> {
|
orgIdList.forEach(orgid -> {
|
||||||
|
|
||||||
/*measurement_run_points:在运监测点个数*/
|
/*measurement_run_points:在运监测点个数*/
|
||||||
List<PmsMonitorPO> pmsMonitorPOS = pmsMonitorPOService.qurymeasurementRunPoints(orgid);
|
List<Monitor> pmsMonitorPOS = pmsMonitorPOService.qurymeasurementRunPoints(orgid);
|
||||||
Integer measurement_run_points = pmsMonitorPOS.size();
|
Integer measurement_run_points = pmsMonitorPOS.size();
|
||||||
/*获取mysql与Oracle监测点id对应关系*/
|
/*获取mysql与Oracle监测点id对应关系*/
|
||||||
List<String> mysqlIndexList = pmsMonitorPOS.stream().map(PmsMonitorPO::getId).collect(Collectors.toList());
|
List<String> mysqlIndexList = pmsMonitorPOS.stream().map(Monitor::getId).collect(Collectors.toList());
|
||||||
|
|
||||||
List<PqLinedetailPO> pqLinedetailPOS = pqLinedetailPOService.queryOracleIndexIdByMysqlIndexId(mysqlIndexList);
|
List<PqLinedetailPO> pqLinedetailPOS = pqLinedetailPOService.queryOracleIndexIdByMysqlIndexId(mysqlIndexList);
|
||||||
List<Integer> oracleIndexlist = pqLinedetailPOS.stream().map(PqLinedetailPO::getLineIndex).collect(Collectors.toList());
|
List<Integer> oracleIndexlist = pqLinedetailPOS.stream().map(PqLinedetailPO::getLineIndex).collect(Collectors.toList());
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ import java.util.stream.Collectors;
|
|||||||
public class RStatAbnormalDPOServiceImpl extends MppServiceImpl<RStatAbnormalDPOMapper, RStatAbnormalDPO> implements RStatAbnormalDPOService {
|
public class RStatAbnormalDPOServiceImpl extends MppServiceImpl<RStatAbnormalDPOMapper, RStatAbnormalDPO> implements RStatAbnormalDPOService {
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
|
||||||
private @Autowired
|
private @Autowired
|
||||||
RStatAbnormalDPOMapper rStatAbnormalDPOMapper;
|
RStatAbnormalDPOMapper rStatAbnormalDPOMapper;
|
||||||
@@ -45,6 +46,7 @@ public class RStatAbnormalDPOServiceImpl extends MppServiceImpl<RStatAbnormalDPO
|
|||||||
|
|
||||||
private @Autowired
|
private @Autowired
|
||||||
PqLinedetailPOService pqLinedetailPOService;
|
PqLinedetailPOService pqLinedetailPOService;
|
||||||
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param primaryGridParam
|
* @param primaryGridParam
|
||||||
@@ -58,7 +60,7 @@ public class RStatAbnormalDPOServiceImpl extends MppServiceImpl<RStatAbnormalDPO
|
|||||||
@Async("asyncExecutor")
|
@Async("asyncExecutor")
|
||||||
public void rStatAbnormalDDataHanlder(PrimaryGridParam primaryGridParam) {
|
public void rStatAbnormalDDataHanlder(PrimaryGridParam primaryGridParam) {
|
||||||
if (Objects.equals (primaryGridParam.getDataSource ( ), 0)) {
|
if (Objects.equals (primaryGridParam.getDataSource ( ), 0)) {
|
||||||
this.hanlderOracleData (primaryGridParam);
|
//this.hanlderOracleData (primaryGridParam);
|
||||||
} else if (Objects.equals (primaryGridParam.getDataSource ( ), 1)) {
|
} else if (Objects.equals (primaryGridParam.getDataSource ( ), 1)) {
|
||||||
this.hanlderInfludxbData (primaryGridParam);
|
this.hanlderInfludxbData (primaryGridParam);
|
||||||
}
|
}
|
||||||
@@ -80,7 +82,7 @@ public class RStatAbnormalDPOServiceImpl extends MppServiceImpl<RStatAbnormalDPO
|
|||||||
* @Author: clam
|
* @Author: clam
|
||||||
* @Date: 2022/11/25
|
* @Date: 2022/11/25
|
||||||
*/
|
*/
|
||||||
@SneakyThrows
|
/* @SneakyThrows
|
||||||
private void hanlderOracleData(PrimaryGridParam primaryGridParam) {
|
private void hanlderOracleData(PrimaryGridParam primaryGridParam) {
|
||||||
|
|
||||||
List<String> orgIdList = primaryGridParam.getOrgIdList ( );
|
List<String> orgIdList = primaryGridParam.getOrgIdList ( );
|
||||||
@@ -91,10 +93,10 @@ public class RStatAbnormalDPOServiceImpl extends MppServiceImpl<RStatAbnormalDPO
|
|||||||
|
|
||||||
orgIdList.forEach (orgid -> {
|
orgIdList.forEach (orgid -> {
|
||||||
|
|
||||||
/*measurement_run_points:在运监测点个数*/
|
*//*measurement_run_points:在运监测点个数*//*
|
||||||
/*measurement_run_points:在运监测点个数*/
|
*//*measurement_run_points:在运监测点个数*//*
|
||||||
List<PmsMonitorPO> pmsMonitorPOS = pmsMonitorPOService.qurymeasurementRunPoints (orgid);
|
List<PmsMonitorPO> pmsMonitorPOS = pmsMonitorPOService.qurymeasurementRunPoints (orgid);
|
||||||
/*获取mysql与Oracle监测点id对应关系*/
|
*//*获取mysql与Oracle监测点id对应关系*//*
|
||||||
List<String> mysqlIndexList = pmsMonitorPOS.stream ( ).map (PmsMonitorPO::getId).collect (Collectors.toList ( ));
|
List<String> mysqlIndexList = pmsMonitorPOS.stream ( ).map (PmsMonitorPO::getId).collect (Collectors.toList ( ));
|
||||||
|
|
||||||
List<PqLinedetailPO> pqLinedetailPOS = pqLinedetailPOService.queryOracleIndexIdByMysqlIndexId (mysqlIndexList);
|
List<PqLinedetailPO> pqLinedetailPOS = pqLinedetailPOService.queryOracleIndexIdByMysqlIndexId (mysqlIndexList);
|
||||||
@@ -105,5 +107,5 @@ public class RStatAbnormalDPOServiceImpl extends MppServiceImpl<RStatAbnormalDPO
|
|||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
}
|
}*/
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.njcn.prepare.harmonic.service.mysql.Impl.voltage;
|
package com.njcn.prepare.harmonic.service.mysql.Impl.busBar;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author denghuajun
|
* @author denghuajun
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.njcn.prepare.harmonic.service.mysql.area;
|
package com.njcn.prepare.harmonic.service.mysql.area;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.njcn.device.pms.pojo.po.Monitor;
|
||||||
import com.njcn.harmonic.pojo.po.PmsMonitorPO;
|
import com.njcn.harmonic.pojo.po.PmsMonitorPO;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -13,7 +14,7 @@ import java.util.List;
|
|||||||
* @author clam
|
* @author clam
|
||||||
* @version V1.0.0
|
* @version V1.0.0
|
||||||
*/
|
*/
|
||||||
public interface PmsMonitorPOService extends IService<PmsMonitorPO> {
|
public interface PmsMonitorPOService extends IService<Monitor> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 在运监测点集合
|
* @Description: 在运监测点集合
|
||||||
@@ -22,6 +23,6 @@ public interface PmsMonitorPOService extends IService<PmsMonitorPO> {
|
|||||||
* @Author: clam
|
* @Author: clam
|
||||||
* @Date: 2022/11/25
|
* @Date: 2022/11/25
|
||||||
*/
|
*/
|
||||||
List<PmsMonitorPO> qurymeasurementRunPoints(String orgid);
|
List<Monitor> qurymeasurementRunPoints(String orgid);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 母线监测总概览 服务类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author hongawen
|
||||||
|
* @since 2023-11-14
|
||||||
|
*/
|
||||||
|
public interface IRDimBusGlobalDService extends IService<RDimBusGlobalD> {
|
||||||
|
|
||||||
|
public void globalCalBusBar(CalculatedParam calculatedParam);
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 服务类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author hongawen
|
||||||
|
* @since 2023-11-14
|
||||||
|
*/
|
||||||
|
public interface IRDimBusGlobalMService extends IService<RDimBusGlobalM> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 服务类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author hongawen
|
||||||
|
* @since 2023-11-14
|
||||||
|
*/
|
||||||
|
public interface IRDimBusGlobalYService extends IService<RDimBusGlobalY> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 服务类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author hongawen
|
||||||
|
* @since 2023-11-14
|
||||||
|
*/
|
||||||
|
public interface IRDimBusTargetDService extends IService<RDimBusTargetD> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 服务类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author hongawen
|
||||||
|
* @since 2023-11-14
|
||||||
|
*/
|
||||||
|
public interface IRDimBusTargetMService extends IService<RDimBusTargetM> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 服务类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author hongawen
|
||||||
|
* @since 2023-11-14
|
||||||
|
*/
|
||||||
|
public interface IRDimBusTargetYService extends IService<RDimBusTargetY> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 服务类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author hongawen
|
||||||
|
* @since 2023-11-14
|
||||||
|
*/
|
||||||
|
public interface IRDimStationGlobalDService extends IService<RDimStationGlobalD> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 服务类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author hongawen
|
||||||
|
* @since 2023-11-14
|
||||||
|
*/
|
||||||
|
public interface IRDimStationGlobalMService extends IService<RDimStationGlobalM> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 服务类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author hongawen
|
||||||
|
* @since 2023-11-14
|
||||||
|
*/
|
||||||
|
public interface IRDimStationGlobalYService extends IService<RDimStationGlobalY> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 母线监测总概览 服务实现类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author hongawen
|
||||||
|
* @since 2023-11-14
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class RDimBusGlobalDServiceImpl extends ServiceImpl<RDimBusGlobalDMapper, RDimBusGlobalD> 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<RDimBusGlobalD> 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<DeptGetChildrenDTO> deptList = commTerminalGeneralClient.deptGetLineList(deptGetLineParam).getData();
|
||||||
|
for(DeptGetChildrenDTO dto : deptList){
|
||||||
|
RDimBusGlobalD rDimBusGlobalD = new RDimBusGlobalD();
|
||||||
|
rDimBusGlobalD.setOrgId(dto.getDeptId());
|
||||||
|
rDimBusGlobalD.setStatisDate(date);
|
||||||
|
|
||||||
|
List<String> monitorIds = dto.getLineIds();
|
||||||
|
if(CollectionUtil.isNotEmpty(monitorIds)){
|
||||||
|
//先初步筛选出完整性大于95%的
|
||||||
|
LambdaQueryWrapper<RStatIntegrityD> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
lambdaQueryWrapper.in(RStatIntegrityD::getLineIndex,monitorIds).eq(RStatIntegrityD::getTimeId,date);
|
||||||
|
List<RStatIntegrityD> 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<String> goodMonitorIds = integrityDList.stream().map(RStatIntegrityD::getLineIndex).distinct().collect(Collectors.toList());
|
||||||
|
LambdaQueryWrapper<Monitor> monitorLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
monitorLambdaQueryWrapper.select(Monitor::getId,Monitor::getLineId).in(Monitor::getId,goodMonitorIds).eq(Monitor::getStatus,DataStateEnum.ENABLE.getCode());
|
||||||
|
List<Monitor> monitorList = pmsMonitorPOMapper.selectList(monitorLambdaQueryWrapper);
|
||||||
|
List<String> busBarIds = monitorList.stream().map(Monitor::getLineId).collect(Collectors.toList());
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 服务实现类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author hongawen
|
||||||
|
* @since 2023-11-14
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class RDimBusGlobalMServiceImpl extends ServiceImpl<RDimBusGlobalMMapper, RDimBusGlobalM> implements IRDimBusGlobalMService {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 服务实现类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author hongawen
|
||||||
|
* @since 2023-11-14
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class RDimBusGlobalYServiceImpl extends ServiceImpl<RDimBusGlobalYMapper, RDimBusGlobalY> implements IRDimBusGlobalYService {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 服务实现类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author hongawen
|
||||||
|
* @since 2023-11-14
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class RDimBusTargetDServiceImpl extends ServiceImpl<RDimBusTargetDMapper, RDimBusTargetD> implements IRDimBusTargetDService {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 服务实现类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author hongawen
|
||||||
|
* @since 2023-11-14
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class RDimBusTargetMServiceImpl extends ServiceImpl<RDimBusTargetMMapper, RDimBusTargetM> implements IRDimBusTargetMService {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 服务实现类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author hongawen
|
||||||
|
* @since 2023-11-14
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class RDimBusTargetYServiceImpl extends ServiceImpl<RDimBusTargetYMapper, RDimBusTargetY> implements IRDimBusTargetYService {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 服务实现类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author hongawen
|
||||||
|
* @since 2023-11-14
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class RDimStationGlobalDServiceImpl extends ServiceImpl<RDimStationGlobalDMapper, RDimStationGlobalD> implements IRDimStationGlobalDService {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 服务实现类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author hongawen
|
||||||
|
* @since 2023-11-14
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class RDimStationGlobalMServiceImpl extends ServiceImpl<RDimStationGlobalMMapper, RDimStationGlobalM> implements IRDimStationGlobalMService {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 服务实现类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author hongawen
|
||||||
|
* @since 2023-11-14
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class RDimStationGlobalYServiceImpl extends ServiceImpl<RDimStationGlobalYMapper, RDimStationGlobalY> implements IRDimStationGlobalYService {
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user