admin/src/Oms.Application/Dtos/Orders/OrderAllocationTraceDtos.cs
zzh b2355104cf feat: 完善揽收单与问题件处理能力
补齐揽收单字段/并发戳与问题件处理人配置,扩展异常工作流与下单同步揽收出参;移除已收货状态并补充相关 SQL 脚本。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-04 11:49:23 +08:00

85 lines
2.2 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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; }
}