监测点污染值、用户污染值、变电站污染值导出功能

This commit is contained in:
wr
2025-07-29 16:35:22 +08:00
parent 9f9baa9991
commit 4f66c4833f
20 changed files with 937 additions and 36 deletions

View File

@@ -8,6 +8,8 @@ import com.njcn.common.pojo.enums.common.LogEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.device.pq.pojo.param.GridDiagramParam;
import com.njcn.event.pojo.dto.EventCount;
import com.njcn.event.pojo.param.EventBaseParam;
import com.njcn.event.pojo.param.UniversalFrontEndParam;
import com.njcn.event.pojo.po.RmpEventDetailPO;
@@ -146,4 +148,12 @@ public class RmpEventDetailController extends BaseController {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/getEventCount")
@ApiOperation("根据特征幅值进行统计")
public HttpResult<List<EventCount>> getEventCount(@RequestBody GridDiagramParam param) {
String methodDescribe = getMethodDescribe("getEventCount");
List<EventCount> eventCount = rmpEventDetailService.getEventCount(param);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, eventCount, methodDescribe);
}
}

View File

@@ -1,6 +1,8 @@
package com.njcn.event.mapper.majornetwork;
import cn.hutool.core.date.DateTime;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.event.pojo.dto.EventCount;
import com.njcn.event.pojo.po.RmpEventDetailPO;
import com.njcn.event.pojo.vo.RmpEventDetailVO;
import org.apache.ibatis.annotations.Mapper;
@@ -53,4 +55,6 @@ public interface RmpEventDetailMapper extends BaseMapper<RmpEventDetailPO> {
* @return
*/
RmpEventDetailPO getByEventId(@Param("id") String id);
List<EventCount> getEventCount(@Param("startTime")String startTime,@Param("endTime")String endTime);
}

View File

@@ -74,4 +74,15 @@
r_mp_event_detail
where event_id=#{id}
</select>
<select id="getEventCount" resultType="com.njcn.event.pojo.dto.EventCount">
SELECT
measurement_point_id lineId,
SUM(CASE WHEN feature_amplitude &gt;= 0 AND feature_amplitude &lt; 0.1 THEN 1 ELSE 0 END) AS breakCounts,
SUM(CASE WHEN feature_amplitude &gt;= 0.1 AND feature_amplitude &lt; 0.9 THEN 1 ELSE 0 END) AS downCounts,
SUM(CASE WHEN feature_amplitude &gt;= 1.1 THEN 1 ELSE 0 END) AS upCounts
FROM
r_mp_event_detail
where start_time between #{startTime} and #{endTime}
GROUP BY measurement_point_id
</select>
</mapper>

View File

@@ -3,6 +3,7 @@ package com.njcn.event.service.majornetwork.Impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.ObjectUtil;
@@ -37,6 +38,7 @@ import com.njcn.device.pq.pojo.vo.GridDiagramVO;
import com.njcn.event.enums.EventResponseEnum;
import com.njcn.event.mapper.majornetwork.RMpEventDetailMMapper;
import com.njcn.event.mapper.majornetwork.RmpEventDetailMapper;
import com.njcn.event.pojo.dto.EventCount;
import com.njcn.event.pojo.param.EventBaseParam;
import com.njcn.event.pojo.param.UniversalFrontEndParam;
import com.njcn.event.pojo.po.RmpEventDetailPO;
@@ -435,6 +437,21 @@ public class RmpEventDetailServiceImpl extends ServiceImpl<RmpEventDetailMapper,
return mapList;
}
@Override
public List<EventCount> getEventCount(GridDiagramParam param) {
List<EventCount> eventCounts = rmpEventDetailMapper.getEventCount(param.getSearchBeginTime(), param.getSearchEndTime());
Map<String, EventCount> eventMap = eventCounts.stream().collect(Collectors.toMap(EventCount::getLineId, pojo -> pojo));
List<EventCount> eventCountList = new ArrayList<>();
for (String id : param.getIds()) {
EventCount eventCountTemp = eventMap.get(id);
if (Objects.isNull(eventCountTemp)) {
eventCountTemp = new EventCount(id);
}
eventCountList.add(eventCountTemp);
}
return eventCountList;
}
private List<Double> setData(List<String> gwLineAllIds, List<RmpEventDetailPO> list) {
List<Double> info=new ArrayList<>();

View File

@@ -6,6 +6,7 @@ import com.njcn.common.pojo.param.StatisticsBizBaseParam;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.device.pq.pojo.param.GridDiagramParam;
import com.njcn.device.pq.pojo.vo.GridDiagramVO;
import com.njcn.event.pojo.dto.EventCount;
import com.njcn.event.pojo.param.EventBaseParam;
import com.njcn.event.pojo.param.UniversalFrontEndParam;
import com.njcn.event.pojo.po.RmpEventDetailPO;
@@ -80,4 +81,7 @@ public interface RmpEventDetailService extends IService<RmpEventDetailPO> {
List<Map<String,Object>> getImMonitorEvents(EventBaseParam param);
List<EventCount> getEventCount(GridDiagramParam param);
}