修改:非通信车占用区段移动授权计算bug

This commit is contained in:
joylink_zhangsai 2021-06-07 17:43:19 +08:00
parent 49f6b357d3
commit 5807323b89

View File

@ -130,6 +130,11 @@ public class ZCLogicLoop {
if (headPosition.getSection().isFault()) {
endList.add(new MovementAuthority.End(headPosition.getSection(), MovementAuthority.EndType.FAULT_SECTION));
}
//非通信车占用区段
if (section.isNonCbtcOccupy()) {
endList.add(new MovementAuthority.End(section, MovementAuthority.EndType.NCT_OCCUPIED_IN_FRONT_OF_SECTION));
return endList;
}
int count = 0;
while (count < 50) {
++count;
@ -161,10 +166,6 @@ public class ZCLogicLoop {
endList.add(unlockedOverlapEnd);
}
}
//非通信车占用区段
if (section.isNonCbtcOccupy()) {
endList.add(new MovementAuthority.End(section, MovementAuthority.EndType.NCT_OCCUPIED_IN_FRONT_OF_SECTION));
}
// 轨道尽头/问题道岔
Section temp = section.getNextRunningSectionOf(right);
if (Objects.isNull(temp)) { // 到尽头
@ -178,12 +179,12 @@ public class ZCLogicLoop {
break;
}
//非通信车占用区段
// if (temp.isNonCbtcOccupy()) {
// SectionPosition headPosition1 = train.getHeadPosition();
// if (!temp.isSamePhysical(headPosition1.getSection().getCode())) {
// endList.add(new MovementAuthority.End(section, MovementAuthority.EndType.NCT_OCCUPIED_IN_FRONT_OF_SECTION));
// }
// }
if (temp.isNonCbtcOccupy()) {
SectionPosition headPosition1 = train.getHeadPosition();
if (!temp.isSamePhysical(headPosition1.getSection().getCode())) {
endList.add(new MovementAuthority.End(temp, MovementAuthority.EndType.NCT_OCCUPIED_IN_FRONT_OF_SECTION));
}
}
//检查关闭的区段
MovementAuthority.End cs = checkClosedSection(section);
if (cs != null)