问题单修复
This commit is contained in:
@@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
|
||||
@@ -104,7 +104,7 @@ public class OperationContrController extends BaseController {
|
||||
@PostMapping("/getNewDeviceRunStatistics")
|
||||
@ApiOperation("获取终端运行统计_新")
|
||||
@ApiImplicitParam(name = "deviceInfoParam", value = "实体", required = true)
|
||||
public HttpResult<Page<LineFlowMealDetailVO>> getNewDeviceRunStatistics(@RequestBody PqsParam deviceInfoParam){
|
||||
public HttpResult<Page<LineFlowMealDetailVO>> getNewDeviceRunStatistics(@RequestBody PqsParam deviceInfoParam) {
|
||||
String methodDescribe = getMethodDescribe("getDeviceRunStatistics");
|
||||
if (deviceInfoParam.getDeptIndex() == null) {
|
||||
DeviceInfoParam param = new DeviceInfoParam(RequestUtil.getDeptIndex(),null);
|
||||
|
||||
@@ -149,6 +149,10 @@ public class LogManageServiceImpl implements LogManageService {
|
||||
|
||||
list.add(eventLogVO);
|
||||
}
|
||||
page.setTotal(p.getTotal());
|
||||
page.setCurrent(p.getCurrent());
|
||||
//当前页数据
|
||||
page.setRecords(list);
|
||||
}
|
||||
return page;
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
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.po.RmpEventDetailPO;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
@@ -13,7 +14,7 @@ import java.util.List;
|
||||
* @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.po.Monitor;
|
||||
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.pojo.po.RmpEventDetailPO;
|
||||
import com.njcn.event.pojo.vo.RmpEventDetailVO;
|
||||
@@ -95,6 +96,8 @@ public class TransientServiceImpl implements TransientService {
|
||||
|
||||
private final RmpEventDetailMapper rmpEventDetailMapper;
|
||||
|
||||
private final PwRmpEventDetailMapper pwRmpEventDetailMapper;
|
||||
|
||||
private final FileStorageUtil fileStorageUtil;
|
||||
|
||||
@Override
|
||||
@@ -325,7 +328,9 @@ public class TransientServiceImpl implements TransientService {
|
||||
if (Objects.nonNull(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);
|
||||
page= BeanUtil.copyProperties(pageInfo,Page.class);
|
||||
|
||||
|
||||
@@ -100,7 +100,7 @@ public class PollutionSubstationController extends BaseController {
|
||||
public HttpResult<List<PollutionLineDTO>> getLineRank(@RequestBody HarmonicPublicParam param) {
|
||||
String methodDescribe = getMethodDescribe("getLineRank");
|
||||
LogUtil.njcnDebug(log, "{},实体参数:{}", methodDescribe, param);
|
||||
List<PollutionLineDTO> list = pollutionSubstationService.getLineRank(param);
|
||||
List<PollutionLineDTO> list = pollutionSubstationService.getLineRankTop10(param);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
package com.njcn.harmonic.mapper;
|
||||
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.njcn.harmonic.pojo.dto.PublicDTO;
|
||||
import com.njcn.harmonic.pojo.po.RMpPollutionDPO;
|
||||
import java.util.List;
|
||||
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<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}
|
||||
</foreach>
|
||||
</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">
|
||||
<!--@mbg.generated-->
|
||||
insert into r_mp_pollution_d
|
||||
|
||||
@@ -65,4 +65,7 @@ public interface PollutionSubstationService extends IService<RStatPollutionSubst
|
||||
*/
|
||||
List<PollutionLineDTO> getLineRank(HarmonicPublicParam param);
|
||||
|
||||
|
||||
List<PollutionLineDTO> getLineRankTop10(HarmonicPublicParam param);
|
||||
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.njcn.harmonic.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
@@ -570,7 +571,7 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
|
||||
searchBeginTime = param.getSearchBeginTime ( ).substring (0, 10)+"%";
|
||||
}
|
||||
|
||||
if(param.getType()==0){
|
||||
if(param.getType()==0) {
|
||||
param.setServerName(generalInfo.getMicroServiceName());
|
||||
List<String> lineList = new ArrayList<>();
|
||||
PollutionParamDTO paramDTO = new PollutionParamDTO();
|
||||
@@ -646,6 +647,88 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
|
||||
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污染指数
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user