【修改行车日志实际时间】

This commit is contained in:
weizhihong 2022-06-21 16:55:24 +08:00
parent 56aefb9db4
commit 49b6899df3
2 changed files with 20 additions and 22 deletions

View File

@ -63,9 +63,7 @@ public class CtcStationRunPlanLogService {
if (!StringUtils.isEmpty(p.getDepartSectionCode())) { if (!StringUtils.isEmpty(p.getDepartSectionCode())) {
RouteSequence.Line departLine = simulation.getCtcRepository() RouteSequence.Line departLine = simulation.getCtcRepository()
.getRouteSequenceLine(stationCode, runPlanLog.getTripNumber(), true); .getRouteSequenceLine(stationCode, runPlanLog.getTripNumber(), true);
if ((departLine != null && departLine.getRoute().isLock())) { return departLine != null && departLine.getRoute().isLock();
return true;
}
} }
return false; return false;
}); });
@ -74,7 +72,7 @@ public class CtcStationRunPlanLogService {
} }
} }
List<CtcStationRunPlanLog> runPlanLogList = new ArrayList<>(planParamList.size()); List<CtcStationRunPlanLog> runPlanLogList = new ArrayList<>(planParamList.size());
planParamList.stream().forEach(p -> { planParamList.forEach(p -> {
CtcStationRunPlanLog runPlanLog = simulation.getCtcRepository().getRunPlanByRunPlanCode(stationCode, p.getRunPlanCode()); CtcStationRunPlanLog runPlanLog = simulation.getCtcRepository().getRunPlanByRunPlanCode(stationCode, p.getRunPlanCode());
if (runPlanLog != null) { // 修改删除 if (runPlanLog != null) { // 修改删除
if (modifyRunPlanInfo(simulation, runPlanLog, p)) { // 是否修改过股道 if (modifyRunPlanInfo(simulation, runPlanLog, p)) { // 是否修改过股道
@ -110,7 +108,7 @@ public class CtcStationRunPlanLogService {
Map<String, CtcRunPlanParam> stationRunPlanMap = simulation.getCtcRepository().getSimulationRunPlanEditAreaMap() Map<String, CtcRunPlanParam> stationRunPlanMap = simulation.getCtcRepository().getSimulationRunPlanEditAreaMap()
.getOrDefault(stationCode, new ConcurrentHashMap<>(64)); .getOrDefault(stationCode, new ConcurrentHashMap<>(64));
boolean isEmpty = CollectionUtils.isEmpty(stationRunPlanMap); boolean isEmpty = CollectionUtils.isEmpty(stationRunPlanMap);
runPlanParamList.stream().forEach(p -> { runPlanParamList.forEach(p -> {
String tripNumber = StringUtils.isEmpty(p.getArriveTripNumber()) ? p.getDepartTripNumber() : p.getArriveTripNumber(); String tripNumber = StringUtils.isEmpty(p.getArriveTripNumber()) ? p.getDepartTripNumber() : p.getArriveTripNumber();
p.setTripNumber(tripNumber); p.setTripNumber(tripNumber);
p.setRunPlanCode(tripNumber); p.setRunPlanCode(tripNumber);
@ -139,9 +137,10 @@ public class CtcStationRunPlanLogService {
* @param runPlanCode 车次 * @param runPlanCode 车次
*/ */
public void removeRunPlanFromEditArea(Simulation simulation, String stationCode, String runPlanCode) { public void removeRunPlanFromEditArea(Simulation simulation, String stationCode, String runPlanCode) {
Map<String, CtcRunPlanParam> stationRunLogTripNumberMap = simulation.getCtcRepository() Map<String, CtcRunPlanParam> stationRunLogTripNumberMap = simulation.getCtcRepository().getSimulationRunPlanEditAreaMap().get(stationCode);
.getSimulationRunPlanEditAreaMap().getOrDefault(stationCode, new ConcurrentHashMap<>()); if (!CollectionUtils.isEmpty(stationRunLogTripNumberMap)) {
stationRunLogTripNumberMap.remove(runPlanCode); stationRunLogTripNumberMap.remove(runPlanCode);
}
} }
/** /**
@ -170,7 +169,7 @@ public class CtcStationRunPlanLogService {
p.setRunPlanCode(tripNumber); p.setRunPlanCode(tripNumber);
}); });
Map<String, CtcRunPlanParam> planParamMap Map<String, CtcRunPlanParam> planParamMap
= runPlanParamList.stream().collect(Collectors.toMap(p -> p.getRunPlanCode(), (p) -> p)); = runPlanParamList.stream().collect(Collectors.toMap(CtcRunPlanParam::getRunPlanCode, (p) -> p));
simulation.getCtcRepository().getSimulationRunPlanEditAreaMap().put(stationCode, planParamMap); simulation.getCtcRepository().getSimulationRunPlanEditAreaMap().put(stationCode, planParamMap);
} }
@ -205,8 +204,7 @@ public class CtcStationRunPlanLogService {
Map<String, CtcRunPlanParam> runPlanParamMap = simulation.getCtcRepository().getSimulationRunPlanEffectAreaMap() Map<String, CtcRunPlanParam> runPlanParamMap = simulation.getCtcRepository().getSimulationRunPlanEffectAreaMap()
.get(stationCode); .get(stationCode);
if (!CollectionUtils.isEmpty(runPlanParamMap)) { if (!CollectionUtils.isEmpty(runPlanParamMap)) {
List<CtcRunPlanParam> runPlanParamList = runPlanParamMap.values().stream().collect(Collectors.toList()); modifyBatchRunPlan(simulation, stationCode, new ArrayList<>(runPlanParamMap.values()), 1);
modifyBatchRunPlan(simulation, stationCode, runPlanParamList, 1);
} }
} }
@ -224,13 +222,13 @@ public class CtcStationRunPlanLogService {
CtcStationRunPlanLog ctcStationRunPlanLog = CtcStationRunPlanLog ctcStationRunPlanLog =
simulation.getCtcRepository().getRunPlanByRunPlanCode(stationCode, runPlanCode); simulation.getCtcRepository().getRunPlanByRunPlanCode(stationCode, runPlanCode);
if (ctcStationRunPlanLog.getArriveRunPlan() != null) { if (ctcStationRunPlanLog.getArriveRunPlan() != null) {
String arriveTimeStr = arriveTime != null ? "" : arriveTime.toString(); String arriveTimeStr = arriveTime != null ? arriveTime.toString() : "";
if (!Objects.equals(arriveTimeStr, ctcStationRunPlanLog.getArriveRunPlan().getActualTime())) { if (!Objects.equals(arriveTimeStr, ctcStationRunPlanLog.getArriveRunPlan().getActualTime())) {
ctcStationRunPlanLog.getArriveRunPlan().setActualTime(arriveTimeStr); ctcStationRunPlanLog.getArriveRunPlan().setActualTime(arriveTimeStr);
} }
} }
if (ctcStationRunPlanLog.getDepartRunPlan() != null) { if (ctcStationRunPlanLog.getDepartRunPlan() != null) {
String departTimeStr = departTime != null ? "" : departTime.toString(); String departTimeStr = departTime != null ? departTime.toString() : "";
if (!Objects.equals(departTimeStr, ctcStationRunPlanLog.getArriveRunPlan().getActualTime())) { if (!Objects.equals(departTimeStr, ctcStationRunPlanLog.getArriveRunPlan().getActualTime())) {
ctcStationRunPlanLog.getDepartRunPlan().setActualTime(departTimeStr); ctcStationRunPlanLog.getDepartRunPlan().setActualTime(departTimeStr);
} }
@ -308,15 +306,15 @@ public class CtcStationRunPlanLogService {
* @param simulation 仿真 * @param simulation 仿真
* @param runPlanLog 运行计划 * @param runPlanLog 运行计划
* @param planParam 修改参数 * @param planParam 修改参数
* @return * @return 是否发生变化
*/ */
private boolean modifyRunPlanInfo(Simulation simulation, CtcStationRunPlanLog runPlanLog, CtcRunPlanParam planParam) { private boolean modifyRunPlanInfo(Simulation simulation, CtcStationRunPlanLog runPlanLog, CtcRunPlanParam planParam) {
boolean change = false; boolean change;
if (planParam.getStatus() == -1) { if (planParam.getStatus() == -1) {
runPlanLog.setDelete(Boolean.TRUE); runPlanLog.setDelete(Boolean.TRUE);
} }
// 到达 // 到达
change = change || modifyRunPlanItemInfo(simulation, runPlanLog.getArriveRunPlan(), planParam, true); change = modifyRunPlanItemInfo(simulation, runPlanLog.getArriveRunPlan(), planParam, true);
// 出发 // 出发
change = change || modifyRunPlanItemInfo(simulation, runPlanLog.getDepartRunPlan(), planParam, false); change = change || modifyRunPlanItemInfo(simulation, runPlanLog.getDepartRunPlan(), planParam, false);
// 是否客运 // 是否客运
@ -400,10 +398,10 @@ public class CtcStationRunPlanLogService {
/** /**
* 增加行车日志 * 增加行车日志
* *
* @param simulation * @param simulation 仿真实体
* @param stationCode * @param stationCode 车站编码
* @param paramInfo * @param paramInfo 参数
* @return * @return 行车日志
*/ */
private CtcStationRunPlanLog createRunPlanLog(Simulation simulation, String stationCode, CtcRunPlanParam paramInfo) { private CtcStationRunPlanLog createRunPlanLog(Simulation simulation, String stationCode, CtcRunPlanParam paramInfo) {
String tripNumber = paramInfo.getTripNumber(); String tripNumber = paramInfo.getTripNumber();

View File

@ -130,7 +130,7 @@ public class CtcRepository {
* 添加至仿真中的行车计划 * 添加至仿真中的行车计划
*/ */
public void addRunPlanListToSimulationMap(List<CtcStationRunPlanLog> runPlanLogList) { public void addRunPlanListToSimulationMap(List<CtcStationRunPlanLog> runPlanLogList) {
runPlanLogList.forEach(runPlanLog -> addRunPlanToSimulationMap(runPlanLog)); runPlanLogList.forEach(this::addRunPlanToSimulationMap);
} }
/** /**
@ -150,7 +150,7 @@ public class CtcRepository {
* 添加至仿真中的行车计划 * 添加至仿真中的行车计划
*/ */
public void addRunPlanListToOriginMap(List<CtcStationRunPlanLog> runPlanLogList) { public void addRunPlanListToOriginMap(List<CtcStationRunPlanLog> runPlanLogList) {
runPlanLogList.forEach(runPlanLog -> addRunPlanToOriginMap(runPlanLog)); runPlanLogList.forEach(this::addRunPlanToOriginMap);
} }
/** /**