From c127d0e5f0ac88ead2cb9a898bcadc4168e0d73b Mon Sep 17 00:00:00 2001 From: tiger_zhou Date: Fri, 22 Dec 2023 14:37:05 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=85=E9=9A=9C=E6=B5=8B=E8=AF=95=E8=B0=83?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ats/cache/LineGraphicDataManage.java | 8 +- .../ats/cache/LineGraphicDataRepository.java | 67 ++++- .../dto/protos/LayoutGraphicsProto.java | 240 ++++++++++++------ 3 files changed, 240 insertions(+), 75 deletions(-) diff --git a/src/main/java/club/joylink/xiannccda/ats/cache/LineGraphicDataManage.java b/src/main/java/club/joylink/xiannccda/ats/cache/LineGraphicDataManage.java index 72e4252..13a68d4 100644 --- a/src/main/java/club/joylink/xiannccda/ats/cache/LineGraphicDataManage.java +++ b/src/main/java/club/joylink/xiannccda/ats/cache/LineGraphicDataManage.java @@ -1,5 +1,6 @@ package club.joylink.xiannccda.ats.cache; +import club.joylink.xiannccda.constants.SystemContext; import club.joylink.xiannccda.dto.PublishedGIDTO.LineType; import club.joylink.xiannccda.dto.PublishedGIQueryDTO; import club.joylink.xiannccda.entity.PublishedGi; @@ -26,6 +27,11 @@ public class LineGraphicDataManage implements ApplicationRunner { PublishedGIQueryDTO query = new PublishedGIQueryDTO(); query.setType(LineType.Line.name()); List list = iPublishedGiRepository.listWithProto(query); - list.forEach(LineGraphicDataRepository::putLineGraph); + list.forEach(d -> { + LineGraphicDataRepository.putLineGraph(d); + if (!SystemContext.getMasterEnv()) { + LineGraphicDataRepository.initDeviceStationCenter(); + } + }); } } diff --git a/src/main/java/club/joylink/xiannccda/ats/cache/LineGraphicDataRepository.java b/src/main/java/club/joylink/xiannccda/ats/cache/LineGraphicDataRepository.java index 4bfbb34..763178f 100644 --- a/src/main/java/club/joylink/xiannccda/ats/cache/LineGraphicDataRepository.java +++ b/src/main/java/club/joylink/xiannccda/ats/cache/LineGraphicDataRepository.java @@ -1,5 +1,11 @@ package club.joylink.xiannccda.ats.cache; +import club.joylink.xiannccda.ats.message.MessageId; +import club.joylink.xiannccda.ats.message.collect.DeviceDataRepository; +import club.joylink.xiannccda.ats.message.collect.DeviceDataRepository.DataTypeEnum; +import club.joylink.xiannccda.ats.message.collect.DeviceStatusDataOperate; +import club.joylink.xiannccda.ats.message.collect.datasource.DeviceStatusData; +import club.joylink.xiannccda.ats.message.line3.rep.DeviceStatusChangeResponse; import club.joylink.xiannccda.dto.protos.DeviceInfoProto; import club.joylink.xiannccda.dto.protos.DeviceInfoProto.DeviceKilometer; import club.joylink.xiannccda.dto.protos.DeviceInfoProto.Turnout; @@ -16,8 +22,10 @@ import club.joylink.xiannccda.entity.PublishedGi; import club.joylink.xiannccda.exception.BusinessExceptionAssertEnum; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.google.common.collect.HashBasedTable; +import com.google.common.collect.Lists; import com.google.common.collect.Table; import com.google.protobuf.Descriptors.FieldDescriptor; +import com.google.protobuf.GeneratedMessageV3; import com.google.protobuf.GeneratedMessageV3.Builder; import com.google.protobuf.InvalidProtocolBufferException; import com.google.protobuf.MessageOrBuilder; @@ -136,9 +144,66 @@ public class LineGraphicDataRepository { } catch (InvalidProtocolBufferException e) { log.error("反序列化信息失败", e); } + } - private void initDeviceStationCenter() { + public static void initDeviceStationCenter() { + log.info("开始初始化地图中设备集中站的归属。。。"); + + for (Integer lineId : line_code_table.rowKeySet()) { + DeviceStatusData dsd = DeviceDataRepository.findDataSouce(lineId.toString(), DataTypeEnum.DEVICE); + for (MessageOrBuilder mb : line_code_table.values()) { + String deviceCode = DeviceStatusDataOperate.findFieldVal(mb, "code", String.class); + Integer deviceId = DeviceStatusDataOperate.findFieldVal(mb, "centralizedStationId", Integer.class); + if (Objects.isNull(deviceId) || deviceId == 0) { + continue; + } + Integer rtuId = getStationCenterById(lineId, deviceId.toString()); + if (Objects.isNull(rtuId)) { + continue; + } + List builders = Lists.newArrayList(); + if (mb instanceof LayoutGraphicsProto.Turnout) { + builders.addAll(createMsg(lineId, club.joylink.xiannccda.ats.message.line3.device.DeviceType.DEVICE_TYPE_SWITCH, deviceCode, rtuId.shortValue())); + builders.addAll(createMsg(lineId, club.joylink.xiannccda.ats.message.line3.device.DeviceType.DEVICE_TYPE_TRACK, deviceCode, rtuId.shortValue())); + + }/* else if (mb instanceof LogicSection logicSection) { + builders.addAll(this.createMsg(lineId, club.joylink.xiannccda.ats.message.line3.device.DeviceType.DEVICE_TYPE_TRACK, deviceCode, rtuId.shortValue())); + }*/ else if (mb instanceof LayoutGraphicsProto.Section section) { + if (section.getSectionType() == SectionType.Physical) { + for (Integer childId : section.getChildrenList()) { + MessageOrBuilder childMB = getDeviceByCode(lineId, childId.toString()); + String deviceCode_ = DeviceStatusDataOperate.findFieldVal(childMB, "code", String.class); + builders.addAll(createMsg(lineId, club.joylink.xiannccda.ats.message.line3.device.DeviceType.DEVICE_TYPE_TRACK, deviceCode_, rtuId.shortValue())); + } + } + } else if (mb instanceof LayoutGraphicsProto.Signal) { + builders.addAll(createMsg(lineId, club.joylink.xiannccda.ats.message.line3.device.DeviceType.DEVICE_TYPE_SIGNAL, deviceCode, rtuId.shortValue())); + } + dsd.addDevice(builders); + } + } + } + + + private static List createMsg(Integer lineId, club.joylink.xiannccda.ats.message.line3.device.DeviceType dt, String devName, short rtuId) { + DeviceStatusChangeResponse statusChange = new DeviceStatusChangeResponse(); + statusChange.setLineId(lineId.shortValue()); + statusChange.setMsgId(MessageId.DEVICE_STATUS_CHANGE); + statusChange.setDevName(devName); + statusChange.setType(dt); + statusChange.setDeviceStatus(0); + statusChange.setRtuId(rtuId); + return statusChange.generateProto(); + } + + public static Integer getStationCenterById(Integer lineId, String deviceId) { + MessageOrBuilder mb = getDeviceByCodeNotException(lineId, deviceId); + String rtuCode = DeviceStatusDataOperate.findFieldVal(mb, "code", String.class); + if (StringUtils.isEmpty(rtuCode)) { + return null; + } + return Integer.parseInt(rtuCode); } diff --git a/src/main/java/club/joylink/xiannccda/dto/protos/LayoutGraphicsProto.java b/src/main/java/club/joylink/xiannccda/dto/protos/LayoutGraphicsProto.java index 8e9f176..4f2c35e 100644 --- a/src/main/java/club/joylink/xiannccda/dto/protos/LayoutGraphicsProto.java +++ b/src/main/java/club/joylink/xiannccda/dto/protos/LayoutGraphicsProto.java @@ -22406,6 +22406,16 @@ public final class LayoutGraphicsProto { * @return The manageStations at the given index. */ int getManageStations(int index); + + /** + *
+     *是否车辆段
+     * 
+ * + * bool depots = 9; + * @return The depots. + */ + boolean getDepots(); } /** * Protobuf type {@code graphicData.Station} @@ -22658,6 +22668,21 @@ public final class LayoutGraphicsProto { } private int manageStationsMemoizedSerializedSize = -1; + public static final int DEPOTS_FIELD_NUMBER = 9; + private boolean depots_ = false; + /** + *
+     *是否车辆段
+     * 
+ * + * bool depots = 9; + * @return The depots. + */ + @java.lang.Override + public boolean getDepots() { + return depots_; + } + private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { @@ -22698,6 +22723,9 @@ public final class LayoutGraphicsProto { for (int i = 0; i < manageStations_.size(); i++) { output.writeUInt32NoTag(manageStations_.getInt(i)); } + if (depots_ != false) { + output.writeBool(9, depots_); + } getUnknownFields().writeTo(output); } @@ -22743,6 +22771,10 @@ public final class LayoutGraphicsProto { } manageStationsMemoizedSerializedSize = dataSize; } + if (depots_ != false) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(9, depots_); + } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; @@ -22778,6 +22810,8 @@ public final class LayoutGraphicsProto { .equals(other.getName())) return false; if (!getManageStationsList() .equals(other.getManageStationsList())) return false; + if (getDepots() + != other.getDepots()) return false; if (!getUnknownFields().equals(other.getUnknownFields())) return false; return true; } @@ -22811,6 +22845,9 @@ public final class LayoutGraphicsProto { hash = (37 * hash) + MANAGESTATIONS_FIELD_NUMBER; hash = (53 * hash) + getManageStationsList().hashCode(); } + hash = (37 * hash) + DEPOTS_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getDepots()); hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; @@ -22957,6 +22994,7 @@ public final class LayoutGraphicsProto { } name_ = ""; manageStations_ = emptyIntList(); + depots_ = false; return this; } @@ -23021,6 +23059,9 @@ public final class LayoutGraphicsProto { if (((from_bitField0_ & 0x00000020) != 0)) { result.name_ = name_; } + if (((from_bitField0_ & 0x00000080) != 0)) { + result.depots_ = depots_; + } } @java.lang.Override @@ -23067,6 +23108,9 @@ public final class LayoutGraphicsProto { } onChanged(); } + if (other.getDepots() != false) { + setDepots(other.getDepots()); + } this.mergeUnknownFields(other.getUnknownFields()); onChanged(); return this; @@ -23143,6 +23187,11 @@ public final class LayoutGraphicsProto { input.popLimit(limit); break; } // case 66 + case 72: { + depots_ = input.readBool(); + bitField0_ |= 0x00000080; + break; + } // case 72 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { done = true; // was an endgroup tag @@ -23774,6 +23823,50 @@ public final class LayoutGraphicsProto { onChanged(); return this; } + + private boolean depots_ ; + /** + *
+       *是否车辆段
+       * 
+ * + * bool depots = 9; + * @return The depots. + */ + @java.lang.Override + public boolean getDepots() { + return depots_; + } + /** + *
+       *是否车辆段
+       * 
+ * + * bool depots = 9; + * @param value The depots to set. + * @return This builder for chaining. + */ + public Builder setDepots(boolean value) { + + depots_ = value; + bitField0_ |= 0x00000080; + onChanged(); + return this; + } + /** + *
+       *是否车辆段
+       * 
+ * + * bool depots = 9; + * @return This builder for chaining. + */ + public Builder clearDepots() { + bitField0_ = (bitField0_ & ~0x00000080); + depots_ = false; + onChanged(); + return this; + } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { @@ -47224,84 +47317,85 @@ public final class LayoutGraphicsProto { "\n\tdirection\030\004 \001(\t\022\025\n\roldrefStation\030\006 \001(\t" + "\022\n\n\002up\030\007 \001(\010\022\027\n\017oldrefSectionId\030\010 \001(\t\022\022\n" + "\nrefStation\030\t \001(\r\022\024\n\014refSectionId\030\n \001(\r\022" + - "\034\n\024centralizedStationId\030\013 \001(\r\"\320\001\n\007Statio" + + "\034\n\024centralizedStationId\030\013 \001(\r\"\340\001\n\007Statio" + "n\022\'\n\006common\030\001 \001(\0132\027.graphicData.CommonIn" + "fo\022\014\n\004code\030\002 \001(\t\022\022\n\nhasControl\030\003 \001(\010\022\035\n\025" + "concentrationStations\030\004 \001(\010\0225\n\017kilometer" + "System\030\006 \001(\0132\034.graphicData.KilometerSyst" + "em\022\014\n\004name\030\007 \001(\t\022\026\n\016manageStations\030\010 \003(\r" + - "\"\313\001\n\013StationLine\022\'\n\006common\030\001 \001(\0132\027.graph" + - "icData.CommonInfo\022\014\n\004code\030\002 \001(\t\022\023\n\013hasTr" + - "ansfer\030\003 \001(\010\022\020\n\010hideName\030\004 \001(\010\0228\n\tcodeCo" + - "lor\030\005 \001(\0162%.graphicData.StationLine.stat" + - "ionColor\"$\n\014stationColor\022\n\n\006orange\020\000\022\010\n\004" + - "gray\020\001\"q\n\013TrainWindow\022\'\n\006common\030\001 \001(\0132\027." + - "graphicData.CommonInfo\022\014\n\004code\030\002 \001(\t\022\026\n\016" + - "oldrefDeviceId\030\003 \003(\t\022\023\n\013refDeviceId\030\004 \003(" + - "\r\"\256\001\n\014AxleCounting\022\'\n\006common\030\001 \001(\0132\027.gra" + - "phicData.CommonInfo\022\014\n\004code\030\002 \001(\t\0225\n\017kil" + - "ometerSystem\030\003 \001(\0132\034.graphicData.Kilomet" + - "erSystem\0220\n\017axleCountingRef\030\004 \003(\0132\027.grap" + - "hicData.RelatedRef\">\n\005Train\022\'\n\006common\030\001 " + - "\001(\0132\027.graphicData.CommonInfo\022\014\n\004code\030\002 \001" + - "(\t\"B\n\tTrainLine\022\'\n\006common\030\001 \001(\0132\027.graphi" + - "cData.CommonInfo\022\014\n\004code\030\002 \001(\t\"@\n\007IscsFa" + - "n\022\'\n\006common\030\001 \001(\0132\027.graphicData.CommonIn" + - "fo\022\014\n\004code\030\002 \001(\t\"\371\002\n\007Turnout\022\'\n\006common\030\001" + - " \001(\0132\027.graphicData.CommonInfo\022\014\n\004code\030\002 " + - "\001(\t\022\"\n\006pointA\030\006 \003(\0132\022.graphicData.Point\022" + - "\"\n\006pointB\030\007 \003(\0132\022.graphicData.Point\022\"\n\006p" + - "ointC\030\010 \003(\0132\022.graphicData.Point\022&\n\005paRef" + - "\030\t \001(\0132\027.graphicData.RelatedRef\022&\n\005pbRef" + - "\030\n \001(\0132\027.graphicData.RelatedRef\022&\n\005pcRef" + - "\030\013 \001(\0132\027.graphicData.RelatedRef\0225\n\017kilom" + - "eterSystem\030\r \003(\0132\034.graphicData.Kilometer" + - "System\022\034\n\024centralizedStationId\030\016 \001(\r\">\n\017" + - "KilometerSystem\022\021\n\tkilometer\030\001 \001(\003\022\030\n\020co" + - "ordinateSystem\030\002 \001(\t\"\320\001\n\006Signal\022\'\n\006commo" + + "\022\016\n\006depots\030\t \001(\010\"\313\001\n\013StationLine\022\'\n\006comm" + + "on\030\001 \001(\0132\027.graphicData.CommonInfo\022\014\n\004cod" + + "e\030\002 \001(\t\022\023\n\013hasTransfer\030\003 \001(\010\022\020\n\010hideName" + + "\030\004 \001(\010\0228\n\tcodeColor\030\005 \001(\0162%.graphicData." + + "StationLine.stationColor\"$\n\014stationColor" + + "\022\n\n\006orange\020\000\022\010\n\004gray\020\001\"q\n\013TrainWindow\022\'\n" + + "\006common\030\001 \001(\0132\027.graphicData.CommonInfo\022\014" + + "\n\004code\030\002 \001(\t\022\026\n\016oldrefDeviceId\030\003 \003(\t\022\023\n\013" + + "refDeviceId\030\004 \003(\r\"\256\001\n\014AxleCounting\022\'\n\006co" + + "mmon\030\001 \001(\0132\027.graphicData.CommonInfo\022\014\n\004c" + + "ode\030\002 \001(\t\0225\n\017kilometerSystem\030\003 \001(\0132\034.gra" + + "phicData.KilometerSystem\0220\n\017axleCounting" + + "Ref\030\004 \003(\0132\027.graphicData.RelatedRef\">\n\005Tr" + + "ain\022\'\n\006common\030\001 \001(\0132\027.graphicData.Common" + + "Info\022\014\n\004code\030\002 \001(\t\"B\n\tTrainLine\022\'\n\006commo" + "n\030\001 \001(\0132\027.graphicData.CommonInfo\022\014\n\004code" + - "\030\002 \001(\t\022\016\n\006mirror\030\003 \001(\010\0225\n\017kilometerSyste" + - "m\030\006 \001(\0132\034.graphicData.KilometerSystem\022*\n" + - "\trefDevice\030\007 \001(\0132\027.graphicData.RelatedRe" + - "f\022\034\n\024centralizedStationId\030\010 \001(\r\"\246\002\n\007RunL" + - "ine\022\'\n\006common\030\001 \001(\0132\027.graphicData.Common" + - "Info\022\014\n\004code\030\002 \001(\t\022\"\n\006points\030\003 \003(\0132\022.gra" + - "phicData.Point\022\021\n\tnameColor\030\004 \001(\t\022\023\n\013nam" + - "eBgColor\030\005 \001(\t\022\022\n\ncontainSta\030\010 \003(\t\022\030\n\020ol" + - "dlinkPathLines\030\t \003(\t\022\016\n\006lineId\030\n \001(\t\022\027\n\017" + - "dashPointIndexs\030\013 \003(\005\022\027\n\017grayPointIndexs" + - "\030\014 \003(\005\022\021\n\tlineColor\030\r \001(\t\022\025\n\rlinkPathLin" + - "es\030\016 \003(\r\"\243\003\n\007Section\022\'\n\006common\030\001 \001(\0132\027.g" + - "raphicData.CommonInfo\022\014\n\004code\030\002 \001(\t\022\"\n\006p" + - "oints\030\003 \003(\0132\022.graphicData.Point\022&\n\005paRef" + - "\030\004 \001(\0132\027.graphicData.RelatedRef\022&\n\005pbRef" + - "\030\005 \001(\0132\027.graphicData.RelatedRef\0225\n\013secti" + - "onType\030\006 \001(\0162 .graphicData.Section.Secti" + - "onType\022\025\n\raxleCountings\030\007 \003(\t\022\023\n\013oldchil" + - "dren\030\010 \003(\t\022\027\n\017destinationCode\030\t \001(\t\022\017\n\007t" + - "urning\030\n \001(\010\022\020\n\010children\030\013 \003(\r\022\034\n\024centra" + - "lizedStationId\030\014 \001(\r\"0\n\013SectionType\022\014\n\010P" + - "hysical\020\000\022\023\n\017TurnoutPhysical\020\002\"i\n\014LogicS" + - "ection\022\'\n\006common\030\001 \001(\0132\027.graphicData.Com" + - "monInfo\022\014\n\004code\030\002 \001(\t\022\"\n\006points\030\003 \003(\0132\022." + - "graphicData.Point\"V\n\016KilometerPoint\022!\n\005p" + - "oint\030\001 \001(\0132\022.graphicData.Point\022\021\n\tkilome" + - "ter\030\002 \001(\003\022\016\n\006stName\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.graphicD" + - "ata.Point\022\014\n\004isUp\030\004 \001(\010\0224\n\017kilometerPoin" + - "ts\030\005 \003(\0132\033.graphicData.KilometerPoint\022\024\n" + - "\014isKmIncrease\030\006 \001(\010\"\205\002\n\nRelatedRef\0226\n\nde" + - "viceType\030\001 \001(\0162\".graphicData.RelatedRef." + - "DeviceType\022\r\n\005oldid\030\002 \001(\t\0226\n\ndevicePort\030" + - "\003 \001(\0162\".graphicData.RelatedRef.DevicePor" + - "t\022\n\n\002id\030\004 \001(\r\"I\n\nDeviceType\022\013\n\007Section\020\000" + - "\022\013\n\007Turnout\020\001\022\017\n\013TrainWindow\020\002\022\020\n\014AxleCo" + - "unting\020\003\"!\n\nDevicePort\022\005\n\001A\020\000\022\005\n\001B\020\001\022\005\n\001" + - "C\020\002\"Y\n\tSeparator\022\'\n\006common\030\001 \001(\0132\027.graph" + - "icData.CommonInfo\022\014\n\004code\030\002 \001(\t\022\025\n\rsepar" + - "atorType\030\003 \001(\tB8\n!club.joylink.xiannccda" + - ".dto.protosB\023LayoutGraphicsProtob\006proto3" + "\030\002 \001(\t\"@\n\007IscsFan\022\'\n\006common\030\001 \001(\0132\027.grap" + + "hicData.CommonInfo\022\014\n\004code\030\002 \001(\t\"\371\002\n\007Tur" + + "nout\022\'\n\006common\030\001 \001(\0132\027.graphicData.Commo" + + "nInfo\022\014\n\004code\030\002 \001(\t\022\"\n\006pointA\030\006 \003(\0132\022.gr" + + "aphicData.Point\022\"\n\006pointB\030\007 \003(\0132\022.graphi" + + "cData.Point\022\"\n\006pointC\030\010 \003(\0132\022.graphicDat" + + "a.Point\022&\n\005paRef\030\t \001(\0132\027.graphicData.Rel" + + "atedRef\022&\n\005pbRef\030\n \001(\0132\027.graphicData.Rel" + + "atedRef\022&\n\005pcRef\030\013 \001(\0132\027.graphicData.Rel" + + "atedRef\0225\n\017kilometerSystem\030\r \003(\0132\034.graph" + + "icData.KilometerSystem\022\034\n\024centralizedSta" + + "tionId\030\016 \001(\r\">\n\017KilometerSystem\022\021\n\tkilom" + + "eter\030\001 \001(\003\022\030\n\020coordinateSystem\030\002 \001(\t\"\320\001\n" + + "\006Signal\022\'\n\006common\030\001 \001(\0132\027.graphicData.Co" + + "mmonInfo\022\014\n\004code\030\002 \001(\t\022\016\n\006mirror\030\003 \001(\010\0225" + + "\n\017kilometerSystem\030\006 \001(\0132\034.graphicData.Ki" + + "lometerSystem\022*\n\trefDevice\030\007 \001(\0132\027.graph" + + "icData.RelatedRef\022\034\n\024centralizedStationI" + + "d\030\010 \001(\r\"\246\002\n\007RunLine\022\'\n\006common\030\001 \001(\0132\027.gr" + + "aphicData.CommonInfo\022\014\n\004code\030\002 \001(\t\022\"\n\006po" + + "ints\030\003 \003(\0132\022.graphicData.Point\022\021\n\tnameCo" + + "lor\030\004 \001(\t\022\023\n\013nameBgColor\030\005 \001(\t\022\022\n\ncontai" + + "nSta\030\010 \003(\t\022\030\n\020oldlinkPathLines\030\t \003(\t\022\016\n\006" + + "lineId\030\n \001(\t\022\027\n\017dashPointIndexs\030\013 \003(\005\022\027\n" + + "\017grayPointIndexs\030\014 \003(\005\022\021\n\tlineColor\030\r \001(" + + "\t\022\025\n\rlinkPathLines\030\016 \003(\r\"\243\003\n\007Section\022\'\n\006" + + "common\030\001 \001(\0132\027.graphicData.CommonInfo\022\014\n" + + "\004code\030\002 \001(\t\022\"\n\006points\030\003 \003(\0132\022.graphicDat" + + "a.Point\022&\n\005paRef\030\004 \001(\0132\027.graphicData.Rel" + + "atedRef\022&\n\005pbRef\030\005 \001(\0132\027.graphicData.Rel" + + "atedRef\0225\n\013sectionType\030\006 \001(\0162 .graphicDa" + + "ta.Section.SectionType\022\025\n\raxleCountings\030" + + "\007 \003(\t\022\023\n\013oldchildren\030\010 \003(\t\022\027\n\017destinatio" + + "nCode\030\t \001(\t\022\017\n\007turning\030\n \001(\010\022\020\n\010children" + + "\030\013 \003(\r\022\034\n\024centralizedStationId\030\014 \001(\r\"0\n\013" + + "SectionType\022\014\n\010Physical\020\000\022\023\n\017TurnoutPhys" + + "ical\020\002\"i\n\014LogicSection\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\"V\n\016Kil" + + "ometerPoint\022!\n\005point\030\001 \001(\0132\022.graphicData" + + ".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.graphic" + + "Data.CommonInfo\022\014\n\004code\030\002 \001(\t\022\"\n\006points\030" + + "\003 \003(\0132\022.graphicData.Point\022\014\n\004isUp\030\004 \001(\010\022" + + "4\n\017kilometerPoints\030\005 \003(\0132\033.graphicData.K" + + "ilometerPoint\022\024\n\014isKmIncrease\030\006 \001(\010\"\205\002\n\n" + + "RelatedRef\0226\n\ndeviceType\030\001 \001(\0162\".graphic" + + "Data.RelatedRef.DeviceType\022\r\n\005oldid\030\002 \001(" + + "\t\0226\n\ndevicePort\030\003 \001(\0162\".graphicData.Rela" + + "tedRef.DevicePort\022\n\n\002id\030\004 \001(\r\"I\n\nDeviceT" + + "ype\022\013\n\007Section\020\000\022\013\n\007Turnout\020\001\022\017\n\013TrainWi" + + "ndow\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\006comm" + + "on\030\001 \001(\0132\027.graphicData.CommonInfo\022\014\n\004cod" + + "e\030\002 \001(\t\022\025\n\rseparatorType\030\003 \001(\tB8\n!club.j" + + "oylink.xiannccda.dto.protosB\023LayoutGraph" + + "icsProtob\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor .internalBuildGeneratedFileFrom(descriptorData, @@ -47384,7 +47478,7 @@ public final class LayoutGraphicsProto { internal_static_graphicData_Station_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_graphicData_Station_descriptor, - new java.lang.String[] { "Common", "Code", "HasControl", "ConcentrationStations", "KilometerSystem", "Name", "ManageStations", }); + new java.lang.String[] { "Common", "Code", "HasControl", "ConcentrationStations", "KilometerSystem", "Name", "ManageStations", "Depots", }); internal_static_graphicData_StationLine_descriptor = getDescriptor().getMessageTypes().get(13); internal_static_graphicData_StationLine_fieldAccessorTable = new