问题单修复

This commit is contained in:
zhuxinyu
2023-04-26 20:14:07 +08:00
parent dc528e58cf
commit 499c920196
10 changed files with 122 additions and 6 deletions

View File

@@ -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;
/** /**

View File

@@ -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;

View File

@@ -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> {
/** /**
* 获取配网暂态事件明细 * 获取配网暂态事件明细

View File

@@ -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);

View File

@@ -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);
} }
} }

View File

@@ -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);
} }

View File

@@ -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

View File

@@ -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);
} }

View File

@@ -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污染指数
* *