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 547732421..362a5fc5b 100644 --- a/src/main/java/club/joylink/rtss/services/draftData/DraftMapCiDataGeneratorImpl.java +++ b/src/main/java/club/joylink/rtss/services/draftData/DraftMapCiDataGeneratorImpl.java @@ -1442,6 +1442,9 @@ public class DraftMapCiDataGeneratorImpl implements DraftMapCiDataGenerator { case BW: route.setAspect(SignalAspect.W); break; + default: + throw BusinessExceptionAssertEnum.DATA_ERROR.exception(String.format("信号机[%s]型号[%s]不正确", + start.debugStr(), start.getSignalModel())); } route.setTurnBack(false); // 根据信号机和区段是否同向,设置进路联锁自排和是否车队模式 diff --git a/src/main/java/club/joylink/rtss/simulation/cbtc/build/MapDeviceBuilder.java b/src/main/java/club/joylink/rtss/simulation/cbtc/build/MapDeviceBuilder.java index 6b60bc0e4..4d3cdc710 100644 --- a/src/main/java/club/joylink/rtss/simulation/cbtc/build/MapDeviceBuilder.java +++ b/src/main/java/club/joylink/rtss/simulation/cbtc/build/MapDeviceBuilder.java @@ -1121,13 +1121,24 @@ public class MapDeviceBuilder { case PASSING: case ARRIVAL: case EXIT: - signal.setSignalModel(SignalModel.RGY); + if (signal.getSignalModel() == null || + SignalModel.R.equals(signal.getSignalModel()) || + SignalModel.BW.equals(signal.getSignalModel())) { + errMsgList.add(String.format("信号机[%s]类型[%s]和型号[%s]不匹配", signal.debugStr(), + signal.getType(), signal.getSignalModel())); + } break; case BLOCKING: - signal.setSignalModel(SignalModel.R); + if (signal.getSignalModel() == null || !SignalModel.R.equals(signal.getSignalModel())) { + errMsgList.add(String.format("信号机[%s]类型[%s]和型号[%s]不匹配", signal.debugStr(), + signal.getType(), signal.getSignalModel())); + } break; case SHUNTING: - signal.setSignalModel(SignalModel.BW); + if (signal.getSignalModel() == null || !SignalModel.BW.equals(signal.getSignalModel())) { + errMsgList.add(String.format("信号机[%s]类型[%s]和型号[%s]不匹配", signal.debugStr(), + signal.getType(), signal.getSignalModel())); + } break; } }