diff --git a/src/main/java/club/joylink/rtss/services/draftData/DraftMapCiDataGeneratorImpl.java b/src/main/java/club/joylink/rtss/services/draftData/DraftMapCiDataGeneratorImpl.java index b2918421f..9ac20e849 100644 --- a/src/main/java/club/joylink/rtss/services/draftData/DraftMapCiDataGeneratorImpl.java +++ b/src/main/java/club/joylink/rtss/services/draftData/DraftMapCiDataGeneratorImpl.java @@ -764,12 +764,12 @@ public class DraftMapCiDataGeneratorImpl implements DraftMapCiDataGenerator { } else { // 调车进路 signalAspect = SignalAspect.W; - if (Objects.nonNull(nextOpSignal)) { + if (Objects.nonNull(endOpSignal) && sectionPath.getSectionList().size() > 1) { + // 使用反向信号机,过滤 列车兼调车信号机 -> 尽头,列车兼调车信号机 -> 出段信号机 + clickEnd = endOpSignal; + } else if (Objects.nonNull(nextOpSignal)) { // 下个区段反向信号机存在,则使用 clickEnd = nextOpSignal; - } else if (Objects.nonNull(endOpSignal) && sectionPath.getSectionList().size() > 1) { - // 使用反向信号机,过滤列车兼调车信号机至尽头 - clickEnd = endOpSignal; } else { // 其余设置为终端信号机,可能为null clickEnd = endSignal; @@ -1953,17 +1953,9 @@ public class DraftMapCiDataGeneratorImpl implements DraftMapCiDataGenerator { } else { // 同向类型相同信号机 if (Objects.nonNull(signal)) { - // 调车信号机 -> 调车信号机, 过滤只有一个区段的情况(进段信号机 -> 调车信号机) - if (signal.getType().equals(startSignal.getType())) { - if (tempPath.getSectionList().size() > 1) { - routePathList.add(tempPath); - } - return; - } - // 调车信号机 -> 列车兼调车信号机, 存在只有一个区段的情况 - // 调车信号机 -> 阻挡信号机 - // 调车信号机 -> 出段信号机 - if (Signal.SignalType.SHUNTING2.equals(signal.getType()) + // 调车信号机 -> 调车信号机/列车兼调车信号机/ 阻挡信号机/出段信号机 + if (Signal.SignalType.SHUNTING.equals(signal.getType()) + || Signal.SignalType.SHUNTING2.equals(signal.getType()) || Signal.SignalType.BLOCKING.equals(signal.getType()) || Signal.SignalType.OUTBOUND.equals(signal.getType())) { routePathList.add(tempPath);