Explorar o código

运行优化列表、详情接口优化

raojiang hai 3 semanas
pai
achega
01d7399fd1

+ 3 - 0
api/load-transfer-si-api/src/main/java/com/hdkj/lt/modle/po/FhzgReconResult.java

@@ -23,6 +23,9 @@ public class FhzgReconResult {
     /** 事件ID */
     private String eventId;
 
+    /** 方案名称 */
+    private String schemeName;
+
     /** 馈线组ID */
     private Integer groupId;
 

+ 1 - 1
services/load-transfer-bf/src/main/java/com/hdkj/lt/bf/entity/dto/ReconPageReqDTO.java

@@ -9,7 +9,7 @@ import lombok.Data;
 public class ReconPageReqDTO {
 
     /** 方案ID */
-    private Long resultId;
+    private Long id;
 
     /** 页码 */
     private Integer pageNum;

+ 3 - 0
services/load-transfer-bf/src/main/java/com/hdkj/lt/bf/entity/vo/ReconSchemeVO.java

@@ -13,6 +13,9 @@ public class ReconSchemeVO {
     /** 方案ID */
     private Long id;
 
+    /** 方案名称 */
+    private String schemeName;
+
     /** 事件ID */
     private String eventId;
 

+ 3 - 0
services/load-transfer-bf/src/main/java/com/hdkj/lt/bf/entity/vo/ReconSwitchCompareVO.java

@@ -16,6 +16,9 @@ public class ReconSwitchCompareVO {
     /** 开关名称 */
     private String switchName;
 
+    /** 自动类型(autoType) */
+    private String autoType;
+
     /** 状态变化 */
     private String stateChange;
 

+ 6 - 9
services/load-transfer-bf/src/main/java/com/hdkj/lt/bf/entity/vo/ReconSwitchSeqVO.java

@@ -11,17 +11,14 @@ public class ReconSwitchSeqVO {
     /** 序列序号 */
     private Integer seqNo;
 
-    /** 合闸开关名称 */
-    private String closeName;
+    /** 开关名称 */
+    private String switchId;
 
-    /** 合闸操作类型 */
-    private String closeOperation;
+    /** 开关名称 */
+    private String switchName;
 
-    /** 分闸开关名称 */
-    private String openName;
-
-    /** 分闸操作类型 */
-    private String openOperation;
+    /** 操作类型 */
+    private String operationType;
 
     /** 是否三遥开关 */
     private Boolean isThreeRemotely;

+ 60 - 27
services/load-transfer-bf/src/main/java/com/hdkj/lt/bf/service/impl/ReconQueryServiceImpl.java

@@ -16,9 +16,7 @@ import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
 import java.math.RoundingMode;
-import java.util.Comparator;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -99,23 +97,34 @@ public class ReconQueryServiceImpl implements ReconQueryService {
         validatePageParam(reqDTO);
 
         // 安全校验从主表获取
-        FhzgReconResult result = reconResultMapper.selectById(reqDTO.getResultId());
+        FhzgReconResult result = reconResultMapper.selectById(reqDTO.getId());
         Boolean safetyCheckPassed = Objects.nonNull(result) ? result.getFinalCheckIsSafe() : null;
 
-        Page<FhzgReconSwitchSeq> page = new Page<>(reqDTO.getPageNum(), reqDTO.getPageSize());
-        Page<FhzgReconSwitchSeq> resultPage = reconSwitchSeqMapper.selectPage(page,
+        Page<FhzgReconSwitchOp> page = new Page<>(reqDTO.getPageNum(), reqDTO.getPageSize());
+        Page<FhzgReconSwitchOp> resultPage = reconSwitchOpMapper.selectPage(page,
+                new LambdaQueryWrapper<FhzgReconSwitchOp>()
+                        .eq(FhzgReconSwitchOp::getResultId, reqDTO.getId())
+                        .orderByAsc(FhzgReconSwitchOp::getOpNo));
+
+        List<FhzgReconSwitchSeq> switchSeqList = reconSwitchSeqMapper.selectList(
                 new LambdaQueryWrapper<FhzgReconSwitchSeq>()
-                        .eq(FhzgReconSwitchSeq::getResultId, reqDTO.getResultId())
-                        .orderByAsc(FhzgReconSwitchSeq::getSeqNo)
-        );
+                        .eq(FhzgReconSwitchSeq::getResultId, reqDTO.getId()));
+        Map<String, Boolean> hotCheckMap = new HashMap<>();
+        switchSeqList.forEach(i -> {
+            hotCheckMap.put(i.getOpenBreakerId(), i.getHotCheckIsSafe());
+            hotCheckMap.put(i.getCloseBreakerId(), i.getHotCheckIsSafe());
+        });
 
         PageVO<ReconSwitchSeqVO> voPage = new PageVO<>();
         voPage.setTotal(resultPage.getTotal());
         voPage.setPageNum(resultPage.getCurrent());
         voPage.setPageSize(resultPage.getSize());
-        voPage.setRecords(resultPage.getRecords().stream()
-                .map(seq -> buildSwitchSeqVO(seq, safetyCheckPassed))
-                .collect(Collectors.toList()));
+        List<ReconSwitchSeqVO> collect = resultPage.getRecords().stream().map(this::buildSwitchSeqVO).collect(Collectors.toList());
+        collect.forEach(i -> {
+            i.setSafetyCheckPassed(safetyCheckPassed);
+            i.setHotCheckPassed(hotCheckMap.get(i.getSwitchId()));
+        });
+        voPage.setRecords(collect);
         return voPage;
     }
 
@@ -126,7 +135,7 @@ public class ReconQueryServiceImpl implements ReconQueryService {
         Page<FhzgReconFeederResult> page = new Page<>(reqDTO.getPageNum(), reqDTO.getPageSize());
         Page<FhzgReconFeederResult> resultPage = reconFeederResultMapper.selectPage(page,
                 new LambdaQueryWrapper<FhzgReconFeederResult>()
-                        .eq(FhzgReconFeederResult::getResultId, reqDTO.getResultId())
+                        .eq(FhzgReconFeederResult::getResultId, reqDTO.getId())
                         .orderByAsc(FhzgReconFeederResult::getFeederNo)
         );
 
@@ -145,7 +154,7 @@ public class ReconQueryServiceImpl implements ReconQueryService {
         Page<FhzgReconVolDetail> page = new Page<>(reqDTO.getPageNum(), reqDTO.getPageSize());
         Page<FhzgReconVolDetail> resultPage = reconVolDetailMapper.selectPage(page,
                 new LambdaQueryWrapper<FhzgReconVolDetail>()
-                        .eq(FhzgReconVolDetail::getResultId, reqDTO.getResultId())
+                        .eq(FhzgReconVolDetail::getResultId, reqDTO.getId())
                         .orderByAsc(FhzgReconVolDetail::getDetailNo)
         );
 
@@ -164,7 +173,7 @@ public class ReconQueryServiceImpl implements ReconQueryService {
         Page<FhzgReconSwitchResultDetail> page = new Page<>(reqDTO.getPageNum(), reqDTO.getPageSize());
         Page<FhzgReconSwitchResultDetail> resultPage = reconSwitchResultDetailMapper.selectPage(page,
                 new LambdaQueryWrapper<FhzgReconSwitchResultDetail>()
-                        .eq(FhzgReconSwitchResultDetail::getResultId, reqDTO.getResultId())
+                        .eq(FhzgReconSwitchResultDetail::getResultId, reqDTO.getId())
                         .orderByAsc(FhzgReconSwitchResultDetail::getDetailNo)
         );
 
@@ -184,6 +193,7 @@ public class ReconQueryServiceImpl implements ReconQueryService {
     private ReconSchemeVO buildSchemeVO(FhzgReconResult result) {
         ReconSchemeVO vo = new ReconSchemeVO();
         vo.setId(result.getId());
+        vo.setSchemeName(result.getSchemeName());
         vo.setEventId(result.getEventId());
         vo.setIsRecommend(false);
         vo.setSafetyCheckPassed(result.getFinalCheckIsSafe());
@@ -258,16 +268,12 @@ public class ReconQueryServiceImpl implements ReconQueryService {
         return vo;
     }
 
-    private ReconSwitchSeqVO buildSwitchSeqVO(FhzgReconSwitchSeq seq, Boolean safetyCheckPassed) {
+    private ReconSwitchSeqVO buildSwitchSeqVO(FhzgReconSwitchOp seq) {
         ReconSwitchSeqVO vo = new ReconSwitchSeqVO();
-        vo.setSeqNo(seq.getSeqNo());
-        vo.setCloseName(seq.getCloseName());
-        vo.setCloseOperation(convertOperationType(seq.getCloseOperationType()));
-        vo.setOpenName(seq.getOpenName());
-        vo.setOpenOperation(convertOperationType(seq.getOpenOperationType()));
-        vo.setIsThreeRemotely(isThreeRemotely(seq.getCloseAutoType()));
-        vo.setHotCheckPassed(seq.getHotCheckIsSafe());
-        vo.setSafetyCheckPassed(safetyCheckPassed);
+        vo.setSeqNo(seq.getOpNo());
+        vo.setSwitchId(seq.getBreakerId());
+        vo.setSwitchName(seq.getName());
+        vo.setIsThreeRemotely(isThreeRemotely(seq.getAutoType()));
         return vo;
     }
 
@@ -291,7 +297,7 @@ public class ReconQueryServiceImpl implements ReconQueryService {
         ReconLoadpointCompareVO vo = new ReconLoadpointCompareVO();
         vo.setDetailNo(detail.getDetailNo());
         vo.setLoadPointName(detail.getName());
-        vo.setLoadType(detail.getLoadType());
+        vo.setLoadType(convertLoadType(detail.getLoadType()));
         vo.setVoltageBefore(detail.getBeforeU());
         vo.setVoltageAfter(detail.getAfterU());
         vo.setLowVoltageBefore(detail.getBeforeUlv());
@@ -305,6 +311,7 @@ public class ReconQueryServiceImpl implements ReconQueryService {
         ReconSwitchCompareVO vo = new ReconSwitchCompareVO();
         vo.setDetailNo(detail.getDetailNo());
         vo.setSwitchName(detail.getPsrId());
+        vo.setAutoType(convertAutoType(detail.getAutoType()));
         vo.setStateChange(buildStateChange(detail.getBeforeState(), detail.getAfterState()));
         vo.setCurrentBefore(detail.getBeforeI());
         vo.setCurrentAfter(detail.getAfterI());
@@ -314,7 +321,7 @@ public class ReconQueryServiceImpl implements ReconQueryService {
     }
 
     private void validatePageParam(ReconPageReqDTO reqDTO) {
-        if (Objects.isNull(reqDTO.getResultId())) {
+        if (Objects.isNull(reqDTO.getId())) {
             throw new BusinessException("方案ID为空");
         }
         if (Objects.isNull(reqDTO.getPageNum())) {
@@ -336,9 +343,35 @@ public class ReconQueryServiceImpl implements ReconQueryService {
         return operationType;
     }
 
+    /**
+     * close→合, open→分
+     */
+    private String convertAutoType(String operationType) {
+        if ("auto".equals(operationType)) {
+            return "自动";
+        }
+        if ("manual".equals(operationType)) {
+            return "手动";
+        }
+        return operationType;
+    }
+
+    /**
+     * close→合, open→分
+     */
+    private String convertLoadType(String LoadType) {
+        if ("MV_CUSTOMER".equals(LoadType)) {
+            return "专变";
+        }
+        if ("MV_TRAN".equals(LoadType)) {
+            return "公变";
+        }
+        return LoadType;
+    }
+
     /** 判断是否三遥开关 */
     private Boolean isThreeRemotely(String autoType) {
-        return "three_remotely".equals(autoType);
+        return "auto".equals(autoType);
     }
 
     /** 计算负载率(%) = 电流 / 额定电流 * 100 */

+ 2 - 0
services/load-transfer-si/src/main/java/com/hdkj/lt/si/service/recon/impl/ReconResultServiceImpl.java

@@ -169,6 +169,8 @@ public class ReconResultServiceImpl implements ReconResultService {
     private FhzgReconResult buildMain(RawResultDTO dto) {
         FhzgReconResult m = new FhzgReconResult();
         m.setGroupId(dto.getGroupId());
+        //目前就一个方案
+        m.setSchemeName("方案一");
         m.setGroupSid(dto.getGroupSid());
         m.setGroupName(dto.getGroupName());
         m.setStAreaId(dto.getStAreaId());