Merge branch 'S07' into test

This commit is contained in:
hardstylewyl 2025-03-26 15:15:21 +08:00
commit e07beaf7ee
3 changed files with 24 additions and 17 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<RequireTrackStatusItem> 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,20 @@ public class CompleteWarningService : ApplicationService
}
// 构建缺失轨迹状态
List<TrackStatusDto> BuildMissingTrackStatus(string statusIds)
List<RequireTrackStatusItem> 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
// return detail.GetMissingTrackStatusIdGroups()
// .Select(g => g.ToDictionary(id => id.ToString(), id => trackStatusDict.GetValueOrDefault(id, GlobalConst.EmptyString)))
// .ToList();
return detail.GetMissingTrackStatusIdGroups()
.Select(g => new RequireTrackStatusItem
{
TrackStatusId = id,
TrackStatus = trackStatusName
};
}).Where(x => x != null);
return trackStatus.ToList()!;
Statuses = g.Select(id => new TrackStatusDto
{
TrackStatusId = id,
TrackStatus = trackStatusDict.GetValueOrDefault(id, GlobalConst.EmptyString)
}).ToList()
}).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();
}
}