道岔钩锁操作联动
This commit is contained in:
parent
fc353a5fad
commit
266463eb4c
@ -12,7 +12,6 @@ import club.joylink.rtss.simulation.cbtc.constant.SwitchIndication;
|
|||||||
import club.joylink.rtss.simulation.cbtc.data.SimulationDataRepository;
|
import club.joylink.rtss.simulation.cbtc.data.SimulationDataRepository;
|
||||||
import club.joylink.rtss.simulation.cbtc.data.map.Section;
|
import club.joylink.rtss.simulation.cbtc.data.map.Section;
|
||||||
import club.joylink.rtss.simulation.cbtc.data.map.Switch;
|
import club.joylink.rtss.simulation.cbtc.data.map.Switch;
|
||||||
import club.joylink.rtss.simulation.cbtc.data.vr.VirtualRealitySwitch;
|
|
||||||
import club.joylink.rtss.simulation.cbtc.exception.SimulationException;
|
import club.joylink.rtss.simulation.cbtc.exception.SimulationException;
|
||||||
import club.joylink.rtss.simulation.cbtc.exception.SimulationExceptionType;
|
import club.joylink.rtss.simulation.cbtc.exception.SimulationExceptionType;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
@ -295,11 +294,23 @@ public class SwitchOperateHandler {
|
|||||||
*/
|
*/
|
||||||
@OperateHandlerMapping(type = Operation.Type.Switch_Hook_Lock)
|
@OperateHandlerMapping(type = Operation.Type.Switch_Hook_Lock)
|
||||||
public void switchHookLock(Simulation simulation, String switchCode, Boolean normal) {
|
public void switchHookLock(Simulation simulation, String switchCode, Boolean normal) {
|
||||||
VirtualRealitySwitch vrSwitch = simulation.getRepository().getVRByCode(switchCode, VirtualRealitySwitch.class);
|
SimulationDataRepository repository = simulation.getRepository();
|
||||||
|
Switch aSwitch = repository.getByCode(switchCode, Switch.class);
|
||||||
if (normal) {
|
if (normal) {
|
||||||
vrSwitch.setP(SwitchIndication.N);
|
aSwitch.getVirtualSwitch().setP(SwitchIndication.N);
|
||||||
} else {
|
} else {
|
||||||
vrSwitch.setP(SwitchIndication.R);
|
aSwitch.getVirtualSwitch().setP(SwitchIndication.R);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (simulation.getRepository().getConfig().isSwitchNRTurnChain()) {
|
||||||
|
Switch linkedSwitch = aSwitch.queryLinkedSwitch();
|
||||||
|
if (linkedSwitch != null) {
|
||||||
|
if (normal) {
|
||||||
|
linkedSwitch.getVirtualSwitch().setP(SwitchIndication.N);
|
||||||
|
} else {
|
||||||
|
linkedSwitch.getVirtualSwitch().setP(SwitchIndication.R);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -12,6 +12,13 @@ import lombok.Setter;
|
|||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
public class VirtualRealitySwitch extends ControllableVrDevice<VirtualRealitySwitch.Operation> {
|
public class VirtualRealitySwitch extends ControllableVrDevice<VirtualRealitySwitch.Operation> {
|
||||||
|
|
||||||
|
private SwitchIndication p;
|
||||||
|
|
||||||
|
// -------------运行逻辑控制参数-------------
|
||||||
|
|
||||||
|
private Fault fault;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected boolean checkConditionBeforeControl(Operation command) {
|
protected boolean checkConditionBeforeControl(Operation command) {
|
||||||
switch (command) {
|
switch (command) {
|
||||||
@ -66,12 +73,6 @@ public class VirtualRealitySwitch extends ControllableVrDevice<VirtualRealitySwi
|
|||||||
RP,
|
RP,
|
||||||
}
|
}
|
||||||
|
|
||||||
private SwitchIndication p;
|
|
||||||
|
|
||||||
// -------------运行逻辑控制参数-------------
|
|
||||||
|
|
||||||
private Fault fault;
|
|
||||||
|
|
||||||
public VirtualRealitySwitch(String code, String name, int turnTime) {
|
public VirtualRealitySwitch(String code, String name, int turnTime) {
|
||||||
super(code, name, MapElement.DeviceType.SWITCH, turnTime * 1000);
|
super(code, name, MapElement.DeviceType.SWITCH, turnTime * 1000);
|
||||||
this.p = SwitchIndication.N;
|
this.p = SwitchIndication.N;
|
||||||
|
Loading…
Reference in New Issue
Block a user