修改:进路相关移动授权计算

This commit is contained in:
joylink_zhangsai 2021-07-07 09:52:51 +08:00
parent 6edd259ca7
commit 679b5012b3

View File

@ -439,7 +439,7 @@ public class ZCLogicLoop {
boolean lock = false; boolean lock = false;
if (!CollectionUtils.isEmpty(settingRoutes)) { if (!CollectionUtils.isEmpty(settingRoutes)) {
for (Route route : settingRoutes) { for (Route route : settingRoutes) {
if (route.isRouteSection(section) && route.isRight() == right) { if (route.isRight() == right && (route.isRouteSection(section) || route.isRouteSection(tailSection))) {
lock = true; lock = true;
List<Switch> switches = screenSwitchesInFront(route, tailSection); List<Switch> switches = screenSwitchesInFront(route, tailSection);
if (!this.checkRouteSwitchPosition(route, switches) || !this.isFlsCheckPass(route.getFlsList(), switches)) { if (!this.checkRouteSwitchPosition(route, switches) || !this.isFlsCheckPass(route.getFlsList(), switches)) {
@ -497,6 +497,12 @@ public class ZCLogicLoop {
boolean right = route.isRight(); boolean right = route.isRight();
List<Section> sectionList = route.getSectionList(); List<Section> sectionList = route.getSectionList();
List<Switch> sectionRelSwitches = new ArrayList<>(); List<Switch> sectionRelSwitches = new ArrayList<>();
for (int i = 0; i < 10; i++) {
if (sectionList.contains(section))
break;
else
section = section.getNextRunningSectionOf(right);
}
while (sectionList.contains(section)) { while (sectionList.contains(section)) {
if (section.getRelSwitch() != null) if (section.getRelSwitch() != null)
sectionRelSwitches.add(section.getRelSwitch()); sectionRelSwitches.add(section.getRelSwitch());