修改列车移动授权——反向锁闭区段作为移动授权终点bug修改

This commit is contained in:
walker-sheng 2021-08-30 17:20:38 +08:00
parent 72c6ded4ec
commit 5ae6ee8379

View File

@ -190,6 +190,8 @@ public class MaService {
break;
}
case Closed_Section:
case UnLock_Section:
case Reverse_Lock_Section:
case Fault_Route:{
Section section = (Section) this.device;
eoa = new SectionPosition(section, right ? 0 : section.getLen());
@ -313,6 +315,10 @@ public class MaService {
ZC_Boundary,
/** 关闭的区段 */
Closed_Section,
/** 进路锁闭反向的区段 */
Reverse_Lock_Section,
/** 未锁闭的区段 */
UnLock_Section,
/** 进路联锁条件不再完备 */
Fault_Route,
/** 站台问题(屏蔽门或紧急停车) */
@ -417,11 +423,11 @@ public class MaService {
ma = this.checkAndUpdateMa(ma, new Ma(train, section, MaType.Fault_Route));
}
// 反向锁闭区段
if (right != route.getStart().isRight()) { // 列车方向和区段进路方向相反
if (front && right != route.getStart().isRight()) { // 列车方向和区段进路方向相反
Signal aheadSignal = section.getSignalOf(right);
if (aheadSignal == null || aheadSignal.getLockedRoute() == null ||
!aheadSignal.getLockedRoute().isOpen()) {
ma = this.checkAndUpdateMa(ma, new Ma(train, section, MaType.Closed_Section));
ma = this.checkAndUpdateMa(ma, new Ma(train, section, MaType.Reverse_Lock_Section));
}
}
} else if(front) {
@ -429,7 +435,7 @@ public class MaService {
Signal aheadSignal = section.getSignalOf(right);
if (aheadSignal == null || aheadSignal.getLockedRoute() == null ||
!aheadSignal.getLockedRoute().isOpen()) {
ma = this.checkAndUpdateMa(ma, new Ma(train, section, MaType.Closed_Section));
ma = this.checkAndUpdateMa(ma, new Ma(train, section, MaType.UnLock_Section));
}
}
}