change-params:获取完整预警明细中的缺失轨迹参数类型更改

This commit is contained in:
hardstylewyl 2025-03-26 15:08:31 +08:00
parent 0e88bd23fb
commit 5fa8822e06
3 changed files with 16 additions and 18 deletions

View File

@ -59,9 +59,9 @@ public class CompleteWarningDetailsDto
public string CustomName { get; set; }
/// <summary>
/// 缺失轨迹状态
/// 缺失轨迹状态 e.g [ {1:"状态1",2:"状态2"} , {3:"状态3",4:"状态4"} ]
/// </summary>
public List<TrackStatusDto> MissingTrackStatus { get; set; }
public List<Dictionary<string,string>> MissingTrackStatus { get; set; }
//视图属性 tips:从es即时拿取

View File

@ -1,3 +1,4 @@
using Nest;
using SJZY.Expand.ABP.Core.PublicMethords;
using SJZY.Track.Application.Contract.Dtos.Warning;
using SJZY.Track.Application.Contract.Dtos.Warning.Complete;
@ -180,7 +181,7 @@ public class CompleteWarningService : ApplicationService
Status = x.Status,
CustomId = x.CustomId,
CustomName = customDict.GetValueOrDefault(x.CustomId, GlobalConst.EmptyString),
MissingTrackStatus = BuildMissingTrackStatus(x.MissingTrackStatusIds),
MissingTrackStatus = BuildMissingTrackStatus(x),
LatestTrackStatus = orderIdTrack?.TrackStatus,
LatestTrackContent = orderIdTrack?.TrackContent,
LatestTrackPlace = orderIdTrack?.TrackPlace,
@ -213,22 +214,11 @@ public class CompleteWarningService : ApplicationService
}
// 构建缺失轨迹状态
List<TrackStatusDto> BuildMissingTrackStatus(string statusIds)
List<Dictionary<string, string>> BuildMissingTrackStatus(CompleteWarningDetailsIndex detail)
{
var trackStatus = statusIds.Split(',').Select(x =>
{
if (!int.TryParse(x, out var id)) return null;
var trackStatusName = trackStatusDict.GetValueOrDefault(id);
if (string.IsNullOrWhiteSpace(trackStatusName)) return null;
return new TrackStatusDto
{
TrackStatusId = id,
TrackStatus = trackStatusName
};
}).Where(x => x != null);
return trackStatus.ToList()!;
return detail.GetMissingTrackStatusIdGroups()
.Select(g => g.ToDictionary(id => id.ToString(), id => trackStatusDict.GetValueOrDefault(id, GlobalConst.EmptyString)))
.ToList();
}
// 格式化时区

View File

@ -42,4 +42,12 @@ public sealed class CompleteWarningDetailsIndex : IdBaseIndex
//审计属性
public DateTime CreateTime { get; set; } // 预警创建时间
public DateTime? ProcessedTime { get; set; } // 预警处理时间
public List<HashSet<int>> GetMissingTrackStatusIdGroups()
{
return MissingTrackStatusIds
.Split(",")
.Select(g => g.Split('/').Select(int.Parse).ToHashSet())
.ToList();
}
}