补齐揽收单字段/并发戳与问题件处理人配置,扩展异常工作流与下单同步揽收出参;移除已收货状态并补充相关 SQL 脚本。 Co-authored-by: Cursor <cursoragent@cursor.com>
85 lines
2.2 KiB
C#
85 lines
2.2 KiB
C#
namespace Oms.Application.Dtos.Orders;
|
||
|
||
/// <summary>
|
||
/// 订单排货过程(快照或现算)。
|
||
/// </summary>
|
||
public class OrderAllocationTraceOutput
|
||
{
|
||
public int OrderId { get; set; }
|
||
|
||
/// <summary>true=历史快照;false=按当前规则现算。</summary>
|
||
public bool FromSnapshot { get; set; }
|
||
|
||
public string? Scheme { get; set; }
|
||
|
||
public string? SchemeName { get; set; }
|
||
|
||
/// <summary>productDefault / reallocate / designated</summary>
|
||
public string? SchemeSource { get; set; }
|
||
|
||
public string? SchemeSourceName { get; set; }
|
||
|
||
public decimal? ChargeableWeight { get; set; }
|
||
|
||
/// <summary>订单解析出的价格分区键(用于对照买价明细分区)。</summary>
|
||
public List<string> ZoneKeys { get; set; } = [];
|
||
|
||
public string? ChargingStage { get; set; }
|
||
|
||
public string? ChargingStageName { get; set; }
|
||
|
||
public string? SelectedChannelCode { get; set; }
|
||
|
||
public string? SelectedChannelName { get; set; }
|
||
|
||
public string? FailReason { get; set; }
|
||
|
||
public DateTime? TraceTime { get; set; }
|
||
|
||
public List<OrderAllocationCandidateOutput> Candidates { get; set; } = [];
|
||
|
||
public List<OrderAllocationSkippedOutput> Skipped { get; set; } = [];
|
||
}
|
||
|
||
public class OrderAllocationCandidateOutput
|
||
{
|
||
public int ServiceChannelId { get; set; }
|
||
|
||
public string ChannelCode { get; set; } = string.Empty;
|
||
|
||
public string? ChannelName { get; set; }
|
||
|
||
/// <summary>应付合计(价格优先主指标)。</summary>
|
||
public decimal TotalPayableCost { get; set; }
|
||
|
||
/// <summary>时效天数(时效优先主指标)。</summary>
|
||
public int? MinTime { get; set; }
|
||
|
||
/// <summary>综合权重(综合最优主指标)。</summary>
|
||
public int Weight { get; set; }
|
||
|
||
public bool Selected { get; set; }
|
||
|
||
public List<OrderAllocationFeeLineOutput> FeeLines { get; set; } = [];
|
||
}
|
||
|
||
public class OrderAllocationSkippedOutput
|
||
{
|
||
public int? ServiceChannelId { get; set; }
|
||
|
||
public string? ChannelCode { get; set; }
|
||
|
||
public string? ChannelName { get; set; }
|
||
|
||
public string Reason { get; set; } = string.Empty;
|
||
}
|
||
|
||
public class OrderAllocationFeeLineOutput
|
||
{
|
||
public string? CostItem { get; set; }
|
||
|
||
public decimal Amount { get; set; }
|
||
|
||
public string? Currency { get; set; }
|
||
}
|