This commit is contained in:
xzb 2023-12-01 15:38:54 +08:00
commit a499ec1ba9
13 changed files with 679 additions and 633 deletions

View File

@ -78,9 +78,12 @@ func createByProjectId(c *gin.Context) {
if len(mapInfos) == 0 {
panic(sys_error.New("测试启动失败,项目未关联发布图"))
}
mapIds := make([]int32, len(mapInfos))
for i, mapInfo := range mapInfos {
mapIds[i] = mapInfo.ID
var mapIds []int32
for _, mapInfo := range mapInfos {
if mapInfo.Type == graphicData.PictureType_value[graphicData.PictureType_TrainData.String()] {
continue
}
mapIds = append(mapIds, mapInfo.ID)
}
// 运行环境配置
runConfig := service.QueryRunConfig(req.ProjectRunConfigId)

View File

@ -4,12 +4,9 @@ import (
"flag"
"fmt"
"log/slog"
"net"
"os"
"strings"
"github.com/spf13/viper"
"joylink.club/bj-rtsts-server/dto"
)
const (
@ -148,23 +145,6 @@ func (c *RsspConfig) CheckAddress(srcAddr uint16, dstAddr uint16) bool {
var Config AppConfig
var SimulationId_prefix = (func() string {
ip := "127.0.0.1"
addrList, err := net.InterfaceAddrs()
if err != nil {
panic(dto.ErrorDto{Code: dto.DataOperationError, Message: err.Error()})
}
for _, address := range addrList {
if ipNet, ok := address.(*net.IPNet); ok && !ipNet.IP.IsLoopback() {
if ipNet.IP.To4() != nil {
ip = ipNet.IP.String()
}
}
}
ipArr := strings.Split(ip, ".")
return ipArr[2] + "_" + ipArr[3]
})()
// 获取配置文件名称,从运行flag参数config中获取若未提供使用默认'dev'
func getConfigName() string {
configName := ""

View File

@ -1,6 +1,6 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.31.0
// protoc-gen-go v1.28.1
// protoc v4.23.1
// source: request.proto

View File

@ -23,7 +23,7 @@ func PageQueryPublished(req *dto.PagePublishedReqDto) *dto.PageDto {
).
LeftJoin(pv, p.DataID.EqCol(pv.ID)).
LeftJoin(u, pv.UserID.EqCol(u.ID)).
Order(pv.PublishAt.Desc())
Order(p.Status.Desc(), pv.PublishAt.Desc())
if req.Name != "" {
where = where.Where(p.Code.Like(fmt.Sprintf("%%%s%%", req.Name)))
}

View File

@ -1,6 +1,6 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.31.0
// protoc-gen-go v1.28.1
// protoc v4.23.1
// source: ibpGraphics.proto

View File

@ -1,6 +1,6 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.31.0
// protoc-gen-go v1.28.1
// protoc v4.23.1
// source: picture.proto

View File

@ -1,6 +1,6 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.31.0
// protoc-gen-go v1.28.1
// protoc v4.23.1
// source: pslGraphics.proto

View File

@ -1,6 +1,6 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.31.0
// protoc-gen-go v1.28.1
// protoc v4.23.1
// source: relayCabinetLayoutGraphics.proto

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.31.0
// protoc-gen-go v1.28.1
// protoc v4.23.1
// source: device_state.proto

View File

@ -83,39 +83,109 @@ func initStationUid(data *graphicData.RtssGraphicStorage) *StationUidStructure {
SpksSwitchIds: make(map[string]*elementIdStructure, len(data.SpksSwitchs)),
}
city, lineId, _ := getUIdPrefix(data.UniqueIdPrefix)
// 处理车站信息
stationMap := make(map[string]*graphicData.Station)
for _, s := range data.Stations {
stationMap[s.Common.Id] = s
gus.StationIds[s.Common.Id] = &elementIdStructure{
CommonId: s.Common.Id,
Code: s.StationName,
Uid: GenerateElementUid(city, lineId, nil, s.StationName),
}
}
// 初始化计轴信息
for _, a := range data.AxleCountings {
stationNames := make([]string, len(a.CentralizedStations))
for i, id := range a.CentralizedStations {
if id == "" {
continue
}
if stationMap[id] == nil {
stationNames[i] = id
} else {
stationNames[i] = stationMap[id].StationName
}
}
gus.AxlePointIds[a.Common.Id] = &elementIdStructure{
CommonId: a.Common.Id,
Uid: GenerateElementUid(city, lineId, a.CentralizedStations, a.Code),
Code: a.Code,
Uid: GenerateElementUid(city, lineId, stationNames, a.Code),
}
}
// 初始化道岔信息
for _, t := range data.Turnouts {
stationNames := make([]string, len(t.CentralizedStations))
for i, id := range t.CentralizedStations {
if id == "" {
continue
}
if stationMap[id] == nil {
stationNames[i] = id
} else {
stationNames[i] = stationMap[id].StationName
}
}
gus.TurnoutIds[t.Common.Id] = &elementIdStructure{
CommonId: t.Common.Id,
Uid: GenerateElementUid(city, lineId, t.CentralizedStations, t.Code),
Code: t.Code,
Uid: GenerateElementUid(city, lineId, stationNames, t.Code),
}
}
// 初始化物理区段信息
for _, s := range data.Section {
stationNames := make([]string, len(s.CentralizedStations))
for i, id := range s.CentralizedStations {
if id == "" {
continue
}
if stationMap[id] == nil {
stationNames[i] = id
} else {
stationNames[i] = stationMap[id].StationName
}
}
gus.PhysicalSectionIds[s.Common.Id] = &elementIdStructure{
CommonId: s.Common.Id,
Uid: GenerateElementUid(city, lineId, s.CentralizedStations, s.Code),
Code: s.Code,
Uid: GenerateElementUid(city, lineId, stationNames, s.Code),
}
}
// 初始化信号机信息
for _, s := range data.Signals {
stationNames := make([]string, len(s.CentralizedStations))
for i, id := range s.CentralizedStations {
if id == "" {
continue
}
if stationMap[id] == nil {
stationNames[i] = id
} else {
stationNames[i] = stationMap[id].StationName
}
}
gus.SignalIds[s.Common.Id] = &elementIdStructure{
CommonId: s.Common.Id,
Uid: GenerateElementUid(city, lineId, s.CentralizedStations, s.Code),
Code: s.Code,
Uid: GenerateElementUid(city, lineId, stationNames, s.Code),
}
}
// 初始化应答器
for _, t := range data.Transponders {
stationNames := make([]string, len(t.CentralizedStations))
for i, id := range t.CentralizedStations {
if id == "" {
continue
}
if stationMap[id] == nil {
stationNames[i] = id
} else {
stationNames[i] = stationMap[id].StationName
}
}
gus.TransponderIds[t.Common.Id] = &elementIdStructure{
CommonId: t.Common.Id,
Uid: GenerateElementUid(city, lineId, t.CentralizedStations, t.Code),
Code: t.Code,
Uid: GenerateElementUid(city, lineId, stationNames, t.Code),
}
}
// 初始化坡度
@ -155,15 +225,7 @@ func initStationUid(data *graphicData.RtssGraphicStorage) *StationUidStructure {
Uid: GenerateElementUid(city, lineId, nil, code),
}
}
// 处理车站信息
stationMap := make(map[string]*graphicData.Station)
for _, s := range data.Stations {
stationMap[s.Common.Id] = s
gus.StationIds[s.Common.Id] = &elementIdStructure{
CommonId: s.Common.Id,
Uid: GenerateElementUid(city, lineId, nil, s.StationName),
}
}
// 站台
platformMap := make(map[string]*graphicData.Platform)
for _, platform := range data.Platforms {

View File

@ -974,8 +974,13 @@ func fillProtoRepository(repo *proto.Repository, storage *graphicData.RtssGraphi
}
centralizedStation := ""
if len(data.CentralizedStations) > 0 {
s := uidsMap.StationIds[data.CentralizedStations[0]]
if s != nil {
centralizedStation = s.Code
} else {
centralizedStation = data.CentralizedStations[0]
}
}
physicalSection := &proto.PhysicalSection{
Id: data.Common.Id,
ADevicePort: convertDevicePort(data.PaRef),
@ -1047,7 +1052,14 @@ func fillProtoRepository(repo *proto.Repository, storage *graphicData.RtssGraphi
Type: convertToProtoBaliseType(data.Type),
}
repo.Transponders = append(repo.Transponders, converTransponderUid(responder, uidsMap))
for _, stationName := range data.CentralizedStations {
for _, stationId := range data.CentralizedStations {
var stationName string
if uidsMap.StationIds[stationId] == nil {
stationName = stationId
} else {
stationName = uidsMap.StationIds[stationId].Code
}
if stm[stationName] == nil {
stm[stationName] = []string{responder.Id}
} else {

View File

@ -143,8 +143,6 @@ func stopThirdParty(s *memory.VerifySimulation) {
}
func createSimulationId(projectId int32) string {
// // 当前服务器IP + 端口 + 项目
// return config.SimulationId_prefix + "_" + strconv.Itoa(config.Config.Server.Port) + "_" + strconv.Itoa(int(projectId))
// MQTT客户端id+项目
return mqtt.GetClientId() + "_" + strconv.Itoa(int(projectId))
}