fix:修复运输时效预警明细累计运输时间计算时机
This commit is contained in:
parent
28381c6441
commit
40bc881d91
@ -112,7 +112,7 @@ public class TransportWarningHandler : ITransportWarningHandler, ITransientDepen
|
|||||||
orderDetails.ForEach(x =>
|
orderDetails.ForEach(x =>
|
||||||
{
|
{
|
||||||
x.Status = TransportWarningStatus.已关闭.GetHashCode();
|
x.Status = TransportWarningStatus.已关闭.GetHashCode();
|
||||||
x.CumulativeTimeSpan = (long)DateTime.Now.Subtract(x.StartTrackTime).TotalMilliseconds; //tips:完成态缓存累计运输时间
|
x.CumulativeTimeSpan = x.CalcCumulativeTimeSpan(); //tips:完成态缓存累计运输时间
|
||||||
});
|
});
|
||||||
orderTasks.ForEach(x => x.IsClosed = true);
|
orderTasks.ForEach(x => x.IsClosed = true);
|
||||||
needUpdateDetails.AddRange(orderDetails);
|
needUpdateDetails.AddRange(orderDetails);
|
||||||
@ -174,7 +174,7 @@ public class TransportWarningHandler : ITransportWarningHandler, ITransientDepen
|
|||||||
details.ForEach(x =>
|
details.ForEach(x =>
|
||||||
{
|
{
|
||||||
x.Status = TransportWarningStatus.已关闭.GetHashCode();
|
x.Status = TransportWarningStatus.已关闭.GetHashCode();
|
||||||
x.CumulativeTimeSpan = (long)DateTime.Now.Subtract(x.StartTrackTime).TotalMilliseconds; //tips:完成态缓存累计运输时间
|
x.CumulativeTimeSpan = x.CalcCumulativeTimeSpan(); //tips:完成态缓存累计运输时间
|
||||||
});
|
});
|
||||||
needUpdateDetails.AddRange(details);
|
needUpdateDetails.AddRange(details);
|
||||||
continue;
|
continue;
|
||||||
@ -382,7 +382,7 @@ public class TransportWarningHandler : ITransportWarningHandler, ITransientDepen
|
|||||||
detail.Status = TransportWarningStatus.超时完成.GetHashCode();
|
detail.Status = TransportWarningStatus.超时完成.GetHashCode();
|
||||||
|
|
||||||
// 维护累计运输时间(由于变更为终止态,此时为最后一次变更)
|
// 维护累计运输时间(由于变更为终止态,此时为最后一次变更)
|
||||||
detail.CumulativeTimeSpan = (long)DateTime.Now.Subtract(detail.StartTrackTime).TotalMilliseconds;
|
detail.CumulativeTimeSpan = detail.CalcCumulativeTimeSpan();
|
||||||
|
|
||||||
// 填充终止状态轨迹信息
|
// 填充终止状态轨迹信息
|
||||||
detail.EndTrackContentId = earliestTrack.TrackContentId;
|
detail.EndTrackContentId = earliestTrack.TrackContentId;
|
||||||
|
|||||||
@ -55,7 +55,7 @@ public sealed class TransportWarningDetailsIndex : IdBaseIndex
|
|||||||
public DateTime? EndTrackTime { get; set; } //截止轨迹发生时间
|
public DateTime? EndTrackTime { get; set; } //截止轨迹发生时间
|
||||||
public float? EndTrackTimeZone { get; set; } //截止轨迹发生时区
|
public float? EndTrackTimeZone { get; set; } //截止轨迹发生时区
|
||||||
|
|
||||||
// // 实时属性 todo:后面拆出vo
|
// // 实时属性vo
|
||||||
// public int LatestTrackContentId { get; set; } //最新轨迹内容Id
|
// public int LatestTrackContentId { get; set; } //最新轨迹内容Id
|
||||||
// public string LatestTrackContent { get; set; } //(冗余)最新轨迹内容名称
|
// public string LatestTrackContent { get; set; } //(冗余)最新轨迹内容名称
|
||||||
// public DateTime LatestTrackTime { get; set; } //最新轨迹发生时间
|
// public DateTime LatestTrackTime { get; set; } //最新轨迹发生时间
|
||||||
@ -74,6 +74,11 @@ public sealed class TransportWarningDetailsIndex : IdBaseIndex
|
|||||||
|
|
||||||
public bool CanCompleted() => CompletedStatus.Contains(Status);
|
public bool CanCompleted() => CompletedStatus.Contains(Status);
|
||||||
|
|
||||||
|
public long CalcCumulativeTimeSpan()
|
||||||
|
{
|
||||||
|
return (long)DateTime.Now.Subtract(StartTrackTime).TotalMilliseconds;
|
||||||
|
}
|
||||||
|
|
||||||
// tips:计算并设置状态,后续维护到vo当中
|
// tips:计算并设置状态,后续维护到vo当中
|
||||||
public int CalcStatus()
|
public int CalcStatus()
|
||||||
{
|
{
|
||||||
|
|||||||
@ -265,7 +265,15 @@ public class WarningDetailsEsRepository : IWarningDetailsEsRepository, ITransien
|
|||||||
u.Index(GlobalConst.TransportWarningDetailsIndex)
|
u.Index(GlobalConst.TransportWarningDetailsIndex)
|
||||||
.Query(q => q.Bool(b => b.Must(musts)))
|
.Query(q => q.Bool(b => b.Must(musts)))
|
||||||
.Script(s => s
|
.Script(s => s
|
||||||
.Source("ctx._source.status = params.status")
|
.Source(@"ctx._source.status = params.status;
|
||||||
|
if (ctx._source.startTrackTime != null) {
|
||||||
|
// 替换日期字符串中的T
|
||||||
|
String formattedDateString = ctx._source.startTrackTime.replace(""T"", "" "");
|
||||||
|
SimpleDateFormat sdf = new SimpleDateFormat(""yyyy-MM-dd HH:mm:ss"");
|
||||||
|
// 更新 cumulativeTimeSpan 字段
|
||||||
|
ctx._source.cumulativeTimeSpan = new Date().getTime() - sdf.parse(formattedDateString).getTime() + 3600*8*1000;
|
||||||
|
}"
|
||||||
|
)
|
||||||
.Params(p => p.Add("status", (int) TransportWarningStatus.已关闭))
|
.Params(p => p.Add("status", (int) TransportWarningStatus.已关闭))
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user