修改设备数据维护及查询方式;修改报警信息中相关设备的描述信息

This commit is contained in:
joylink_zhangsai 2023-07-21 14:15:56 +08:00
parent 04b47b5e16
commit 5fed73b214
4 changed files with 279 additions and 316 deletions

View File

@ -1,5 +1,6 @@
package club.joylink.xiannccda.alert; package club.joylink.xiannccda.alert;
import club.joylink.xiannccda.ats.cache.LineGraphicDataRepository;
import club.joylink.xiannccda.dto.protos.LayoutGraphicsProto.Platform; import club.joylink.xiannccda.dto.protos.LayoutGraphicsProto.Platform;
import club.joylink.xiannccda.dto.protos.LayoutGraphicsProto.Station; import club.joylink.xiannccda.dto.protos.LayoutGraphicsProto.Station;
import club.joylink.xiannccda.entity.AlertTip; import club.joylink.xiannccda.entity.AlertTip;
@ -30,17 +31,18 @@ public class AlertDetailFactory {
BusinessExceptionAssertEnum.SYSTEM_EXCEPTION.assertTrue( BusinessExceptionAssertEnum.SYSTEM_EXCEPTION.assertTrue(
messageOrBuilder instanceof Station); messageOrBuilder instanceof Station);
Station rtu = (Station) messageOrBuilder; Station rtu = (Station) messageOrBuilder;
AlertTipLocationType locationType = AlertTipLocationType.getByLineIdAndRtuId(lineId, BusinessExceptionAssertEnum.ARGUMENT_ILLEGAL.assertTrue(rtu.getConcentrationStations(),
Short.parseShort(rtu.getCode())); "参数错误:非集中站");
LambdaQueryWrapper<AlertTip> queryWrapper = Wrappers.lambdaQuery(AlertTip.class) LambdaQueryWrapper<AlertTip> queryWrapper = Wrappers.lambdaQuery(AlertTip.class)
.eq(AlertTip::getAlertType, alertType) .eq(AlertTip::getAlertType, alertType)
.eq(AlertTip::getLocationType, locationType); .eq(AlertTip::getLocationType, rtu.getCode());
AlertTip alertTip = alertTipRepository.getOne(queryWrapper); AlertTip alertTip = alertTipRepository.getOne(queryWrapper);
alertTipId = alertTip == null ? null : alertTip.getId(); alertTipId = alertTip == null ? null : alertTip.getId();
info = String.format("[%s号线]%s蓝显", lineId, locationType.getDesc()); String interlockName = getInterlockName(rtu);
info = String.format("[%s号线][%s]蓝显", lineId, interlockName);
} }
case TRAIN_DELAY -> { case TRAIN_DELAY -> {
return null; throw BusinessExceptionAssertEnum.SYSTEM_EXCEPTION.exception("尚未实现");
} }
case PLATFORM_DOOR_WITHOUT_LOCKED_SIGNAL -> { case PLATFORM_DOOR_WITHOUT_LOCKED_SIGNAL -> {
BusinessExceptionAssertEnum.SYSTEM_EXCEPTION.assertTrue( BusinessExceptionAssertEnum.SYSTEM_EXCEPTION.assertTrue(
@ -50,7 +52,8 @@ public class AlertDetailFactory {
.eq(AlertTip::getAlertType, alertType); .eq(AlertTip::getAlertType, alertType);
AlertTip alertTip = alertTipRepository.getOne(queryWrapper); AlertTip alertTip = alertTipRepository.getOne(queryWrapper);
alertTipId = alertTip == null ? null : alertTip.getId(); alertTipId = alertTip == null ? null : alertTip.getId();
info = String.format("[%s号线]%s站台门无关闭且锁紧信号", lineId, platform.getCode()); String platformDesc = getPlatformDesc(lineId, platform);
info = String.format("[%s号线]%s站台门无关闭且锁紧信号", lineId, platformDesc);
} }
case PLATFORM_DOOR_CANNOT_OPEN -> { case PLATFORM_DOOR_CANNOT_OPEN -> {
BusinessExceptionAssertEnum.SYSTEM_EXCEPTION.assertTrue( BusinessExceptionAssertEnum.SYSTEM_EXCEPTION.assertTrue(
@ -60,7 +63,8 @@ public class AlertDetailFactory {
.eq(AlertTip::getAlertType, alertType); .eq(AlertTip::getAlertType, alertType);
AlertTip alertTip = alertTipRepository.getOne(queryWrapper); AlertTip alertTip = alertTipRepository.getOne(queryWrapper);
alertTipId = alertTip == null ? null : alertTip.getId(); alertTipId = alertTip == null ? null : alertTip.getId();
info = String.format("[%s号线]%s站台门无法打开", lineId, platform.getCode()); String platformDesc = getPlatformDesc(lineId, platform);
info = String.format("[%s号线]%s站台门无法打开", lineId, platformDesc);
} }
case PLATFORM_DOOR_CANNOT_CLOSE -> { case PLATFORM_DOOR_CANNOT_CLOSE -> {
BusinessExceptionAssertEnum.SYSTEM_EXCEPTION.assertTrue( BusinessExceptionAssertEnum.SYSTEM_EXCEPTION.assertTrue(
@ -70,10 +74,28 @@ public class AlertDetailFactory {
.eq(AlertTip::getAlertType, alertType); .eq(AlertTip::getAlertType, alertType);
AlertTip alertTip = alertTipRepository.getOne(queryWrapper); AlertTip alertTip = alertTipRepository.getOne(queryWrapper);
alertTipId = alertTip == null ? null : alertTip.getId(); alertTipId = alertTip == null ? null : alertTip.getId();
info = String.format("[%s号线]%s站台门无法关闭", lineId, platform.getCode()); String platformDesc = getPlatformDesc(lineId, platform);
info = String.format("[%s号线]%s站台门无法关闭", lineId, platformDesc);
} }
default -> throw new IllegalStateException("Unexpected value: " + alertType); default -> throw new IllegalStateException("Unexpected value: " + alertType);
} }
return new AlertDetailImpl(alertType, now, alertTipId, info, mock); return new AlertDetailImpl(alertType, now, alertTipId, info, mock);
} }
private String getPlatformDesc(short lineId, Platform platform) {
Station station = LineGraphicDataRepository.getDeviceByCode(lineId,
platform.getRefStation(), Station.class);
return String.format("[%s][%s行站台]", station.getName(), platform.getUp() ? "" : "");
}
/**
* 获取集中站的联锁区描述
* 例如鱼化寨站的联锁区叫鱼化寨联锁区
*/
private String getInterlockName(Station rtu) {
int index = rtu.getName().length() - 1;
char c = rtu.getName().charAt(index);
String interlockName = c == '站' ? rtu.getName().substring(0, index) : rtu.getName();
return interlockName + "联锁区";
}
} }

View File

@ -2,14 +2,17 @@ package club.joylink.xiannccda.ats.cache;
import club.joylink.xiannccda.dto.protos.DeviceInfoProto; import club.joylink.xiannccda.dto.protos.DeviceInfoProto;
import club.joylink.xiannccda.dto.protos.LayoutGraphicsProto; import club.joylink.xiannccda.dto.protos.LayoutGraphicsProto;
import club.joylink.xiannccda.dto.protos.LayoutGraphicsProto.CommonInfo;
import club.joylink.xiannccda.dto.protos.LayoutGraphicsProto.KilometerSystem; import club.joylink.xiannccda.dto.protos.LayoutGraphicsProto.KilometerSystem;
import club.joylink.xiannccda.dto.protos.LayoutGraphicsProto.RelatedRef.DeviceType; import club.joylink.xiannccda.dto.protos.LayoutGraphicsProto.RelatedRef.DeviceType;
import club.joylink.xiannccda.dto.protos.LayoutGraphicsProto.RtssGraphicStorage; import club.joylink.xiannccda.dto.protos.LayoutGraphicsProto.RtssGraphicStorage;
import club.joylink.xiannccda.dto.protos.LayoutGraphicsProto.Section; import club.joylink.xiannccda.dto.protos.LayoutGraphicsProto.Section;
import club.joylink.xiannccda.dto.protos.LayoutGraphicsProto.Section.SectionType; import club.joylink.xiannccda.dto.protos.LayoutGraphicsProto.Section.SectionType;
import club.joylink.xiannccda.entity.PublishedGi; import club.joylink.xiannccda.entity.PublishedGi;
import club.joylink.xiannccda.exception.BusinessExceptionAssertEnum;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.google.common.collect.HashBasedTable; import com.google.common.collect.HashBasedTable;
import com.google.protobuf.Descriptors.FieldDescriptor;
import com.google.protobuf.GeneratedMessageV3.Builder; import com.google.protobuf.GeneratedMessageV3.Builder;
import com.google.protobuf.InvalidProtocolBufferException; import com.google.protobuf.InvalidProtocolBufferException;
import com.google.protobuf.MessageOrBuilder; import com.google.protobuf.MessageOrBuilder;
@ -18,29 +21,39 @@ import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Objects; import java.util.Objects;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import java.util.stream.Collectors;
import java.util.stream.Stream; import java.util.stream.Stream;
import lombok.Getter; import lombok.Getter;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
/** 发布时缓存在内存中的线路数据 */ /**
* 发布时缓存在内存中的线路数据
*/
@Slf4j @Slf4j
public class LineGraphicDataRepository { public class LineGraphicDataRepository {
/** 线路数据信息 */ /**
* 线路数据信息
*/
private static final Map<Integer, Map<String, Map<String, Builder>>> lineGraphMap = private static final Map<Integer, Map<String, Map<String, Builder>>> lineGraphMap =
new ConcurrentHashMap<>(); new ConcurrentHashMap<>();
/** 线路各坐标系转换关系 */ /**
* 线路各坐标系转换关系
*/
private static final Map<Integer, Map<String, CoordinateConvertor>> lineCoordinateMain = private static final Map<Integer, Map<String, CoordinateConvertor>> lineCoordinateMain =
new HashMap<>(); new HashMap<>();
/** 线路-设备code-设备 */ /**
* 线路-设备code-设备
*/
private static final HashBasedTable<Short, String, MessageOrBuilder> line_code_table = private static final HashBasedTable<Short, String, MessageOrBuilder> line_code_table =
HashBasedTable.create(); HashBasedTable.create();
/** 线路-设备。由于现在许多设备code都是""使用line_code_table会覆盖临时加此map后续删除 */
private static final HashMap<Short, List<MessageOrBuilder>> line_map = new HashMap<>(); /**
* 线路-设备id-设备
*/
private static final HashBasedTable<Short, String, MessageOrBuilder> line_id_table = HashBasedTable.create();
/** /**
* 缓存线路数据信息 * 缓存线路数据信息
@ -75,7 +88,7 @@ public class LineGraphicDataRepository {
/** /**
* 获取线路上区段名为sectionName的公里标 * 获取线路上区段名为sectionName的公里标
* *
* @param lineId 线路ID * @param lineId 线路ID
* @param sectionName 区段名称 * @param sectionName 区段名称
* @return 公里标 * @return 公里标
*/ */
@ -101,43 +114,56 @@ public class LineGraphicDataRepository {
return List.of(); return List.of();
} }
/** 删除线路绘图数据 */ /**
* 删除线路绘图数据
*/
public static void removeLineGraph(Integer id) { public static void removeLineGraph(Integer id) {
lineGraphMap.remove(id); lineGraphMap.remove(id);
} }
public static <T> T getDevice(short lineId, String code, Class<T> cls) { public static <T> T getDeviceByCode(short lineId, String code, Class<T> cls) {
return (T) line_code_table.get(lineId, code); MessageOrBuilder mob = line_code_table.get(lineId, code);
BusinessExceptionAssertEnum.DATA_NOT_EXIST.assertNotNull(mob,
String.format("线路[%s]code[%s]", lineId, code));
return (T) mob;
}
public static <T> T getDeviceById(short lineId, String id, Class<T> cls) {
MessageOrBuilder mob = line_id_table.get(lineId, id);
BusinessExceptionAssertEnum.DATA_NOT_EXIST.assertNotNull(mob,
String.format("线路[%s]id[%s]", lineId, id));
return (T) mob;
} }
public static <T extends MessageOrBuilder> Stream<T> getDevices(short lineId, Class<T> cls) { public static <T extends MessageOrBuilder> Stream<T> getDevices(short lineId, Class<T> cls) {
return line_map.get(lineId).stream() return line_code_table.row(lineId).values().stream()
.filter(builder -> cls.isAssignableFrom(builder.getClass())) .filter(builder -> cls.isAssignableFrom(builder.getClass()))
.map(builder -> (T) builder); .map(builder -> (T) builder);
// return line_code_table.row(lineId).values().stream()
// .filter(builder -> cls.isAssignableFrom(builder.getClass()))
// .map(builder -> (T) builder);
} }
private static void fillLineCodeTable(Integer lineId, RtssGraphicStorage storage) { private static void fillLineCodeTable(Integer lineId, RtssGraphicStorage storage) {
Short shortLineId = lineId.shortValue(); Short shortLineId = lineId.shortValue();
List<MessageOrBuilder> list = FieldDescriptor idField = CommonInfo.getDescriptor().findFieldByName("id");
storage.getAllFields().entrySet().stream() storage.getAllFields().forEach((fd, value) -> {
.filter(entry -> entry.getKey().isRepeated()) if (fd.isRepeated()) {
.flatMap(entry -> ((List<MessageOrBuilder>) entry.getValue()).stream()) List<MessageOrBuilder> list = (List<MessageOrBuilder>) value;
.collect(Collectors.toList()); for (MessageOrBuilder builder : list) {
line_map.put(shortLineId, list); FieldDescriptor codeField =
// storage.getAllFields().forEach((fd, value) -> { builder.getDescriptorForType().findFieldByName("code");
// if (fd.isRepeated()) { String code = (String) builder.getField(codeField);
// List<MessageOrBuilder> list = (List<MessageOrBuilder>) value; line_code_table.put(shortLineId, code, builder);
// for (MessageOrBuilder builder : list) {
// FieldDescriptor fieldDescriptor = FieldDescriptor commonField =
// builder.getDescriptorForType().findFieldByName("code"); builder.getDescriptorForType().findFieldByName("common");
// String code = (String) builder.getField(fieldDescriptor); if (commonField == null) {
// line_code_table.put(shortLineId, code, builder); continue;
// } }
// } MessageOrBuilder common = (MessageOrBuilder)builder.getField(commonField);
// }); String id = (String) common.getField(idField);
line_code_table.put(shortLineId, id, builder);
}
}
});
} }
/** /**
@ -188,7 +214,7 @@ public class LineGraphicDataRepository {
/** /**
* 构建道岔信息 * 构建道岔信息
* *
* @param lineId 线路ID * @param lineId 线路ID
* @param dataMap 缓存数据 * @param dataMap 缓存数据
* @param storage 地图构建数据 * @param storage 地图构建数据
*/ */
@ -239,7 +265,7 @@ public class LineGraphicDataRepository {
/** /**
* 设置公里标 * 设置公里标
* *
* @param lineId 线路ID * @param lineId 线路ID
* @param dataMap 缓存数据 * @param dataMap 缓存数据
* @param storage 地图构建数据 * @param storage 地图构建数据
*/ */
@ -290,7 +316,7 @@ public class LineGraphicDataRepository {
/** /**
* 初始化坐标转换对象 * 初始化坐标转换对象
* *
* @param lineId 线路ID * @param lineId 线路ID
* @param dataMap 设备集合 * @param dataMap 设备集合
* @param storage 地图信息 * @param storage 地图信息
*/ */
@ -424,7 +450,9 @@ public class LineGraphicDataRepository {
}); });
} }
/** 坐标系枚举 */ /**
* 坐标系枚举
*/
@Getter @Getter
private enum CoordinateEnum { private enum CoordinateEnum {
MAIN_LINE("MAIN_LINE", List.of("YDK", "ZDK", "XDK", "SDK")), MAIN_LINE("MAIN_LINE", List.of("YDK", "ZDK", "XDK", "SDK")),
@ -469,7 +497,9 @@ public class LineGraphicDataRepository {
} }
} }
/** 坐标转换对象 */ /**
* 坐标转换对象
*/
@Getter @Getter
private static class CoordinateConvertor { private static class CoordinateConvertor {
@ -484,8 +514,8 @@ public class LineGraphicDataRepository {
/** /**
* 生成坐标转换对象 * 生成坐标转换对象
* *
* @param configSystem 原配置坐标系信息 * @param configSystem 原配置坐标系信息
* @param convertorSystem 转换坐标系类型 * @param convertorSystem 转换坐标系类型
* @param convertorCoordinate 转换坐标 * @param convertorCoordinate 转换坐标
* @return 转换对象 * @return 转换对象
*/ */
@ -537,7 +567,7 @@ public class LineGraphicDataRepository {
* 将出入库公里标转换为正线标 * 将出入库公里标转换为正线标
* *
* @param basisKilometer 出入库基准公里标 * @param basisKilometer 出入库基准公里标
* @param targetType 目标坐标系 * @param targetType 目标坐标系
* @return 正线公里标数字 * @return 正线公里标数字
*/ */
public long convertorKilometer(KilometerSystem basisKilometer, CoordinateEnum targetType) { public long convertorKilometer(KilometerSystem basisKilometer, CoordinateEnum targetType) {

View File

@ -16926,27 +16926,7 @@ public final class LayoutGraphicsProto {
/** /**
* <pre> * <pre>
*上下行--upLink表示上行downLink表示下行 *string upAndDown =5; //上下行--upLink表示上行downLink表示下行
* </pre>
*
* <code>string upAndDown = 5;</code>
* @return The upAndDown.
*/
java.lang.String getUpAndDown();
/**
* <pre>
*上下行--upLink表示上行downLink表示下行
* </pre>
*
* <code>string upAndDown = 5;</code>
* @return The bytes for upAndDown.
*/
com.google.protobuf.ByteString
getUpAndDownBytes();
/**
* <pre>
*关联的车站
* </pre> * </pre>
* *
* <code>string refStation = 6;</code> * <code>string refStation = 6;</code>
@ -16955,7 +16935,7 @@ public final class LayoutGraphicsProto {
java.lang.String getRefStation(); java.lang.String getRefStation();
/** /**
* <pre> * <pre>
*关联的车站 *string upAndDown =5; //上下行--upLink表示上行downLink表示下行
* </pre> * </pre>
* *
* <code>string refStation = 6;</code> * <code>string refStation = 6;</code>
@ -16963,6 +16943,16 @@ public final class LayoutGraphicsProto {
*/ */
com.google.protobuf.ByteString com.google.protobuf.ByteString
getRefStationBytes(); getRefStationBytes();
/**
* <pre>
*上下行--true表示上行false表示下行
* </pre>
*
* <code>bool up = 7;</code>
* @return The up.
*/
boolean getUp();
} }
/** /**
* Protobuf type {@code graphicData.Platform} * Protobuf type {@code graphicData.Platform}
@ -16979,7 +16969,6 @@ public final class LayoutGraphicsProto {
private Platform() { private Platform() {
code_ = ""; code_ = "";
direction_ = ""; direction_ = "";
upAndDown_ = "";
refStation_ = ""; refStation_ = "";
} }
@ -17130,59 +17119,12 @@ public final class LayoutGraphicsProto {
} }
} }
public static final int UPANDDOWN_FIELD_NUMBER = 5;
@SuppressWarnings("serial")
private volatile java.lang.Object upAndDown_ = "";
/**
* <pre>
*上下行--upLink表示上行downLink表示下行
* </pre>
*
* <code>string upAndDown = 5;</code>
* @return The upAndDown.
*/
@java.lang.Override
public java.lang.String getUpAndDown() {
java.lang.Object ref = upAndDown_;
if (ref instanceof java.lang.String) {
return (java.lang.String) ref;
} else {
com.google.protobuf.ByteString bs =
(com.google.protobuf.ByteString) ref;
java.lang.String s = bs.toStringUtf8();
upAndDown_ = s;
return s;
}
}
/**
* <pre>
*上下行--upLink表示上行downLink表示下行
* </pre>
*
* <code>string upAndDown = 5;</code>
* @return The bytes for upAndDown.
*/
@java.lang.Override
public com.google.protobuf.ByteString
getUpAndDownBytes() {
java.lang.Object ref = upAndDown_;
if (ref instanceof java.lang.String) {
com.google.protobuf.ByteString b =
com.google.protobuf.ByteString.copyFromUtf8(
(java.lang.String) ref);
upAndDown_ = b;
return b;
} else {
return (com.google.protobuf.ByteString) ref;
}
}
public static final int REFSTATION_FIELD_NUMBER = 6; public static final int REFSTATION_FIELD_NUMBER = 6;
@SuppressWarnings("serial") @SuppressWarnings("serial")
private volatile java.lang.Object refStation_ = ""; private volatile java.lang.Object refStation_ = "";
/** /**
* <pre> * <pre>
*关联的车站 *string upAndDown =5; //上下行--upLink表示上行downLink表示下行
* </pre> * </pre>
* *
* <code>string refStation = 6;</code> * <code>string refStation = 6;</code>
@ -17203,7 +17145,7 @@ public final class LayoutGraphicsProto {
} }
/** /**
* <pre> * <pre>
*关联的车站 *string upAndDown =5; //上下行--upLink表示上行downLink表示下行
* </pre> * </pre>
* *
* <code>string refStation = 6;</code> * <code>string refStation = 6;</code>
@ -17224,6 +17166,21 @@ public final class LayoutGraphicsProto {
} }
} }
public static final int UP_FIELD_NUMBER = 7;
private boolean up_ = false;
/**
* <pre>
*上下行--true表示上行false表示下行
* </pre>
*
* <code>bool up = 7;</code>
* @return The up.
*/
@java.lang.Override
public boolean getUp() {
return up_;
}
private byte memoizedIsInitialized = -1; private byte memoizedIsInitialized = -1;
@java.lang.Override @java.lang.Override
public final boolean isInitialized() { public final boolean isInitialized() {
@ -17250,12 +17207,12 @@ public final class LayoutGraphicsProto {
if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(direction_)) { if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(direction_)) {
com.google.protobuf.GeneratedMessageV3.writeString(output, 4, direction_); com.google.protobuf.GeneratedMessageV3.writeString(output, 4, direction_);
} }
if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(upAndDown_)) {
com.google.protobuf.GeneratedMessageV3.writeString(output, 5, upAndDown_);
}
if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(refStation_)) { if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(refStation_)) {
com.google.protobuf.GeneratedMessageV3.writeString(output, 6, refStation_); com.google.protobuf.GeneratedMessageV3.writeString(output, 6, refStation_);
} }
if (up_ != false) {
output.writeBool(7, up_);
}
getUnknownFields().writeTo(output); getUnknownFields().writeTo(output);
} }
@ -17279,12 +17236,13 @@ public final class LayoutGraphicsProto {
if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(direction_)) { if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(direction_)) {
size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, direction_); size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, direction_);
} }
if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(upAndDown_)) {
size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, upAndDown_);
}
if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(refStation_)) { if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(refStation_)) {
size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, refStation_); size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, refStation_);
} }
if (up_ != false) {
size += com.google.protobuf.CodedOutputStream
.computeBoolSize(7, up_);
}
size += getUnknownFields().getSerializedSize(); size += getUnknownFields().getSerializedSize();
memoizedSize = size; memoizedSize = size;
return size; return size;
@ -17311,10 +17269,10 @@ public final class LayoutGraphicsProto {
!= other.getHasdoor()) return false; != other.getHasdoor()) return false;
if (!getDirection() if (!getDirection()
.equals(other.getDirection())) return false; .equals(other.getDirection())) return false;
if (!getUpAndDown()
.equals(other.getUpAndDown())) return false;
if (!getRefStation() if (!getRefStation()
.equals(other.getRefStation())) return false; .equals(other.getRefStation())) return false;
if (getUp()
!= other.getUp()) return false;
if (!getUnknownFields().equals(other.getUnknownFields())) return false; if (!getUnknownFields().equals(other.getUnknownFields())) return false;
return true; return true;
} }
@ -17337,10 +17295,11 @@ public final class LayoutGraphicsProto {
getHasdoor()); getHasdoor());
hash = (37 * hash) + DIRECTION_FIELD_NUMBER; hash = (37 * hash) + DIRECTION_FIELD_NUMBER;
hash = (53 * hash) + getDirection().hashCode(); hash = (53 * hash) + getDirection().hashCode();
hash = (37 * hash) + UPANDDOWN_FIELD_NUMBER;
hash = (53 * hash) + getUpAndDown().hashCode();
hash = (37 * hash) + REFSTATION_FIELD_NUMBER; hash = (37 * hash) + REFSTATION_FIELD_NUMBER;
hash = (53 * hash) + getRefStation().hashCode(); hash = (53 * hash) + getRefStation().hashCode();
hash = (37 * hash) + UP_FIELD_NUMBER;
hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
getUp());
hash = (29 * hash) + getUnknownFields().hashCode(); hash = (29 * hash) + getUnknownFields().hashCode();
memoizedHashCode = hash; memoizedHashCode = hash;
return hash; return hash;
@ -17480,8 +17439,8 @@ public final class LayoutGraphicsProto {
code_ = ""; code_ = "";
hasdoor_ = false; hasdoor_ = false;
direction_ = ""; direction_ = "";
upAndDown_ = "";
refStation_ = ""; refStation_ = "";
up_ = false;
return this; return this;
} }
@ -17530,10 +17489,10 @@ public final class LayoutGraphicsProto {
result.direction_ = direction_; result.direction_ = direction_;
} }
if (((from_bitField0_ & 0x00000010) != 0)) { if (((from_bitField0_ & 0x00000010) != 0)) {
result.upAndDown_ = upAndDown_; result.refStation_ = refStation_;
} }
if (((from_bitField0_ & 0x00000020) != 0)) { if (((from_bitField0_ & 0x00000020) != 0)) {
result.refStation_ = refStation_; result.up_ = up_;
} }
} }
@ -17565,15 +17524,13 @@ public final class LayoutGraphicsProto {
bitField0_ |= 0x00000008; bitField0_ |= 0x00000008;
onChanged(); onChanged();
} }
if (!other.getUpAndDown().isEmpty()) { if (!other.getRefStation().isEmpty()) {
upAndDown_ = other.upAndDown_; refStation_ = other.refStation_;
bitField0_ |= 0x00000010; bitField0_ |= 0x00000010;
onChanged(); onChanged();
} }
if (!other.getRefStation().isEmpty()) { if (other.getUp() != false) {
refStation_ = other.refStation_; setUp(other.getUp());
bitField0_ |= 0x00000020;
onChanged();
} }
this.mergeUnknownFields(other.getUnknownFields()); this.mergeUnknownFields(other.getUnknownFields());
onChanged(); onChanged();
@ -17623,16 +17580,16 @@ public final class LayoutGraphicsProto {
bitField0_ |= 0x00000008; bitField0_ |= 0x00000008;
break; break;
} // case 34 } // case 34
case 42: {
upAndDown_ = input.readStringRequireUtf8();
bitField0_ |= 0x00000010;
break;
} // case 42
case 50: { case 50: {
refStation_ = input.readStringRequireUtf8(); refStation_ = input.readStringRequireUtf8();
bitField0_ |= 0x00000020; bitField0_ |= 0x00000010;
break; break;
} // case 50 } // case 50
case 56: {
up_ = input.readBool();
bitField0_ |= 0x00000020;
break;
} // case 56
default: { default: {
if (!super.parseUnknownField(input, extensionRegistry, tag)) { if (!super.parseUnknownField(input, extensionRegistry, tag)) {
done = true; // was an endgroup tag done = true; // was an endgroup tag
@ -17977,102 +17934,10 @@ public final class LayoutGraphicsProto {
return this; return this;
} }
private java.lang.Object upAndDown_ = "";
/**
* <pre>
*上下行--upLink表示上行downLink表示下行
* </pre>
*
* <code>string upAndDown = 5;</code>
* @return The upAndDown.
*/
public java.lang.String getUpAndDown() {
java.lang.Object ref = upAndDown_;
if (!(ref instanceof java.lang.String)) {
com.google.protobuf.ByteString bs =
(com.google.protobuf.ByteString) ref;
java.lang.String s = bs.toStringUtf8();
upAndDown_ = s;
return s;
} else {
return (java.lang.String) ref;
}
}
/**
* <pre>
*上下行--upLink表示上行downLink表示下行
* </pre>
*
* <code>string upAndDown = 5;</code>
* @return The bytes for upAndDown.
*/
public com.google.protobuf.ByteString
getUpAndDownBytes() {
java.lang.Object ref = upAndDown_;
if (ref instanceof String) {
com.google.protobuf.ByteString b =
com.google.protobuf.ByteString.copyFromUtf8(
(java.lang.String) ref);
upAndDown_ = b;
return b;
} else {
return (com.google.protobuf.ByteString) ref;
}
}
/**
* <pre>
*上下行--upLink表示上行downLink表示下行
* </pre>
*
* <code>string upAndDown = 5;</code>
* @param value The upAndDown to set.
* @return This builder for chaining.
*/
public Builder setUpAndDown(
java.lang.String value) {
if (value == null) { throw new NullPointerException(); }
upAndDown_ = value;
bitField0_ |= 0x00000010;
onChanged();
return this;
}
/**
* <pre>
*上下行--upLink表示上行downLink表示下行
* </pre>
*
* <code>string upAndDown = 5;</code>
* @return This builder for chaining.
*/
public Builder clearUpAndDown() {
upAndDown_ = getDefaultInstance().getUpAndDown();
bitField0_ = (bitField0_ & ~0x00000010);
onChanged();
return this;
}
/**
* <pre>
*上下行--upLink表示上行downLink表示下行
* </pre>
*
* <code>string upAndDown = 5;</code>
* @param value The bytes for upAndDown to set.
* @return This builder for chaining.
*/
public Builder setUpAndDownBytes(
com.google.protobuf.ByteString value) {
if (value == null) { throw new NullPointerException(); }
checkByteStringIsUtf8(value);
upAndDown_ = value;
bitField0_ |= 0x00000010;
onChanged();
return this;
}
private java.lang.Object refStation_ = ""; private java.lang.Object refStation_ = "";
/** /**
* <pre> * <pre>
*关联的车站 *string upAndDown =5; //上下行--upLink表示上行downLink表示下行
* </pre> * </pre>
* *
* <code>string refStation = 6;</code> * <code>string refStation = 6;</code>
@ -18092,7 +17957,7 @@ public final class LayoutGraphicsProto {
} }
/** /**
* <pre> * <pre>
*关联的车站 *string upAndDown =5; //上下行--upLink表示上行downLink表示下行
* </pre> * </pre>
* *
* <code>string refStation = 6;</code> * <code>string refStation = 6;</code>
@ -18113,7 +17978,7 @@ public final class LayoutGraphicsProto {
} }
/** /**
* <pre> * <pre>
*关联的车站 *string upAndDown =5; //上下行--upLink表示上行downLink表示下行
* </pre> * </pre>
* *
* <code>string refStation = 6;</code> * <code>string refStation = 6;</code>
@ -18124,13 +17989,13 @@ public final class LayoutGraphicsProto {
java.lang.String value) { java.lang.String value) {
if (value == null) { throw new NullPointerException(); } if (value == null) { throw new NullPointerException(); }
refStation_ = value; refStation_ = value;
bitField0_ |= 0x00000020; bitField0_ |= 0x00000010;
onChanged(); onChanged();
return this; return this;
} }
/** /**
* <pre> * <pre>
*关联的车站 *string upAndDown =5; //上下行--upLink表示上行downLink表示下行
* </pre> * </pre>
* *
* <code>string refStation = 6;</code> * <code>string refStation = 6;</code>
@ -18138,13 +18003,13 @@ public final class LayoutGraphicsProto {
*/ */
public Builder clearRefStation() { public Builder clearRefStation() {
refStation_ = getDefaultInstance().getRefStation(); refStation_ = getDefaultInstance().getRefStation();
bitField0_ = (bitField0_ & ~0x00000020); bitField0_ = (bitField0_ & ~0x00000010);
onChanged(); onChanged();
return this; return this;
} }
/** /**
* <pre> * <pre>
*关联的车站 *string upAndDown =5; //上下行--upLink表示上行downLink表示下行
* </pre> * </pre>
* *
* <code>string refStation = 6;</code> * <code>string refStation = 6;</code>
@ -18156,10 +18021,54 @@ public final class LayoutGraphicsProto {
if (value == null) { throw new NullPointerException(); } if (value == null) { throw new NullPointerException(); }
checkByteStringIsUtf8(value); checkByteStringIsUtf8(value);
refStation_ = value; refStation_ = value;
bitField0_ |= 0x00000010;
onChanged();
return this;
}
private boolean up_ ;
/**
* <pre>
*上下行--true表示上行false表示下行
* </pre>
*
* <code>bool up = 7;</code>
* @return The up.
*/
@java.lang.Override
public boolean getUp() {
return up_;
}
/**
* <pre>
*上下行--true表示上行false表示下行
* </pre>
*
* <code>bool up = 7;</code>
* @param value The up to set.
* @return This builder for chaining.
*/
public Builder setUp(boolean value) {
up_ = value;
bitField0_ |= 0x00000020; bitField0_ |= 0x00000020;
onChanged(); onChanged();
return this; return this;
} }
/**
* <pre>
*上下行--true表示上行false表示下行
* </pre>
*
* <code>bool up = 7;</code>
* @return This builder for chaining.
*/
public Builder clearUp() {
bitField0_ = (bitField0_ & ~0x00000020);
up_ = false;
onChanged();
return this;
}
@java.lang.Override @java.lang.Override
public final Builder setUnknownFields( public final Builder setUnknownFields(
final com.google.protobuf.UnknownFieldSet unknownFields) { final com.google.protobuf.UnknownFieldSet unknownFields) {
@ -40831,78 +40740,78 @@ public final class LayoutGraphicsProto {
"\n\007Polygon\022\'\n\006common\030\001 \001(\0132\027.graphicData." + "\n\007Polygon\022\'\n\006common\030\001 \001(\0132\027.graphicData." +
"CommonInfo\022\014\n\004code\030\002 \001(\t\022\021\n\tlineWidth\030\003 " + "CommonInfo\022\014\n\004code\030\002 \001(\t\022\021\n\tlineWidth\030\003 " +
"\001(\005\022\021\n\tlineColor\030\004 \001(\t\022\"\n\006points\030\005 \003(\0132\022" + "\001(\005\022\021\n\tlineColor\030\004 \001(\t\022\"\n\006points\030\005 \003(\0132\022" +
".graphicData.Point\"\214\001\n\010Platform\022\'\n\006commo" + ".graphicData.Point\"\205\001\n\010Platform\022\'\n\006commo" +
"n\030\001 \001(\0132\027.graphicData.CommonInfo\022\014\n\004code" + "n\030\001 \001(\0132\027.graphicData.CommonInfo\022\014\n\004code" +
"\030\002 \001(\t\022\017\n\007hasdoor\030\003 \001(\010\022\021\n\tdirection\030\004 \001" + "\030\002 \001(\t\022\017\n\007hasdoor\030\003 \001(\010\022\021\n\tdirection\030\004 \001" +
"(\t\022\021\n\tupAndDown\030\005 \001(\t\022\022\n\nrefStation\030\006 \001(" + "(\t\022\022\n\nrefStation\030\006 \001(\t\022\n\n\002up\030\007 \001(\010\"\270\001\n\007S" +
"\t\"\270\001\n\007Station\022\'\n\006common\030\001 \001(\0132\027.graphicD" + "tation\022\'\n\006common\030\001 \001(\0132\027.graphicData.Com" +
"ata.CommonInfo\022\014\n\004code\030\002 \001(\t\022\022\n\nhasContr" + "monInfo\022\014\n\004code\030\002 \001(\t\022\022\n\nhasControl\030\003 \001(" +
"ol\030\003 \001(\010\022\035\n\025concentrationStations\030\004 \001(\010\022" + "\010\022\035\n\025concentrationStations\030\004 \001(\010\0225\n\017kilo" +
"5\n\017kilometerSystem\030\006 \001(\0132\034.graphicData.K" + "meterSystem\030\006 \001(\0132\034.graphicData.Kilomete" +
"ilometerSystem\022\014\n\004name\030\007 \001(\t\"k\n\013StationL" + "rSystem\022\014\n\004name\030\007 \001(\t\"k\n\013StationLine\022\'\n\006" +
"ine\022\'\n\006common\030\001 \001(\0132\027.graphicData.Common" + "common\030\001 \001(\0132\027.graphicData.CommonInfo\022\014\n" +
"Info\022\014\n\004code\030\002 \001(\t\022\023\n\013hasTransfer\030\003 \001(\010\022" + "\004code\030\002 \001(\t\022\023\n\013hasTransfer\030\003 \001(\010\022\020\n\010hide" +
"\020\n\010hideName\030\004 \001(\010\"Y\n\013TrainWindow\022\'\n\006comm" + "Name\030\004 \001(\010\"Y\n\013TrainWindow\022\'\n\006common\030\001 \001(" +
"on\030\001 \001(\0132\027.graphicData.CommonInfo\022\014\n\004cod" + "\0132\027.graphicData.CommonInfo\022\014\n\004code\030\002 \001(\t" +
"e\030\002 \001(\t\022\023\n\013refDeviceId\030\003 \003(\t\"\256\001\n\014AxleCou" + "\022\023\n\013refDeviceId\030\003 \003(\t\"\256\001\n\014AxleCounting\022\'" +
"nting\022\'\n\006common\030\001 \001(\0132\027.graphicData.Comm" + "\n\006common\030\001 \001(\0132\027.graphicData.CommonInfo\022" +
"onInfo\022\014\n\004code\030\002 \001(\t\0225\n\017kilometerSystem\030" + "\014\n\004code\030\002 \001(\t\0225\n\017kilometerSystem\030\003 \001(\0132\034" +
"\003 \001(\0132\034.graphicData.KilometerSystem\0220\n\017a" + ".graphicData.KilometerSystem\0220\n\017axleCoun" +
"xleCountingRef\030\004 \003(\0132\027.graphicData.Relat" + "tingRef\030\004 \003(\0132\027.graphicData.RelatedRef\">" +
"edRef\">\n\005Train\022\'\n\006common\030\001 \001(\0132\027.graphic" + "\n\005Train\022\'\n\006common\030\001 \001(\0132\027.graphicData.Co" +
"Data.CommonInfo\022\014\n\004code\030\002 \001(\t\"B\n\tTrainLi" + "mmonInfo\022\014\n\004code\030\002 \001(\t\"B\n\tTrainLine\022\'\n\006c" +
"ne\022\'\n\006common\030\001 \001(\0132\027.graphicData.CommonI" + "ommon\030\001 \001(\0132\027.graphicData.CommonInfo\022\014\n\004" +
"nfo\022\014\n\004code\030\002 \001(\t\"@\n\007IscsFan\022\'\n\006common\030\001" + "code\030\002 \001(\t\"@\n\007IscsFan\022\'\n\006common\030\001 \001(\0132\027." +
" \001(\0132\027.graphicData.CommonInfo\022\014\n\004code\030\002 " + "graphicData.CommonInfo\022\014\n\004code\030\002 \001(\t\"\333\002\n" +
"\001(\t\"\333\002\n\007Turnout\022\'\n\006common\030\001 \001(\0132\027.graphi" + "\007Turnout\022\'\n\006common\030\001 \001(\0132\027.graphicData.C" +
"cData.CommonInfo\022\014\n\004code\030\002 \001(\t\022\"\n\006pointA" + "ommonInfo\022\014\n\004code\030\002 \001(\t\022\"\n\006pointA\030\006 \003(\0132" +
"\030\006 \003(\0132\022.graphicData.Point\022\"\n\006pointB\030\007 \003" + "\022.graphicData.Point\022\"\n\006pointB\030\007 \003(\0132\022.gr" +
"(\0132\022.graphicData.Point\022\"\n\006pointC\030\010 \003(\0132\022" + "aphicData.Point\022\"\n\006pointC\030\010 \003(\0132\022.graphi" +
".graphicData.Point\022&\n\005paRef\030\t \001(\0132\027.grap" + "cData.Point\022&\n\005paRef\030\t \001(\0132\027.graphicData" +
"hicData.RelatedRef\022&\n\005pbRef\030\n \001(\0132\027.grap" + ".RelatedRef\022&\n\005pbRef\030\n \001(\0132\027.graphicData" +
"hicData.RelatedRef\022&\n\005pcRef\030\013 \001(\0132\027.grap" + ".RelatedRef\022&\n\005pcRef\030\013 \001(\0132\027.graphicData" +
"hicData.RelatedRef\0225\n\017kilometerSystem\030\r " + ".RelatedRef\0225\n\017kilometerSystem\030\r \003(\0132\034.g" +
"\003(\0132\034.graphicData.KilometerSystem\">\n\017Kil" + "raphicData.KilometerSystem\">\n\017KilometerS" +
"ometerSystem\022\021\n\tkilometer\030\001 \001(\003\022\030\n\020coord" + "ystem\022\021\n\tkilometer\030\001 \001(\003\022\030\n\020coordinateSy" +
"inateSystem\030\002 \001(\t\"\206\001\n\006Signal\022\'\n\006common\030\001" + "stem\030\002 \001(\t\"\206\001\n\006Signal\022\'\n\006common\030\001 \001(\0132\027." +
" \001(\0132\027.graphicData.CommonInfo\022\014\n\004code\030\002 " + "graphicData.CommonInfo\022\014\n\004code\030\002 \001(\t\022\016\n\006" +
"\001(\t\022\016\n\006mirror\030\003 \001(\010\0225\n\017kilometerSystem\030\006" + "mirror\030\003 \001(\010\0225\n\017kilometerSystem\030\006 \001(\0132\034." +
" \001(\0132\034.graphicData.KilometerSystem\"\340\001\n\007R" + "graphicData.KilometerSystem\"\340\001\n\007RunLine\022" +
"unLine\022\'\n\006common\030\001 \001(\0132\027.graphicData.Com" + "\'\n\006common\030\001 \001(\0132\027.graphicData.CommonInfo" +
"monInfo\022\014\n\004code\030\002 \001(\t\022\"\n\006points\030\003 \003(\0132\022." + "\022\014\n\004code\030\002 \001(\t\022\"\n\006points\030\003 \003(\0132\022.graphic" +
"graphicData.Point\022\021\n\tnameColor\030\004 \001(\t\022\023\n\013" + "Data.Point\022\021\n\tnameColor\030\004 \001(\t\022\023\n\013nameBgC" +
"nameBgColor\030\005 \001(\t\022\022\n\ncontainSta\030\010 \003(\t\022\025\n" + "olor\030\005 \001(\t\022\022\n\ncontainSta\030\010 \003(\t\022\025\n\rlinkPa" +
"\rlinkPathLines\030\t \003(\t\022\016\n\006lineId\030\n \001(\t\022\027\n\017" + "thLines\030\t \003(\t\022\016\n\006lineId\030\n \001(\t\022\027\n\017dashPoi" +
"dashPointIndexs\030\013 \003(\005\"\337\002\n\007Section\022\'\n\006com" + "ntIndexs\030\013 \003(\005\"\337\002\n\007Section\022\'\n\006common\030\001 \001" +
"mon\030\001 \001(\0132\027.graphicData.CommonInfo\022\014\n\004co" +
"de\030\002 \001(\t\022\"\n\006points\030\003 \003(\0132\022.graphicData.P" +
"oint\022&\n\005paRef\030\004 \001(\0132\027.graphicData.Relate" +
"dRef\022&\n\005pbRef\030\005 \001(\0132\027.graphicData.Relate" +
"dRef\0225\n\013sectionType\030\006 \001(\0162 .graphicData." +
"Section.SectionType\022\025\n\raxleCountings\030\007 \003" +
"(\t\022\020\n\010children\030\010 \003(\t\022\027\n\017destinationCode\030" +
"\t \001(\t\"0\n\013SectionType\022\014\n\010Physical\020\000\022\023\n\017Tu" +
"rnoutPhysical\020\002\"i\n\014LogicSection\022\'\n\006commo" +
"n\030\001 \001(\0132\027.graphicData.CommonInfo\022\014\n\004code" +
"\030\002 \001(\t\022\"\n\006points\030\003 \003(\0132\022.graphicData.Poi" +
"nt\"V\n\016KilometerPoint\022!\n\005point\030\001 \001(\0132\022.gr" +
"aphicData.Point\022\021\n\tkilometer\030\002 \001(\003\022\016\n\006st" +
"Name\030\003 \001(\t\"\277\001\n\010PathLine\022\'\n\006common\030\001 \001(\0132" +
"\027.graphicData.CommonInfo\022\014\n\004code\030\002 \001(\t\022\"" +
"\n\006points\030\003 \003(\0132\022.graphicData.Point\022\014\n\004is" +
"Up\030\004 \001(\010\0224\n\017kilometerPoints\030\005 \003(\0132\033.grap" +
"hicData.KilometerPoint\022\024\n\014isKmIncrease\030\006" +
" \001(\010\"\366\001\n\nRelatedRef\0226\n\ndeviceType\030\001 \001(\0162" +
"\".graphicData.RelatedRef.DeviceType\022\n\n\002i" +
"d\030\002 \001(\t\0226\n\ndevicePort\030\003 \001(\0162\".graphicDat" +
"a.RelatedRef.DevicePort\"I\n\nDeviceType\022\013\n" +
"\007Section\020\000\022\013\n\007Turnout\020\001\022\017\n\013TrainWindow\020\002" +
"\022\020\n\014AxleCounting\020\003\"!\n\nDevicePort\022\005\n\001A\020\000\022" +
"\005\n\001B\020\001\022\005\n\001C\020\002\"Y\n\tSeparator\022\'\n\006common\030\001 \001" +
"(\0132\027.graphicData.CommonInfo\022\014\n\004code\030\002 \001(" + "(\0132\027.graphicData.CommonInfo\022\014\n\004code\030\002 \001(" +
"\t\022\025\n\rseparatorType\030\003 \001(\tB8\n!club.joylink" + "\t\022\"\n\006points\030\003 \003(\0132\022.graphicData.Point\022&\n" +
".xiannccda.dto.protosB\023LayoutGraphicsPro" + "\005paRef\030\004 \001(\0132\027.graphicData.RelatedRef\022&\n" +
"tob\006proto3" "\005pbRef\030\005 \001(\0132\027.graphicData.RelatedRef\0225\n" +
"\013sectionType\030\006 \001(\0162 .graphicData.Section" +
".SectionType\022\025\n\raxleCountings\030\007 \003(\t\022\020\n\010c" +
"hildren\030\010 \003(\t\022\027\n\017destinationCode\030\t \001(\t\"0" +
"\n\013SectionType\022\014\n\010Physical\020\000\022\023\n\017TurnoutPh" +
"ysical\020\002\"i\n\014LogicSection\022\'\n\006common\030\001 \001(\013" +
"2\027.graphicData.CommonInfo\022\014\n\004code\030\002 \001(\t\022" +
"\"\n\006points\030\003 \003(\0132\022.graphicData.Point\"V\n\016K" +
"ilometerPoint\022!\n\005point\030\001 \001(\0132\022.graphicDa" +
"ta.Point\022\021\n\tkilometer\030\002 \001(\003\022\016\n\006stName\030\003 " +
"\001(\t\"\277\001\n\010PathLine\022\'\n\006common\030\001 \001(\0132\027.graph" +
"icData.CommonInfo\022\014\n\004code\030\002 \001(\t\022\"\n\006point" +
"s\030\003 \003(\0132\022.graphicData.Point\022\014\n\004isUp\030\004 \001(" +
"\010\0224\n\017kilometerPoints\030\005 \003(\0132\033.graphicData" +
".KilometerPoint\022\024\n\014isKmIncrease\030\006 \001(\010\"\366\001" +
"\n\nRelatedRef\0226\n\ndeviceType\030\001 \001(\0162\".graph" +
"icData.RelatedRef.DeviceType\022\n\n\002id\030\002 \001(\t" +
"\0226\n\ndevicePort\030\003 \001(\0162\".graphicData.Relat" +
"edRef.DevicePort\"I\n\nDeviceType\022\013\n\007Sectio" +
"n\020\000\022\013\n\007Turnout\020\001\022\017\n\013TrainWindow\020\002\022\020\n\014Axl" +
"eCounting\020\003\"!\n\nDevicePort\022\005\n\001A\020\000\022\005\n\001B\020\001\022" +
"\005\n\001C\020\002\"Y\n\tSeparator\022\'\n\006common\030\001 \001(\0132\027.gr" +
"aphicData.CommonInfo\022\014\n\004code\030\002 \001(\t\022\025\n\rse" +
"paratorType\030\003 \001(\tB8\n!club.joylink.xiannc" +
"cda.dto.protosB\023LayoutGraphicsProtob\006pro" +
"to3"
}; };
descriptor = com.google.protobuf.Descriptors.FileDescriptor descriptor = com.google.protobuf.Descriptors.FileDescriptor
.internalBuildGeneratedFileFrom(descriptorData, .internalBuildGeneratedFileFrom(descriptorData,
@ -40967,7 +40876,7 @@ public final class LayoutGraphicsProto {
internal_static_graphicData_Platform_fieldAccessorTable = new internal_static_graphicData_Platform_fieldAccessorTable = new
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
internal_static_graphicData_Platform_descriptor, internal_static_graphicData_Platform_descriptor,
new java.lang.String[] { "Common", "Code", "Hasdoor", "Direction", "UpAndDown", "RefStation", }); new java.lang.String[] { "Common", "Code", "Hasdoor", "Direction", "RefStation", "Up", });
internal_static_graphicData_Station_descriptor = internal_static_graphicData_Station_descriptor =
getDescriptor().getMessageTypes().get(10); getDescriptor().getMessageTypes().get(10);
internal_static_graphicData_Station_fieldAccessorTable = new internal_static_graphicData_Station_fieldAccessorTable = new

View File

@ -34,11 +34,13 @@ public class AlertMockService {
switch (alertType) { switch (alertType) {
case BLUE_DISPLAY -> { case BLUE_DISPLAY -> {
Stream<Station> stream = LineGraphicDataRepository.getDevices(lineId, Station.class); Stream<Station> stream = LineGraphicDataRepository.getDevices(lineId, Station.class);
messageOrBuilder = stream.findFirst() messageOrBuilder = stream
.filter(Station::getConcentrationStations)
.findFirst()
.orElseThrow(BusinessExceptionAssertEnum.ARGUMENT_ILLEGAL::exception); .orElseThrow(BusinessExceptionAssertEnum.ARGUMENT_ILLEGAL::exception);
} }
case TRAIN_DELAY -> { case TRAIN_DELAY -> {
throw BusinessExceptionAssertEnum.SYSTEM_EXCEPTION.exception(); throw BusinessExceptionAssertEnum.SYSTEM_EXCEPTION.exception("尚未实现");
} }
case PLATFORM_DOOR_WITHOUT_LOCKED_SIGNAL, PLATFORM_DOOR_CANNOT_OPEN, PLATFORM_DOOR_CANNOT_CLOSE -> { case PLATFORM_DOOR_WITHOUT_LOCKED_SIGNAL, PLATFORM_DOOR_CANNOT_OPEN, PLATFORM_DOOR_CANNOT_CLOSE -> {
Stream<Platform> stream = LineGraphicDataRepository.getDevices(lineId, Platform.class); Stream<Platform> stream = LineGraphicDataRepository.getDevices(lineId, Platform.class);