冀北主网监测点统计
This commit is contained in:
@@ -63,6 +63,8 @@ public class SubstationExpend implements Serializable {
|
|||||||
|
|
||||||
private String deptName;
|
private String deptName;
|
||||||
|
|
||||||
|
private String area;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 关联台账变电站:pq_substation表主键
|
* 关联台账变电站:pq_substation表主键
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -67,30 +67,5 @@ public class SubstationExpendController extends BaseController {
|
|||||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
|
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);
|
|
||||||
// }
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -68,7 +68,7 @@ public interface DistributionMonitorMapper extends BaseMapper<DistributionMonito
|
|||||||
List<DistributionMonitor> distributionMonitorListByCondition(@Param("deptIds")List<String> deptIds, @Param("monitorSort")String monitorSort);
|
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);
|
List<PmsSimpleDTO> statisticTerminal(@Param("list") List<String> terminalIds);
|
||||||
|
|
||||||
|
|||||||
@@ -182,51 +182,58 @@ AND EXISTS (
|
|||||||
a.Monitor_Id = temp.id
|
a.Monitor_Id = temp.id
|
||||||
)
|
)
|
||||||
</select>
|
</select>
|
||||||
<select id="statisticMonitorWithMonitorSort" resultType="com.njcn.device.pms.pojo.dto.PmsSimpleDTO">
|
<select id="statisticMonitor" resultType="com.njcn.device.pms.pojo.dto.PmsSimpleDTO">
|
||||||
SELECT
|
SELECT
|
||||||
COUNT(pdm.Monitor_Id) AS statistics,
|
COUNT(pm.Id) AS statistics,
|
||||||
pdm.Monitor_Sort AS name
|
pm.Voltage_Level AS name
|
||||||
FROM pms_distribution_monitor pdm
|
FROM pms_monitor pm
|
||||||
WHERE pdm.Monitor_Id IN
|
WHERE pm.Id IN
|
||||||
<foreach item="item" collection="list" separator="," open="(" close=")">
|
<foreach item="item" collection="list" separator="," open="(" close=")">
|
||||||
#{item}
|
#{item}
|
||||||
</foreach>
|
</foreach>
|
||||||
GROUP BY pdm.Monitor_Sort
|
GROUP BY pm.Voltage_Level
|
||||||
</select>
|
</select>
|
||||||
<select id="statisticTerminal" resultType="com.njcn.device.pms.pojo.dto.PmsSimpleDTO">
|
<select id="statisticTerminal" resultType="com.njcn.device.pms.pojo.dto.PmsSimpleDTO">
|
||||||
SELECT
|
SELECT
|
||||||
COUNT(pdm.Terminal_Id) statistics,
|
COUNT(t.Terminal_Id) statistics,
|
||||||
pdm.Monitor_Sort name
|
t.Voltage_Level name
|
||||||
FROM pms_distribution_monitor pdm
|
FROM
|
||||||
WHERE pdm.Terminal_Id IN
|
( SELECT
|
||||||
<foreach item="item" collection="list" separator="," open="(" close=")">
|
DISTINCT pm.Terminal_Id,
|
||||||
#{item}
|
pm.Voltage_Level
|
||||||
</foreach>
|
FROM pms_monitor pm
|
||||||
GROUP BY pdm.Monitor_Sort
|
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>
|
||||||
<select id="getOnlineRate" resultType="com.njcn.device.pms.pojo.dto.PmsSimpleDTO">
|
<select id="getOnlineRate" resultType="com.njcn.device.pms.pojo.dto.PmsSimpleDTO">
|
||||||
SELECT
|
SELECT
|
||||||
pdm.Monitor_Sort name,
|
pm.Voltage_Level name,
|
||||||
IFNULL(SUM(rmded.dev_effective_rate),0)doubleValue
|
IFNULL(SUM(rmded.dev_effective_rate),0) doubleValue
|
||||||
FROM pms_distribution_monitor pdm
|
FROM pms_monitor pm
|
||||||
LEFT JOIN r_mp_dev_evaluate_detail rmded ON pdm.Terminal_Id = rmded.device_id
|
LEFT JOIN r_mp_dev_evaluate_detail rmded ON pm.Terminal_Id = rmded.device_id
|
||||||
WHERE pdm.Terminal_Id IN
|
WHERE pm.Terminal_Id IN
|
||||||
<foreach item="item" collection="list" separator="," open="(" close=")">
|
<foreach item="item" collection="list" separator="," open="(" close=")">
|
||||||
#{item}
|
#{item}
|
||||||
</foreach>
|
</foreach>
|
||||||
GROUP BY pdm.Monitor_Sort
|
GROUP BY pm.Voltage_Level
|
||||||
</select>
|
</select>
|
||||||
<select id="getIntegrity" resultType="com.njcn.device.pms.pojo.dto.PmsSimpleDTO">
|
<select id="getIntegrity" resultType="com.njcn.device.pms.pojo.dto.PmsSimpleDTO">
|
||||||
SELECT
|
SELECT
|
||||||
pdm.Monitor_Sort name,
|
pm.Voltage_Level name,
|
||||||
IFNULL(SUM(romd.data_integrity_rate),0) doubleValue
|
IFNULL(SUM(romd.data_integrity_rate),0) doubleValue
|
||||||
FROM pms_distribution_monitor pdm
|
FROM pms_monitor pm
|
||||||
LEFT JOIN r_operating_monitor_d romd ON pdm.Monitor_Id = romd.measurement_point_id
|
LEFT JOIN r_operating_monitor_d romd ON pm.Id = romd.measurement_point_id
|
||||||
WHERE pdm.Monitor_Id IN
|
WHERE pm.Id IN
|
||||||
<foreach item="item" collection="list" separator="," open="(" close=")">
|
<foreach item="item" collection="list" separator="," open="(" close=")">
|
||||||
#{item}
|
#{item}
|
||||||
</foreach>
|
</foreach>
|
||||||
GROUP BY pdm.Monitor_Sort
|
GROUP BY pm.Voltage_Level
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ public class SubstationExpendServiceImpl extends ServiceImpl<SubstationExpendMap
|
|||||||
subList.forEach (
|
subList.forEach (
|
||||||
t -> {
|
t -> {
|
||||||
if (t.getDeptId()!=null){
|
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) {
|
if (t.getBreakSite()!=null) {
|
||||||
List<PmsSimpleDTO> simpleDTOS = new ArrayList<>();
|
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;
|
return map;
|
||||||
@@ -95,7 +95,7 @@ public class SubstationExpendServiceImpl extends ServiceImpl<SubstationExpendMap
|
|||||||
// 统计监测点
|
// 统计监测点
|
||||||
List<String> monitorIds = new ArrayList<>();
|
List<String> monitorIds = new ArrayList<>();
|
||||||
generalDeviceDTOS.stream().forEach(e -> monitorIds.addAll(e.getMonitorIdList()));
|
generalDeviceDTOS.stream().forEach(e -> monitorIds.addAll(e.getMonitorIdList()));
|
||||||
List<PmsSimpleDTO> monitorStatistic = distributionMonitorMapper.statisticMonitorWithMonitorSort(monitorIds);
|
List<PmsSimpleDTO> monitorStatistic = distributionMonitorMapper.statisticMonitor(monitorIds);
|
||||||
ledgerStaticDTO.setMonitorStatistics(monitorStatistic);
|
ledgerStaticDTO.setMonitorStatistics(monitorStatistic);
|
||||||
|
|
||||||
// 根据单位统计监测点数量
|
// 根据单位统计监测点数量
|
||||||
@@ -103,7 +103,7 @@ public class SubstationExpendServiceImpl extends ServiceImpl<SubstationExpendMap
|
|||||||
for (PmsGeneralDeviceDTO generalDeviceDTO : generalDeviceDTOS) {
|
for (PmsGeneralDeviceDTO generalDeviceDTO : generalDeviceDTOS) {
|
||||||
List<PmsSimpleDTO> monitors = new ArrayList<>();
|
List<PmsSimpleDTO> monitors = new ArrayList<>();
|
||||||
if (CollectionUtil.isNotEmpty(generalDeviceDTO.getMonitorIdList())) {
|
if (CollectionUtil.isNotEmpty(generalDeviceDTO.getMonitorIdList())) {
|
||||||
monitors = distributionMonitorMapper.statisticMonitorWithMonitorSort(generalDeviceDTO.getMonitorIdList());
|
monitors = distributionMonitorMapper.statisticMonitor(generalDeviceDTO.getMonitorIdList());
|
||||||
}
|
}
|
||||||
|
|
||||||
monitorMap.put(generalDeviceDTO.getName(),monitors);
|
monitorMap.put(generalDeviceDTO.getName(),monitors);
|
||||||
@@ -111,7 +111,9 @@ public class SubstationExpendServiceImpl extends ServiceImpl<SubstationExpendMap
|
|||||||
ledgerStaticDTO.setMonitorStatisticsByDept(monitorMap);
|
ledgerStaticDTO.setMonitorStatisticsByDept(monitorMap);
|
||||||
// 统计终端
|
// 统计终端
|
||||||
List<String> terminalIds = new ArrayList<>();
|
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);
|
List<PmsSimpleDTO> terminalNumStatistic = distributionMonitorMapper.statisticTerminal(terminalIds);
|
||||||
ledgerStaticDTO.setTerminalStatistics(terminalNumStatistic);
|
ledgerStaticDTO.setTerminalStatistics(terminalNumStatistic);
|
||||||
|
|
||||||
@@ -127,12 +129,13 @@ public class SubstationExpendServiceImpl extends ServiceImpl<SubstationExpendMap
|
|||||||
List<PmsSimpleDTO> onlineRateStatistic = distributionMonitorMapper.getOnlineRate(terminalIds);
|
List<PmsSimpleDTO> onlineRateStatistic = distributionMonitorMapper.getOnlineRate(terminalIds);
|
||||||
double sum = onlineRateStatistic.stream().mapToDouble(PmsSimpleDTO::getDoubleValue).sum()!=0?onlineRateStatistic.stream().mapToDouble(PmsSimpleDTO::getDoubleValue).sum():3.14159;
|
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()));
|
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);
|
List<PmsSimpleDTO> integrityStatistic = distributionMonitorMapper.getIntegrity(terminalIds);
|
||||||
double s = integrityStatistic.stream().mapToDouble(PmsSimpleDTO::getDoubleValue).sum()!=0?integrityStatistic.stream().mapToDouble(PmsSimpleDTO::getDoubleValue).sum():3.14159;
|
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()));
|
integrityStatistic.forEach(dto -> dto.setDoubleValue(new BigDecimal(dto.getDoubleValue() * 100 / s).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue()));
|
||||||
|
ledgerStaticDTO.setIntegrityStatistics(integrityStatistic);
|
||||||
return ledgerStaticDTO;
|
return ledgerStaticDTO;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user