问题单修复
This commit is contained in:
@@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.annotation.TableId;
|
|||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.time.Instant;
|
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -149,6 +149,10 @@ public class LogManageServiceImpl implements LogManageService {
|
|||||||
|
|
||||||
list.add(eventLogVO);
|
list.add(eventLogVO);
|
||||||
}
|
}
|
||||||
|
page.setTotal(p.getTotal());
|
||||||
|
page.setCurrent(p.getCurrent());
|
||||||
|
//当前页数据
|
||||||
|
page.setRecords(list);
|
||||||
}
|
}
|
||||||
return page;
|
return page;
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.njcn.event.mapper.distribution;
|
package com.njcn.event.mapper.distribution;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.njcn.event.pojo.param.UniversalFrontEndParam;
|
import com.njcn.event.pojo.param.UniversalFrontEndParam;
|
||||||
import com.njcn.event.pojo.po.RmpEventDetailPO;
|
import com.njcn.event.pojo.po.RmpEventDetailPO;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
@@ -13,7 +14,7 @@ import java.util.List;
|
|||||||
* @date 2022/10/31
|
* @date 2022/10/31
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public interface PwRmpEventDetailMapper {
|
public interface PwRmpEventDetailMapper extends BaseMapper<RmpEventDetailPO> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取配网暂态事件明细
|
* 获取配网暂态事件明细
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ import com.njcn.device.pms.api.MonitorClient;
|
|||||||
import com.njcn.device.pms.pojo.param.MonitorTerminalParam;
|
import com.njcn.device.pms.pojo.param.MonitorTerminalParam;
|
||||||
import com.njcn.device.pms.pojo.po.Monitor;
|
import com.njcn.device.pms.pojo.po.Monitor;
|
||||||
import com.njcn.device.pms.pojo.vo.MonitorVO;
|
import com.njcn.device.pms.pojo.vo.MonitorVO;
|
||||||
|
import com.njcn.event.mapper.distribution.PwRmpEventDetailMapper;
|
||||||
import com.njcn.event.mapper.majornetwork.RmpEventDetailMapper;
|
import com.njcn.event.mapper.majornetwork.RmpEventDetailMapper;
|
||||||
import com.njcn.event.pojo.po.RmpEventDetailPO;
|
import com.njcn.event.pojo.po.RmpEventDetailPO;
|
||||||
import com.njcn.event.pojo.vo.RmpEventDetailVO;
|
import com.njcn.event.pojo.vo.RmpEventDetailVO;
|
||||||
@@ -95,6 +96,8 @@ public class TransientServiceImpl implements TransientService {
|
|||||||
|
|
||||||
private final RmpEventDetailMapper rmpEventDetailMapper;
|
private final RmpEventDetailMapper rmpEventDetailMapper;
|
||||||
|
|
||||||
|
private final PwRmpEventDetailMapper pwRmpEventDetailMapper;
|
||||||
|
|
||||||
private final FileStorageUtil fileStorageUtil;
|
private final FileStorageUtil fileStorageUtil;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -325,7 +328,9 @@ public class TransientServiceImpl implements TransientService {
|
|||||||
if (Objects.nonNull(transientParam.getFileFlag())) {
|
if (Objects.nonNull(transientParam.getFileFlag())) {
|
||||||
wrapper.eq(Objects.nonNull(transientParam.getFileFlag()), RmpEventDetailPO::getFileFlag, transientParam.getFileFlag());
|
wrapper.eq(Objects.nonNull(transientParam.getFileFlag()), RmpEventDetailPO::getFileFlag, transientParam.getFileFlag());
|
||||||
}
|
}
|
||||||
Page<RmpEventDetailPO> pageInfo = eventDetailService.page(new Page<>(transientParam.getPageNum(), transientParam.getPageSize()),wrapper);
|
// Page<RmpEventDetailPO> pageInfo = eventDetailService.page(new Page<>(transientParam.getPageNum(), transientParam.getPageSize()),wrapper);
|
||||||
|
Page<RmpEventDetailPO> pageInfo = pwRmpEventDetailMapper.selectPage(new Page<>(transientParam.getPageNum(), transientParam.getPageSize()), wrapper);
|
||||||
|
|
||||||
List<EventDetailNew> eventDetailData=BeanUtil.copyToList(pageInfo.getRecords(),EventDetailNew.class);
|
List<EventDetailNew> eventDetailData=BeanUtil.copyToList(pageInfo.getRecords(),EventDetailNew.class);
|
||||||
page= BeanUtil.copyProperties(pageInfo,Page.class);
|
page= BeanUtil.copyProperties(pageInfo,Page.class);
|
||||||
|
|
||||||
|
|||||||
@@ -100,7 +100,7 @@ public class PollutionSubstationController extends BaseController {
|
|||||||
public HttpResult<List<PollutionLineDTO>> getLineRank(@RequestBody HarmonicPublicParam param) {
|
public HttpResult<List<PollutionLineDTO>> getLineRank(@RequestBody HarmonicPublicParam param) {
|
||||||
String methodDescribe = getMethodDescribe("getLineRank");
|
String methodDescribe = getMethodDescribe("getLineRank");
|
||||||
LogUtil.njcnDebug(log, "{},实体参数:{}", methodDescribe, param);
|
LogUtil.njcnDebug(log, "{},实体参数:{}", methodDescribe, param);
|
||||||
List<PollutionLineDTO> list = pollutionSubstationService.getLineRank(param);
|
List<PollutionLineDTO> list = pollutionSubstationService.getLineRankTop10(param);
|
||||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe);
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
package com.njcn.harmonic.mapper;
|
package com.njcn.harmonic.mapper;
|
||||||
|
|
||||||
|
import cn.hutool.core.date.DateTime;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.njcn.harmonic.pojo.dto.PublicDTO;
|
||||||
import com.njcn.harmonic.pojo.po.RMpPollutionDPO;
|
import com.njcn.harmonic.pojo.po.RMpPollutionDPO;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import org.apache.ibatis.annotations.Param;import org.apache.ibatis.annotations.Select;
|
import org.apache.ibatis.annotations.Param;import org.apache.ibatis.annotations.Select;
|
||||||
@@ -40,4 +42,6 @@ public interface RMpPollutionDPOMapper extends BaseMapper<RMpPollutionDPO> {
|
|||||||
|
|
||||||
})
|
})
|
||||||
List<RMpPollutionDPO> selectMaxList(@Param("items") List<String> line, @Param("pollutionType") String pollutionType, @Param("searchBeginTime") String searchBeginTime);
|
List<RMpPollutionDPO> selectMaxList(@Param("items") List<String> line, @Param("pollutionType") String pollutionType, @Param("searchBeginTime") String searchBeginTime);
|
||||||
|
|
||||||
|
List<PublicDTO> getTop10Line(@Param("list") List<String> lineList, @Param("start") DateTime searchBeginTime, @Param("end") DateTime searchEndTime, @Param("pollutionType") String id);
|
||||||
}
|
}
|
||||||
@@ -28,6 +28,23 @@
|
|||||||
#{item.lineId,jdbcType=VARCHAR}
|
#{item.lineId,jdbcType=VARCHAR}
|
||||||
</foreach>
|
</foreach>
|
||||||
</update>
|
</update>
|
||||||
|
<select id="getTop10Line" resultType="com.njcn.harmonic.pojo.dto.PublicDTO">
|
||||||
|
SELECT
|
||||||
|
r.line_id AS id,
|
||||||
|
MAX(r.value) AS data
|
||||||
|
FROM r_mp_pollution_d r
|
||||||
|
WHERE r.line_id IN
|
||||||
|
<foreach collection="list" item="item" open="(" separator="," close=")">
|
||||||
|
#{item}
|
||||||
|
</foreach>
|
||||||
|
AND r.pollution_type = #{pollutionType}
|
||||||
|
AND r.data_date between #{start} and #{end}
|
||||||
|
GROUP BY r.line_id
|
||||||
|
ORDER BY data DESC
|
||||||
|
LIMIT 0,10
|
||||||
|
</select>
|
||||||
|
|
||||||
|
|
||||||
<insert id="batchInsert" parameterType="map">
|
<insert id="batchInsert" parameterType="map">
|
||||||
<!--@mbg.generated-->
|
<!--@mbg.generated-->
|
||||||
insert into r_mp_pollution_d
|
insert into r_mp_pollution_d
|
||||||
|
|||||||
@@ -65,4 +65,7 @@ public interface PollutionSubstationService extends IService<RStatPollutionSubst
|
|||||||
*/
|
*/
|
||||||
List<PollutionLineDTO> getLineRank(HarmonicPublicParam param);
|
List<PollutionLineDTO> getLineRank(HarmonicPublicParam param);
|
||||||
|
|
||||||
|
|
||||||
|
List<PollutionLineDTO> getLineRankTop10(HarmonicPublicParam param);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.njcn.harmonic.service.impl;
|
package com.njcn.harmonic.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
@@ -646,6 +647,88 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
|
|||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<PollutionLineDTO> getLineRankTop10 (HarmonicPublicParam param) {
|
||||||
|
List<PollutionLineDTO> list= new ArrayList<>();
|
||||||
|
String pollutionType = param.getStatisticalType ( ).getId ();
|
||||||
|
if(param.getType()==0) {
|
||||||
|
param.setServerName(generalInfo.getMicroServiceName());
|
||||||
|
List<String> lineList = new ArrayList<>();
|
||||||
|
PollutionParamDTO paramDTO = new PollutionParamDTO();
|
||||||
|
if (StringUtils.isBlank(RequestUtil.getDeptIndex())) {
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
List<GeneralDeviceDTO> deviceList = generalDeviceInfoClient.getPracticalRunDeviceInfo(param).getData();
|
||||||
|
deviceList.forEach(item -> {
|
||||||
|
if (!CollectionUtils.isEmpty(item.getLineIndexes())) {
|
||||||
|
lineList.addAll(item.getLineIndexes());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
if (!CollectionUtils.isEmpty(lineList)) {
|
||||||
|
paramDTO.setLineList(lineList);
|
||||||
|
list = lineFeignClient.getLineInfo(paramDTO).getData();
|
||||||
|
List<PublicDTO> result =rMpPollutionDPOMapper.getTop10Line(lineList,DateUtil.beginOfDay(DateUtil.parse(param.getSearchBeginTime())),DateUtil.endOfDay(DateUtil.parse(param.getSearchEndTime())), param.getStatisticalType().getId());
|
||||||
|
if (!CollectionUtils.isEmpty(result)) {
|
||||||
|
list.stream().map(list1 -> result.stream().filter(list2 -> Objects.equals(list1.getId(), list2.getId())).findAny().map(m -> {
|
||||||
|
list1.setData(m.getData());
|
||||||
|
return list1;
|
||||||
|
})).collect(Collectors.toList());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
list.sort((item1, item2) -> item2.getData().compareTo(item1.getData()));
|
||||||
|
if (list.size() > Param.UP_LIMIT) {
|
||||||
|
return list.subList(Param.DOWN_LIMIT, Param.UP_LIMIT);
|
||||||
|
}
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
PmsDeviceInfoParam pmsDeviceInfoParam = new PmsDeviceInfoParam();
|
||||||
|
pmsDeviceInfoParam.setDeptIndex(param.getDeptIndex());
|
||||||
|
//获取统计类型
|
||||||
|
pmsDeviceInfoParam.setStatisticalType(param.getStatisticalType());
|
||||||
|
//获取主网台账信息
|
||||||
|
List<PmsGeneralDeviceDTO> deviceList = pmsGeneralDeviceInfoClient.getPmsDeviceInfoWithInOrg(pmsDeviceInfoParam).getData();
|
||||||
|
List<String> monitorIdList=new ArrayList<>();
|
||||||
|
deviceList.forEach(dept -> {
|
||||||
|
monitorIdList.addAll(dept.getMonitorIdList());
|
||||||
|
});
|
||||||
|
|
||||||
|
if(CollectionUtil.isNotEmpty(monitorIdList)){
|
||||||
|
//获取监测点数据
|
||||||
|
List<RMpPollutionDPO> lineData = rMpPollutionDPOMapper.selectMaxList ( monitorIdList,pollutionType,param.getSearchBeginTime());
|
||||||
|
|
||||||
|
if(CollectionUtil.isEmpty(lineData)){
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
|
//获取主网监测点信息
|
||||||
|
List<Monitor> data = monitorClient.getMonitorList(monitorIdList).getData();
|
||||||
|
Map<String, Monitor> monitorMap = data.stream().collect(Collectors.toMap(Monitor::getId, Function.identity(), (key1, kye2) -> key1));
|
||||||
|
lineData.sort((item1, item2) -> item2.getValue().compareTo(item1.getValue()));
|
||||||
|
if (lineData.size() > Param.UP_LIMIT) {
|
||||||
|
lineData = lineData.subList(Param.DOWN_LIMIT, Param.UP_LIMIT);
|
||||||
|
}
|
||||||
|
|
||||||
|
PollutionLineDTO dto;
|
||||||
|
for (RMpPollutionDPO lineDatum : lineData) {
|
||||||
|
if(monitorMap.containsKey(lineDatum.getLineId())){
|
||||||
|
Monitor monitor = monitorMap.get(lineDatum.getLineId());
|
||||||
|
dto=new PollutionLineDTO();
|
||||||
|
dto.setId(monitor.getId());
|
||||||
|
dto.setName(monitor.getName());
|
||||||
|
dto.setPowerCompany(monitor.getOrgName());
|
||||||
|
dto.setSubstation(monitor.getPowerrId());
|
||||||
|
dto.setSubstationId(monitor.getPowerrName());
|
||||||
|
dto.setBusBar(monitor.getLineName());
|
||||||
|
dto.setData(lineDatum.getValue());
|
||||||
|
list.add(dto);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 功能描述:根据监测点id查询influxDB污染指数
|
* 功能描述:根据监测点id查询influxDB污染指数
|
||||||
*
|
*
|
||||||
|
|||||||
Reference in New Issue
Block a user