修改宁波一延续保护异常触发的问题

This commit is contained in:
joylink_zhangsai 2023-05-11 13:44:32 +08:00
parent ecb29dbcc2
commit aace990217

View File

@ -30,7 +30,8 @@ public class CiService {
public void checkAndTrySettingOverlap(Simulation simulation, RouteOverlap overlap) {
if (overlap != null && !overlap.isSetting() && !overlap.isLock() &&
!overlap.isForbidden()) {
if (overlap.getSection().isRouteLock()) {
//添加后半条件为解决宁波一S011003信号机延续保护可能在反向进路S011007-S011001办理时触发的问题
if (overlap.getSection().isRouteLock() && overlap.isRight() == overlap.getSection().isLockRight()) {
SectionPath sectionPath = overlap.selectPath();
for (SwitchElement switchElement : sectionPath.getSwitchList()) {
Switch aSwitch = switchElement.getASwitch();
@ -51,6 +52,11 @@ public class CiService {
}
}
}
// 如果延续保护区段被占用则不触发为解决宁波一列车停站结束后离开站台轨导致延续保护重新办理的问题
if (sectionPath.getSectionList().stream().anyMatch(Section::isOccupied)) {
log.debug("延续保护区段占用,不能触发");
return;
}
overlap.startSetting(simulation.getSystemTime());
}
}