仿真数据构建添加信号机类型和型号校验

联锁生成信号机型号不正确时抛出异常
This commit is contained in:
walker-sheng 2021-09-27 10:41:43 +08:00
parent 316e43d697
commit 28997a2b52
2 changed files with 17 additions and 3 deletions

View File

@ -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);
// 根据信号机和区段是否同向设置进路联锁自排和是否车队模式

View File

@ -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;
}
}