[新增]计轴区段的模型、ecs实体、ecs系统、发给前端的状态
All checks were successful
local-test分支打包构建docker并发布运行 / Docker-Build (push) Successful in 1m44s
All checks were successful
local-test分支打包构建docker并发布运行 / Docker-Build (push) Successful in 1m44s
This commit is contained in:
parent
016ce0e8bb
commit
4044b7f4c2
@ -922,7 +922,7 @@ type RtssGraphicStorage struct {
|
||||
LogicSections []*LogicSection `protobuf:"bytes,17,rep,name=logicSections,proto3" json:"logicSections,omitempty"`
|
||||
StopPositions []*StopPosition `protobuf:"bytes,18,rep,name=stopPositions,proto3" json:"stopPositions,omitempty"`
|
||||
SpksSwitchs []*SpksSwitch `protobuf:"bytes,19,rep,name=spksSwitchs,proto3" json:"spksSwitchs,omitempty"`
|
||||
EsbButtons []*EsbButton `protobuf:"bytes,20,rep,name=esbButtons,proto3" json:"esbButtons,omitempty"` // 紧急关闭按钮
|
||||
EsbButtons []*EsbButton `protobuf:"bytes,20,rep,name=esbButtons,proto3" json:"esbButtons,omitempty"` // 紧急关闭(这不是按钮,只是一个ESB系统的象征物)
|
||||
GateBoxs []*GatedBox `protobuf:"bytes,21,rep,name=gateBoxs,proto3" json:"gateBoxs,omitempty"` // 站台开门/关门/发车按钮整合控制箱
|
||||
Transponders []*Transponder `protobuf:"bytes,22,rep,name=transponders,proto3" json:"transponders,omitempty"` // 应答器
|
||||
Slopes []*Slope `protobuf:"bytes,23,rep,name=slopes,proto3" json:"slopes,omitempty"` // 坡度
|
||||
@ -5481,11 +5481,11 @@ type LianSuoData struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Stations []*LianSuoIndexData `protobuf:"bytes,1,rep,name=stations,proto3" json:"stations,omitempty"`
|
||||
Switchs []*LianSuoIndexData `protobuf:"bytes,2,rep,name=switchs,proto3" json:"switchs,omitempty"`
|
||||
ScreenDoors []*LianSuoIndexData `protobuf:"bytes,3,rep,name=screenDoors,proto3" json:"screenDoors,omitempty"`
|
||||
Signals []*LianSuoIndexData `protobuf:"bytes,4,rep,name=signals,proto3" json:"signals,omitempty"`
|
||||
Sections []*LianSuoIndexData `protobuf:"bytes,5,rep,name=sections,proto3" json:"sections,omitempty"`
|
||||
Stations []*LianSuoIndexData `protobuf:"bytes,1,rep,name=stations,proto3" json:"stations,omitempty"`
|
||||
Switchs []*LianSuoIndexData `protobuf:"bytes,2,rep,name=switchs,proto3" json:"switchs,omitempty"`
|
||||
ScreenDoors []*LianSuoIndexData `protobuf:"bytes,3,rep,name=screenDoors,proto3" json:"screenDoors,omitempty"`
|
||||
Signals []*LianSuoIndexData `protobuf:"bytes,4,rep,name=signals,proto3" json:"signals,omitempty"`
|
||||
// repeated LianSuoIndexData sections = 5;
|
||||
FloodGates []*LianSuoIndexData `protobuf:"bytes,6,rep,name=floodGates,proto3" json:"floodGates,omitempty"`
|
||||
SpksSwitchs []*LianSuoIndexData `protobuf:"bytes,7,rep,name=spksSwitchs,proto3" json:"spksSwitchs,omitempty"`
|
||||
GarageDoors []*LianSuoIndexData `protobuf:"bytes,8,rep,name=garageDoors,proto3" json:"garageDoors,omitempty"`
|
||||
@ -5493,6 +5493,7 @@ type LianSuoData struct {
|
||||
EsbButtons []*LianSuoIndexData `protobuf:"bytes,10,rep,name=esbButtons,proto3" json:"esbButtons,omitempty"`
|
||||
HoldButtons []*LianSuoIndexData `protobuf:"bytes,11,rep,name=holdButtons,proto3" json:"holdButtons,omitempty"`
|
||||
UnattengedButtons []*LianSuoIndexData `protobuf:"bytes,12,rep,name=unattengedButtons,proto3" json:"unattengedButtons,omitempty"`
|
||||
AcSections []*LianSuoIndexData `protobuf:"bytes,13,rep,name=acSections,proto3" json:"acSections,omitempty"` //计轴区段
|
||||
}
|
||||
|
||||
func (x *LianSuoData) Reset() {
|
||||
@ -5555,13 +5556,6 @@ func (x *LianSuoData) GetSignals() []*LianSuoIndexData {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *LianSuoData) GetSections() []*LianSuoIndexData {
|
||||
if x != nil {
|
||||
return x.Sections
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *LianSuoData) GetFloodGates() []*LianSuoIndexData {
|
||||
if x != nil {
|
||||
return x.FloodGates
|
||||
@ -5611,6 +5605,13 @@ func (x *LianSuoData) GetUnattengedButtons() []*LianSuoIndexData {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *LianSuoData) GetAcSections() []*LianSuoIndexData {
|
||||
if x != nil {
|
||||
return x.AcSections
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// 无人折返按钮
|
||||
type UnattengedButton struct {
|
||||
state protoimpl.MessageState
|
||||
@ -6690,7 +6691,7 @@ var file_stationLayoutGraphics_proto_rawDesc = []byte{
|
||||
0x4c, 0x69, 0x61, 0x6e, 0x53, 0x75, 0x6f, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x44, 0x61, 0x74, 0x61,
|
||||
0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64,
|
||||
0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52,
|
||||
0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x83, 0x06, 0x0a, 0x0b, 0x4c, 0x69, 0x61, 0x6e, 0x53,
|
||||
0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x87, 0x06, 0x0a, 0x0b, 0x4c, 0x69, 0x61, 0x6e, 0x53,
|
||||
0x75, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x12, 0x39, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f,
|
||||
0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68,
|
||||
0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x4c, 0x69, 0x61, 0x6e, 0x53, 0x75, 0x6f, 0x49, 0x6e,
|
||||
@ -6706,48 +6707,40 @@ var file_stationLayoutGraphics_proto_rawDesc = []byte{
|
||||
0x69, 0x67, 0x6e, 0x61, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67,
|
||||
0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x4c, 0x69, 0x61, 0x6e, 0x53,
|
||||
0x75, 0x6f, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x44, 0x61, 0x74, 0x61, 0x52, 0x07, 0x73, 0x69, 0x67,
|
||||
0x6e, 0x61, 0x6c, 0x73, 0x12, 0x39, 0x0a, 0x08, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73,
|
||||
0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63,
|
||||
0x44, 0x61, 0x74, 0x61, 0x2e, 0x4c, 0x69, 0x61, 0x6e, 0x53, 0x75, 0x6f, 0x49, 0x6e, 0x64, 0x65,
|
||||
0x78, 0x44, 0x61, 0x74, 0x61, 0x52, 0x08, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12,
|
||||
0x3d, 0x0a, 0x0a, 0x66, 0x6c, 0x6f, 0x6f, 0x64, 0x47, 0x61, 0x74, 0x65, 0x73, 0x18, 0x06, 0x20,
|
||||
0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74,
|
||||
0x61, 0x2e, 0x4c, 0x69, 0x61, 0x6e, 0x53, 0x75, 0x6f, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x44, 0x61,
|
||||
0x74, 0x61, 0x52, 0x0a, 0x66, 0x6c, 0x6f, 0x6f, 0x64, 0x47, 0x61, 0x74, 0x65, 0x73, 0x12, 0x3f,
|
||||
0x0a, 0x0b, 0x73, 0x70, 0x6b, 0x73, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x73, 0x18, 0x07, 0x20,
|
||||
0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74,
|
||||
0x61, 0x2e, 0x4c, 0x69, 0x61, 0x6e, 0x53, 0x75, 0x6f, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x44, 0x61,
|
||||
0x74, 0x61, 0x52, 0x0b, 0x73, 0x70, 0x6b, 0x73, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x73, 0x12,
|
||||
0x3f, 0x0a, 0x0b, 0x67, 0x61, 0x72, 0x61, 0x67, 0x65, 0x44, 0x6f, 0x6f, 0x72, 0x73, 0x18, 0x08,
|
||||
0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61,
|
||||
0x74, 0x61, 0x2e, 0x4c, 0x69, 0x61, 0x6e, 0x53, 0x75, 0x6f, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x44,
|
||||
0x61, 0x74, 0x61, 0x52, 0x0b, 0x67, 0x61, 0x72, 0x61, 0x67, 0x65, 0x44, 0x6f, 0x6f, 0x72, 0x73,
|
||||
0x12, 0x3d, 0x0a, 0x0a, 0x63, 0x61, 0x72, 0x57, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x18, 0x09,
|
||||
0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61,
|
||||
0x74, 0x61, 0x2e, 0x4c, 0x69, 0x61, 0x6e, 0x53, 0x75, 0x6f, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x44,
|
||||
0x61, 0x74, 0x61, 0x52, 0x0a, 0x63, 0x61, 0x72, 0x57, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x12,
|
||||
0x3d, 0x0a, 0x0a, 0x65, 0x73, 0x62, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x73, 0x18, 0x0a, 0x20,
|
||||
0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74,
|
||||
0x61, 0x2e, 0x4c, 0x69, 0x61, 0x6e, 0x53, 0x75, 0x6f, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x44, 0x61,
|
||||
0x74, 0x61, 0x52, 0x0a, 0x65, 0x73, 0x62, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x73, 0x12, 0x3f,
|
||||
0x0a, 0x0b, 0x68, 0x6f, 0x6c, 0x64, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x73, 0x18, 0x0b, 0x20,
|
||||
0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74,
|
||||
0x61, 0x2e, 0x4c, 0x69, 0x61, 0x6e, 0x53, 0x75, 0x6f, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x44, 0x61,
|
||||
0x74, 0x61, 0x52, 0x0b, 0x68, 0x6f, 0x6c, 0x64, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x73, 0x12,
|
||||
0x4b, 0x0a, 0x11, 0x75, 0x6e, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x67, 0x65, 0x64, 0x42, 0x75, 0x74,
|
||||
0x74, 0x6f, 0x6e, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x72, 0x61,
|
||||
0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x4c, 0x69, 0x61, 0x6e, 0x53, 0x75, 0x6f,
|
||||
0x49, 0x6e, 0x64, 0x65, 0x78, 0x44, 0x61, 0x74, 0x61, 0x52, 0x11, 0x75, 0x6e, 0x61, 0x74, 0x74,
|
||||
0x65, 0x6e, 0x67, 0x65, 0x64, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x73, 0x22, 0x87, 0x01, 0x0a,
|
||||
0x10, 0x55, 0x6e, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x67, 0x65, 0x64, 0x42, 0x75, 0x74, 0x74, 0x6f,
|
||||
0x6e, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||
0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e,
|
||||
0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d,
|
||||
0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x6c, 0x69, 0x70, 0x18, 0x03,
|
||||
0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x66, 0x6c, 0x69, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65,
|
||||
0x66, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x65,
|
||||
0x66, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x22, 0x81, 0x01, 0x0a, 0x0a, 0x48, 0x6f, 0x6c, 0x64, 0x42,
|
||||
0x6e, 0x61, 0x6c, 0x73, 0x12, 0x3d, 0x0a, 0x0a, 0x66, 0x6c, 0x6f, 0x6f, 0x64, 0x47, 0x61, 0x74,
|
||||
0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68,
|
||||
0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x4c, 0x69, 0x61, 0x6e, 0x53, 0x75, 0x6f, 0x49, 0x6e,
|
||||
0x64, 0x65, 0x78, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0a, 0x66, 0x6c, 0x6f, 0x6f, 0x64, 0x47, 0x61,
|
||||
0x74, 0x65, 0x73, 0x12, 0x3f, 0x0a, 0x0b, 0x73, 0x70, 0x6b, 0x73, 0x53, 0x77, 0x69, 0x74, 0x63,
|
||||
0x68, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68,
|
||||
0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x4c, 0x69, 0x61, 0x6e, 0x53, 0x75, 0x6f, 0x49, 0x6e,
|
||||
0x64, 0x65, 0x78, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0b, 0x73, 0x70, 0x6b, 0x73, 0x53, 0x77, 0x69,
|
||||
0x74, 0x63, 0x68, 0x73, 0x12, 0x3f, 0x0a, 0x0b, 0x67, 0x61, 0x72, 0x61, 0x67, 0x65, 0x44, 0x6f,
|
||||
0x6f, 0x72, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x72, 0x61, 0x70,
|
||||
0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x4c, 0x69, 0x61, 0x6e, 0x53, 0x75, 0x6f, 0x49,
|
||||
0x6e, 0x64, 0x65, 0x78, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0b, 0x67, 0x61, 0x72, 0x61, 0x67, 0x65,
|
||||
0x44, 0x6f, 0x6f, 0x72, 0x73, 0x12, 0x3d, 0x0a, 0x0a, 0x63, 0x61, 0x72, 0x57, 0x61, 0x73, 0x68,
|
||||
0x69, 0x6e, 0x67, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x72, 0x61, 0x70,
|
||||
0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x4c, 0x69, 0x61, 0x6e, 0x53, 0x75, 0x6f, 0x49,
|
||||
0x6e, 0x64, 0x65, 0x78, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0a, 0x63, 0x61, 0x72, 0x57, 0x61, 0x73,
|
||||
0x68, 0x69, 0x6e, 0x67, 0x12, 0x3d, 0x0a, 0x0a, 0x65, 0x73, 0x62, 0x42, 0x75, 0x74, 0x74, 0x6f,
|
||||
0x6e, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68,
|
||||
0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x4c, 0x69, 0x61, 0x6e, 0x53, 0x75, 0x6f, 0x49, 0x6e,
|
||||
0x64, 0x65, 0x78, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0a, 0x65, 0x73, 0x62, 0x42, 0x75, 0x74, 0x74,
|
||||
0x6f, 0x6e, 0x73, 0x12, 0x3f, 0x0a, 0x0b, 0x68, 0x6f, 0x6c, 0x64, 0x42, 0x75, 0x74, 0x74, 0x6f,
|
||||
0x6e, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68,
|
||||
0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x4c, 0x69, 0x61, 0x6e, 0x53, 0x75, 0x6f, 0x49, 0x6e,
|
||||
0x64, 0x65, 0x78, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0b, 0x68, 0x6f, 0x6c, 0x64, 0x42, 0x75, 0x74,
|
||||
0x74, 0x6f, 0x6e, 0x73, 0x12, 0x4b, 0x0a, 0x11, 0x75, 0x6e, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x67,
|
||||
0x65, 0x64, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32,
|
||||
0x1d, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x4c, 0x69,
|
||||
0x61, 0x6e, 0x53, 0x75, 0x6f, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x44, 0x61, 0x74, 0x61, 0x52, 0x11,
|
||||
0x75, 0x6e, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x67, 0x65, 0x64, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e,
|
||||
0x73, 0x12, 0x3d, 0x0a, 0x0a, 0x61, 0x63, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18,
|
||||
0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44,
|
||||
0x61, 0x74, 0x61, 0x2e, 0x4c, 0x69, 0x61, 0x6e, 0x53, 0x75, 0x6f, 0x49, 0x6e, 0x64, 0x65, 0x78,
|
||||
0x44, 0x61, 0x74, 0x61, 0x52, 0x0a, 0x61, 0x63, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73,
|
||||
0x22, 0x87, 0x01, 0x0a, 0x10, 0x55, 0x6e, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x67, 0x65, 0x64, 0x42,
|
||||
0x75, 0x74, 0x74, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18,
|
||||
0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44,
|
||||
0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06,
|
||||
@ -6755,16 +6748,24 @@ var file_stationLayoutGraphics_proto_rawDesc = []byte{
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x6c,
|
||||
0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x66, 0x6c, 0x69, 0x70, 0x12, 0x1a,
|
||||
0x0a, 0x08, 0x72, 0x65, 0x66, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d,
|
||||
0x52, 0x08, 0x72, 0x65, 0x66, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x2a, 0x1d, 0x0a, 0x09, 0x44, 0x69,
|
||||
0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x06, 0x0a, 0x02, 0x55, 0x50, 0x10, 0x00, 0x12,
|
||||
0x08, 0x0a, 0x04, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x01, 0x42, 0x69, 0x0a, 0x25, 0x63, 0x6c, 0x75,
|
||||
0x62, 0x2e, 0x6a, 0x6f, 0x79, 0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0x62, 0x6a, 0x72, 0x74, 0x73, 0x73,
|
||||
0x2e, 0x61, 0x74, 0x73, 0x2e, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x73, 0x42, 0x13, 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x47, 0x72, 0x61, 0x70, 0x68, 0x69,
|
||||
0x63, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x5a, 0x2b, 0x6a, 0x6f, 0x79, 0x6c, 0x69, 0x6e, 0x6b,
|
||||
0x2e, 0x63, 0x6c, 0x75, 0x62, 0x2f, 0x62, 0x6a, 0x2d, 0x72, 0x74, 0x73, 0x74, 0x73, 0x2d, 0x73,
|
||||
0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x64, 0x74, 0x6f, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x70,
|
||||
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
0x52, 0x08, 0x72, 0x65, 0x66, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x22, 0x81, 0x01, 0x0a, 0x0a, 0x48,
|
||||
0x6f, 0x6c, 0x64, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6d,
|
||||
0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70,
|
||||
0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e,
|
||||
0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f,
|
||||
0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x12,
|
||||
0x0a, 0x04, 0x66, 0x6c, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x66, 0x6c,
|
||||
0x69, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x66, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x18, 0x04,
|
||||
0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x65, 0x66, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x2a, 0x1d,
|
||||
0x0a, 0x09, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x06, 0x0a, 0x02, 0x55,
|
||||
0x50, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x01, 0x42, 0x69, 0x0a,
|
||||
0x25, 0x63, 0x6c, 0x75, 0x62, 0x2e, 0x6a, 0x6f, 0x79, 0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0x62, 0x6a,
|
||||
0x72, 0x74, 0x73, 0x73, 0x2e, 0x61, 0x74, 0x73, 0x2e, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x2e,
|
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x42, 0x13, 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x47, 0x72,
|
||||
0x61, 0x70, 0x68, 0x69, 0x63, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x5a, 0x2b, 0x6a, 0x6f, 0x79,
|
||||
0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0x63, 0x6c, 0x75, 0x62, 0x2f, 0x62, 0x6a, 0x2d, 0x72, 0x74, 0x73,
|
||||
0x74, 0x73, 0x2d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x64, 0x74, 0x6f, 0x2f, 0x64, 0x61,
|
||||
0x74, 0x61, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
@ -7013,14 +7014,14 @@ var file_stationLayoutGraphics_proto_depIdxs = []int32{
|
||||
71, // 150: graphicData.LianSuoData.switchs:type_name -> graphicData.LianSuoIndexData
|
||||
71, // 151: graphicData.LianSuoData.screenDoors:type_name -> graphicData.LianSuoIndexData
|
||||
71, // 152: graphicData.LianSuoData.signals:type_name -> graphicData.LianSuoIndexData
|
||||
71, // 153: graphicData.LianSuoData.sections:type_name -> graphicData.LianSuoIndexData
|
||||
71, // 154: graphicData.LianSuoData.floodGates:type_name -> graphicData.LianSuoIndexData
|
||||
71, // 155: graphicData.LianSuoData.spksSwitchs:type_name -> graphicData.LianSuoIndexData
|
||||
71, // 156: graphicData.LianSuoData.garageDoors:type_name -> graphicData.LianSuoIndexData
|
||||
71, // 157: graphicData.LianSuoData.carWashing:type_name -> graphicData.LianSuoIndexData
|
||||
71, // 158: graphicData.LianSuoData.esbButtons:type_name -> graphicData.LianSuoIndexData
|
||||
71, // 159: graphicData.LianSuoData.holdButtons:type_name -> graphicData.LianSuoIndexData
|
||||
71, // 160: graphicData.LianSuoData.unattengedButtons:type_name -> graphicData.LianSuoIndexData
|
||||
71, // 153: graphicData.LianSuoData.floodGates:type_name -> graphicData.LianSuoIndexData
|
||||
71, // 154: graphicData.LianSuoData.spksSwitchs:type_name -> graphicData.LianSuoIndexData
|
||||
71, // 155: graphicData.LianSuoData.garageDoors:type_name -> graphicData.LianSuoIndexData
|
||||
71, // 156: graphicData.LianSuoData.carWashing:type_name -> graphicData.LianSuoIndexData
|
||||
71, // 157: graphicData.LianSuoData.esbButtons:type_name -> graphicData.LianSuoIndexData
|
||||
71, // 158: graphicData.LianSuoData.holdButtons:type_name -> graphicData.LianSuoIndexData
|
||||
71, // 159: graphicData.LianSuoData.unattengedButtons:type_name -> graphicData.LianSuoIndexData
|
||||
71, // 160: graphicData.LianSuoData.acSections:type_name -> graphicData.LianSuoIndexData
|
||||
23, // 161: graphicData.UnattengedButton.common:type_name -> graphicData.CommonInfo
|
||||
23, // 162: graphicData.HoldButton.common:type_name -> graphicData.CommonInfo
|
||||
163, // [163:163] is the sub-list for method output_type
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -43,7 +43,7 @@ func NewSfpMs(vs *memory.VerifySimulation, mapId int32) ms_api.MsgTask {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
sectionStates, err := collectSectionStates(vs.World, mapId)
|
||||
sectionStates, err := collectPhysicalSectionStates(vs.World, mapId)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -71,6 +71,10 @@ func NewSfpMs(vs *memory.VerifySimulation, mapId int32) ms_api.MsgTask {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
axleCountingSectionStates, err := collectAxleCountingSectionStates(vs.World, mapId)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
ststes := &state_proto.PushedDevicesStatus{
|
||||
All: true,
|
||||
AllStatus: &state_proto.AllDevicesStatus{
|
||||
@ -78,13 +82,14 @@ func NewSfpMs(vs *memory.VerifySimulation, mapId int32) ms_api.MsgTask {
|
||||
SwitchState: turnoutStates,
|
||||
SignalState: signalStates,
|
||||
//ButtonState: buttonStates,
|
||||
PsdState: psdStates,
|
||||
SectionState: sectionStates,
|
||||
PlatformState: platformStates,
|
||||
BaliseState: baliseStates,
|
||||
CkmStates: ckmStates,
|
||||
FymStates: fymStates,
|
||||
XcjStates: xcjStates,
|
||||
PsdState: psdStates,
|
||||
SectionState: sectionStates,
|
||||
PlatformState: platformStates,
|
||||
BaliseState: baliseStates,
|
||||
CkmStates: ckmStates,
|
||||
FymStates: fymStates,
|
||||
XcjStates: xcjStates,
|
||||
AxleCountingSection: axleCountingSectionStates,
|
||||
},
|
||||
}
|
||||
err = mqtt.GetMsgClient().PubSfpState(vs.SimulationId, mapId, ststes)
|
||||
@ -95,6 +100,23 @@ func NewSfpMs(vs *memory.VerifySimulation, mapId int32) ms_api.MsgTask {
|
||||
}, 1000*time.Millisecond)
|
||||
}
|
||||
|
||||
func collectAxleCountingSectionStates(world ecs.World, mapId int32) ([]*state_proto.AxleCountingSectionState, error) {
|
||||
uidMap := memory.QueryMapUidMapByType(mapId, &data_proto.AxleCountingSection{})
|
||||
var stateArr []*state_proto.AxleCountingSectionState
|
||||
wd := entity.GetWorldData(world)
|
||||
for _, u := range uidMap {
|
||||
entry := wd.EntityMap[u.Uid]
|
||||
if entry == nil {
|
||||
continue
|
||||
}
|
||||
stateArr = append(stateArr, &state_proto.AxleCountingSectionState{
|
||||
Id: u.CommonId,
|
||||
Occupied: component.AxleCountingSectionStateType.Get(entry).Occupied,
|
||||
})
|
||||
}
|
||||
return stateArr, nil
|
||||
}
|
||||
|
||||
func collectXcjStates(world ecs.World, mapId int32) ([]*state_proto.XcjState, error) {
|
||||
uidStructure := memory.QueryUidStructure[*memory.StationUidStructure](mapId)
|
||||
var xcjStates []*state_proto.XcjState
|
||||
@ -255,7 +277,7 @@ func collectPsdStates(world ecs.World, mapId int32) ([]*state_proto.PsdState, er
|
||||
}
|
||||
|
||||
// 收集区段状态
|
||||
func collectSectionStates(world ecs.World, mapId int32) ([]*state_proto.SectionState, error) {
|
||||
func collectPhysicalSectionStates(world ecs.World, mapId int32) ([]*state_proto.SectionState, error) {
|
||||
uidMap := memory.QueryMapUidMapByType(mapId, &data_proto.Section{})
|
||||
var sectionArr []*state_proto.SectionState
|
||||
for _, u := range uidMap {
|
||||
@ -275,16 +297,16 @@ func handlerSectionState(w ecs.World, uid string) *state_proto.SectionState {
|
||||
//fmt.Printf("id=%s的信号机不存在", uid)
|
||||
return nil
|
||||
}
|
||||
if entry.HasComponent(component.AxleManagerType) { //计轴区段
|
||||
axleManager := component.AxleManagerType.Get(entry)
|
||||
if entry.HasComponent(component.PhysicalSectionManagerType) { //计轴区段
|
||||
axleManager := component.PhysicalSectionManagerType.Get(entry)
|
||||
sectionState := &state_proto.SectionState{
|
||||
Occupied: axleManager.Occupied,
|
||||
AxleFault: entry.HasComponent(component.AxleSectionForceOccupied),
|
||||
AxleFault: entry.HasComponent(component.PhysicalSectionForceOccupied),
|
||||
AxleDrst: false,
|
||||
AxlePdrst: axleManager.PDRST,
|
||||
}
|
||||
sectionState.Occupied = axleManager.Occupied
|
||||
sectionState.AxleFault = entry.HasComponent(component.AxleSectionForceOccupied)
|
||||
sectionState.AxleFault = entry.HasComponent(component.PhysicalSectionForceOccupied)
|
||||
return sectionState
|
||||
} else if entry.HasComponent(component.TrackCircuitType) { //轨道电路
|
||||
sectionState := &state_proto.SectionState{
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit 51702238da69fcf28d7c07ddccfc6e240222456e
|
||||
Subproject commit 73e7f83cfae775d13e60b6882231b69adab58b5c
|
@ -1 +1 @@
|
||||
Subproject commit 4a126b57ac6bb950d764851a27a5ddf4caad0b2a
|
||||
Subproject commit 74bea4e9955524f7254876c90af08d963f666585
|
2
third_party/axle_device/beijing12/service.go
vendored
2
third_party/axle_device/beijing12/service.go
vendored
@ -269,7 +269,7 @@ func (s *serviceContext) collect() *msg.RsdMsgBuilder {
|
||||
if entry == nil {
|
||||
logger().Error(fmt.Sprintf("没有id[%s]的区段实体", cfg.SectionId))
|
||||
}
|
||||
am := component.AxleManagerType.Get(entry)
|
||||
am := component.PhysicalSectionManagerType.Get(entry)
|
||||
stateInfo := &msg.StateInfo{
|
||||
CLR: !am.Occupied,
|
||||
OCC: am.Occupied,
|
||||
|
40
third_party/interlock/beijing11/service.go
vendored
40
third_party/interlock/beijing11/service.go
vendored
@ -205,25 +205,25 @@ func makeTable(sim *memory.VerifySimulation, stationCode string) *StationDeviceI
|
||||
}
|
||||
}
|
||||
}
|
||||
//计轴区段
|
||||
for _, data := range stationGi.LianSuoData.Sections {
|
||||
if data.Index <= 0 {
|
||||
continue
|
||||
}
|
||||
if data.Index == 0 { //这是其它线的区段
|
||||
continue
|
||||
}
|
||||
for _, station := range uids.PhysicalSectionIds[data.Id].CentralizedStations {
|
||||
if station.StationName == stationCode {
|
||||
table.AxleSectionMap[uint16(data.Id)] = &Row{
|
||||
commonId: data.Id,
|
||||
uid: uids.PhysicalSectionIds[data.Id].Uid,
|
||||
index: uint16(data.Index),
|
||||
relateDeviceMap: nil,
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
////计轴区段
|
||||
//for _, data := range stationGi.LianSuoData.AcSections {
|
||||
// if data.Index <= 0 {
|
||||
// continue
|
||||
// }
|
||||
// if data.Index == 0 { //这是其它线的区段
|
||||
// continue
|
||||
// }
|
||||
// for _, station := range uids.AxleCountingSectionIds[data.Id].CentralizedStations {
|
||||
// if station.StationName == stationCode {
|
||||
// table.AxleSectionMap[uint16(data.Id)] = &Row{
|
||||
// commonId: data.Id,
|
||||
// uid: uids.PhysicalSectionIds[data.Id].Uid,
|
||||
// index: uint16(data.Index),
|
||||
// relateDeviceMap: nil,
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
//无人折返,实际数据中数量为0
|
||||
//防淹门,实际数据中数量为0
|
||||
//人员防护
|
||||
@ -360,7 +360,7 @@ func (s *serviceContext) collectDeviceState() *ToInterlockFrame {
|
||||
//计轴区段
|
||||
for _, row := range s.deviceTable.AxleSectionMap {
|
||||
entry := wd.EntityMap[row.uid]
|
||||
axleManager := component.AxleManagerType.Get(entry)
|
||||
axleManager := component.PhysicalSectionManagerType.Get(entry)
|
||||
frame.AxleSectionStates = append(frame.AxleSectionStates, &AxleSectionState{
|
||||
Id: row.index,
|
||||
State: GetStateByte(axleManager.Occupied),
|
||||
|
@ -40,22 +40,23 @@ type TccUidStructure struct {
|
||||
|
||||
// 数组为Index为 common.ButtonCode, index, uid
|
||||
type StationUidStructure struct {
|
||||
AxlePointIds map[uint32]*DeviceRelationship
|
||||
TurnoutIds map[uint32]*DeviceRelationship
|
||||
PhysicalSectionIds map[uint32]*DeviceRelationship
|
||||
SignalIds map[uint32]*DeviceRelationship
|
||||
TransponderIds map[uint32]*DeviceRelationship
|
||||
SlopeIds map[uint32]*DeviceRelationship
|
||||
CurvatureIds map[uint32]*DeviceRelationship
|
||||
EsbIds map[uint32]*DeviceRelationship
|
||||
StationIds map[uint32]*DeviceRelationship
|
||||
PlatformIds map[uint32]*DeviceRelationship
|
||||
PsdIds map[uint32]*DeviceRelationship
|
||||
PslIds map[uint32]*DeviceRelationship
|
||||
SpksIds map[uint32]*DeviceRelationship
|
||||
IbpIds map[uint32]*DeviceRelationship
|
||||
CkmIds map[uint32]*DeviceRelationship
|
||||
XcjIds map[uint32]*DeviceRelationship
|
||||
AxlePointIds map[uint32]*DeviceRelationship
|
||||
TurnoutIds map[uint32]*DeviceRelationship
|
||||
PhysicalSectionIds map[uint32]*DeviceRelationship
|
||||
AxleCountingSectionIds map[uint32]*DeviceRelationship
|
||||
SignalIds map[uint32]*DeviceRelationship
|
||||
TransponderIds map[uint32]*DeviceRelationship
|
||||
SlopeIds map[uint32]*DeviceRelationship
|
||||
CurvatureIds map[uint32]*DeviceRelationship
|
||||
EsbIds map[uint32]*DeviceRelationship
|
||||
StationIds map[uint32]*DeviceRelationship
|
||||
PlatformIds map[uint32]*DeviceRelationship
|
||||
PsdIds map[uint32]*DeviceRelationship
|
||||
PslIds map[uint32]*DeviceRelationship
|
||||
SpksIds map[uint32]*DeviceRelationship
|
||||
IbpIds map[uint32]*DeviceRelationship
|
||||
CkmIds map[uint32]*DeviceRelationship
|
||||
XcjIds map[uint32]*DeviceRelationship
|
||||
}
|
||||
|
||||
type RelayUidStructure struct {
|
||||
@ -252,22 +253,23 @@ func filterOtherLineDevice(data *data_proto.RtssGraphicStorage) {
|
||||
// 初始化平面布置图 UID
|
||||
func initStationUid(data *data_proto.RtssGraphicStorage) *StationUidStructure {
|
||||
gus := &StationUidStructure{
|
||||
AxlePointIds: make(map[uint32]*DeviceRelationship, len(data.AxleCountings)),
|
||||
TurnoutIds: make(map[uint32]*DeviceRelationship, len(data.Turnouts)),
|
||||
PhysicalSectionIds: make(map[uint32]*DeviceRelationship, len(data.Section)),
|
||||
SignalIds: make(map[uint32]*DeviceRelationship, len(data.Signals)),
|
||||
TransponderIds: make(map[uint32]*DeviceRelationship, len(data.Transponders)),
|
||||
SlopeIds: make(map[uint32]*DeviceRelationship, len(data.Slopes)),
|
||||
CurvatureIds: make(map[uint32]*DeviceRelationship, len(data.Curvatures)),
|
||||
EsbIds: make(map[uint32]*DeviceRelationship, len(data.EsbButtons)),
|
||||
StationIds: make(map[uint32]*DeviceRelationship, len(data.Stations)),
|
||||
PlatformIds: make(map[uint32]*DeviceRelationship, len(data.Platforms)),
|
||||
PsdIds: make(map[uint32]*DeviceRelationship, len(data.ScreenDoors)),
|
||||
PslIds: make(map[uint32]*DeviceRelationship, len(data.GateBoxs)),
|
||||
SpksIds: make(map[uint32]*DeviceRelationship, len(data.SpksSwitchs)),
|
||||
IbpIds: make(map[uint32]*DeviceRelationship, len(data.IbpBoxs)),
|
||||
CkmIds: make(map[uint32]*DeviceRelationship, len(data.GarageDoors)),
|
||||
XcjIds: make(map[uint32]*DeviceRelationship, len(data.CarWashings)),
|
||||
AxlePointIds: make(map[uint32]*DeviceRelationship, len(data.AxleCountings)),
|
||||
TurnoutIds: make(map[uint32]*DeviceRelationship, len(data.Turnouts)),
|
||||
PhysicalSectionIds: make(map[uint32]*DeviceRelationship, len(data.Section)),
|
||||
AxleCountingSectionIds: make(map[uint32]*DeviceRelationship, len(data.AxleCountingSections)),
|
||||
SignalIds: make(map[uint32]*DeviceRelationship, len(data.Signals)),
|
||||
TransponderIds: make(map[uint32]*DeviceRelationship, len(data.Transponders)),
|
||||
SlopeIds: make(map[uint32]*DeviceRelationship, len(data.Slopes)),
|
||||
CurvatureIds: make(map[uint32]*DeviceRelationship, len(data.Curvatures)),
|
||||
EsbIds: make(map[uint32]*DeviceRelationship, len(data.EsbButtons)),
|
||||
StationIds: make(map[uint32]*DeviceRelationship, len(data.Stations)),
|
||||
PlatformIds: make(map[uint32]*DeviceRelationship, len(data.Platforms)),
|
||||
PsdIds: make(map[uint32]*DeviceRelationship, len(data.ScreenDoors)),
|
||||
PslIds: make(map[uint32]*DeviceRelationship, len(data.GateBoxs)),
|
||||
SpksIds: make(map[uint32]*DeviceRelationship, len(data.SpksSwitchs)),
|
||||
IbpIds: make(map[uint32]*DeviceRelationship, len(data.IbpBoxs)),
|
||||
CkmIds: make(map[uint32]*DeviceRelationship, len(data.GarageDoors)),
|
||||
XcjIds: make(map[uint32]*DeviceRelationship, len(data.CarWashings)),
|
||||
}
|
||||
city, lineId, _ := getUIdPrefix(data.UniqueIdPrefix)
|
||||
// 处理车站信息
|
||||
@ -325,6 +327,15 @@ func initStationUid(data *data_proto.RtssGraphicStorage) *StationUidStructure {
|
||||
CentralizedStations: cenStations,
|
||||
}
|
||||
}
|
||||
// 初始化计轴区段信息
|
||||
for _, data := range data.AxleCountingSections {
|
||||
gus.AxleCountingSectionIds[data.Common.Id] = &DeviceRelationship{
|
||||
CommonId: data.Common.Id,
|
||||
Code: data.Code,
|
||||
Uid: BuildUid(city, lineId, "计轴区段", data.Code, strconv.Itoa(int(data.Common.Id))),
|
||||
CentralizedStations: nil,
|
||||
}
|
||||
}
|
||||
// 初始化信号机信息
|
||||
for _, s := range data.Signals {
|
||||
eid := GetMapElementId(s.Common)
|
||||
@ -675,6 +686,8 @@ func getUidMapByType(uidData any, m interface{}) map[uint32]*DeviceRelationship
|
||||
return (uidData.(*StationUidStructure)).TurnoutIds
|
||||
case *data_proto.Section:
|
||||
return (uidData.(*StationUidStructure)).PhysicalSectionIds
|
||||
case *data_proto.AxleCountingSection:
|
||||
return (uidData.(*StationUidStructure)).AxleCountingSectionIds
|
||||
case *data_proto.Signal:
|
||||
return (uidData.(*StationUidStructure)).SignalIds
|
||||
case *data_proto.Transponder:
|
||||
|
@ -1116,7 +1116,7 @@ func fillProtoRepository(repo *proto.Repository, storage *data_proto.RtssGraphic
|
||||
}
|
||||
repo.CheckPoints = append(repo.CheckPoints, cp)
|
||||
}
|
||||
//区段
|
||||
//物理区段
|
||||
for _, data := range storage.Section {
|
||||
var turnoutUids []string
|
||||
if data.SectionType == data_proto.Section_TurnoutPhysical {
|
||||
@ -1141,6 +1141,37 @@ func fillProtoRepository(repo *proto.Repository, storage *data_proto.RtssGraphic
|
||||
}
|
||||
repo.PhysicalSections = append(repo.PhysicalSections, physicalSection)
|
||||
}
|
||||
//计轴区段
|
||||
for _, data := range storage.AxleCountingSections {
|
||||
var axleCountingIds []string
|
||||
if data.PaRef != nil {
|
||||
axleCountingIds = append(axleCountingIds, uidsMap.AxlePointIds[data.PaRef.Id].Uid)
|
||||
}
|
||||
if data.PbRef != nil {
|
||||
axleCountingIds = append(axleCountingIds, uidsMap.AxlePointIds[data.PbRef.Id].Uid)
|
||||
}
|
||||
var turnoutAndPos []*proto.TurnoutAndPos
|
||||
for _, tp := range data.TurnoutPos {
|
||||
var pos proto.Turnout_Pos
|
||||
switch tp.Position {
|
||||
case 0:
|
||||
pos = proto.Turnout_Pos_N
|
||||
case 1:
|
||||
pos = proto.Turnout_Pos_R
|
||||
default:
|
||||
panic(fmt.Errorf("计轴区段[%s]未知的道岔位置:%d", uidsMap.AxleCountingSectionIds[data.Common.Id].Uid, tp.Position))
|
||||
}
|
||||
turnoutAndPos = append(turnoutAndPos, &proto.TurnoutAndPos{
|
||||
TurnoutId: uidsMap.TurnoutIds[tp.Id].Uid,
|
||||
Pos: pos,
|
||||
})
|
||||
}
|
||||
repo.AxleCountingSections = append(repo.AxleCountingSections, &proto.AxleCountingSection{
|
||||
Id: uidsMap.AxleCountingSectionIds[data.Common.Id].Uid,
|
||||
AxleCountingIds: axleCountingIds,
|
||||
TurnoutAndPos: turnoutAndPos,
|
||||
})
|
||||
}
|
||||
//道岔
|
||||
for _, data := range storage.Turnouts {
|
||||
var km *proto.Kilometer
|
||||
|
Loading…
Reference in New Issue
Block a user