diff --git a/src/main/java/club/joylink/rtss/simulation/cbtc/ATS/service/runplan/CtcStationRunPlanLogService.java b/src/main/java/club/joylink/rtss/simulation/cbtc/ATS/service/runplan/CtcStationRunPlanLogService.java index 4bd9519bb..b396d9ac4 100644 --- a/src/main/java/club/joylink/rtss/simulation/cbtc/ATS/service/runplan/CtcStationRunPlanLogService.java +++ b/src/main/java/club/joylink/rtss/simulation/cbtc/ATS/service/runplan/CtcStationRunPlanLogService.java @@ -2,12 +2,12 @@ package club.joylink.rtss.simulation.cbtc.ATS.service.runplan; import club.joylink.rtss.exception.BusinessExceptionAssertEnum; import club.joylink.rtss.simulation.cbtc.ATS.operation.vo.CtcRunPlanParam; -import club.joylink.rtss.simulation.cbtc.CTC.service.CTCService; import club.joylink.rtss.simulation.cbtc.CTC.data.CtcEffectRepository; import club.joylink.rtss.simulation.cbtc.CTC.data.CtcStationRunPlanLog; import club.joylink.rtss.simulation.cbtc.CTC.data.RouteSequence; import club.joylink.rtss.simulation.cbtc.CTC.data.vo.CtcRunPlanVO; import club.joylink.rtss.simulation.cbtc.CTC.data.vo.CtcStationRunPlanLogVO; +import club.joylink.rtss.simulation.cbtc.CTC.service.CTCService; import club.joylink.rtss.simulation.cbtc.Simulation; import club.joylink.rtss.simulation.cbtc.data.map.Section; import club.joylink.rtss.simulation.cbtc.data.map.Station; @@ -222,6 +222,7 @@ public class CtcStationRunPlanLogService { boolean change = false; if (runPlanLog != null) { runPlanLog.setBaseAttribute(ctcRunPlanVO.getRunPlan()); + runPlanLog.setDelete(ctcRunPlanVO.getStatus() == -1); // 到达 if (ctcRunPlanVO.getRunPlan().arriveIsExist()) { // 不存在到达信息则直接浮空 change = modifyRunPlanItemInfo(simulation, runPlanLog.getArriveRunPlan(), ctcRunPlanVO.getRunPlan(), true); @@ -243,17 +244,17 @@ public class CtcStationRunPlanLogService { runPlanLogList.add(runPlanLog); } }); - // 编辑过轨道的行车记录 - runPlanLogList.stream() - .filter(r -> r.getArriveRunPlan() != null || r.getDepartRunPlan() != null) - .forEach(r -> { - if (r.getArriveRunPlan() != null && r.getArriveRunPlan().getTrackSection() != null) { - ctcService.runPlanItemUpdate(simulation, r.getStation(), r.getArriveRunPlan(), false); - } - if (r.getDepartRunPlan() != null && r.getDepartRunPlan().getTrackSection() != null) { - ctcService.runPlanItemUpdate(simulation, r.getStation(), r.getDepartRunPlan(), true); - } - }); + // 编辑过轨道的行车记录 ,暂时注释 +// runPlanLogList.stream() +// .filter(r -> r.getArriveRunPlan() != null || r.getDepartRunPlan() != null) +// .forEach(r -> { +// if (r.getArriveRunPlan() != null && r.getArriveRunPlan().getTrackSection() != null) { +// ctcService.runPlanItemUpdate(simulation, r.getStation(), r.getArriveRunPlan(), false); +// } +// if (r.getDepartRunPlan() != null && r.getDepartRunPlan().getTrackSection() != null) { +// ctcService.runPlanItemUpdate(simulation, r.getStation(), r.getDepartRunPlan(), true); +// } +// }); } /** diff --git a/src/main/java/club/joylink/rtss/simulation/cbtc/CTC/data/CtcStationRunPlanLog.java b/src/main/java/club/joylink/rtss/simulation/cbtc/CTC/data/CtcStationRunPlanLog.java index c37f75ac1..230d99308 100644 --- a/src/main/java/club/joylink/rtss/simulation/cbtc/CTC/data/CtcStationRunPlanLog.java +++ b/src/main/java/club/joylink/rtss/simulation/cbtc/CTC/data/CtcStationRunPlanLog.java @@ -349,10 +349,25 @@ public class CtcStationRunPlanLog { String stationCode = arrive ? paramInfo.getArriveStationCode() : paramInfo.getDepartStationCode(); // 车次 String tripNumber = arrive ? paramInfo.getArriveTripNumber() : paramInfo.getDepartTripNumber(); + // 运行方向 + String directionCode = arrive ? paramInfo.getArriveDirectionCode() : paramInfo.getDepartDirectionCode(); RunPlanItem runPlanItem = null; - if (!StringUtils.isEmpty(stationCode) && !StringUtils.isEmpty(tripNumber)) { + if ((!StringUtils.isEmpty(stationCode) && !StringUtils.isEmpty(tripNumber)) || !StringUtils.isEmpty(directionCode)) { runPlanItem = new RunPlanItem(paramInfo); - Station adjacentStation = simulation.getRepository().getByCode(stationCode, Station.class); + Station adjacentStation = null; + if (!StringUtils.isEmpty(directionCode)) { + // 出入口 + StationDirection stationDirection = simulation.getRepository().getByCode(directionCode, StationDirection.class); + // 接发状态 + runPlanItem.setStationDirection(stationDirection); + runPlanItem.setAccessName(stationDirection.getName()); + runPlanItem.setRight(stationDirection.getRight()); + runPlanItem.setRunModel(stationDirection.getDefaultRunStatus()); + runPlanItem.initAccessName(); + adjacentStation = stationDirection.getRelativeStationDirection().getStation(); + } + // 如果车站信息不为空则用指定车站信息 + adjacentStation = StringUtils.isEmpty(stationCode) ? adjacentStation : simulation.getRepository().getByCode(stationCode, Station.class); runPlanItem.setStation(adjacentStation); runPlanItem.setTripNumber(tripNumber); // 计划时间 @@ -376,17 +391,6 @@ public class CtcStationRunPlanLog { StationDirection.ReceiveAndDeliverModel runStatus = arrive ? StationDirection.ReceiveAndDeliverModel.R : StationDirection.ReceiveAndDeliverModel.D; runPlanItem.setRunModel(runStatus); - // 运行方向 - String directionCode = arrive ? paramInfo.getArriveDirectionCode() : paramInfo.getDepartDirectionCode(); - if (!StringUtils.isEmpty(directionCode)) { - StationDirection stationDirection = simulation.getRepository().getByCode(directionCode, StationDirection.class); - // 接发状态 - runPlanItem.setStationDirection(stationDirection); - runPlanItem.setAccessName(stationDirection.getName()); - runPlanItem.setRight(stationDirection.getRight()); - runPlanItem.setRunModel(stationDirection.getDefaultRunStatus()); - runPlanItem.initAccessName(); - } } return runPlanItem; }