【IBP UID生成】

This commit is contained in:
weizhihong 2023-10-13 17:57:47 +08:00
parent a5906e355b
commit 1b7d2d882b
2 changed files with 352 additions and 6 deletions

View File

@ -176,13 +176,46 @@ func initStationUid(data *graphicData.RtssGraphicStorage) *stationUidStructure {
// 处理IBP盘信息
func initIBPUid(gus *stationUidStructure, city, lineId string, station *graphicData.Station, data *graphicData.IBPGraphicStorage) {
/*for _, d := range data.IbpButtons {
// 设备所属组合
refMap := make(map[string]string)
for _, r := range data.IbpRelatedDevices {
for _, c := range r.Combinationtypes {
for _, i := range c.RefDevices {
refMap[i] = c.Code
}
}
}
getCode := func(id, code string) string {
p := refMap[id]
if p == "" {
return code
}
return p + "_" + code
}
for _, d := range data.IbpButtons { // ibp按钮
gus.IBPIds[d.Common.Id] = &elementIdStructure{
CommonId: d.Common.Id,
Uid: GenerateElementUid(city, lineId, []string{station.Code}, getCode(d.Common.Id, d.Code)),
}
}
for _, d := range data.IbpKeys { // ibp钥匙
gus.IBPIds[d.Common.Id] = &elementIdStructure{
CommonId: d.Common.Id,
Uid: GenerateElementUid(city, lineId, []string{station.Code}, getCode(d.Common.Id, d.Code)),
}
}
for _, d := range data.IbpAlarms { // ibp报警器
gus.IBPIds[d.Common.Id] = &elementIdStructure{
CommonId: d.Common.Id,
Uid: GenerateElementUid(city, lineId, []string{station.Code}, getCode(d.Common.Id, d.Code)),
}
}
for _, d := range data.IbpLights { // ibp指示灯
gus.IBPIds[d.Common.Id] = &elementIdStructure{
CommonId: d.Common.Id,
Uid: GenerateElementUid(city, lineId, []string{station.Code}, getCode(d.Common.Id, d.Code)),
}
}
for _, d := range data.IbpAlarms {
}*/
}
// 初始化继电器柜 UID
@ -303,6 +336,11 @@ func getUidMapByType(uidData any, m interface{}) map[string]*elementIdStructure
return (uidData.(*relayUidStructure)).RelayCabinetIds
case *graphicData.Relay:
return (uidData.(*relayUidStructure)).RelayIds
case *graphicData.EsbButton:
return (uidData.(*stationUidStructure)).ButtonIds
// Ibp相关
case *graphicData.IBPButton, *graphicData.IbpAlarm, *graphicData.IbpKey, *graphicData.IbpLight:
return (uidData.(*stationUidStructure)).IBPIds
default:
panic(&dto.ErrorDto{Code: dto.ArgumentParseError, Message: "类型未映射字段"})
}

View File

@ -0,0 +1,308 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.28.1
// protoc v4.23.1
// source: request.proto
package request_proto
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// 道岔操作
type Turnout_Operation int32
const (
Turnout_Undefined Turnout_Operation = 0 // 未定义
Turnout_DC Turnout_Operation = 1 // 定操
Turnout_CancelDC Turnout_Operation = 2 // 取消定操
Turnout_FC Turnout_Operation = 3 // 反操
Turnout_CancelFC Turnout_Operation = 4 // 取消反操
Turnout_SetSB Turnout_Operation = 5 // 设置失表故障
Turnout_CancelSB Turnout_Operation = 6 // 取消失表故障
Turnout_SetJC Turnout_Operation = 7 // 设置挤岔故障
Turnout_CancelJC Turnout_Operation = 8 // 取消挤岔故障
)
// Enum value maps for Turnout_Operation.
var (
Turnout_Operation_name = map[int32]string{
0: "Undefined",
1: "DC",
2: "CancelDC",
3: "FC",
4: "CancelFC",
5: "SetSB",
6: "CancelSB",
7: "SetJC",
8: "CancelJC",
}
Turnout_Operation_value = map[string]int32{
"Undefined": 0,
"DC": 1,
"CancelDC": 2,
"FC": 3,
"CancelFC": 4,
"SetSB": 5,
"CancelSB": 6,
"SetJC": 7,
"CancelJC": 8,
}
)
func (x Turnout_Operation) Enum() *Turnout_Operation {
p := new(Turnout_Operation)
*p = x
return p
}
func (x Turnout_Operation) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (Turnout_Operation) Descriptor() protoreflect.EnumDescriptor {
return file_request_proto_enumTypes[0].Descriptor()
}
func (Turnout_Operation) Type() protoreflect.EnumType {
return &file_request_proto_enumTypes[0]
}
func (x Turnout_Operation) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use Turnout_Operation.Descriptor instead.
func (Turnout_Operation) EnumDescriptor() ([]byte, []int) {
return file_request_proto_rawDescGZIP(), []int{0, 0}
}
// 道岔
type Turnout struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *Turnout) Reset() {
*x = Turnout{}
if protoimpl.UnsafeEnabled {
mi := &file_request_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Turnout) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Turnout) ProtoMessage() {}
func (x *Turnout) ProtoReflect() protoreflect.Message {
mi := &file_request_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Turnout.ProtoReflect.Descriptor instead.
func (*Turnout) Descriptor() ([]byte, []int) {
return file_request_proto_rawDescGZIP(), []int{0}
}
// 道岔操作请求
type TurnoutOperationReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SimulationId string `protobuf:"bytes,1,opt,name=simulationId,proto3" json:"simulationId,omitempty"` // 仿真id
MapId int32 `protobuf:"varint,2,opt,name=mapId,proto3" json:"mapId,omitempty"` // 图id
DeviceId string `protobuf:"bytes,3,opt,name=deviceId,proto3" json:"deviceId,omitempty"` // 设备id
Operation Turnout_Operation `protobuf:"varint,4,opt,name=operation,proto3,enum=request.Turnout_Operation" json:"operation,omitempty"` // 道岔操作
}
func (x *TurnoutOperationReq) Reset() {
*x = TurnoutOperationReq{}
if protoimpl.UnsafeEnabled {
mi := &file_request_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TurnoutOperationReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TurnoutOperationReq) ProtoMessage() {}
func (x *TurnoutOperationReq) ProtoReflect() protoreflect.Message {
mi := &file_request_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TurnoutOperationReq.ProtoReflect.Descriptor instead.
func (*TurnoutOperationReq) Descriptor() ([]byte, []int) {
return file_request_proto_rawDescGZIP(), []int{1}
}
func (x *TurnoutOperationReq) GetSimulationId() string {
if x != nil {
return x.SimulationId
}
return ""
}
func (x *TurnoutOperationReq) GetMapId() int32 {
if x != nil {
return x.MapId
}
return 0
}
func (x *TurnoutOperationReq) GetDeviceId() string {
if x != nil {
return x.DeviceId
}
return ""
}
func (x *TurnoutOperationReq) GetOperation() Turnout_Operation {
if x != nil {
return x.Operation
}
return Turnout_Undefined
}
var File_request_proto protoreflect.FileDescriptor
var file_request_proto_rawDesc = []byte{
0x0a, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x83, 0x01, 0x0a, 0x07, 0x54, 0x75, 0x72,
0x6e, 0x6f, 0x75, 0x74, 0x22, 0x78, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x12, 0x0d, 0x0a, 0x09, 0x55, 0x6e, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x10, 0x00,
0x12, 0x06, 0x0a, 0x02, 0x44, 0x43, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x61, 0x6e, 0x63,
0x65, 0x6c, 0x44, 0x43, 0x10, 0x02, 0x12, 0x06, 0x0a, 0x02, 0x46, 0x43, 0x10, 0x03, 0x12, 0x0c,
0x0a, 0x08, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x46, 0x43, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05,
0x53, 0x65, 0x74, 0x53, 0x42, 0x10, 0x05, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x61, 0x6e, 0x63, 0x65,
0x6c, 0x53, 0x42, 0x10, 0x06, 0x12, 0x09, 0x0a, 0x05, 0x53, 0x65, 0x74, 0x4a, 0x43, 0x10, 0x07,
0x12, 0x0c, 0x0a, 0x08, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4a, 0x43, 0x10, 0x08, 0x22, 0xa5,
0x01, 0x0a, 0x13, 0x54, 0x75, 0x72, 0x6e, 0x6f, 0x75, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x69,
0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x61,
0x70, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6d, 0x61, 0x70, 0x49, 0x64,
0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01,
0x28, 0x09, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x09,
0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32,
0x1a, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x75, 0x72, 0x6e, 0x6f, 0x75,
0x74, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x6f, 0x70, 0x65,
0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x15, 0x5a, 0x13, 0x2e, 0x2f, 0x64, 0x74, 0x6f, 0x2f,
0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_request_proto_rawDescOnce sync.Once
file_request_proto_rawDescData = file_request_proto_rawDesc
)
func file_request_proto_rawDescGZIP() []byte {
file_request_proto_rawDescOnce.Do(func() {
file_request_proto_rawDescData = protoimpl.X.CompressGZIP(file_request_proto_rawDescData)
})
return file_request_proto_rawDescData
}
var file_request_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_request_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
var file_request_proto_goTypes = []interface{}{
(Turnout_Operation)(0), // 0: request.Turnout.Operation
(*Turnout)(nil), // 1: request.Turnout
(*TurnoutOperationReq)(nil), // 2: request.TurnoutOperationReq
}
var file_request_proto_depIdxs = []int32{
0, // 0: request.TurnoutOperationReq.operation:type_name -> request.Turnout.Operation
1, // [1:1] is the sub-list for method output_type
1, // [1:1] is the sub-list for method input_type
1, // [1:1] is the sub-list for extension type_name
1, // [1:1] is the sub-list for extension extendee
0, // [0:1] is the sub-list for field type_name
}
func init() { file_request_proto_init() }
func file_request_proto_init() {
if File_request_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_request_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Turnout); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_request_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TurnoutOperationReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_request_proto_rawDesc,
NumEnums: 1,
NumMessages: 2,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_request_proto_goTypes,
DependencyIndexes: file_request_proto_depIdxs,
EnumInfos: file_request_proto_enumTypes,
MessageInfos: file_request_proto_msgTypes,
}.Build()
File_request_proto = out.File
file_request_proto_rawDesc = nil
file_request_proto_goTypes = nil
file_request_proto_depIdxs = nil
}