|
|
@@ -40,6 +40,7 @@ public class ReconQueryServiceImpl implements ReconQueryService {
|
|
|
@Autowired
|
|
|
private FhzgReconSwitchResultDetailMapper reconSwitchResultDetailMapper;
|
|
|
|
|
|
+
|
|
|
@Override
|
|
|
public ReconListVO getSchemeList(ReconListReqDTO reqDTO) {
|
|
|
if (Objects.isNull(reqDTO.getEventId())) {
|
|
|
@@ -151,18 +152,21 @@ public class ReconQueryServiceImpl implements ReconQueryService {
|
|
|
public PageVO<ReconLoadpointCompareVO> getLoadpointComparePage(ReconPageReqDTO reqDTO) {
|
|
|
validatePageParam(reqDTO);
|
|
|
|
|
|
- Page<FhzgReconVolDetail> page = new Page<>(reqDTO.getPageNum(), reqDTO.getPageSize());
|
|
|
- Page<FhzgReconVolDetail> resultPage = reconVolDetailMapper.selectPage(page,
|
|
|
- new LambdaQueryWrapper<FhzgReconVolDetail>()
|
|
|
- .eq(FhzgReconVolDetail::getResultId, reqDTO.getId())
|
|
|
- .orderByAsc(FhzgReconVolDetail::getDetailNo)
|
|
|
- );
|
|
|
|
|
|
+ //优先先查越限的,再根据电压变化排序,最多10条
|
|
|
+ List<FhzgReconVolDetail> reconVolDetailList = reconVolDetailMapper.getLoadListbySpecRule(reqDTO.getId());
|
|
|
PageVO<ReconLoadpointCompareVO> voPage = new PageVO<>();
|
|
|
- voPage.setTotal(resultPage.getTotal());
|
|
|
- voPage.setPageNum(resultPage.getCurrent());
|
|
|
- voPage.setPageSize(resultPage.getSize());
|
|
|
- voPage.setRecords(resultPage.getRecords().stream().map(this::buildLoadpointCompareVO).collect(Collectors.toList()));
|
|
|
+ voPage.setTotal((long) reconVolDetailList.size());
|
|
|
+ voPage.setPageNum(Long.valueOf(reqDTO.getPageNum()));
|
|
|
+ voPage.setPageSize(Long.valueOf(reqDTO.getPageSize()));
|
|
|
+ List<ReconLoadpointCompareVO> collect = reconVolDetailList.stream().map(this::buildLoadpointCompareVO).collect(Collectors.toList());
|
|
|
+ int start = (reqDTO.getPageNum() - 1) * reqDTO.getPageSize();
|
|
|
+ if (start < 0 || start > reconVolDetailList.size()) {
|
|
|
+ voPage.setRecords(new ArrayList<>());
|
|
|
+ return voPage;
|
|
|
+ }
|
|
|
+ int end = Math.min(start + reqDTO.getPageSize(), reconVolDetailList.size());
|
|
|
+ voPage.setRecords(collect.subList(start, end));
|
|
|
return voPage;
|
|
|
}
|
|
|
|
|
|
@@ -181,7 +185,17 @@ public class ReconQueryServiceImpl implements ReconQueryService {
|
|
|
voPage.setTotal(resultPage.getTotal());
|
|
|
voPage.setPageNum(resultPage.getCurrent());
|
|
|
voPage.setPageSize(resultPage.getSize());
|
|
|
- voPage.setRecords(resultPage.getRecords().stream().map(this::buildSwitchCompareVO).collect(Collectors.toList()));
|
|
|
+ List<FhzgReconSwitchOp> switchOpsList = reconSwitchOpMapper.selectList(
|
|
|
+ new LambdaQueryWrapper<FhzgReconSwitchOp>()
|
|
|
+ .eq(FhzgReconSwitchOp::getResultId, reqDTO.getId())
|
|
|
+ .orderByAsc(FhzgReconSwitchOp::getOpNo));
|
|
|
+ Map<String, String> switchMap = new HashMap<>();
|
|
|
+ switchOpsList.forEach(i -> {
|
|
|
+ switchMap.put(i.getBreakerId(), i.getName());
|
|
|
+ });
|
|
|
+ List<ReconSwitchCompareVO> collect = resultPage.getRecords().stream().map(this::buildSwitchCompareVO).collect(Collectors.toList());
|
|
|
+ collect.forEach(i -> i.setSwitchName(switchMap.get(i.getPsrID())));
|
|
|
+ voPage.setRecords(collect);
|
|
|
return voPage;
|
|
|
}
|
|
|
|
|
|
@@ -273,6 +287,7 @@ public class ReconQueryServiceImpl implements ReconQueryService {
|
|
|
vo.setSeqNo(seq.getOpNo());
|
|
|
vo.setSwitchId(seq.getBreakerId());
|
|
|
vo.setSwitchName(seq.getName());
|
|
|
+ vo.setOperationType(convertOperationType(seq.getOperationType()));
|
|
|
vo.setIsThreeRemotely(isThreeRemotely(seq.getAutoType()));
|
|
|
return vo;
|
|
|
}
|
|
|
@@ -304,13 +319,16 @@ public class ReconQueryServiceImpl implements ReconQueryService {
|
|
|
vo.setLowVoltageAfter(detail.getAfterUlv());
|
|
|
vo.setActivePowerBefore(detail.getBeforeP());
|
|
|
vo.setReactivePowerBefore(detail.getBeforeQ());
|
|
|
+ vo.setVoltageChange(detail.getAfterU().subtract(detail.getBeforeU()).abs());
|
|
|
+ vo.setIsOverLimitBefore(isOverLimit(detail.getBeforeU()));
|
|
|
+ vo.setIsOverLimitAfter(isOverLimit(detail.getAfterU()));
|
|
|
return vo;
|
|
|
}
|
|
|
|
|
|
private ReconSwitchCompareVO buildSwitchCompareVO(FhzgReconSwitchResultDetail detail) {
|
|
|
ReconSwitchCompareVO vo = new ReconSwitchCompareVO();
|
|
|
vo.setDetailNo(detail.getDetailNo());
|
|
|
- vo.setSwitchName(detail.getPsrId());
|
|
|
+ vo.setPsrID(detail.getPsrId());
|
|
|
vo.setAutoType(convertAutoType(detail.getAutoType()));
|
|
|
vo.setStateChange(buildStateChange(detail.getBeforeState(), detail.getAfterState()));
|
|
|
vo.setCurrentBefore(detail.getBeforeI());
|
|
|
@@ -369,6 +387,15 @@ public class ReconQueryServiceImpl implements ReconQueryService {
|
|
|
return LoadType;
|
|
|
}
|
|
|
|
|
|
+ private Integer isOverLimit(BigDecimal vol) {
|
|
|
+ if (vol.compareTo(new BigDecimal("9.3")) < 0) {
|
|
|
+ return 1;
|
|
|
+ } else if (vol.compareTo(new BigDecimal("10.7")) > 0) {
|
|
|
+ return 2;
|
|
|
+ }
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+
|
|
|
/** 判断是否三遥开关 */
|
|
|
private Boolean isThreeRemotely(String autoType) {
|
|
|
return "auto".equals(autoType);
|