1.数据质量统计算法->台账质量统计算法

This commit is contained in:
wr
2023-10-11 14:01:42 +08:00
parent 759e2d2015
commit 52aa0cfd6f
20 changed files with 398 additions and 23 deletions

View File

@@ -55,4 +55,13 @@ public interface PmsGeneratrixWireMapper extends MppBaseMapper<GeneratrixWire> {
* @date 2023/5/11
*/
List<GeneratrixWire> getGeneratrixWireList();
/**
* @Description: 监测点和线路关系
* @param
* @return: java.util.List<com.njcn.device.pms.pojo.po.GeneratrixWire>
* @Author: wr
* @Date: 2023/10/11 13:57
*/
List<GeneratrixWire> getWireAndMonitor();
}

View File

@@ -125,7 +125,17 @@
on pms_generatrix_wire.Station_Id = pms_statation_stat.Power_Id
where pms_generatrix_wire.status = 1
</select>
<select id="getWireAndMonitor" resultType="com.njcn.device.pms.pojo.po.GeneratrixWire">
SELECT
monitor.id as id,
monitor.Org_Id as orgId
FROM
pms_generatrix_wire wire
INNER JOIN pms_statation_stat stat ON wire.Station_Id = stat.Power_Id
INNER JOIN pms_monitor monitor ON monitor.Line_Id = wire.id
WHERE
wire.STATUS = 1
</select>
</mapper>

View File

@@ -92,7 +92,7 @@ public class PwDataQualityStatServiceImpl implements PwDataQualityStatService {
BeanUtils.copyProperties(po, vo);
vo.setOrgName(deptDTOMap.get(vo.getOrgNo()).getName());
vo.setMeasurementCompleteQuantity(Double.toString(
Integer.parseInt(po.getMeasurementCount()) * Double.parseDouble(po.getMonitoringIntegrityRate())
Integer.parseInt(po.getMeasurementCount()) * po.getMonitoringIntegrityRate()
));
return vo;
}).collect(Collectors.toList());

View File

@@ -17,6 +17,8 @@ import com.njcn.device.biz.pojo.po.Overlimit;
import com.njcn.device.biz.utils.COverlimitUtil;
import com.njcn.device.pms.mapper.majornetwork.*;
import com.njcn.device.pms.pojo.dto.PmsMonitorBaseDTO;
import com.njcn.device.pms.pojo.dto.PmsStatationStatInfoDTO;
import com.njcn.device.pms.pojo.param.PmsStatationStatInfoParam;
import com.njcn.device.pms.pojo.po.*;
import com.njcn.device.pms.service.ledgerManger.DeptLineService;
import com.njcn.device.pms.service.ledgerManger.CommTerminalService;
@@ -174,6 +176,10 @@ public class CommTerminalServiceImpl implements CommTerminalService {
List<StatationStat> statationStatList = statationStatMapper.selectList(new LambdaQueryWrapper<StatationStat>().eq(StatationStat::getStatus, 1));
Map<String, List<StatationStat>> map = statationStatList.stream().collect(Collectors.groupingBy(StatationStat::getOrgId));
//获取监测点信息
List<PmsStatationStatInfoDTO> statationStatInfo = statationStatMapper.getStatationStatInfo(new PmsStatationStatInfoParam());
Map<String, List<PmsStatationStatInfoDTO>> statationAndMonitorMap = statationStatInfo.stream().collect(Collectors.groupingBy(PmsStatationStatInfoDTO::getOrgId));
//List<PmsMonitorBaseDTO> pmsMonitorBaseDTOList = distributionMonitorMapper.getDisMonitorAllList(null, 0);
//Map<String, List<PmsMonitorBaseDTO>> mapPms = pmsMonitorBaseDTOList.stream().collect(Collectors.groupingBy(PmsMonitorBaseDTO::getOrgId));
@@ -187,15 +193,21 @@ public class CommTerminalServiceImpl implements CommTerminalService {
if (CollectionUtil.isNotEmpty(deptIds)) {
List<String> lineList = new ArrayList<>();
List<String> lineListPw = new ArrayList<>();
List<String> statationList = new ArrayList<>();
deptIds.forEach(i -> {
if (map.containsKey(i)) {
lineList.addAll(map.get(i).stream().map(StatationStat::getPowerId).distinct().collect(Collectors.toList()));
}
if(statationAndMonitorMap.containsKey(i)){
statationList.addAll(statationAndMonitorMap.get(i).stream().filter(x->x.getPowerId()!=null).map(PmsStatationStatInfoDTO::getMonitorId).collect(Collectors.toList()));
}
/*if (mapPms.containsKey(i)) {
lineListPw.addAll(mapPms.get(i).stream().map(PmsMonitorBaseDTO::getPowerrId).distinct().collect(Collectors.toList()));
}*/
});
deptGetSubStationDTO.setStationIds(lineList.stream().distinct().collect(Collectors.toList()));
deptGetSubStationDTO.setStationAndMonitorIDs(statationList.stream().distinct().collect(Collectors.toList()));
deptGetSubStationDTO.setPwStationIds(lineListPw.stream().distinct().collect(Collectors.toList()));
}
@@ -212,6 +224,10 @@ public class CommTerminalServiceImpl implements CommTerminalService {
List<GeneratrixWire> generatrixWireList = pmsGeneratrixWireMapper.getGeneratrixWireList();
Map<String, List<GeneratrixWire>> map = generatrixWireList.stream().collect(Collectors.groupingBy(GeneratrixWire::getOrgId));
//获取主网,线路和监测点关系个数
List<GeneratrixWire> wireAndMonitor = pmsGeneratrixWireMapper.getWireAndMonitor();
Map<String, List<GeneratrixWire>> wireAndMonitorMap = wireAndMonitor.stream().collect(Collectors.groupingBy(GeneratrixWire::getOrgId));
/*List<PmsMonitorBaseDTO> pmsMonitorBaseDTOList = distributionMonitorMapper.getDisMonitorAllList(null, 0);
Map<String, List<PmsMonitorBaseDTO>> mapPms = pmsMonitorBaseDTOList.stream().collect(Collectors.groupingBy(PmsMonitorBaseDTO::getOrgId));
*/
@@ -225,15 +241,20 @@ public class CommTerminalServiceImpl implements CommTerminalService {
if (CollectionUtil.isNotEmpty(deptIds)) {
List<String> lineList = new ArrayList<>();
List<String> lineListPw = new ArrayList<>();
List<String> wireAndMonitorList = new ArrayList<>();
deptIds.forEach(i -> {
if (map.containsKey(i)) {
lineList.addAll(map.get(i).stream().map(GeneratrixWire::getId).collect(Collectors.toList()));
}
if(wireAndMonitorMap.containsKey(i)){
wireAndMonitorList.addAll(wireAndMonitorMap.get(i).stream().map(GeneratrixWire::getId).collect(Collectors.toList()));
}
/* if (mapPms.containsKey(i)) {
lineListPw.addAll(mapPms.get(i).stream().map(PmsMonitorBaseDTO::getLineId).collect(Collectors.toList()));
}*/
});
deptGetBusBarDTO.setBusBarIds(lineList);
deptGetBusBarDTO.setBusBarAndMonitorIDs(wireAndMonitorList);
deptGetBusBarDTO.setPwBusBarIds(lineListPw);
}
result.add(deptGetBusBarDTO);

View File

@@ -72,9 +72,12 @@ public class ROperatingIndexMServiceImpl extends ServiceImpl<ROperatingIndexMMap
//在线监测率
Integer measurementRunPoints = item.getMeasurementRunPoints(); //监测点数
Integer transitMeasurementPoints = item.getTransitMeasurementPoints(); //在线监测点数
Double transitMeasurementRate = Double.parseDouble(df.format(transitMeasurementPoints / (measurementRunPoints * 1.0) * 100));
rOperatingIndexCommonVO.setTransitMeasurementRate(transitMeasurementRate); //在线监测率
if(transitMeasurementPoints!=null&&transitMeasurementPoints!=0){
Double transitMeasurementRate = Double.parseDouble(df.format(transitMeasurementPoints / (measurementRunPoints * 1.0) * 100));
rOperatingIndexCommonVO.setTransitMeasurementRate(transitMeasurementRate); //在线监测率
}else{
rOperatingIndexCommonVO.setTransitMeasurementRate(0.0);
}
return rOperatingIndexCommonVO;
}).collect(Collectors.toList());
return resultList;