在线监测点效率修改,监测点下来框接口
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
package com.njcn.harmonic.controller.dataquality;
|
package com.njcn.harmonic.controller.dataquality;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||||
import com.njcn.common.pojo.response.HttpResult;
|
import com.njcn.common.pojo.response.HttpResult;
|
||||||
import com.njcn.common.utils.HttpResultUtil;
|
import com.njcn.common.utils.HttpResultUtil;
|
||||||
@@ -16,8 +17,6 @@ import org.springframework.web.bind.annotation.RequestBody;
|
|||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Description:
|
* Description:
|
||||||
* Date: 2024/4/3 15:58【需求编号】
|
* Date: 2024/4/3 15:58【需求编号】
|
||||||
@@ -41,9 +40,9 @@ public class RMpPartHarmonicDetailController extends BaseController {
|
|||||||
@PostMapping("/getRMpPartHarmonicDetail")
|
@PostMapping("/getRMpPartHarmonicDetail")
|
||||||
@ApiOperation("稳态指标超标在线监测超标问题详情")
|
@ApiOperation("稳态指标超标在线监测超标问题详情")
|
||||||
@ApiImplicitParam(name = "param", value = "参数", required = true)
|
@ApiImplicitParam(name = "param", value = "参数", required = true)
|
||||||
public HttpResult<List<RMpPartHarmonicDetailDTO>> getRMpPartHarmonicDetail(@RequestBody RMpPartHarmonicDetailQueryParam param) {
|
public HttpResult<Page<RMpPartHarmonicDetailDTO>> getRMpPartHarmonicDetail(@RequestBody RMpPartHarmonicDetailQueryParam param) {
|
||||||
String methodDescribe = getMethodDescribe("getRMpPartHarmonicDetail");
|
String methodDescribe = getMethodDescribe("getRMpPartHarmonicDetail");
|
||||||
List<RMpPartHarmonicDetailDTO> list = rMpPartHarmonicDetailDService.getRMpPartHarmonicDetail(param);
|
Page<RMpPartHarmonicDetailDTO> list = rMpPartHarmonicDetailDService.getRMpPartHarmonicDetail(param);
|
||||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe);
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,10 +1,11 @@
|
|||||||
package com.njcn.harmonic.service.majornetwork;
|
package com.njcn.harmonic.service.majornetwork;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.njcn.common.pojo.param.StatisticsBizBaseParam;
|
import com.njcn.common.pojo.param.StatisticsBizBaseParam;
|
||||||
import com.njcn.harmonic.pojo.dto.RMpPartHarmonicDetailDTO;
|
import com.njcn.harmonic.pojo.dto.RMpPartHarmonicDetailDTO;
|
||||||
import com.njcn.harmonic.pojo.param.RMpPartHarmonicDetailQueryParam;
|
import com.njcn.harmonic.pojo.param.RMpPartHarmonicDetailQueryParam;
|
||||||
import com.njcn.harmonic.pojo.po.RMpPartHarmonicDetailD;
|
import com.njcn.harmonic.pojo.po.RMpPartHarmonicDetailD;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
|
||||||
import com.njcn.harmonic.pojo.vo.RMpPartHarmonicDetailIconVO;
|
import com.njcn.harmonic.pojo.vo.RMpPartHarmonicDetailIconVO;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -27,5 +28,5 @@ public interface RMpPartHarmonicDetailDService extends IService<RMpPartHarmonicD
|
|||||||
*/
|
*/
|
||||||
List<RMpPartHarmonicDetailIconVO> getRMpPartHarmonicDetailIcon(StatisticsBizBaseParam param);
|
List<RMpPartHarmonicDetailIconVO> getRMpPartHarmonicDetailIcon(StatisticsBizBaseParam param);
|
||||||
|
|
||||||
List<RMpPartHarmonicDetailDTO> getRMpPartHarmonicDetail(RMpPartHarmonicDetailQueryParam param);
|
Page<RMpPartHarmonicDetailDTO> getRMpPartHarmonicDetail(RMpPartHarmonicDetailQueryParam param);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.njcn.harmonic.service.majornetwork.impl;
|
package com.njcn.harmonic.service.majornetwork.impl;
|
||||||
|
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.njcn.common.pojo.param.StatisticsBizBaseParam;
|
import com.njcn.common.pojo.param.StatisticsBizBaseParam;
|
||||||
import com.njcn.device.biz.commApi.CommLineClient;
|
import com.njcn.device.biz.commApi.CommLineClient;
|
||||||
@@ -22,6 +23,7 @@ import org.springframework.beans.BeanUtils;
|
|||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
import java.time.YearMonth;
|
import java.time.YearMonth;
|
||||||
import java.time.temporal.ChronoUnit;
|
import java.time.temporal.ChronoUnit;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
@@ -50,16 +52,19 @@ public class RMpPartHarmonicDetailDServiceImpl extends ServiceImpl<RMpPartHarmon
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<RMpPartHarmonicDetailDTO> getRMpPartHarmonicDetail(RMpPartHarmonicDetailQueryParam param) {
|
public Page<RMpPartHarmonicDetailDTO> getRMpPartHarmonicDetail(RMpPartHarmonicDetailQueryParam param) {
|
||||||
List<RStatLimitRateDPO> rStatLimitRateDPOs = irStatLimitRateDService.lambdaQuery().between(RStatLimitRateDPO::getTime, param.getStartTime()+" 00:00:00", param.getEndTime()+" 23:59:59").list();
|
System.out.println(LocalDateTime.now());
|
||||||
|
List<RStatLimitRateDPO> rStatLimitRateDPOs = irStatLimitRateDService.lambdaQuery().eq(RStatLimitRateDPO::getPhasicType,"T").between(RStatLimitRateDPO::getTime, param.getStartTime()+" 00:00:00", param.getEndTime()+" 23:59:59").list();
|
||||||
List<RMpPartHarmonicDetailDTO> rMpPartHarmonicDetailDTOS = new ArrayList<>();
|
List<RMpPartHarmonicDetailDTO> rMpPartHarmonicDetailDTOS = new ArrayList<>();
|
||||||
LocalDate date = LocalDate.parse(param.getStartTime());
|
LocalDate date = LocalDate.parse(param.getStartTime());
|
||||||
YearMonth yearMonth = YearMonth.from(date);
|
YearMonth yearMonth = YearMonth.from(date);
|
||||||
int daysInMonth = yearMonth.lengthOfMonth();
|
int daysInMonth = yearMonth.lengthOfMonth();
|
||||||
/*获取稳态统计指标*/
|
System.out.println(LocalDateTime.now());
|
||||||
|
/*获取稳态统计指标*/
|
||||||
List<DictData> steadyStatis = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.INDICATOR_TYPE.getCode()).getData();
|
List<DictData> steadyStatis = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.INDICATOR_TYPE.getCode()).getData();
|
||||||
|
System.out.println(LocalDateTime.now());
|
||||||
rStatLimitRateDPOs.stream().collect(Collectors.groupingBy(RStatLimitRateDPO::getLineId)).forEach((k, v) -> {
|
rStatLimitRateDPOs.stream().collect(Collectors.groupingBy(RStatLimitRateDPO::getLineId)).forEach((k, v) -> {
|
||||||
LineALLInfoDTO lineALLInfoDTO = commLineClient.getLineAllDetail(k).getData();
|
// LineALLInfoDTO lineALLInfoDTO = tempMap.get(k);
|
||||||
steadyStatis.forEach(dictData -> {
|
steadyStatis.forEach(dictData -> {
|
||||||
|
|
||||||
RMpPartHarmonicDetailDTO rMpPartHarmonicDetailDTO = new RMpPartHarmonicDetailDTO();
|
RMpPartHarmonicDetailDTO rMpPartHarmonicDetailDTO = new RMpPartHarmonicDetailDTO();
|
||||||
@@ -68,14 +73,14 @@ public class RMpPartHarmonicDetailDServiceImpl extends ServiceImpl<RMpPartHarmon
|
|||||||
rMpPartHarmonicDetailDTO.setDateList(localDates);
|
rMpPartHarmonicDetailDTO.setDateList(localDates);
|
||||||
rMpPartHarmonicDetailDTO.setOverLimitrate(Double.parseDouble(localDates.size()+"")/daysInMonth);
|
rMpPartHarmonicDetailDTO.setOverLimitrate(Double.parseDouble(localDates.size()+"")/daysInMonth);
|
||||||
rMpPartHarmonicDetailDTO.setMeasurementPointId(k);
|
rMpPartHarmonicDetailDTO.setMeasurementPointId(k);
|
||||||
rMpPartHarmonicDetailDTO.setMeasurementPointName(lineALLInfoDTO.getLineLineDTO().getLinename());
|
// rMpPartHarmonicDetailDTO.setMeasurementPointName(lineALLInfoDTO.getLineLineDTO().getLinename());
|
||||||
rMpPartHarmonicDetailDTO.setBarId(lineALLInfoDTO.getLineBusbarDTO().getBusBarId());
|
// rMpPartHarmonicDetailDTO.setBarId(lineALLInfoDTO.getLineBusbarDTO().getBusBarId());
|
||||||
rMpPartHarmonicDetailDTO.setBarName(lineALLInfoDTO.getLineBusbarDTO().getBusBarName());
|
// rMpPartHarmonicDetailDTO.setBarName(lineALLInfoDTO.getLineBusbarDTO().getBusBarName());
|
||||||
rMpPartHarmonicDetailDTO.setSustationId(lineALLInfoDTO.getLineSubStationDTO().getSubStationId());
|
// rMpPartHarmonicDetailDTO.setSustationId(lineALLInfoDTO.getLineSubStationDTO().getSubStationId());
|
||||||
rMpPartHarmonicDetailDTO.setSustationName(lineALLInfoDTO.getLineSubStationDTO().getSubStationName());
|
// rMpPartHarmonicDetailDTO.setSustationName(lineALLInfoDTO.getLineSubStationDTO().getSubStationName());
|
||||||
rMpPartHarmonicDetailDTO.setObjName(lineALLInfoDTO.getLineLineDTO().getObjName());
|
// rMpPartHarmonicDetailDTO.setObjName(lineALLInfoDTO.getLineLineDTO().getObjName());
|
||||||
rMpPartHarmonicDetailDTO.setLoadType(lineALLInfoDTO.getLineLineDTO().getLoadType());
|
// rMpPartHarmonicDetailDTO.setLoadType(lineALLInfoDTO.getLineLineDTO().getLoadType());
|
||||||
rMpPartHarmonicDetailDTO.setVoltageLevel(lineALLInfoDTO.getLineLineDTO().getVoltageLevel());
|
// rMpPartHarmonicDetailDTO.setVoltageLevel(lineALLInfoDTO.getLineLineDTO().getVoltageLevel());
|
||||||
|
|
||||||
|
|
||||||
// rMpPartHarmonicDetailDTO.setSustationName(data.getSubName());
|
// rMpPartHarmonicDetailDTO.setSustationName(data.getSubName());
|
||||||
@@ -84,13 +89,17 @@ public class RMpPartHarmonicDetailDServiceImpl extends ServiceImpl<RMpPartHarmon
|
|||||||
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
System.out.println(LocalDateTime.now());
|
||||||
List<RMpPartHarmonicDetailDTO> result = rMpPartHarmonicDetailDTOS.stream().
|
List<RMpPartHarmonicDetailDTO> result = rMpPartHarmonicDetailDTOS.stream().
|
||||||
filter(temp -> CollectionUtil.isEmpty(param.getHarmonicTypes()) ||param.getHarmonicTypes().contains(temp.getHarmonicType())).
|
filter(temp -> CollectionUtil.isEmpty(param.getHarmonicTypes()) ||param.getHarmonicTypes().contains(temp.getHarmonicType())).
|
||||||
collect(Collectors.toList());
|
collect(Collectors.toList());
|
||||||
|
System.out.println(LocalDateTime.now());
|
||||||
|
|
||||||
|
|
||||||
//合并指标天数计算连续超标天数,及总超标天数
|
//合并指标天数计算连续超标天数,及总超标天数
|
||||||
Map<String, List<RMpPartHarmonicDetailDTO>> map = result.stream().collect(Collectors.groupingBy(RMpPartHarmonicDetailDTO::getMeasurementPointId));
|
Map<String, List<RMpPartHarmonicDetailDTO>> map = result.stream().collect(Collectors.groupingBy(RMpPartHarmonicDetailDTO::getMeasurementPointId));
|
||||||
|
System.out.println(LocalDateTime.now());
|
||||||
|
|
||||||
List<RMpPartHarmonicDetailDTO> rMpPartHarmonicDetailDTOList = new ArrayList<>();
|
List<RMpPartHarmonicDetailDTO> rMpPartHarmonicDetailDTOList = new ArrayList<>();
|
||||||
//获取所有指标类型,如何前端为空则将所有子表类型塞入HarmonicTypes
|
//获取所有指标类型,如何前端为空则将所有子表类型塞入HarmonicTypes
|
||||||
List<String> collect = steadyStatis.stream().map(DictData::getId).collect(Collectors.toList());
|
List<String> collect = steadyStatis.stream().map(DictData::getId).collect(Collectors.toList());
|
||||||
@@ -120,8 +129,36 @@ public class RMpPartHarmonicDetailDServiceImpl extends ServiceImpl<RMpPartHarmon
|
|||||||
}
|
}
|
||||||
rMpPartHarmonicDetailDTOList.add(rMpPartHarmonicDetailDTO);
|
rMpPartHarmonicDetailDTOList.add(rMpPartHarmonicDetailDTO);
|
||||||
});
|
});
|
||||||
|
System.out.println(LocalDateTime.now());
|
||||||
|
Page<RMpPartHarmonicDetailDTO> temp = new Page<>(param.getPageNum(),param.getPageSize());
|
||||||
|
temp.setTotal(rMpPartHarmonicDetailDTOList.size());
|
||||||
|
List<RMpPartHarmonicDetailDTO> collect1 = rMpPartHarmonicDetailDTOList.stream()
|
||||||
|
.skip((param.getPageNum() - 1) * param.getPageSize()) // 跳过前面的数据项
|
||||||
|
.limit(param.getPageSize()) // 取出指定数量的数据
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
System.out.println(LocalDateTime.now());
|
||||||
|
|
||||||
return rMpPartHarmonicDetailDTOList;
|
//获取监测点详情
|
||||||
|
List<String> lineIds = collect1.stream().map(RMpPartHarmonicDetailDTO::getMeasurementPointId).distinct().collect(Collectors.toList());
|
||||||
|
List<LineALLInfoDTO> data = commLineClient.getLineAllDetailList(lineIds).getData();
|
||||||
|
System.out.println(LocalDateTime.now());
|
||||||
|
Map<String, LineALLInfoDTO> tempMap = data.stream().collect(Collectors.toMap(lineAllInfoDTO -> lineAllInfoDTO.getLineLineDTO().getLineId(), dto -> dto));
|
||||||
|
|
||||||
|
collect1.stream().forEach(dto->{
|
||||||
|
LineALLInfoDTO lineALLInfoDTO = tempMap.get(dto.getMeasurementPointId());
|
||||||
|
dto.setMeasurementPointName(lineALLInfoDTO.getLineLineDTO().getLinename());
|
||||||
|
dto.setBarId(lineALLInfoDTO.getLineBusbarDTO().getBusBarId());
|
||||||
|
dto.setBarName(lineALLInfoDTO.getLineBusbarDTO().getBusBarName());
|
||||||
|
dto.setSustationId(lineALLInfoDTO.getLineSubStationDTO().getSubStationId());
|
||||||
|
dto.setSustationName(lineALLInfoDTO.getLineSubStationDTO().getSubStationName());
|
||||||
|
dto.setObjName(lineALLInfoDTO.getLineLineDTO().getObjName());
|
||||||
|
dto.setLoadType(lineALLInfoDTO.getLineLineDTO().getLoadType());
|
||||||
|
dto.setVoltageLevel(lineALLInfoDTO.getLineLineDTO().getVoltageLevel());
|
||||||
|
});
|
||||||
|
|
||||||
|
temp.setRecords(collect1);
|
||||||
|
|
||||||
|
return temp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -294,3 +331,4 @@ public class RMpPartHarmonicDetailDServiceImpl extends ServiceImpl<RMpPartHarmon
|
|||||||
System.out.println(maxConsecutiveDays);
|
System.out.println(maxConsecutiveDays);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user