Procházet zdrojové kódy

状估数据入库,状估数据查询

liuaini před 1 dnem
rodič
revize
988ad1c60e

+ 1 - 1
api/load-transfer-si-api/src/main/java/com/hdkj/lt/feign/IStateEstimationApiClient.java

@@ -33,7 +33,7 @@ public interface IStateEstimationApiClient {
     ApiResponse<List<FhzgFeederAutoSwitchMapping>> saveAutoSwitch(@Valid @RequestBody StateEstimationRequest request);
 
     @PostMapping("feign/stateEstimation/queryByFeeder")
-    ApiResponse<StateEstimation> queryByFeeder(StateEstimationRequest request);
+    ApiResponse<StateEstimation> queryByFeeder(@RequestBody StateEstimationRequest request);
 
 
 }

+ 46 - 0
services/load-transfer-bf/src/main/java/com/hdkj/lt/bf/controller/FhzgSeEventStateEstimationController.java

@@ -0,0 +1,46 @@
+package com.hdkj.lt.bf.controller;
+
+import com.hdkj.hussar.ApiResponse;
+import com.hdkj.lt.bf.entity.FhzgSeEventStateEstimation;
+import com.hdkj.lt.bf.service.FhzgSeEventStateEstimationService;
+import com.hdkj.lt.core.mvc.BaseController;
+import lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @Description:
+ * @Author: LiuAini
+ * @Date: 2026/8/13 12:14
+ * @Version: v1.0
+ */
+@RestController
+@RequestMapping("/eventStateEstimation")
+@RequiredArgsConstructor
+public class FhzgSeEventStateEstimationController extends BaseController {
+
+    private final FhzgSeEventStateEstimationService stateEstimationService;
+
+    @PostMapping("/save")
+    public <T>ApiResponse<T> save(@RequestBody FhzgSeEventStateEstimation estimation) {
+        try {
+            stateEstimationService.saveStateEstimation(estimation);
+            return ApiResponse.success("状估数据保存成功");
+        } catch (Exception e) {
+            e.printStackTrace();
+            return fail("状估数据保存失败: " + e.getMessage());
+        }
+    }
+    @PostMapping("/saveByList")
+    public <T>ApiResponse<T> saveByList() {
+        try {
+            stateEstimationService.saveByList();
+            return ApiResponse.success("状估数据保存成功");
+        } catch (Exception e) {
+            e.printStackTrace();
+            return fail("状估数据保存失败: " + e.getMessage());
+        }
+    }
+}

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

@@ -8,6 +8,7 @@ import lombok.Data;
 import lombok.experimental.Accessors;
 
 import java.io.Serializable;
+import java.time.LocalDateTime;
 import java.util.Date;
 
 /**
@@ -16,7 +17,6 @@ import java.util.Date;
  */
 @TableName(value ="fhzg_se_event_state_estimation")
 @Data
-@Builder
 @Accessors(chain = true)
 public class FhzgSeEventStateEstimation implements Serializable {
     /**
@@ -39,6 +39,10 @@ public class FhzgSeEventStateEstimation implements Serializable {
      * 状估数据
      */
     private String stateEstimationJson;
+    /**
+     * 警告类型(current_overload / current_heavy / voltage_over / voltage_under)
+     */
+    private String alarmType;
 
     /**
      * 创建时间
@@ -48,4 +52,6 @@ public class FhzgSeEventStateEstimation implements Serializable {
     @TableField(exist = false)
     private static final long serialVersionUID = 1L;
 
+    @TableField(exist = false)
+    private String triggerTime;
 }

+ 20 - 63
services/load-transfer-bf/src/main/java/com/hdkj/lt/bf/listener/ReconTriggerListener.java

@@ -4,6 +4,7 @@ import cn.hutool.core.lang.Snowflake;
 import cn.hutool.core.util.IdUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.hdkj.hussar.ApiResponse;
@@ -18,6 +19,7 @@ import com.hdkj.lt.bf.mapper.FhzgSeEventStateEstimationMapper;
 import com.hdkj.lt.bf.mapper.FhzgSeVoltageEventMapper;
 import com.hdkj.lt.bf.mapper.XlRelMapper;
 import com.hdkj.lt.bf.entity.dto.XlRelDTO;
+import com.hdkj.lt.bf.service.FhzgSeEventStateEstimationService;
 import com.hdkj.lt.core.bizms.modle.dto.StateEstimation;
 import com.hdkj.lt.core.bizms.modle.po.DwdShbDsFeederBase;
 import com.hdkj.lt.core.bizms.modle.po.Jxz;
@@ -34,6 +36,7 @@ import com.hdkj.lt.modle.dto.simulation.SwitchFeederDTO;
 import com.hdkj.lt.modle.vo.recon.ReconstructionParam;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.compress.utils.Lists;
 import org.springframework.context.event.EventListener;
 import org.springframework.data.redis.connection.stream.Consumer;
 import org.springframework.data.redis.connection.stream.MapRecord;
@@ -90,7 +93,7 @@ public class ReconTriggerListener {
     private final FhzgSeVoltageEventMapper voltageEventMapper;
     private final RedisTemplate<String, Object> redisTemplate;
     private final FhzgSeEventStateEstimationMapper stateEstimationMapper;
-    private final IStateEstimationApiClient stateEstimationApiClient;
+    private final FhzgSeEventStateEstimationService seEventStateEstimationService;
 
     private static final DateTimeFormatter DT_FMT = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
     private final ObjectMapper writeMapper = new ObjectMapper();
@@ -287,6 +290,8 @@ public class ReconTriggerListener {
     // ============================================================
 
     private void handleReconTrigger(ReconTriggerEvent event) {
+        // 保存状估数据
+        saveStateEstimation(event);
         // 幂等保护:事件已完成重构(有方案/无方案)则跳过,防重投/重复触发重复调用重构接口
         Integer doneStatus = queryReconStatus(event.getEventId(), event.getAlarmType());
         if (doneStatus != null && (doneStatus == RECON_COMPLETED || doneStatus == RECON_NO_PLAN)) {
@@ -308,8 +313,7 @@ public class ReconTriggerListener {
         log.info("重构触发: eventId={}, feederId={}, alarmType={}, pointTime={}",
                 event.getEventId(), event.getFeederId(), event.getAlarmType(), event.getPointTime());
 
-        // 保存状估数据
-        CompletableFuture.runAsync(() -> saveStateEstimation(event));
+
         // 异步调用求解器,不阻塞后续重构请求
         CompletableFuture.runAsync(() -> callSolver(event));
 
@@ -506,66 +510,19 @@ public class ReconTriggerListener {
      * @param event
      */
     private void saveStateEstimation(ReconTriggerEvent event){
-        // 1. 查询接线组线路
-        Long eventId = event.getEventId();
-        List<Jxz> jxzList = jxzMapper.queryJxzXl(event.getFeederId());
-        List<String> groupFeederIds = jxzList.stream()
-                .map(Jxz::getFeederId)
-                .filter(Objects::nonNull)
-                .distinct()
-                .collect(Collectors.toList());
-        //没有接线组只存当前线路数据
-        if (groupFeederIds.isEmpty()) {
-            groupFeederIds = Collections.singletonList(event.getFeederId());
-        }
-        Snowflake snowflake = IdUtil.getSnowflake(1,1);
-        for (String feeder : groupFeederIds) {
-            StateEstimationRequest req = buildStateEstimationReq(event.getTriggerTime().format(DT_FMT));
-            req.setPsrIds(Collections.singletonList(feeder));
-            StateEstimation stateEstimation = callWithRetry(feeder, req);
-            if(Objects.nonNull(stateEstimation)){
-                FhzgSeEventStateEstimation estimation = FhzgSeEventStateEstimation.builder()
-                        .id(snowflake.nextId()).eventId(eventId).feederId(feeder)
-                        .createTime(new Date()).build();
-                try {
-                    String jsonStr = writeMapper.writeValueAsString(stateEstimation);
-                    estimation.setStateEstimationJson(jsonStr);
-                } catch (JsonProcessingException e) {
-                    log.warn("馈线={} 状估数据  序列化失败: {}", feeder, e.getMessage());
-                    continue;
-                }
-                try {
-                    stateEstimationMapper.insert(estimation);
-                    log.info("馈线={} ,事件={} ,状估数据 保存成功!", feeder, eventId);
-                } catch (Exception e) {
-                    log.error("馈线={} ,事件={} ,落库失败: {}", feeder, eventId, e.getMessage(), e);
-                }
-            }
-        }
-    }
-    private StateEstimationRequest buildStateEstimationReq(String pointTime){
-        StateEstimationRequest req = new StateEstimationRequest();
-        req.setContainerCode(Collections.singletonList("switch"));
-        req.setStartTime(pointTime);
-        req.setEndTime(pointTime);
-        return req;
-    }
-    private static final int RETRY_COUNT = 2;
-    private StateEstimation callWithRetry(String feeder, StateEstimationRequest req) {
-        int maxAttempts = RETRY_COUNT + 1;
-        Exception last = null;
-        for (int attempt = 1; attempt <= maxAttempts; attempt++) {
-            try {
-                ApiResponse<StateEstimation> resp = stateEstimationApiClient.queryByFeeder(req);
-                if (resp != null) {
-                    return resp.getData();
-                }
-            } catch (Exception e) {
-                last = e;
-                log.warn(" 第{}/{}次: {}, psrIds ={}", attempt, maxAttempts, e.getMessage(), feeder);
-            }
+        //
+        log.info("=========状估数据=========");
+        Long selectCount = stateEstimationMapper.selectCount(new LambdaQueryWrapper<FhzgSeEventStateEstimation>()
+                .eq(FhzgSeEventStateEstimation::getEventId, event.getEventId())
+                .eq(FhzgSeEventStateEstimation::getAlarmType, event.getAlarmType()));
+        log.info("eventId={}, 状估数据有【{}】条", event.getEventId(), selectCount);
+        if(selectCount == null || selectCount <= 0) {
+            CompletableFuture.runAsync(() -> {
+                FhzgSeEventStateEstimation estimation = new FhzgSeEventStateEstimation();
+                estimation.setEventId(event.getEventId()).setFeederId(event.getFeederId())
+                        .setTriggerTime(event.getTriggerTime().format(DT_FMT)).setAlarmType(event.getAlarmType());
+                seEventStateEstimationService.saveStateEstimation(estimation);
+            });
         }
-        throw new RuntimeException("状估调用失败 (已重试 " + RETRY_COUNT+ " 次), psrIds ="
-                + feeder + ", 最后错误: " + (last == null ? "unknown" : last.getMessage()), last);
     }
 }

+ 6 - 1
services/load-transfer-bf/src/main/java/com/hdkj/lt/bf/service/FhzgSeEventStateEstimationService.java

@@ -9,5 +9,10 @@ import com.hdkj.lt.bf.entity.FhzgSeEventStateEstimation;
 * @createDate 2026-08-12 11:46:35
 */
 public interface FhzgSeEventStateEstimationService extends IService<FhzgSeEventStateEstimation> {
-
+    /**
+     * 保存重过载事件状估数据
+     * @param estimation
+     */
+    void saveStateEstimation(FhzgSeEventStateEstimation estimation);
+    void saveByList();
 }

+ 141 - 2
services/load-transfer-bf/src/main/java/com/hdkj/lt/bf/service/impl/FhzgSeEventStateEstimationServiceImpl.java

@@ -1,10 +1,41 @@
 package com.hdkj.lt.bf.service.impl;
 
-import com.baomidou.mybatisplus.extension.service.IService;
+import cn.hutool.core.lang.Snowflake;
+import cn.hutool.core.util.IdUtil;
+import com.alibaba.fastjson2.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.hdkj.hussar.ApiResponse;
+import com.hdkj.lt.base.constants.CommonConstant;
+import com.hdkj.lt.bf.entity.FhzgSeCurrentEvent;
 import com.hdkj.lt.bf.entity.FhzgSeEventStateEstimation;
+import com.hdkj.lt.bf.mapper.FhzgSeCurrentEventMapper;
 import com.hdkj.lt.bf.mapper.FhzgSeEventStateEstimationMapper;
+import com.hdkj.lt.bf.service.FhzgSeEventStateEstimationService;
+import com.hdkj.lt.core.bizms.modle.dto.StateEstimation;
+import com.hdkj.lt.core.bizms.modle.po.Jxz;
+import com.hdkj.lt.core.bizms.modle.request.StateEstimationRequest;
+import com.hdkj.lt.core.sys.dao.JxzMapper;
+import com.hdkj.lt.feign.IStateEstimationApiClient;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.compress.utils.Lists;
+import org.springframework.core.io.ClassPathResource;
 import org.springframework.stereotype.Service;
+import org.springframework.util.StreamUtils;
+
+import java.io.IOException;
+import java.nio.charset.StandardCharsets;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.Collections;
+import java.util.Date;
+import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
 
 /**
 * @author Annie
@@ -12,9 +43,117 @@ import org.springframework.stereotype.Service;
 * @createDate 2026-08-12 11:46:35
 */
 @Service
+@Slf4j
+@RequiredArgsConstructor
 public class FhzgSeEventStateEstimationServiceImpl extends ServiceImpl<FhzgSeEventStateEstimationMapper, FhzgSeEventStateEstimation>
-    implements IService<FhzgSeEventStateEstimation> {
+    implements FhzgSeEventStateEstimationService {
+
+    private final JxzMapper jxzMapper;
+    private final IStateEstimationApiClient stateEstimationApiClient;
+    private final FhzgSeCurrentEventMapper currentEventMapper;
+    private static final int RETRY_COUNT = 2;
+    private static final DateTimeFormatter DT_FMT = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+    private final ObjectMapper writeMapper = new ObjectMapper();
+
+    @Override
+    public void saveStateEstimation(FhzgSeEventStateEstimation estimation) {
+        // 1. 查询接线组线路
+        log.info("========= 触发状估数据保存 =========");
+        Long eventId = estimation.getEventId();
+        String feederId = estimation.getFeederId();
+        List<Jxz> jxzList = jxzMapper.queryJxzXl(feederId);
+        List<String> groupFeederIds = jxzList.stream()
+                .map(Jxz::getFeederId)
+                .filter(Objects::nonNull)
+                .distinct()
+                .collect(Collectors.toList());
+        //没有接线组只存当前线路数据
+        if (groupFeederIds.isEmpty()) {
+            groupFeederIds = Collections.singletonList(feederId);
+        }
+        log.info("eventId = {} , 接线组线路数量【{}】条,异常触发时间{}", eventId, groupFeederIds.size(),estimation.getTriggerTime());
+        Snowflake snowflake = IdUtil.getSnowflake(1,1);
+        List<FhzgSeEventStateEstimation> stateEstimationList = Lists.newArrayList();
+        for (String feeder : groupFeederIds) {
+            StateEstimationRequest req = buildStateEstimationReq(feeder,estimation.getTriggerTime());
+//            StateEstimation stateEstimation = callWithRetry(feeder, req);
+            StateEstimation stateEstimation = stateEstimationApiClient.queryByFeeder(req).getData();
+//            try{
+//                String str = StreamUtils.copyToString(new ClassPathResource("15DKX-11729.txt").getInputStream(), StandardCharsets.UTF_8);
+//                JSON.parseObject(str,StateEstimation.class);
+//                JsonNode root = writeMapper.readTree(str);
+//                JsonNode data = root.get("data");
+//                stateEstimation = writeMapper.treeToValue(data,StateEstimation.class);
+//            }catch (IOException e) {
+//                throw new RuntimeException(e);
+//            }
+            log.info("response = {}", JSON.toJSONString(stateEstimation));
+            if(Objects.nonNull(stateEstimation)){
+                FhzgSeEventStateEstimation entity = new FhzgSeEventStateEstimation();
+                entity.setId(snowflake.nextId()).setEventId(eventId).setFeederId(feeder).setAlarmType(estimation.getAlarmType())
+                        .setCreateTime(new Date());
+                try {
+                    String jsonStr = writeMapper.writeValueAsString(stateEstimation);
+                    entity.setStateEstimationJson(jsonStr);
+                } catch (JsonProcessingException e) {
+                    log.warn("馈线={} 状估数据  序列化失败: {}", feeder, e.getMessage());
+                    continue;
+                }
+                stateEstimationList.add(entity);
+                try {
+                    this.save(entity);
+                    log.info("馈线={} ,事件={} ,状估数据 保存成功!", feeder, eventId);
+                } catch (Exception e) {
+                    log.error("馈线={} ,事件={} ,落库失败: {}", feeder, eventId, e.getMessage(), e);
+                }
+            }
+        }
+        log.info("事件={} ,保存状估数据共: 【{}】条", eventId, stateEstimationList.size());
+    }
+
+    @Override
+    public void saveByList() {
+        LocalDateTime sevenDaysAgo = LocalDateTime.now().minusDays(7);
+        List<FhzgSeCurrentEvent> list = currentEventMapper.selectList(new LambdaQueryWrapper<FhzgSeCurrentEvent>().ge(FhzgSeCurrentEvent::getTriggerTime, sevenDaysAgo));
+        for (FhzgSeCurrentEvent currentEvent : list) {
+            FhzgSeEventStateEstimation estimation = new FhzgSeEventStateEstimation();
+            estimation.setEventId(currentEvent.getId()).setFeederId(currentEvent.getFeederId())
+                    .setTriggerTime(currentEvent.getTriggerTime().format(DT_FMT)).setAlarmType(currentEvent.getAlarmType());
+            saveStateEstimation(estimation);
+        }
+    }
+
+    /**
+     * 构建参数
+     * @param pointTime
+     * @return
+     */
+    private StateEstimationRequest buildStateEstimationReq(String feederId,String pointTime){
+        StateEstimationRequest req = new StateEstimationRequest();
+        req.setPsrIds(Collections.singletonList(feederId));
+        req.setContainerCode(Collections.singletonList(CommonConstant.SWITCH));
+        req.setStartTime(pointTime);
+        req.setEndTime(pointTime);
+        return req;
+    }
 
+    private StateEstimation callWithRetry(String feeder, StateEstimationRequest req) {
+        int maxAttempts = RETRY_COUNT + 1;
+        Exception last = null;
+        for (int attempt = 1; attempt <= maxAttempts; attempt++) {
+            try {
+                ApiResponse<StateEstimation> resp = stateEstimationApiClient.queryByFeeder(req);
+                if (resp != null) {
+                    return resp.getData();
+                }
+            } catch (Exception e) {
+                last = e;
+                log.warn(" 第{}/{}次: {}, psrIds ={}", attempt, maxAttempts, e.getMessage(), feeder);
+            }
+        }
+        throw new RuntimeException("状估调用失败 (已重试 " + RETRY_COUNT+ " 次), psrIds ="
+                + feeder + ", 最后错误: " + (last == null ? "unknown" : last.getMessage()), last);
+    }
 }
 
 

+ 34 - 32
services/load-transfer-bf/src/main/java/com/hdkj/lt/bf/service/impl/FhzgSvgBreakersServiceImpl.java

@@ -733,7 +733,7 @@ public class FhzgSvgBreakersServiceImpl implements FhzgSvgBreakersService {
         }
         // 调用状态估算
         StateEstimation s = null;
-        //判断是否需要获取计划或故障数据
+        //判断是否需要获取事件数据
         String eventId = dto.getEventId();
         if(StringUtils.isNotEmpty(eventId)){
             List<FhzgSeEventStateEstimation> estimationList = stateEstimationMapper.selectList(
@@ -786,32 +786,34 @@ public class FhzgSvgBreakersServiceImpl implements FhzgSvgBreakersService {
                     } catch (Exception exception) {
                         exception.printStackTrace();
                     }
-                    if (Objects.equals(e.getIsAuto(), "true")) {
-                        beakerSvgInfoVO.setLcs(BeakerStatusInfoVO.builder().breakerPsrId(e.getPsrId())
+//                    if (Objects.equals(e.getIsAuto(), "true")) {
+//                        beakerSvgInfoVO.setLcs(BeakerStatusInfoVO.builder().breakerPsrId(e.getPsrId())
+//                                .breakerPsrId(dto.getPsrId())
+//                                .punit(CommonUnitEnum.P.getCode())
+//                                .qunit(CommonUnitEnum.Q.getCode())
+//                                .iunit(CommonUnitEnum.I.getCode())
+//                                .uunit(CommonUnitEnum.U.getCode())
+//                                .pvalue(convertToKW(e.getSeiPs().get(0)))
+//                                .qvalue(e.getSeiQs().get(0))
+//                                .ivalue(seiIs)
+//                                .uvalue(e.getSeiUs().get(0))
+//                                .status(e.getSeiStatuss().get(0))
+//                                .build());
+//                    }
+                    if(Objects.equals(e.getIsAuto(), "false")){
+                        beakerSvgInfoVO.setZgs(BeakerStatusInfoVO.builder().breakerPsrId(e.getPsrId())
                                 .breakerPsrId(dto.getPsrId())
                                 .punit(CommonUnitEnum.P.getCode())
                                 .qunit(CommonUnitEnum.Q.getCode())
                                 .iunit(CommonUnitEnum.I.getCode())
                                 .uunit(CommonUnitEnum.U.getCode())
-                                .pvalue(convertToKW(e.getSeiPs().get(0)))
-                                .qvalue(e.getSeiQs().get(0))
-                                .ivalue(seiIs)
-                                .uvalue(e.getSeiUs().get(0))
-                                .status(e.getSeiStatuss().get(0))
+                                .pvalue(convertToKW(e.getSeoPs().get(0)))
+                                .qvalue(e.getSeoQs().get(0))
+                                .ivalue(seoIs)
+                                .uvalue(e.getSeoUs().get(0))
+                                .status(e.getSeoStatuss().get(0))
                                 .build());
                     }
-                    beakerSvgInfoVO.setZgs(BeakerStatusInfoVO.builder().breakerPsrId(e.getPsrId())
-                            .breakerPsrId(dto.getPsrId())
-                            .punit(CommonUnitEnum.P.getCode())
-                            .qunit(CommonUnitEnum.Q.getCode())
-                            .iunit(CommonUnitEnum.I.getCode())
-                            .uunit(CommonUnitEnum.U.getCode())
-                            .pvalue(convertToKW(e.getSeoPs().get(0)))
-                            .qvalue(e.getSeoQs().get(0))
-                            .ivalue(seoIs)
-                            .uvalue(e.getSeoUs().get(0))
-                            .status(e.getSeoStatuss().get(0))
-                            .build());
                 }
             });
         }
@@ -841,18 +843,18 @@ public class FhzgSvgBreakersServiceImpl implements FhzgSvgBreakersService {
                 beakerSvgInfoVO.setBgs(breakerProtectionInfoVO);
             });
         }
-        if (dto.getSchemeId() != null && !dto.getSchemeId().isEmpty()) {
-            try {
-                List<BeakerStatusInfoVO> beakerStatusInfoVOS = getBeakerStatusInfoZgh(dto);
-                beakerStatusInfoVOS.forEach(b -> {
-                    if (Objects.equals(b.getBreakerPsrId(), dto.getPsrId())) {
-                        beakerSvgInfoVO.setZghs(b);
-                    }
-                });
-            } catch (Exception e) {
-                e.printStackTrace();
-            }
-        }
+//        if (dto.getSchemeId() != null && !dto.getSchemeId().isEmpty()) {
+//            try {
+//                List<BeakerStatusInfoVO> beakerStatusInfoVOS = getBeakerStatusInfoZgh(dto);
+//                beakerStatusInfoVOS.forEach(b -> {
+//                    if (Objects.equals(b.getBreakerPsrId(), dto.getPsrId())) {
+//                        beakerSvgInfoVO.setZghs(b);
+//                    }
+//                });
+//            } catch (Exception e) {
+//                e.printStackTrace();
+//            }
+//        }
         return beakerSvgInfoVO;
     }
 

+ 2 - 2
services/load-transfer-si/src/main/java/com/hdkj/lt/si/feign/StateEstimationApiClient.java

@@ -45,8 +45,8 @@ public class StateEstimationApiClient implements IStateEstimationApiClient {
         return ApiResponse.success(stateEstimationService.saveAutoSwitch(request));
     }
 
-    @Override
-    public ApiResponse<StateEstimation> queryByFeeder(StateEstimationRequest request) {
+    @PostMapping("feign/stateEstimation/queryByFeeder")
+    public ApiResponse<StateEstimation> queryByFeeder(@RequestBody StateEstimationRequest request) {
         return ApiResponse.success(stateEstimationService.queryByFeeder(request));
     }
 }