1.冀北分布式光伏代码提交

2.审计日志管理代码提交修改
3.暂降推送日志,筛选添加
This commit is contained in:
wr
2023-05-26 08:52:00 +08:00
parent 376aab019d
commit c7e063a6ae
29 changed files with 434 additions and 219 deletions

View File

@@ -24,6 +24,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.njcn.web.controller.BaseController;
import java.math.BigDecimal;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
@@ -38,7 +40,7 @@ import java.util.Map;
@Slf4j
@Api(tags = "冀北变电站地图信息")
@RestController
@RequestMapping("/substationExpend")
@RequestMapping("/pms/substationExpend")
@RequiredArgsConstructor
public class SubstationExpendController extends BaseController {
@@ -46,7 +48,7 @@ public class SubstationExpendController extends BaseController {
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/getPVSubstationExpendInfo")
@PostMapping("/getSubstationExpendInfo")
@ApiOperation("冀北变电站地图信息")
@ApiImplicitParam(name = "param", value = "冀北变电站地图信息参数", required = true)
public HttpResult<Map<String, List<SubstationExpend>>> getSubstationExpendInfo(@RequestBody StatisticsBizBaseParam param) {
@@ -74,5 +76,31 @@ public class SubstationExpendController extends BaseController {
List<CommunicateVO.PVCommunicateVO> communicationStatus = substationExpendService.getCommunicationStatus(param);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, communicationStatus, 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

@@ -3,6 +3,7 @@ package com.njcn.device.pms.mapper.majornetwork;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.common.pojo.param.StatisticsBizBaseParam;
import com.njcn.device.pms.pojo.dto.PmsMonitorBaseDTO;
import com.njcn.device.pms.pojo.dto.PmsSimpleDTO;
import com.njcn.device.pms.pojo.dto.PwPmsMonitorDTO;
@@ -73,9 +74,9 @@ public interface DistributionMonitorMapper extends BaseMapper<DistributionMonito
List<PmsSimpleDTO> statisticTerminal(@Param("list") List<String> terminalIds);
List<PmsSimpleDTO> getOnlineRate(@Param("list") List<String> terminalIds);
List<PmsSimpleDTO> getOnlineRate(@Param("list") List<String> terminalIds,@Param("param") StatisticsBizBaseParam param);
List<PmsSimpleDTO> getIntegrity(@Param("list") List<String> terminalIds);
List<PmsSimpleDTO> getIntegrity(@Param("list") List<String> terminalIds,@Param("param")StatisticsBizBaseParam param);
List<PmsMonitorBaseDTO> getDisMonitorAllList(@Param("subId") String subId,@Param("type") Integer type);

View File

@@ -229,11 +229,19 @@
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>
INNER 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>
<if test="param.startTime != null and param.startTime != ''">
AND DATE_FORMAT(data_date, '%Y-%m-%d') &gt;= DATE_FORMAT(#{param.startTime}, '%Y-%m-%d')
</if>
<if test="param.endTime != null and param.endTime != ''">
AND DATE_FORMAT(data_date, '%Y-%m-%d') &lt;= DATE_FORMAT(#{param.endTime}, '%Y-%m-%d')
</if>
</where>
GROUP BY pm.Voltage_Level
</select>
<select id="getIntegrity" resultType="com.njcn.device.pms.pojo.dto.PmsSimpleDTO">
@@ -241,11 +249,19 @@
pm.Voltage_Level name,
IFNULL(SUM(romd.data_integrity_rate),0) doubleValue
FROM pms_monitor pm
LEFT JOIN r_operating_monitor_d romd ON pm.Id = romd.measurement_point_id
WHERE pm.Id IN
INNER 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>
<if test="param.startTime != null and param.startTime != ''">
AND DATE_FORMAT(data_date, '%Y-%m-%d') &gt;= DATE_FORMAT(#{param.startTime}, '%Y-%m-%d')
</if>
<if test="param.endTime != null and param.endTime != ''">
AND DATE_FORMAT(data_date, '%Y-%m-%d') &lt;= DATE_FORMAT(#{param.endTime}, '%Y-%m-%d')
</if>
</where>
GROUP BY pm.Voltage_Level
</select>

View File

@@ -9,8 +9,6 @@
pm.Org_Name AS orgName,
pm.Powerr_Id AS powerId,
pm.Powerr_Name AS powerName,
pm.Generatrix_Id AS generatrixId,
pm.Generatrix_Name AS generatrixName,
pm.Id AS monitorId,
pm.`Name` AS monitorName,
pss.Voltage_Level AS powerVoltageLevel

View File

@@ -122,12 +122,20 @@ public class SubstationExpendServiceImpl extends ServiceImpl<SubstationExpendMap
List<String> monitorIds = new ArrayList<>();
generalDeviceDTOS.stream().forEach(e -> monitorIds.addAll(e.getMonitorIdList()));
List<PmsSimpleDTO> monitorStatistic = distributionMonitorMapper.statisticMonitor(monitorIds);
ledgerStaticDTO.setMonitorStatistics(monitorStatistic);
Map<String, Long> collect1 = monitorStatistic.stream().collect(Collectors.groupingBy(PmsSimpleDTO::getName, Collectors.counting()));
List<PmsSimpleDTO> monitor=new ArrayList<>();
PmsSimpleDTO pDto;
for (Map.Entry<String, Long> stringLongEntry : collect1.entrySet()) {
pDto=new PmsSimpleDTO();
pDto.setName(stringLongEntry.getKey());
pDto.setStatistics(Math.toIntExact(stringLongEntry.getValue()));
monitor.add(pDto);
}
ledgerStaticDTO.setMonitorStatistics(monitor);
//获取所有监测点信息
List<String> lineIds = generalDeviceDTOS.stream().flatMap(dto -> dto.getMonitorIdList().stream()).collect(Collectors.toList());
List<PmsSimpleDTO> pmsSimpleDTOS = distributionMonitorMapper.statisticMonitor(lineIds);
List<PmsSimpleDTO> pmsSimpleDTOS = monitorStatistic;
//根据电压等级进行分组
Map<String, List<PmsSimpleDTO>> voltageMap = pmsSimpleDTOS.stream().collect(Collectors.groupingBy(
@@ -191,7 +199,7 @@ public class SubstationExpendServiceImpl extends ServiceImpl<SubstationExpendMap
List<PmsSimpleDTO.PmsSimpleOrg> terminal=new ArrayList<>();
for (Map.Entry<String, List<PmsSimpleDTO>> stringListEntry : terminalMap.entrySet()) {
if(StrUtil.isNotBlank(stringListEntry.getKey())){
List<PmsSimpleDTO> monitorList = stringListEntry.getValue().stream().filter(x -> dto.getMonitorIdList().contains(x.getId())).collect(Collectors.toList());
List<PmsSimpleDTO> monitorList = stringListEntry.getValue().stream().filter(x -> dto.getTerminalIdList().contains(x.getId())).collect(Collectors.toList());
PmsSimpleDTO.PmsSimpleOrg simpleDTO=new PmsSimpleDTO.PmsSimpleOrg();
if(CollUtil.isNotEmpty(monitorList)){
simpleDTO.setStatistics((int) monitorList.stream().mapToDouble(PmsSimpleDTO::getStatistics).sum());
@@ -213,22 +221,14 @@ public class SubstationExpendServiceImpl extends ServiceImpl<SubstationExpendMap
ledgerStaticDTO.setTerminalStatisticsByDept(list);
// // 根据单位统计终端数量
// HashMap<String,List<PmsSimpleDTO>> terminalsMap = new HashMap<>();
// for (PmsGeneralDeviceDTO generalDeviceDTO : generalDeviceDTOS) {
// List<PmsSimpleDTO> terminals = distributionMonitorMapper.statisticTerminal(terminalIds);
// terminalsMap.put(generalDeviceDTO.getName(),terminals);
// }
// ledgerStaticDTO.setTerminalStatisticsByDept(terminalsMap);
// 统计在线率
List<PmsSimpleDTO> onlineRateStatistic = distributionMonitorMapper.getOnlineRate(terminalIds);
List<PmsSimpleDTO> onlineRateStatistic = distributionMonitorMapper.getOnlineRate(terminalIds,param);
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.setOnlineRateStatistics(onlineRateStatistic);
// 完整性
List<PmsSimpleDTO> integrityStatistic = distributionMonitorMapper.getIntegrity(terminalIds);
List<PmsSimpleDTO> integrityStatistic = distributionMonitorMapper.getIntegrity(monitorIds,param);
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);
@@ -247,16 +247,16 @@ public class SubstationExpendServiceImpl extends ServiceImpl<SubstationExpendMap
List<CommunicateVO.PVCommunicateVO> info =new ArrayList<>();
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("time >= '").append(DateUtil.beginOfDay(DateUtil.parse(param.getStartTime()))).append("' and ").append("time <= '").append(DateUtil.endOfDay(DateUtil.parse(param.getEndTime()))).append("' ");
// if(CollUtil.isNotEmpty(terminalIds)){
// stringBuilder.append(" and ").append("(");
// for (int i = 0; i < terminalIds.size(); i++) {
// if (terminalIds.size() - i != 1) {
// stringBuilder.append("dev_id = '").append(terminalIds.get(i)).append("' or ");
// } else {
// stringBuilder.append("dev_id = '").append(terminalIds.get(i)).append("')");
// }
// }
// }
if(CollUtil.isNotEmpty(terminalIds)){
stringBuilder.append(" and ").append("(");
for (int i = 0; i < terminalIds.size(); i++) {
if (terminalIds.size() - i != 1) {
stringBuilder.append("dev_id = '").append(terminalIds.get(i)).append("' or ");
} else {
stringBuilder.append("dev_id = '").append(terminalIds.get(i)).append("')");
}
}
}
stringBuilder.append(" limit "+param.getLimit());
String sql = "select * from " + InfluxDBPublicParam.PQS_COMMUNICATE + " where " + stringBuilder + InfluxDBPublicParam.TIME_ZONE;
// 获取暂降事件