【列车设备消息转换】

This commit is contained in:
weizhihong 2023-06-26 09:51:29 +08:00
parent 530e1666e0
commit 01f67dc787
7 changed files with 625 additions and 451 deletions

View File

@ -1,9 +1,15 @@
package club.joylink.xiannccda.ats.message.line3.rep;
import club.joylink.xiannccda.ats.message.MessageResponse;
import club.joylink.xiannccda.ats.message.convertor.DeviceStatusConvertor;
import club.joylink.xiannccda.ats.message.line3.DateTimeUtil;
import club.joylink.xiannccda.ats.message.line3.MessageCons;
import club.joylink.xiannccda.ats.message.line3.device.DeviceType;
import club.joylink.xiannccda.ats.message.line3.rep.DeviceStatusBitmapResponse.DeviceTypeEntity;
import club.joylink.xiannccda.dto.protos.DeviceStatusProto;
import com.google.common.collect.Lists;
import com.google.protobuf.GeneratedMessageV3;
import com.google.protobuf.GeneratedMessageV3.Builder;
import io.netty.buffer.ByteBuf;
import lombok.Getter;
@ -12,24 +18,16 @@ import java.util.ArrayList;
import java.util.List;
import lombok.Setter;
/**
* 2.7.9列车信息全体消息
*/
/** 2.7.9列车信息全体消息 */
@Getter
@Setter
public class TrainIndicationInitResponse extends MessageResponse {
/**
* 线路号(2)
*/
/** 线路号(2) */
private Short lineId;
/**
* 列车数量(2)
*/
/** 列车数量(2) */
private Short trainCnt;
/**
* 列车列表
*/
/** 列车列表 */
private List<TrainCell> trains;
@Override
@ -42,85 +40,75 @@ public class TrainIndicationInitResponse extends MessageResponse {
}
}
@Override
public List<Builder> generateProto() throws Exception {
List<GeneratedMessageV3.Builder> msgBuildList = Lists.newArrayList();
for (TrainCell trainCell : this.trains) {
DeviceStatusProto.Train.Builder builder = DeviceStatusProto.Train.newBuilder();
builder.setLineId(lineId);
builder.setRtuId(trainCell.getRtuId());
builder.setTrainIndex(trainCell.getTrainIndex());
builder.setTrainId(trainCell.getTrainId());
builder.setGroupId(trainCell.getGroupId());
builder.setNccWindow(trainCell.getNccWindow());
builder.setNccWindowOffset(trainCell.getNccWindowOffset());
builder.setDevType(trainCell.getDevType().getVal());
builder.setDevName(trainCell.getDevName());
builder.setDestinationId(trainCell.getDestinationId());
builder.setRollingStock(trainCell.getRollingStock());
builder.setDriverId(trainCell.getDriverId());
builder.setOtpTime(trainCell.getOtpTime());
builder.setMode(trainCell.getMode());
builder.setArriveTime(trainCell.getArriveTime().getNano());
builder.setDepartTime(trainCell.getDepartTime().getNano());
builder.setRate(trainCell.getRate());
builder.setSpeed(trainCell.getSpeed());
msgBuildList.add(builder);
}
return msgBuildList;
}
@Getter
@Setter
public static class TrainCell {
/**
* 集中站站号(2)
*/
/** 集中站站号(2) */
private Short rtuId;
/**
* NCC车次窗编号(2)
*/
/** NCC车次窗编号(2) */
private Short nccWindow;
/**
* 列车在车次窗中的位置(1)
*/
/** 列车在车次窗中的位置(1) */
private Byte nccWindowOffset;
/**
* 列车所在的设备的类型(2)
*/
/** 列车所在的设备的类型(2) */
private DeviceType devType;
/**
* 列车所在的设备的名称(24)
*/
/** 列车所在的设备的名称(24) */
private String devName;
/**
* 列车标示号全线唯一若无法提供缺省值为0(10)
*/
/** 列车标示号全线唯一若无法提供缺省值为0(10) */
private String trainIndex;
/**
* 列车编组号(9)
*/
/** 列车编组号(9) */
private String groupId;
/**
* 表号(9)
*/
/** 表号(9) */
private String trainId;
/**
* 车次号(12)
*/
/** 车次号(12) */
private String globalId;
/**
* 目的地号(4)
*/
/** 目的地号(4) */
private Integer destinationId;
/**
* 编组数量(1)
*/
/** 编组数量(1) */
private byte rollingStock;
/**
* 司机号(13)
*/
/** 司机号(13) */
private String driverId;
/**
* 根据实际报点和计划的偏离时间单位-215- +215 正数表示列车晚点秒数负数表示列车早点秒数(4)
*/
/** 根据实际报点和计划的偏离时间(单位:秒,-215- +215 ,正数表示列车晚点秒数,负数表示列车早点秒数)(4) */
private Integer otpTime;
/**
* 列车状态见附录6.3.14列车状态定义(4)
*/
/** 列车状态见附录6.3.14列车状态定义(4) */
private Integer mode;
/**
* 列车到点(7)
*/
/** 列车到点(7) */
private LocalDateTime arriveTime;
/**
* 列车发点(7)
*/
/** 列车发点(7) */
private LocalDateTime departTime;
/**
* 满载率百分比例如50表示满载率为50%(4)
*/
/** 满载率百分比例如50表示满载率为50%(4) */
private Integer rate;
/**
* 速度KM/H(1)
*/
/** 速度KM/H(1) */
private byte speed;
/**
* 预留(2)
*/
/** 预留(2) */
private byte[] reserve = new byte[2];
private TrainCell decode(final ByteBuf buf) {

View File

@ -3,74 +3,64 @@ package club.joylink.xiannccda.ats.message.line3.rep;
import club.joylink.xiannccda.ats.message.MessageResponse;
import club.joylink.xiannccda.ats.message.line3.DateTimeUtil;
import club.joylink.xiannccda.ats.message.line3.MessageCons;
import club.joylink.xiannccda.ats.message.line3.rep.TrainIndicationInitResponse.TrainCell;
import club.joylink.xiannccda.dto.protos.DeviceStatusProto;
import com.google.common.collect.Lists;
import com.google.protobuf.GeneratedMessageV3;
import com.google.protobuf.GeneratedMessageV3.Builder;
import io.netty.buffer.ByteBuf;
import java.util.List;
import lombok.Getter;
import java.time.LocalDateTime;
import lombok.Setter;
/**
* 2.7.8列车报点消息
*/
/** 2.7.8列车报点消息 */
@Getter
@Setter
public class TrainRecordResponse extends MessageResponse {
/**
* 线路号(2)
*/
/** 线路号(2) */
private Short lineId;
/**
* 表号(9)
*/
/** 表号(9) */
private String trainId;
/**
* 车次号(12)
*/
/** 车次号(12) */
private String globalId;
/**
* 局部序列号(4)
*/
/** 局部序列号(4) */
private Integer localSubId;
/**
* 车组号(9)
*/
/** 车组号(9) */
private String groupId;
/**
* 目的地(4)
*/
/** 目的地(4) */
private Integer destinationId;
/**
* 列车类型(2) 0x01计划车<br> 0x02头码车<br> 0x03M0车<br> 0x04MM车<br>
* 列车类型(2) 0x01计划车<br>
* 0x02头码车<br>
* 0x03M0车<br>
* 0x04MM车<br>
*/
private TrainTypeEnum trainType;
/**
* 运行方向(1) 0x01下行 <br> 0x02上行<br> 0x00无方向<br>
* 运行方向(1) 0x01下行 <br>
* 0x02上行<br>
* 0x00无方向<br>
*/
private DirectionEnum direction;
/**
* 站号(2)
*/
/** 站号(2) */
private Short stationId;
/**
* 站台编号(2)
*/
/** 站台编号(2) */
private Short sideId;
/**
* 轨道名称小区段名称(20)
*/
/** 轨道名称(小区段名称)(20) */
private String trackName;
/**
* 到发点类型(2)<br> 0x01H到达<br> 0x02H出发<br> true-到达false-出发
* 到发点类型(2)<br>
* 0x01H到达<br>
* 0x02H出发<br>
* true-到达false-出发
*/
private Boolean recordType;
/**
* 到发时间(7)
*/
/** 到发时间(7) */
private LocalDateTime recordTime;
/**
* 预留(4)
*/
/** 预留(4) */
private byte[] reserve = new byte[4];
@Override
@ -118,8 +108,29 @@ public class TrainRecordResponse extends MessageResponse {
this.recordTime = DateTimeUtil.convert(recordTime);
}
@Override
public List<Builder> generateProto() throws Exception {
List<GeneratedMessageV3.Builder> msgBuildList = Lists.newArrayList();
DeviceStatusProto.Train.Builder builder = DeviceStatusProto.Train.newBuilder();
builder.setLineId(this.getLineId());
builder.setTrainId(this.getTrainId());
builder.setGlobalId(this.getGlobalId());
builder.setLocalSubId(this.getLocalSubId());
builder.setTrainType(this.getTrainType().type);
builder.setDirection(this.getDirection().value);
builder.setStationId(this.getStationId());
builder.setSideId(this.getSideId());
builder.setTrackName(this.getTrackName());
builder.setRecordType(this.getRecordType());
builder.setRecordTime(this.getRecordTime().getNano());
msgBuildList.add(builder);
return msgBuildList;
}
/**
* 运行方向(1) 0x01下行 <br> 0x02上行<br> 0x00无方向<br>
* 运行方向(1) 0x01下行 <br>
* 0x02上行<br>
* 0x00无方向<br>
*/
public static enum DirectionEnum {
Down(0x01),
@ -134,16 +145,19 @@ public class TrainRecordResponse extends MessageResponse {
public static DirectionEnum of(final int value) {
for (final DirectionEnum direction : values()) {
if (direction.value == value) {
return direction;
}
if (direction.value == value) {
return direction;
}
}
return DirectionEnum.Unknown;
}
}
/**
* 列车类型(2) 0x01计划车<br> 0x02头码车<br> 0x03M0车<br> 0x04MM车<br>
* 列车类型(2) 0x01计划车<br>
* 0x02头码车<br>
* 0x03M0车<br>
* 0x04MM车<br>
*/
public static enum TrainTypeEnum {
PlannedTrain(0x01),
@ -159,9 +173,9 @@ public class TrainRecordResponse extends MessageResponse {
public static TrainTypeEnum of(final int type) {
for (final TrainTypeEnum tt : values()) {
if (type == tt.type) {
return tt;
}
if (type == tt.type) {
return tt;
}
}
return null;
}

View File

@ -91,7 +91,7 @@ public class PublishedGiController {
return publishedGiRepository.removeById(id);
}
@GetMapping("/lineNetwork")
@GetMapping("/lineNetwork/info")
@SecurityRequirement(name = "jwt")
@Operation(summary = "获取已发布的现网数据")
@ApiResponse(description = "获取已发布的现网数据")

View File

@ -18995,7 +18995,6 @@ public final class DeviceStatusProto {
/**
* <pre>
* 基础信息
* 列车表号
* </pre>
*
@ -19005,7 +19004,6 @@ public final class DeviceStatusProto {
java.lang.String getTrainId();
/**
* <pre>
* 基础信息
* 列车表号
* </pre>
*
@ -19087,7 +19085,6 @@ public final class DeviceStatusProto {
/**
* <pre>
* 信息消息
* 运行方向
* </pre>
*
@ -19315,6 +19312,56 @@ public final class DeviceStatusProto {
*/
com.google.protobuf.ByteString
getTrainIndexBytes();
/**
* <pre>
* 编组数量
* </pre>
*
* <code>int32 rollingStock = 26;</code>
* @return The rollingStock.
*/
int getRollingStock();
/**
* <pre>
* 计划偏离时间
* </pre>
*
* <code>int32 otpTime = 27;</code>
* @return The otpTime.
*/
int getOtpTime();
/**
* <pre>
* 集中站站号
* </pre>
*
* <code>int32 rtuId = 28;</code>
* @return The rtuId.
*/
int getRtuId();
/**
* <pre>
* 到点
* </pre>
*
* <code>int64 arriveTime = 29;</code>
* @return The arriveTime.
*/
long getArriveTime();
/**
* <pre>
* 发点
* </pre>
*
* <code>int64 departTime = 30;</code>
* @return The departTime.
*/
long getDepartTime();
}
/**
* <pre>
@ -19367,7 +19414,6 @@ public final class DeviceStatusProto {
private volatile java.lang.Object trainId_ = "";
/**
* <pre>
* 基础信息
* 列车表号
* </pre>
*
@ -19389,7 +19435,6 @@ public final class DeviceStatusProto {
}
/**
* <pre>
* 基础信息
* 列车表号
* </pre>
*
@ -19554,7 +19599,6 @@ public final class DeviceStatusProto {
private int direction_ = 0;
/**
* <pre>
* 信息消息
* 运行方向
* </pre>
*
@ -19964,6 +20008,81 @@ public final class DeviceStatusProto {
}
}
public static final int ROLLINGSTOCK_FIELD_NUMBER = 26;
private int rollingStock_ = 0;
/**
* <pre>
* 编组数量
* </pre>
*
* <code>int32 rollingStock = 26;</code>
* @return The rollingStock.
*/
@java.lang.Override
public int getRollingStock() {
return rollingStock_;
}
public static final int OTPTIME_FIELD_NUMBER = 27;
private int otpTime_ = 0;
/**
* <pre>
* 计划偏离时间
* </pre>
*
* <code>int32 otpTime = 27;</code>
* @return The otpTime.
*/
@java.lang.Override
public int getOtpTime() {
return otpTime_;
}
public static final int RTUID_FIELD_NUMBER = 28;
private int rtuId_ = 0;
/**
* <pre>
* 集中站站号
* </pre>
*
* <code>int32 rtuId = 28;</code>
* @return The rtuId.
*/
@java.lang.Override
public int getRtuId() {
return rtuId_;
}
public static final int ARRIVETIME_FIELD_NUMBER = 29;
private long arriveTime_ = 0L;
/**
* <pre>
* 到点
* </pre>
*
* <code>int64 arriveTime = 29;</code>
* @return The arriveTime.
*/
@java.lang.Override
public long getArriveTime() {
return arriveTime_;
}
public static final int DEPARTTIME_FIELD_NUMBER = 30;
private long departTime_ = 0L;
/**
* <pre>
* 发点
* </pre>
*
* <code>int64 departTime = 30;</code>
* @return The departTime.
*/
@java.lang.Override
public long getDepartTime() {
return departTime_;
}
private byte memoizedIsInitialized = -1;
@java.lang.Override
public final boolean isInitialized() {
@ -20053,6 +20172,21 @@ public final class DeviceStatusProto {
if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(trainIndex_)) {
com.google.protobuf.GeneratedMessageV3.writeString(output, 25, trainIndex_);
}
if (rollingStock_ != 0) {
output.writeInt32(26, rollingStock_);
}
if (otpTime_ != 0) {
output.writeInt32(27, otpTime_);
}
if (rtuId_ != 0) {
output.writeInt32(28, rtuId_);
}
if (arriveTime_ != 0L) {
output.writeInt64(29, arriveTime_);
}
if (departTime_ != 0L) {
output.writeInt64(30, departTime_);
}
getUnknownFields().writeTo(output);
}
@ -20155,6 +20289,26 @@ public final class DeviceStatusProto {
if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(trainIndex_)) {
size += com.google.protobuf.GeneratedMessageV3.computeStringSize(25, trainIndex_);
}
if (rollingStock_ != 0) {
size += com.google.protobuf.CodedOutputStream
.computeInt32Size(26, rollingStock_);
}
if (otpTime_ != 0) {
size += com.google.protobuf.CodedOutputStream
.computeInt32Size(27, otpTime_);
}
if (rtuId_ != 0) {
size += com.google.protobuf.CodedOutputStream
.computeInt32Size(28, rtuId_);
}
if (arriveTime_ != 0L) {
size += com.google.protobuf.CodedOutputStream
.computeInt64Size(29, arriveTime_);
}
if (departTime_ != 0L) {
size += com.google.protobuf.CodedOutputStream
.computeInt64Size(30, departTime_);
}
size += getUnknownFields().getSerializedSize();
memoizedSize = size;
return size;
@ -20221,6 +20375,16 @@ public final class DeviceStatusProto {
!= other.getLineId()) return false;
if (!getTrainIndex()
.equals(other.getTrainIndex())) return false;
if (getRollingStock()
!= other.getRollingStock()) return false;
if (getOtpTime()
!= other.getOtpTime()) return false;
if (getRtuId()
!= other.getRtuId()) return false;
if (getArriveTime()
!= other.getArriveTime()) return false;
if (getDepartTime()
!= other.getDepartTime()) return false;
if (!getUnknownFields().equals(other.getUnknownFields())) return false;
return true;
}
@ -20286,6 +20450,18 @@ public final class DeviceStatusProto {
hash = (53 * hash) + getLineId();
hash = (37 * hash) + TRAININDEX_FIELD_NUMBER;
hash = (53 * hash) + getTrainIndex().hashCode();
hash = (37 * hash) + ROLLINGSTOCK_FIELD_NUMBER;
hash = (53 * hash) + getRollingStock();
hash = (37 * hash) + OTPTIME_FIELD_NUMBER;
hash = (53 * hash) + getOtpTime();
hash = (37 * hash) + RTUID_FIELD_NUMBER;
hash = (53 * hash) + getRtuId();
hash = (37 * hash) + ARRIVETIME_FIELD_NUMBER;
hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
getArriveTime());
hash = (37 * hash) + DEPARTTIME_FIELD_NUMBER;
hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
getDepartTime());
hash = (29 * hash) + getUnknownFields().hashCode();
memoizedHashCode = hash;
return hash;
@ -20446,6 +20622,11 @@ public final class DeviceStatusProto {
show_ = false;
lineId_ = 0;
trainIndex_ = "";
rollingStock_ = 0;
otpTime_ = 0;
rtuId_ = 0;
arriveTime_ = 0L;
departTime_ = 0L;
return this;
}
@ -20554,6 +20735,21 @@ public final class DeviceStatusProto {
if (((from_bitField0_ & 0x01000000) != 0)) {
result.trainIndex_ = trainIndex_;
}
if (((from_bitField0_ & 0x02000000) != 0)) {
result.rollingStock_ = rollingStock_;
}
if (((from_bitField0_ & 0x04000000) != 0)) {
result.otpTime_ = otpTime_;
}
if (((from_bitField0_ & 0x08000000) != 0)) {
result.rtuId_ = rtuId_;
}
if (((from_bitField0_ & 0x10000000) != 0)) {
result.arriveTime_ = arriveTime_;
}
if (((from_bitField0_ & 0x20000000) != 0)) {
result.departTime_ = departTime_;
}
}
@java.lang.Override
@ -20657,6 +20853,21 @@ public final class DeviceStatusProto {
bitField0_ |= 0x01000000;
onChanged();
}
if (other.getRollingStock() != 0) {
setRollingStock(other.getRollingStock());
}
if (other.getOtpTime() != 0) {
setOtpTime(other.getOtpTime());
}
if (other.getRtuId() != 0) {
setRtuId(other.getRtuId());
}
if (other.getArriveTime() != 0L) {
setArriveTime(other.getArriveTime());
}
if (other.getDepartTime() != 0L) {
setDepartTime(other.getDepartTime());
}
this.mergeUnknownFields(other.getUnknownFields());
onChanged();
return this;
@ -20808,6 +21019,31 @@ public final class DeviceStatusProto {
bitField0_ |= 0x01000000;
break;
} // case 202
case 208: {
rollingStock_ = input.readInt32();
bitField0_ |= 0x02000000;
break;
} // case 208
case 216: {
otpTime_ = input.readInt32();
bitField0_ |= 0x04000000;
break;
} // case 216
case 224: {
rtuId_ = input.readInt32();
bitField0_ |= 0x08000000;
break;
} // case 224
case 232: {
arriveTime_ = input.readInt64();
bitField0_ |= 0x10000000;
break;
} // case 232
case 240: {
departTime_ = input.readInt64();
bitField0_ |= 0x20000000;
break;
} // case 240
default: {
if (!super.parseUnknownField(input, extensionRegistry, tag)) {
done = true; // was an endgroup tag
@ -20828,7 +21064,6 @@ public final class DeviceStatusProto {
private java.lang.Object trainId_ = "";
/**
* <pre>
* 基础信息
* 列车表号
* </pre>
*
@ -20849,7 +21084,6 @@ public final class DeviceStatusProto {
}
/**
* <pre>
* 基础信息
* 列车表号
* </pre>
*
@ -20871,7 +21105,6 @@ public final class DeviceStatusProto {
}
/**
* <pre>
* 基础信息
* 列车表号
* </pre>
*
@ -20889,7 +21122,6 @@ public final class DeviceStatusProto {
}
/**
* <pre>
* 基础信息
* 列车表号
* </pre>
*
@ -20904,7 +21136,6 @@ public final class DeviceStatusProto {
}
/**
* <pre>
* 基础信息
* 列车表号
* </pre>
*
@ -21241,7 +21472,6 @@ public final class DeviceStatusProto {
private int direction_ ;
/**
* <pre>
* 信息消息
* 运行方向
* </pre>
*
@ -21254,7 +21484,6 @@ public final class DeviceStatusProto {
}
/**
* <pre>
* 信息消息
* 运行方向
* </pre>
*
@ -21271,7 +21500,6 @@ public final class DeviceStatusProto {
}
/**
* <pre>
* 信息消息
* 运行方向
* </pre>
*
@ -22268,6 +22496,226 @@ public final class DeviceStatusProto {
onChanged();
return this;
}
private int rollingStock_ ;
/**
* <pre>
* 编组数量
* </pre>
*
* <code>int32 rollingStock = 26;</code>
* @return The rollingStock.
*/
@java.lang.Override
public int getRollingStock() {
return rollingStock_;
}
/**
* <pre>
* 编组数量
* </pre>
*
* <code>int32 rollingStock = 26;</code>
* @param value The rollingStock to set.
* @return This builder for chaining.
*/
public Builder setRollingStock(int value) {
rollingStock_ = value;
bitField0_ |= 0x02000000;
onChanged();
return this;
}
/**
* <pre>
* 编组数量
* </pre>
*
* <code>int32 rollingStock = 26;</code>
* @return This builder for chaining.
*/
public Builder clearRollingStock() {
bitField0_ = (bitField0_ & ~0x02000000);
rollingStock_ = 0;
onChanged();
return this;
}
private int otpTime_ ;
/**
* <pre>
* 计划偏离时间
* </pre>
*
* <code>int32 otpTime = 27;</code>
* @return The otpTime.
*/
@java.lang.Override
public int getOtpTime() {
return otpTime_;
}
/**
* <pre>
* 计划偏离时间
* </pre>
*
* <code>int32 otpTime = 27;</code>
* @param value The otpTime to set.
* @return This builder for chaining.
*/
public Builder setOtpTime(int value) {
otpTime_ = value;
bitField0_ |= 0x04000000;
onChanged();
return this;
}
/**
* <pre>
* 计划偏离时间
* </pre>
*
* <code>int32 otpTime = 27;</code>
* @return This builder for chaining.
*/
public Builder clearOtpTime() {
bitField0_ = (bitField0_ & ~0x04000000);
otpTime_ = 0;
onChanged();
return this;
}
private int rtuId_ ;
/**
* <pre>
* 集中站站号
* </pre>
*
* <code>int32 rtuId = 28;</code>
* @return The rtuId.
*/
@java.lang.Override
public int getRtuId() {
return rtuId_;
}
/**
* <pre>
* 集中站站号
* </pre>
*
* <code>int32 rtuId = 28;</code>
* @param value The rtuId to set.
* @return This builder for chaining.
*/
public Builder setRtuId(int value) {
rtuId_ = value;
bitField0_ |= 0x08000000;
onChanged();
return this;
}
/**
* <pre>
* 集中站站号
* </pre>
*
* <code>int32 rtuId = 28;</code>
* @return This builder for chaining.
*/
public Builder clearRtuId() {
bitField0_ = (bitField0_ & ~0x08000000);
rtuId_ = 0;
onChanged();
return this;
}
private long arriveTime_ ;
/**
* <pre>
* 到点
* </pre>
*
* <code>int64 arriveTime = 29;</code>
* @return The arriveTime.
*/
@java.lang.Override
public long getArriveTime() {
return arriveTime_;
}
/**
* <pre>
* 到点
* </pre>
*
* <code>int64 arriveTime = 29;</code>
* @param value The arriveTime to set.
* @return This builder for chaining.
*/
public Builder setArriveTime(long value) {
arriveTime_ = value;
bitField0_ |= 0x10000000;
onChanged();
return this;
}
/**
* <pre>
* 到点
* </pre>
*
* <code>int64 arriveTime = 29;</code>
* @return This builder for chaining.
*/
public Builder clearArriveTime() {
bitField0_ = (bitField0_ & ~0x10000000);
arriveTime_ = 0L;
onChanged();
return this;
}
private long departTime_ ;
/**
* <pre>
* 发点
* </pre>
*
* <code>int64 departTime = 30;</code>
* @return The departTime.
*/
@java.lang.Override
public long getDepartTime() {
return departTime_;
}
/**
* <pre>
* 发点
* </pre>
*
* <code>int64 departTime = 30;</code>
* @param value The departTime to set.
* @return This builder for chaining.
*/
public Builder setDepartTime(long value) {
departTime_ = value;
bitField0_ |= 0x20000000;
onChanged();
return this;
}
/**
* <pre>
* 发点
* </pre>
*
* <code>int64 departTime = 30;</code>
* @return This builder for chaining.
*/
public Builder clearDepartTime() {
bitField0_ = (bitField0_ & ~0x20000000);
departTime_ = 0L;
onChanged();
return this;
}
@java.lang.Override
public final Builder setUnknownFields(
final com.google.protobuf.UnknownFieldSet unknownFields) {
@ -22528,7 +22976,7 @@ public final class DeviceStatusProto {
"ipModeTrainDriveModeRmr\030! \001(\010\022 \n\030ipModeT" +
"rainDriveModeWash\030\" \001(\010\022\n\n\002id\030# \001(\t\".\n\020O" +
"ccNccFepNetwork\022\n\n\002id\030\001 \001(\t\022\016\n\006active\030\002 " +
"\001(\010\"\313\003\n\005Train\022\017\n\007trainId\030\001 \001(\t\022\020\n\010global" +
"\001(\010\"\251\004\n\005Train\022\017\n\007trainId\030\001 \001(\t\022\020\n\010global" +
"Id\030\002 \001(\t\022\017\n\007groupId\030\003 \001(\t\022\022\n\nlocalSubId\030" +
"\004 \001(\005\022\021\n\ttrainType\030\005 \001(\005\022\r\n\005speed\030\006 \001(\002\022" +
"\021\n\tdirection\030\007 \001(\005\022\025\n\rdestinationId\030\010 \001(" +
@ -22539,9 +22987,11 @@ public final class DeviceStatusProto {
"\001(\005\022\027\n\017nccWindowOffset\030\022 \001(\005\022\014\n\004rate\030\023 \001" +
"(\005\022\017\n\007devType\030\024 \001(\005\022\017\n\007devName\030\025 \001(\t\022\021\n\t" +
"blockFlag\030\026 \001(\005\022\014\n\004show\030\027 \001(\010\022\016\n\006lineId\030" +
"\030 \001(\005\022\022\n\ntrainIndex\030\031 \001(\tB6\n!club.joylin" +
"k.xiannccda.dto.protosB\021DeviceStatusProt" +
"ob\006proto3"
"\030 \001(\005\022\022\n\ntrainIndex\030\031 \001(\t\022\024\n\014rollingStoc" +
"k\030\032 \001(\005\022\017\n\007otpTime\030\033 \001(\005\022\r\n\005rtuId\030\034 \001(\005\022" +
"\022\n\narriveTime\030\035 \001(\003\022\022\n\ndepartTime\030\036 \001(\003B" +
"6\n!club.joylink.xiannccda.dto.protosB\021De" +
"viceStatusProtob\006proto3"
};
descriptor = com.google.protobuf.Descriptors.FileDescriptor
.internalBuildGeneratedFileFrom(descriptorData,
@ -22630,7 +23080,7 @@ public final class DeviceStatusProto {
internal_static_state_Train_fieldAccessorTable = new
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
internal_static_state_Train_descriptor,
new java.lang.String[] { "TrainId", "GlobalId", "GroupId", "LocalSubId", "TrainType", "Speed", "Direction", "DestinationId", "StationId", "SideId", "TrackName", "RecordType", "RecordTime", "DriverId", "RouteId", "Mode", "NccWindow", "NccWindowOffset", "Rate", "DevType", "DevName", "BlockFlag", "Show", "LineId", "TrainIndex", });
new java.lang.String[] { "TrainId", "GlobalId", "GroupId", "LocalSubId", "TrainType", "Speed", "Direction", "DestinationId", "StationId", "SideId", "TrackName", "RecordType", "RecordTime", "DriverId", "RouteId", "Mode", "NccWindow", "NccWindowOffset", "Rate", "DevType", "DevName", "BlockFlag", "Show", "LineId", "TrainIndex", "RollingStock", "OtpTime", "RtuId", "ArriveTime", "DepartTime", });
}
// @@protoc_insertion_point(outer_class_scope)

View File

@ -19523,36 +19523,6 @@ public final class LayoutGraphicsProto {
*/
com.google.protobuf.ByteString
getCodeBytes();
/**
* <pre>
* 行驶方向
* </pre>
*
* <code>string trainDirection = 3;</code>
* @return The trainDirection.
*/
java.lang.String getTrainDirection();
/**
* <pre>
* 行驶方向
* </pre>
*
* <code>string trainDirection = 3;</code>
* @return The bytes for trainDirection.
*/
com.google.protobuf.ByteString
getTrainDirectionBytes();
/**
* <pre>
* 是否有边框
* </pre>
*
* <code>bool hasBorder = 4;</code>
* @return The hasBorder.
*/
boolean getHasBorder();
}
/**
* Protobuf type {@code graphicData.Train}
@ -19568,7 +19538,6 @@ public final class LayoutGraphicsProto {
}
private Train() {
code_ = "";
trainDirection_ = "";
}
@java.lang.Override
@ -19656,68 +19625,6 @@ public final class LayoutGraphicsProto {
}
}
public static final int TRAINDIRECTION_FIELD_NUMBER = 3;
@SuppressWarnings("serial")
private volatile java.lang.Object trainDirection_ = "";
/**
* <pre>
* 行驶方向
* </pre>
*
* <code>string trainDirection = 3;</code>
* @return The trainDirection.
*/
@java.lang.Override
public java.lang.String getTrainDirection() {
java.lang.Object ref = trainDirection_;
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();
trainDirection_ = s;
return s;
}
}
/**
* <pre>
* 行驶方向
* </pre>
*
* <code>string trainDirection = 3;</code>
* @return The bytes for trainDirection.
*/
@java.lang.Override
public com.google.protobuf.ByteString
getTrainDirectionBytes() {
java.lang.Object ref = trainDirection_;
if (ref instanceof java.lang.String) {
com.google.protobuf.ByteString b =
com.google.protobuf.ByteString.copyFromUtf8(
(java.lang.String) ref);
trainDirection_ = b;
return b;
} else {
return (com.google.protobuf.ByteString) ref;
}
}
public static final int HASBORDER_FIELD_NUMBER = 4;
private boolean hasBorder_ = false;
/**
* <pre>
* 是否有边框
* </pre>
*
* <code>bool hasBorder = 4;</code>
* @return The hasBorder.
*/
@java.lang.Override
public boolean getHasBorder() {
return hasBorder_;
}
private byte memoizedIsInitialized = -1;
@java.lang.Override
public final boolean isInitialized() {
@ -19738,12 +19645,6 @@ public final class LayoutGraphicsProto {
if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(code_)) {
com.google.protobuf.GeneratedMessageV3.writeString(output, 2, code_);
}
if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(trainDirection_)) {
com.google.protobuf.GeneratedMessageV3.writeString(output, 3, trainDirection_);
}
if (hasBorder_ != false) {
output.writeBool(4, hasBorder_);
}
getUnknownFields().writeTo(output);
}
@ -19760,13 +19661,6 @@ public final class LayoutGraphicsProto {
if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(code_)) {
size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, code_);
}
if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(trainDirection_)) {
size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, trainDirection_);
}
if (hasBorder_ != false) {
size += com.google.protobuf.CodedOutputStream
.computeBoolSize(4, hasBorder_);
}
size += getUnknownFields().getSerializedSize();
memoizedSize = size;
return size;
@ -19789,10 +19683,6 @@ public final class LayoutGraphicsProto {
}
if (!getCode()
.equals(other.getCode())) return false;
if (!getTrainDirection()
.equals(other.getTrainDirection())) return false;
if (getHasBorder()
!= other.getHasBorder()) return false;
if (!getUnknownFields().equals(other.getUnknownFields())) return false;
return true;
}
@ -19810,11 +19700,6 @@ public final class LayoutGraphicsProto {
}
hash = (37 * hash) + CODE_FIELD_NUMBER;
hash = (53 * hash) + getCode().hashCode();
hash = (37 * hash) + TRAINDIRECTION_FIELD_NUMBER;
hash = (53 * hash) + getTrainDirection().hashCode();
hash = (37 * hash) + HASBORDER_FIELD_NUMBER;
hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
getHasBorder());
hash = (29 * hash) + getUnknownFields().hashCode();
memoizedHashCode = hash;
return hash;
@ -19952,8 +19837,6 @@ public final class LayoutGraphicsProto {
commonBuilder_ = null;
}
code_ = "";
trainDirection_ = "";
hasBorder_ = false;
return this;
}
@ -19995,12 +19878,6 @@ public final class LayoutGraphicsProto {
if (((from_bitField0_ & 0x00000002) != 0)) {
result.code_ = code_;
}
if (((from_bitField0_ & 0x00000004) != 0)) {
result.trainDirection_ = trainDirection_;
}
if (((from_bitField0_ & 0x00000008) != 0)) {
result.hasBorder_ = hasBorder_;
}
}
@java.lang.Override
@ -20023,14 +19900,6 @@ public final class LayoutGraphicsProto {
bitField0_ |= 0x00000002;
onChanged();
}
if (!other.getTrainDirection().isEmpty()) {
trainDirection_ = other.trainDirection_;
bitField0_ |= 0x00000004;
onChanged();
}
if (other.getHasBorder() != false) {
setHasBorder(other.getHasBorder());
}
this.mergeUnknownFields(other.getUnknownFields());
onChanged();
return this;
@ -20069,16 +19938,6 @@ public final class LayoutGraphicsProto {
bitField0_ |= 0x00000002;
break;
} // case 18
case 26: {
trainDirection_ = input.readStringRequireUtf8();
bitField0_ |= 0x00000004;
break;
} // case 26
case 32: {
hasBorder_ = input.readBool();
bitField0_ |= 0x00000008;
break;
} // case 32
default: {
if (!super.parseUnknownField(input, extensionRegistry, tag)) {
done = true; // was an endgroup tag
@ -20286,142 +20145,6 @@ public final class LayoutGraphicsProto {
onChanged();
return this;
}
private java.lang.Object trainDirection_ = "";
/**
* <pre>
* 行驶方向
* </pre>
*
* <code>string trainDirection = 3;</code>
* @return The trainDirection.
*/
public java.lang.String getTrainDirection() {
java.lang.Object ref = trainDirection_;
if (!(ref instanceof java.lang.String)) {
com.google.protobuf.ByteString bs =
(com.google.protobuf.ByteString) ref;
java.lang.String s = bs.toStringUtf8();
trainDirection_ = s;
return s;
} else {
return (java.lang.String) ref;
}
}
/**
* <pre>
* 行驶方向
* </pre>
*
* <code>string trainDirection = 3;</code>
* @return The bytes for trainDirection.
*/
public com.google.protobuf.ByteString
getTrainDirectionBytes() {
java.lang.Object ref = trainDirection_;
if (ref instanceof String) {
com.google.protobuf.ByteString b =
com.google.protobuf.ByteString.copyFromUtf8(
(java.lang.String) ref);
trainDirection_ = b;
return b;
} else {
return (com.google.protobuf.ByteString) ref;
}
}
/**
* <pre>
* 行驶方向
* </pre>
*
* <code>string trainDirection = 3;</code>
* @param value The trainDirection to set.
* @return This builder for chaining.
*/
public Builder setTrainDirection(
java.lang.String value) {
if (value == null) { throw new NullPointerException(); }
trainDirection_ = value;
bitField0_ |= 0x00000004;
onChanged();
return this;
}
/**
* <pre>
* 行驶方向
* </pre>
*
* <code>string trainDirection = 3;</code>
* @return This builder for chaining.
*/
public Builder clearTrainDirection() {
trainDirection_ = getDefaultInstance().getTrainDirection();
bitField0_ = (bitField0_ & ~0x00000004);
onChanged();
return this;
}
/**
* <pre>
* 行驶方向
* </pre>
*
* <code>string trainDirection = 3;</code>
* @param value The bytes for trainDirection to set.
* @return This builder for chaining.
*/
public Builder setTrainDirectionBytes(
com.google.protobuf.ByteString value) {
if (value == null) { throw new NullPointerException(); }
checkByteStringIsUtf8(value);
trainDirection_ = value;
bitField0_ |= 0x00000004;
onChanged();
return this;
}
private boolean hasBorder_ ;
/**
* <pre>
* 是否有边框
* </pre>
*
* <code>bool hasBorder = 4;</code>
* @return The hasBorder.
*/
@java.lang.Override
public boolean getHasBorder() {
return hasBorder_;
}
/**
* <pre>
* 是否有边框
* </pre>
*
* <code>bool hasBorder = 4;</code>
* @param value The hasBorder to set.
* @return This builder for chaining.
*/
public Builder setHasBorder(boolean value) {
hasBorder_ = value;
bitField0_ |= 0x00000008;
onChanged();
return this;
}
/**
* <pre>
* 是否有边框
* </pre>
*
* <code>bool hasBorder = 4;</code>
* @return This builder for chaining.
*/
public Builder clearHasBorder() {
bitField0_ = (bitField0_ & ~0x00000008);
hasBorder_ = false;
onChanged();
return this;
}
@java.lang.Override
public final Builder setUnknownFields(
final com.google.protobuf.UnknownFieldSet unknownFields) {
@ -31291,42 +31014,41 @@ public final class LayoutGraphicsProto {
"ata.CommonInfo\022\014\n\004code\030\002 \001(\t\022\023\n\013hasTrans" +
"fer\030\003 \001(\010\"W\n\013TrainWindow\022\'\n\006common\030\001 \001(\013" +
"2\027.graphicData.CommonInfo\022\014\n\004code\030\002 \001(\t\022" +
"\021\n\tsectionId\030\003 \001(\t\"i\n\005Train\022\'\n\006common\030\001 " +
"\021\n\tsectionId\030\003 \001(\t\">\n\005Train\022\'\n\006common\030\001 " +
"\001(\0132\027.graphicData.CommonInfo\022\014\n\004code\030\002 \001" +
"(\t\022\026\n\016trainDirection\030\003 \001(\t\022\021\n\thasBorder\030" +
"\004 \001(\010\"B\n\tTrainLine\022\'\n\006common\030\001 \001(\0132\027.gra" +
"phicData.CommonInfo\022\014\n\004code\030\002 \001(\t\"@\n\007Isc" +
"sFan\022\'\n\006common\030\001 \001(\0132\027.graphicData.Commo" +
"nInfo\022\014\n\004code\030\002 \001(\t\"\244\002\n\007Turnout\022\'\n\006commo" +
"n\030\001 \001(\0132\027.graphicData.CommonInfo\022\014\n\004code" +
"\030\002 \001(\t\022\"\n\006pointA\030\006 \003(\0132\022.graphicData.Poi" +
"nt\022\"\n\006pointB\030\007 \003(\0132\022.graphicData.Point\022\"" +
"\n\006pointC\030\010 \003(\0132\022.graphicData.Point\022&\n\005pa" +
"Ref\030\t \001(\0132\027.graphicData.RelatedRef\022&\n\005pb" +
"Ref\030\n \001(\0132\027.graphicData.RelatedRef\022&\n\005pc" +
"Ref\030\013 \001(\0132\027.graphicData.RelatedRef\"O\n\006Si" +
"gnal\022\'\n\006common\030\001 \001(\0132\027.graphicData.Commo" +
"nInfo\022\014\n\004code\030\002 \001(\t\022\016\n\006mirror\030\003 \001(\010\"\272\001\n\007" +
"RunLine\022\'\n\006common\030\001 \001(\0132\027.graphicData.Co" +
"mmonInfo\022\014\n\004code\030\002 \001(\t\022\"\n\006points\030\003 \003(\0132\022" +
".graphicData.Point\022\021\n\tnameColor\030\004 \001(\t\022\023\n" +
"\013nameBgColor\030\005 \001(\t\022\024\n\014upPathLineId\030\006 \001(\t" +
"\022\026\n\016downPathLineId\030\007 \001(\t\"\264\001\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\"e\n\010PathLine\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\"\344\001\n\nRelat" +
"edRef\0226\n\ndeviceType\030\001 \001(\0162\".graphicData." +
"RelatedRef.DeviceType\022\n\n\002id\030\002 \001(\t\0226\n\ndev" +
"icePort\030\003 \001(\0162\".graphicData.RelatedRef.D" +
"evicePort\"7\n\nDeviceType\022\013\n\007Section\020\000\022\013\n\007" +
"Turnout\020\001\022\017\n\013TrainWindow\020\002\"!\n\nDevicePort" +
"\022\005\n\001A\020\000\022\005\n\001B\020\001\022\005\n\001C\020\002B8\n!club.joylink.xi" +
"annccda.dto.protosB\023LayoutGraphicsProtob" +
"\006proto3"
"(\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\"\244\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\"O\n\006Signa" +
"l\022\'\n\006common\030\001 \001(\0132\027.graphicData.CommonIn" +
"fo\022\014\n\004code\030\002 \001(\t\022\016\n\006mirror\030\003 \001(\010\"\272\001\n\007Run" +
"Line\022\'\n\006common\030\001 \001(\0132\027.graphicData.Commo" +
"nInfo\022\014\n\004code\030\002 \001(\t\022\"\n\006points\030\003 \003(\0132\022.gr" +
"aphicData.Point\022\021\n\tnameColor\030\004 \001(\t\022\023\n\013na" +
"meBgColor\030\005 \001(\t\022\024\n\014upPathLineId\030\006 \001(\t\022\026\n" +
"\016downPathLineId\030\007 \001(\t\"\264\001\n\007Section\022\'\n\006com" +
"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\"e\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\"\344\001\n\nRelatedR" +
"ef\0226\n\ndeviceType\030\001 \001(\0162\".graphicData.Rel" +
"atedRef.DeviceType\022\n\n\002id\030\002 \001(\t\0226\n\ndevice" +
"Port\030\003 \001(\0162\".graphicData.RelatedRef.Devi" +
"cePort\"7\n\nDeviceType\022\013\n\007Section\020\000\022\013\n\007Tur" +
"nout\020\001\022\017\n\013TrainWindow\020\002\"!\n\nDevicePort\022\005\n" +
"\001A\020\000\022\005\n\001B\020\001\022\005\n\001C\020\002B8\n!club.joylink.xiann" +
"ccda.dto.protosB\023LayoutGraphicsProtob\006pr" +
"oto3"
};
descriptor = com.google.protobuf.Descriptors.FileDescriptor
.internalBuildGeneratedFileFrom(descriptorData,
@ -31415,7 +31137,7 @@ public final class LayoutGraphicsProto {
internal_static_graphicData_Train_fieldAccessorTable = new
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
internal_static_graphicData_Train_descriptor,
new java.lang.String[] { "Common", "Code", "TrainDirection", "HasBorder", });
new java.lang.String[] { "Common", "Code", });
internal_static_graphicData_TrainLine_descriptor =
getDescriptor().getMessageTypes().get(14);
internal_static_graphicData_TrainLine_fieldAccessorTable = new

View File

@ -114,7 +114,7 @@ public class LineDeviceStatusService {
IMessageServer iMessageServer =
new LineNetMessageServer(DeviceStatusDataRepository.getDeviceStatusData(dataKey));
wsMessageServerManager.registerMessageServer(iMessageServer);
refreshTestData();
// refreshTestData();
}
private void refreshTestData() {

@ -1 +1 @@
Subproject commit f42a98cd93767b1fddec263181cb6bed53729665
Subproject commit 6f2622cd7ffbebc42d4af8bac4e79116e8ab6a0b