冀北主网监测点统计

This commit is contained in:
zhuxinyu
2023-05-12 12:37:49 +08:00
parent 84a32302aa
commit bcf5791010
5 changed files with 44 additions and 57 deletions

View File

@@ -63,6 +63,8 @@ public class SubstationExpend implements Serializable {
private String deptName;
private String area;
/**
* 关联台账变电站pq_substation表主键
*/

View File

@@ -67,30 +67,5 @@ public class SubstationExpendController extends BaseController {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
}
// @OperateInfo(info = LogEnum.BUSINESS_COMMON)
// @PostMapping("/insert")
// @ApiOperation("变电站信息")
// @ApiImplicitParam(name = "insert", value = "变电站信息", required = true)
// public HttpResult<Boolean> insert(@RequestBody StatisticsBizBaseParam param) {
// String methodDescribe = getMethodDescribe("insert");
// List<SubstationExpend> list = Arrays.asList(
// new SubstationExpend("500kV天马变电站", "1fa650685c77db1656c70f9db4a2edc6",new BigDecimal(119.292327),new BigDecimal(40.215015),"17439407bfee299b7e38f2e54a8f6d28"),
// new SubstationExpend("500kV昌黎变电站", "1fa650685c77db1656c70f9db4a2edc6",new BigDecimal(118.990809),new BigDecimal(40.016014),"17439407bfee299b7e38f2e54a8f6d28"),
// new SubstationExpend("220kV陈官屯变电站", "1b7b58ed8fcc2992b95334eaa9010c41",new BigDecimal(118.998356),new BigDecimal(39.990971),"17439407bfee299b7e38f2e54a8f6d28"),
// new SubstationExpend("220kV小营变电站", "1b7b58ed8fcc2992b95334eaa9010c41",new BigDecimal(119.298044),new BigDecimal(39.814401),"17439407bfee299b7e38f2e54a8f6d28"),
// new SubstationExpend("220kV深河变电站", "1b7b58ed8fcc2992b95334eaa9010c41",new BigDecimal(119.453054),new BigDecimal(39.940208),"17439407bfee299b7e38f2e54a8f6d28"),
// new SubstationExpend("220kV杜庄变电站", "1b7b58ed8fcc2992b95334eaa9010c41",new BigDecimal(119.540182),new BigDecimal(40.026883),"17439407bfee299b7e38f2e54a8f6d28"),
// new SubstationExpend("220kV平方变电站", "1b7b58ed8fcc2992b95334eaa9010c41",new BigDecimal(119.173903),new BigDecimal(39.730601),"17439407bfee299b7e38f2e54a8f6d28"),
// new SubstationExpend("220kV肖营子变电站", "1b7b58ed8fcc2992b95334eaa9010c41",new BigDecimal(118.866099),new BigDecimal(40.279209),"17439407bfee299b7e38f2e54a8f6d28"),
// new SubstationExpend("220kV丰钢变电站", "1b7b58ed8fcc2992b95334eaa9010c41",new BigDecimal(118.913885),new BigDecimal(39.663569),"17439407bfee299b7e38f2e54a8f6d28"),
// new SubstationExpend("220kV碣石变电站", "1b7b58ed8fcc2992b95334eaa9010c41",new BigDecimal(119.191153),new BigDecimal(39.723464),"17439407bfee299b7e38f2e54a8f6d28"),
// new SubstationExpend("220kV龙家店变电站", "1b7b58ed8fcc2992b95334eaa9010c41",new BigDecimal(119.062243),new BigDecimal(39.719279),"17439407bfee299b7e38f2e54a8f6d28"),
// new SubstationExpend("220kV仙螺岛变电站", "1b7b58ed8fcc2992b95334eaa9010c41",new BigDecimal(119.446926),new BigDecimal(39.792502),"17439407bfee299b7e38f2e54a8f6d28")
// );
//
// boolean b = substationExpendService.saveBatch(list);
// return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, b, methodDescribe);
// }
}

View File

@@ -68,7 +68,7 @@ public interface DistributionMonitorMapper extends BaseMapper<DistributionMonito
List<DistributionMonitor> distributionMonitorListByCondition(@Param("deptIds")List<String> deptIds, @Param("monitorSort")String monitorSort);
List<PmsSimpleDTO> statisticMonitorWithMonitorSort(@Param("list") List<String> monitorIds);
List<PmsSimpleDTO> statisticMonitor(@Param("list") List<String> monitorIds);
List<PmsSimpleDTO> statisticTerminal(@Param("list") List<String> terminalIds);

View File

@@ -182,51 +182,58 @@ AND EXISTS (
a.Monitor_Id = temp.id
)
</select>
<select id="statisticMonitorWithMonitorSort" resultType="com.njcn.device.pms.pojo.dto.PmsSimpleDTO">
<select id="statisticMonitor" resultType="com.njcn.device.pms.pojo.dto.PmsSimpleDTO">
SELECT
COUNT(pdm.Monitor_Id) AS statistics,
pdm.Monitor_Sort AS name
FROM pms_distribution_monitor pdm
WHERE pdm.Monitor_Id IN
COUNT(pm.Id) AS statistics,
pm.Voltage_Level AS name
FROM pms_monitor pm
WHERE pm.Id IN
<foreach item="item" collection="list" separator="," open="(" close=")">
#{item}
</foreach>
GROUP BY pdm.Monitor_Sort
GROUP BY pm.Voltage_Level
</select>
<select id="statisticTerminal" resultType="com.njcn.device.pms.pojo.dto.PmsSimpleDTO">
SELECT
COUNT(pdm.Terminal_Id) statistics,
pdm.Monitor_Sort name
FROM pms_distribution_monitor pdm
WHERE pdm.Terminal_Id IN
<foreach item="item" collection="list" separator="," open="(" close=")">
#{item}
</foreach>
GROUP BY pdm.Monitor_Sort
COUNT(t.Terminal_Id) statistics,
t.Voltage_Level name
FROM
( SELECT
DISTINCT pm.Terminal_Id,
pm.Voltage_Level
FROM pms_monitor pm
WHERE pm.Terminal_Id IN
<foreach item="item" collection="list" separator="," open="(" close=")">
#{item}
</foreach>
AND
pm.Terminal_Id != ''
) t
GROUP BY t.Voltage_Level
</select>
<select id="getOnlineRate" resultType="com.njcn.device.pms.pojo.dto.PmsSimpleDTO">
SELECT
pdm.Monitor_Sort name,
IFNULL(SUM(rmded.dev_effective_rate),0)doubleValue
FROM pms_distribution_monitor pdm
LEFT JOIN r_mp_dev_evaluate_detail rmded ON pdm.Terminal_Id = rmded.device_id
WHERE pdm.Terminal_Id IN
pm.Voltage_Level name,
IFNULL(SUM(rmded.dev_effective_rate),0) doubleValue
FROM pms_monitor pm
LEFT JOIN r_mp_dev_evaluate_detail rmded ON pm.Terminal_Id = rmded.device_id
WHERE pm.Terminal_Id IN
<foreach item="item" collection="list" separator="," open="(" close=")">
#{item}
</foreach>
GROUP BY pdm.Monitor_Sort
GROUP BY pm.Voltage_Level
</select>
<select id="getIntegrity" resultType="com.njcn.device.pms.pojo.dto.PmsSimpleDTO">
SELECT
pdm.Monitor_Sort name,
pm.Voltage_Level name,
IFNULL(SUM(romd.data_integrity_rate),0) doubleValue
FROM pms_distribution_monitor pdm
LEFT JOIN r_operating_monitor_d romd ON pdm.Monitor_Id = romd.measurement_point_id
WHERE pdm.Monitor_Id IN
FROM pms_monitor pm
LEFT JOIN r_operating_monitor_d romd ON pm.Id = romd.measurement_point_id
WHERE pm.Id IN
<foreach item="item" collection="list" separator="," open="(" close=")">
#{item}
</foreach>
GROUP BY pdm.Monitor_Sort
GROUP BY pm.Voltage_Level
</select>

View File

@@ -62,7 +62,7 @@ public class SubstationExpendServiceImpl extends ServiceImpl<SubstationExpendMap
subList.forEach (
t -> {
if (t.getDeptId()!=null){
t.setDeptName(deptMap.get(t.getDeptId()).get(0).getName());
t.setArea(deptMap.get(t.getDeptId()).get(0).getArea());
}
if (t.getBreakSite()!=null) {
List<PmsSimpleDTO> simpleDTOS = new ArrayList<>();
@@ -82,7 +82,7 @@ public class SubstationExpendServiceImpl extends ServiceImpl<SubstationExpendMap
}
}
);
map = subList.stream().collect(Collectors.groupingBy(SubstationExpend::getDeptName));
map = subList.stream().collect(Collectors.groupingBy(SubstationExpend::getArea));
}
}
return map;
@@ -95,7 +95,7 @@ public class SubstationExpendServiceImpl extends ServiceImpl<SubstationExpendMap
// 统计监测点
List<String> monitorIds = new ArrayList<>();
generalDeviceDTOS.stream().forEach(e -> monitorIds.addAll(e.getMonitorIdList()));
List<PmsSimpleDTO> monitorStatistic = distributionMonitorMapper.statisticMonitorWithMonitorSort(monitorIds);
List<PmsSimpleDTO> monitorStatistic = distributionMonitorMapper.statisticMonitor(monitorIds);
ledgerStaticDTO.setMonitorStatistics(monitorStatistic);
// 根据单位统计监测点数量
@@ -103,7 +103,7 @@ public class SubstationExpendServiceImpl extends ServiceImpl<SubstationExpendMap
for (PmsGeneralDeviceDTO generalDeviceDTO : generalDeviceDTOS) {
List<PmsSimpleDTO> monitors = new ArrayList<>();
if (CollectionUtil.isNotEmpty(generalDeviceDTO.getMonitorIdList())) {
monitors = distributionMonitorMapper.statisticMonitorWithMonitorSort(generalDeviceDTO.getMonitorIdList());
monitors = distributionMonitorMapper.statisticMonitor(generalDeviceDTO.getMonitorIdList());
}
monitorMap.put(generalDeviceDTO.getName(),monitors);
@@ -111,7 +111,9 @@ public class SubstationExpendServiceImpl extends ServiceImpl<SubstationExpendMap
ledgerStaticDTO.setMonitorStatisticsByDept(monitorMap);
// 统计终端
List<String> terminalIds = new ArrayList<>();
generalDeviceDTOS.stream().forEach(e -> terminalIds.addAll(e.getTerminalIdList()));
List<PmsGeneralDeviceDTO> filterList = generalDeviceDTOS.stream().filter(e -> e.getTerminalIdList().size() != 0).collect(Collectors.toList());
filterList.stream().forEach(e -> terminalIds.addAll(e.getTerminalIdList()));
terminalIds.removeAll(Collections.singleton(null));
List<PmsSimpleDTO> terminalNumStatistic = distributionMonitorMapper.statisticTerminal(terminalIds);
ledgerStaticDTO.setTerminalStatistics(terminalNumStatistic);
@@ -127,12 +129,13 @@ public class SubstationExpendServiceImpl extends ServiceImpl<SubstationExpendMap
List<PmsSimpleDTO> onlineRateStatistic = distributionMonitorMapper.getOnlineRate(terminalIds);
double sum = onlineRateStatistic.stream().mapToDouble(PmsSimpleDTO::getDoubleValue).sum()!=0?onlineRateStatistic.stream().mapToDouble(PmsSimpleDTO::getDoubleValue).sum():3.14159;
onlineRateStatistic.forEach(dto -> dto.setDoubleValue(new BigDecimal(dto.getDoubleValue() * 100 / sum).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue()));
ledgerStaticDTO.setTerminalStatistics(onlineRateStatistic);
ledgerStaticDTO.setOnlineRateStatistics(onlineRateStatistic);
// 完整性
List<PmsSimpleDTO> integrityStatistic = distributionMonitorMapper.getIntegrity(terminalIds);
double s = integrityStatistic.stream().mapToDouble(PmsSimpleDTO::getDoubleValue).sum()!=0?integrityStatistic.stream().mapToDouble(PmsSimpleDTO::getDoubleValue).sum():3.14159;
integrityStatistic.forEach(dto -> dto.setDoubleValue(new BigDecimal(dto.getDoubleValue() * 100 / s).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue()));
ledgerStaticDTO.setIntegrityStatistics(integrityStatistic);
return ledgerStaticDTO;
}
}