Merge remote-tracking branch 'origin/test' into test
This commit is contained in:
commit
ecdd948079
@ -41,7 +41,7 @@ public class CilRouteLogicService {
|
|||||||
if (cilRepository.getSectionById(commonRoute.getPathElement().getStart().getId()).isAxcOccupy()) { //进路首区段占用
|
if (cilRepository.getSectionById(commonRoute.getPathElement().getStart().getId()).isAxcOccupy()) { //进路首区段占用
|
||||||
cilSignal.initGuideTime();
|
cilSignal.initGuideTime();
|
||||||
}
|
}
|
||||||
cilSignalLogicService.UpdateSignalDisplay(simulation, cilSignal, CilSignal.GUIDE, false);
|
cilSignalLogicService.update2GuideAspect(simulation, cilSignal);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void masterUnlock(RtSimulation simulation, boolean right) {
|
public void masterUnlock(RtSimulation simulation, boolean right) {
|
||||||
@ -99,7 +99,7 @@ public class CilRouteLogicService {
|
|||||||
//进路锁闭,但因为区段占用导致无法开放信号
|
//进路锁闭,但因为区段占用导致无法开放信号
|
||||||
if (cilRoute.isLock()) {
|
if (cilRoute.isLock()) {
|
||||||
if (cilSignal.isForbidAspect(commonSignal.isShunting())) {
|
if (cilSignal.isForbidAspect(commonSignal.isShunting())) {
|
||||||
cilSignalLogicService.UpdateSignalDisplay(simulation, cilSignal, CilSignal.GUIDE, false);
|
cilSignalLogicService.update2GuideAspect(simulation, cilSignal);
|
||||||
if (cilRepository.getSectionById(commonRoute.getPathElement().getStart().getId()).isAxcOccupy()) { //进路首区段占用
|
if (cilRepository.getSectionById(commonRoute.getPathElement().getStart().getId()).isAxcOccupy()) { //进路首区段占用
|
||||||
cilSignal.initGuideTime();
|
cilSignal.initGuideTime();
|
||||||
}
|
}
|
||||||
@ -404,7 +404,7 @@ public class CilRouteLogicService {
|
|||||||
//信号开放条件检查,不通过时关闭信号
|
//信号开放条件检查,不通过时关闭信号
|
||||||
if (!cilSignal.isForbidAspect(commonSignal.isShunting())) {
|
if (!cilSignal.isForbidAspect(commonSignal.isShunting())) {
|
||||||
if (!canOpenSignal(rtSimulation, cilRoute.getId())) {
|
if (!canOpenSignal(rtSimulation, cilRoute.getId())) {
|
||||||
cilSignalLogicService.try2UpdateSignalDisplay(rtSimulation, cilSignal, CilSignal.RED, false);
|
cilSignalLogicService.update2ForbiddenAspect(rtSimulation, cilSignal.getId());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -740,7 +740,7 @@ public class CilRouteLogicService {
|
|||||||
this.try2RouteLockSwitches(cilRepository, route.getId(), route.getPathElement().getSpList()); //道岔锁闭(应该不会失败)
|
this.try2RouteLockSwitches(cilRepository, route.getId(), route.getPathElement().getSpList()); //道岔锁闭(应该不会失败)
|
||||||
this.routeLockSections(cilRepository, route); //区段锁闭
|
this.routeLockSections(cilRepository, route); //区段锁闭
|
||||||
CilSignal cilSignal = cilRepository.getSignalById(route.getStart().getId());//修改信号机信号级别
|
CilSignal cilSignal = cilRepository.getSignalById(route.getStart().getId());//修改信号机信号级别
|
||||||
cilSignalLogicService.UpdateSignalDisplay(simulation, cilSignal, CilSignal.GUIDE, false); //开放引导信号
|
cilSignalLogicService.update2GuideAspect(simulation, cilSignal); //开放引导信号
|
||||||
// route.getPathElement().getAllSectionList().forEach(cs->{
|
// route.getPathElement().getAllSectionList().forEach(cs->{
|
||||||
// CilSection cilSection = cilRepository.getSectionById(cs.getId());
|
// CilSection cilSection = cilRepository.getSectionById(cs.getId());
|
||||||
//// if (!cilSection.isAxcOccupy()) {
|
//// if (!cilSection.isAxcOccupy()) {
|
||||||
@ -765,10 +765,10 @@ public class CilRouteLogicService {
|
|||||||
if (cilSignal.getGuideTime() == 0) {
|
if (cilSignal.getGuideTime() == 0) {
|
||||||
cilSignalLogicService.update2ForbiddenAspect(rtSimulation, cilSignal.getId());
|
cilSignalLogicService.update2ForbiddenAspect(rtSimulation, cilSignal.getId());
|
||||||
}
|
}
|
||||||
} else {
|
} else { //列车进入进路不能这么判断
|
||||||
if (cilRepository.getSectionById(commonRoute.getPathElement().getStart().getId()).isAxcOccupy()) {
|
// if (cilRepository.getSectionById(commonRoute.getPathElement().getStart().getId()).isAxcOccupy()) {
|
||||||
cilSignalLogicService.update2ForbiddenAspect(rtSimulation, cilSignal.getId());
|
// cilSignalLogicService.update2ForbiddenAspect(rtSimulation, cilSignal.getId());
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -28,12 +28,22 @@ public class CilSignalLogicService {
|
|||||||
CommonSignal commonSignal = commonRepository.getSignalById(signalId);
|
CommonSignal commonSignal = commonRepository.getSignalById(signalId);
|
||||||
CilSignal cilSignal = cilRepository.getSignalById(signalId);
|
CilSignal cilSignal = cilRepository.getSignalById(signalId);
|
||||||
if (commonSignal.isShunting()) {
|
if (commonSignal.isShunting()) {
|
||||||
UpdateSignalDisplay(simulation, cilSignal, CilSignal.A, false);
|
UpdateSignalDisplay(simulation, cilSignal, SrSignal.A, false);
|
||||||
} else {
|
} else {
|
||||||
UpdateSignalDisplay(simulation, cilSignal, CilSignal.RED, false);
|
UpdateSignalDisplay(simulation, cilSignal, SrSignal.H, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void update2GuideAspect(RtSimulation simulation, String signalId) {
|
||||||
|
CilRepository cilRepository = simulation.getRepository(CilRepository.NAME, CilRepository.class);
|
||||||
|
CilSignal cilSignal = cilRepository.getSignalById(signalId);
|
||||||
|
UpdateSignalDisplay(simulation, cilSignal, SrSignal.BH, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void update2GuideAspect(RtSimulation simulation, CilSignal cilSignal) {
|
||||||
|
UpdateSignalDisplay(simulation, cilSignal, SrSignal.BH, false);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 信号机接近区段占用
|
* 信号机接近区段占用
|
||||||
*/
|
*/
|
||||||
|
@ -35,7 +35,7 @@ public class CilRoute extends CilDevice {
|
|||||||
@Setter
|
@Setter
|
||||||
private boolean delayUnlocking; //延时解锁中
|
private boolean delayUnlocking; //延时解锁中
|
||||||
@Setter
|
@Setter
|
||||||
boolean gl;
|
boolean gl; //引导锁闭
|
||||||
|
|
||||||
public CilRoute(String id, String name) {
|
public CilRoute(String id, String name) {
|
||||||
super(id, name);
|
super(id, name);
|
||||||
@ -43,7 +43,21 @@ public class CilRoute extends CilDevice {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void init() {
|
public void init() {
|
||||||
|
overlap = null;
|
||||||
|
ars = false;
|
||||||
|
arc = false;
|
||||||
|
flt = false;
|
||||||
|
waitTurnMap.clear();
|
||||||
|
waitOnPositionMap.clear();
|
||||||
|
stageStartTime = null;
|
||||||
|
signalState = 0;
|
||||||
|
lock = false;
|
||||||
|
ol = false;
|
||||||
|
fl = false;
|
||||||
|
canAutoOpen = true;
|
||||||
|
trainIn = false;
|
||||||
|
delayUnlocking = false;
|
||||||
|
gl = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// public boolean isOpenAspect() {
|
// public boolean isOpenAspect() {
|
||||||
|
@ -10,19 +10,7 @@ public class CilSignal extends CilDevice {
|
|||||||
public static final int DEFAULT_DELAY_TIME = 30 * 1000; //进路延时解锁默认时长
|
public static final int DEFAULT_DELAY_TIME = 30 * 1000; //进路延时解锁默认时长
|
||||||
public static final int DEFAULT_GUIDE_TIME = 15 * 1000; //引导信号有效时长
|
public static final int DEFAULT_GUIDE_TIME = 15 * 1000; //引导信号有效时长
|
||||||
|
|
||||||
int signalAspect = RED; //当前显示的信号
|
int signalAspect = SrSignal.H; //当前显示的信号
|
||||||
public static final int RED = 1; // 红灯信号(禁止信号)
|
|
||||||
public static final int GREEN = 2; // 绿灯信号(直向通行)
|
|
||||||
public static final int YELLOW = 3; // 黄灯信号(侧向通行)
|
|
||||||
public static final int GUIDE = 4; // 引导信号(正线为黄红)
|
|
||||||
public static final int LL = 5; // 绿绿
|
|
||||||
public static final int LH = 6; // 绿黄
|
|
||||||
public static final int HH = 7; // 黄黄
|
|
||||||
public static final int HSH = 8; // 黄闪黄
|
|
||||||
public static final int BH = 9; // 白红
|
|
||||||
public static final int A = 10; // 蓝
|
|
||||||
public static final int B = 11; // 白
|
|
||||||
public static final int HS = 12; // 红闪
|
|
||||||
boolean logic;
|
boolean logic;
|
||||||
boolean forceLight; // 强制点灯
|
boolean forceLight; // 强制点灯
|
||||||
@Setter
|
@Setter
|
||||||
@ -56,7 +44,7 @@ public class CilSignal extends CilDevice {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void init() {
|
public void init() {
|
||||||
signalAspect = RED;
|
signalAspect = SrSignal.H;
|
||||||
logic = false;
|
logic = false;
|
||||||
forceLight = false;
|
forceLight = false;
|
||||||
bl = false;
|
bl = false;
|
||||||
@ -80,9 +68,9 @@ public class CilSignal extends CilDevice {
|
|||||||
|
|
||||||
public boolean isForbidAspect(boolean shunting) {
|
public boolean isForbidAspect(boolean shunting) {
|
||||||
if (shunting) {
|
if (shunting) {
|
||||||
return this.signalAspect == A;
|
return this.signalAspect == SrSignal.A;
|
||||||
} else {
|
} else {
|
||||||
return this.signalAspect == RED;
|
return this.signalAspect == SrSignal.H;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -115,10 +103,10 @@ public class CilSignal extends CilDevice {
|
|||||||
// default:
|
// default:
|
||||||
// throw BusinessExceptionAssertEnum.ARGUMENT_ILLEGAL.exception(String.format("未知的显示状态[%s]", aspect));
|
// throw BusinessExceptionAssertEnum.ARGUMENT_ILLEGAL.exception(String.format("未知的显示状态[%s]", aspect));
|
||||||
// }
|
// }
|
||||||
if (aspect == RED) {
|
if (aspect == SrSignal.H) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if (aspect == GUIDE) {
|
if (aspect == SrSignal.BH) {
|
||||||
return level == LEVEL_2 || level == LEVEL_3 || level == LEVEL_4;
|
return level == LEVEL_2 || level == LEVEL_3 || level == LEVEL_4;
|
||||||
}
|
}
|
||||||
return level == LEVEL_4;
|
return level == LEVEL_4;
|
||||||
@ -185,6 +173,6 @@ public class CilSignal extends CilDevice {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public boolean isGuideAspect() {
|
public boolean isGuideAspect() {
|
||||||
return this.signalAspect == GUIDE;
|
return this.signalAspect == SrSignal.BH;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -132,6 +132,8 @@ public class SrdRepositoryBuilder {
|
|||||||
for (MapSignalNewVO signalVO : signalList) {
|
for (MapSignalNewVO signalVO : signalList) {
|
||||||
SrSignal srSignal = new SrSignal(signalVO.getCode());
|
SrSignal srSignal = new SrSignal(signalVO.getCode());
|
||||||
srSignal.shunting = Signal.SignalType.SHUNTING.equals(signalVO.getType());
|
srSignal.shunting = Signal.SignalType.SHUNTING.equals(signalVO.getType());
|
||||||
|
if (srSignal.shunting)
|
||||||
|
srSignal.state = SrSignal.A;
|
||||||
signalMap.put(srSignal.getId(), srSignal);
|
signalMap.put(srSignal.getId(), srSignal);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user