raojiang 2 týždňov pred
rodič
commit
fd33be96e9

+ 3 - 2
api/load-transfer-mq-api/src/main/java/com/hdkj/lt/modle/dto/fault/RegenerateFaultRequest.java

@@ -2,6 +2,8 @@ package com.hdkj.lt.modle.dto.fault;
 
 import lombok.Data;
 
+import java.util.List;
+
 /**
  * @author rj
  * @date 2026/7/7 16:02
@@ -14,6 +16,5 @@ public class RegenerateFaultRequest {
     private String startSwitch;
     private String startSwitchName;
     private String startSwitchType;
-    private String endSwitch;
-    private String endSwitchName;
+    private List<String> endSwitchList;
 }

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

@@ -307,7 +307,7 @@ public class FaultPowerCutServiceImpl extends ServiceImpl<FaultPowerCutMapper, F
     public void regenerateFault(RegenerateFaultRequest request) {
         FaultPowerCut entity = this.baseMapper.getPowerCutByFaultNo(request.getFaultNo());
         FaultPowerCutSwitch one = faultPowerCutSwitchService.getOne(new LambdaQueryWrapper<FaultPowerCutSwitch>().eq(FaultPowerCutSwitch::getFaultId, entity.getId()));
-        if (Objects.equals(request.getStartSwitch(), one.getStartSwitch()) && Objects.equals(one.getEndSwitch(), request.getEndSwitch())) {
+        if (Objects.equals(request.getStartSwitch(), one.getStartSwitch()) && Objects.equals(one.getEndSwitch(), String.join(",",request.getEndSwitchList()))) {
             throw new BusinessException("所选区段与默认区段相同");
         }
         log.info(request.toString());

+ 0 - 1
services/load-transfer-mq/src/main/java/com/hdkj/lt/mq/entity/dto/BreakerInfo.java

@@ -23,5 +23,4 @@ public class BreakerInfo implements Serializable {
     @ApiModelProperty(value = "开关名称")
     private String breakerName;
 
-
 }

+ 1 - 2
services/load-transfer-mq/src/main/java/com/hdkj/lt/mq/feign/FaultCreateClient.java

@@ -66,8 +66,7 @@ public class FaultCreateClient implements IFaultCreateClient {
         breakerInfo.setBreakerName(request.getStartSwitchName());
         breakerInfo.setBreakerPsrType(request.getStartSwitchType());
         BreakerInfo breakerInfo2 = new BreakerInfo();
-        breakerInfo2.setBreakerPsrId(request.getEndSwitch());
-        breakerInfo2.setBreakerName(request.getEndSwitchName());
+        breakerInfo2.setBreakerPsrId(String.join(",",request.getEndSwitchList()));
         breakerInfos.add(breakerInfo);
         breakerInfos.add(breakerInfo2);
         feederInfo.setBreakerList(breakerInfos);

+ 2 - 0
services/load-transfer-mq/src/main/java/com/hdkj/lt/mq/mapper/base/FeederTopoMapper.java

@@ -5,6 +5,7 @@ import com.hdkj.lt.core.bizms.modle.po.FeederTopo;
 import com.hdkj.lt.modle.dto.simulation.FeederCheckRule;
 import com.hdkj.lt.modle.dto.simulation.PlanTransferSchemeDTO;
 import com.hdkj.lt.mq.entity.dto.BreakerInfo;
+import com.hdkj.lt.mq.entity.dto.BreakerParamDTO;
 import com.hdkj.lt.mq.entity.dto.DeviceTypeDto;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
@@ -33,4 +34,5 @@ public interface FeederTopoMapper extends BaseMapper<FeederTopo> {
     void insertDisableLlkgConfig();
 
     List<BreakerInfo> getSwitchInfoByPsrID(@Param("psrId") String psrId);
+
 }

+ 4 - 2
services/load-transfer-mq/src/main/java/com/hdkj/lt/mq/service/fault/impl/AcceptFaultPowerCutServiceImpl.java

@@ -21,6 +21,7 @@ import com.hdkj.lt.core.sys.model.dto.OrgInfoDto;
 import com.hdkj.lt.core.sys.service.ISysStruService;
 import com.hdkj.lt.feign.IStateEstimationApiClient;
 import com.hdkj.lt.mq.entity.dto.AcceptFaultPowerCutDTO;
+import com.hdkj.lt.mq.entity.dto.BreakerInfo;
 import com.hdkj.lt.mq.entity.dto.FeederInfo;
 import com.hdkj.lt.mq.entity.po.FhzgFaultPowerCut;
 import com.hdkj.lt.mq.service.fault.AcceptFaultPowerCutService;
@@ -126,8 +127,9 @@ public class AcceptFaultPowerCutServiceImpl implements AcceptFaultPowerCutServic
         fhzgFaultPowerCut.setCreator(8L);
         fhzgFaultPowerCut.setFeederSwitchInfo(JSON.toJSONString(ss));
         if ("负荷转供".equals(acceptFaultPowerCutDTO.getSourceSystem())) {
-            fhzgFaultPowerCut.setReFaultStartSwitchId(acceptFaultPowerCutDTO.getFeederList().get(0).getBreakerList().get(0).getBreakerPsrId());
-            fhzgFaultPowerCut.setReFaultEndSwitchId(acceptFaultPowerCutDTO.getFeederList().get(0).getBreakerList().get(1).getBreakerPsrId());
+            List<BreakerInfo> breakerList = acceptFaultPowerCutDTO.getFeederList().get(0).getBreakerList();
+            fhzgFaultPowerCut.setReFaultStartSwitchId(breakerList.get(0).getBreakerPsrId());
+            fhzgFaultPowerCut.setReFaultEndSwitchId(breakerList.get(1).getBreakerPsrId());
         }
         faultPowerCutService.save(fhzgFaultPowerCut);
         log.info("保存计划数据成功faultId:{}", faultId);

+ 19 - 5
services/load-transfer-mq/src/main/java/com/hdkj/lt/mq/service/fault/impl/FaultFhzgReasoningPlatformServiceImpl.java

@@ -1,7 +1,7 @@
 package com.hdkj.lt.mq.service.fault.impl;
 
 import cn.hutool.core.collection.CollUtil;
-import cn.hutool.core.lang.generator.SnowflakeGenerator;
+import cn.hutool.core.util.IdUtil;
 import cn.hutool.core.util.StrUtil;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -19,7 +19,6 @@ import com.hdkj.lt.core.bizms.modle.po.GridPdOutageEventBase;
 import com.hdkj.lt.core.bizms.modle.po.fault.FaultDistMappingFile;
 import com.hdkj.lt.core.bizms.modle.po.fault.FaultPowerCutPvUsers;
 import com.hdkj.lt.core.bizms.modle.po.fault.FaultPowerCutSwitch;
-import com.hdkj.lt.core.bizms.mp.ArgTableNameHandler;
 import com.hdkj.lt.core.log.exception.ExceptionErrorLogCast;
 import com.hdkj.lt.core.log.model.param.ErrorLogParam;
 import com.hdkj.lt.core.mq.client.RocketMQTemplate;
@@ -28,9 +27,9 @@ import com.hdkj.lt.core.mq.model.RocketMQMessageEntity;
 import com.hdkj.lt.core.sys.dao.FhzgDistMappingFileMapper;
 import com.hdkj.lt.core.sys.dao.FhzgOrganSuffixMapper;
 import com.hdkj.lt.core.sys.model.dto.FhzgDistMappingFileDTO;
-import com.hdkj.lt.modle.dto.simulation.FeederCheckRule;
 import com.hdkj.lt.mq.entity.dto.AnalyzeDecudeParamDTO;
 import com.hdkj.lt.mq.entity.dto.BrakerTransformerRelationDTO;
+import com.hdkj.lt.mq.entity.dto.BreakerInfo;
 import com.hdkj.lt.mq.entity.dto.BreakerParamDTO;
 import com.hdkj.lt.mq.entity.po.FhzgFaultPowerCut;
 import com.hdkj.lt.mq.mapper.base.FeederTopoMapper;
@@ -38,7 +37,6 @@ import com.hdkj.lt.mq.mapper.base.FhzgReasoningPlatformMapper;
 import com.hdkj.lt.mq.mapper.fault.FaultFhzgReasoningPlatformMapper;
 import com.hdkj.lt.mq.service.base.ISvgFileInfoService;
 import com.hdkj.lt.mq.service.fault.FaultFhzgReasoningPlatformService;
-import cn.hutool.core.util.IdUtil;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
@@ -179,7 +177,23 @@ public class FaultFhzgReasoningPlatformServiceImpl implements FaultFhzgReasoning
         } else {
             faultPowerCutSwitch.setStatus("1");
         }
-        result.setIsolateBreakersList(new ArrayList<>());
+        if ("负荷转供".equals(faultPowerCut.getFaultSource())) {
+            List<BreakerParamDTO> breakerParamDTOS = new ArrayList<>();
+            List<String> list = Arrays.asList(faultPowerCut.getReFaultEndSwitchId().split(","));
+            for (String s : list) {
+                List<BreakerInfo> switchInfoByPsrID = feederTopoMapper.getSwitchInfoByPsrID(s);
+                for (BreakerInfo breakerInfo : switchInfoByPsrID) {
+                    BreakerParamDTO breakerParamDTO = new BreakerParamDTO();
+                    breakerParamDTO.setSwitchId(breakerInfo.getBreakerPsrId());
+                    breakerParamDTO.setSwitchType(breakerInfo.getBreakerPsrType());
+                    breakerParamDTO.setDistribution(0);
+                    breakerParamDTOS.add(breakerParamDTO);
+                }
+            }
+            result.setIsolateBreakersList(breakerParamDTOS);
+        } else {
+            result.setIsolateBreakersList(new ArrayList<>());
+        }
         faultPowerCutSwitch.setAnalysisJson(JSON.toJSONString(result));
         Long id = IdUtil.getSnowflakeNextId();
         faultPowerCutSwitch.setId(id);