admin/src/Oms.Application/Dtos/Orders/OrderOutput.cs
zzh da27fa4377
All checks were successful
Build and Deploy / deploy (push) Successful in 1m0s
feat: 重算应付放行锁渠道池校验,支持切换价格/规则版本与服务商名称
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-09 18:16:38 +08:00

436 lines
10 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 OrderOutput
{
/// <summary>
/// 主键。
/// </summary>
public int Id { get; set; }
/// <summary>
/// 客户单号。
/// </summary>
public string? ClientNo { get; set; }
/// <summary>
/// 跟踪号。
/// </summary>
public string? TrackNo { get; set; }
/// <summary>
/// 服务商单号(下游 createOrderOne Data.serviceNo)。
/// </summary>
public string? DownstreamServiceNo { get; set; }
/// <summary>
/// 服务单号。
/// </summary>
public string ServiceNo { get; set; } = string.Empty;
/// <summary>
/// 产品编码。
/// </summary>
public string? ProductCode { get; set; }
/// <summary>
/// 销售产品名称。
/// </summary>
public string? ProductName { get; set; }
/// <summary>
/// 销售产品最大时效(天)。
/// </summary>
public int? MaxTimeliness { get; set; }
/// <summary>
/// 渠道编码。
/// </summary>
public string? ChannelCode { get; set; }
/// <summary>
/// 下游 API 服务商编码 supplierCode。
/// </summary>
public string? DownstreamSupplierCode { get; set; }
/// <summary>
/// 下游 API 服务商名称。
/// </summary>
public string? DownstreamSupplierName { get; set; }
/// <summary>
/// 下游 itfx 应用 AppKey。
/// </summary>
public string? DownstreamAppKey { get; set; }
/// <summary>
/// 下游 itfx 应用 Id(用于运行时读取 AppSecret)。
/// </summary>
public int? DownstreamAppId { get; set; }
/// <summary>
/// 渠道预报编码 ForecastCode。
/// </summary>
public string? ChannelForecastCode { get; set; }
/// <summary>
/// 服务渠道名称。
/// </summary>
public string? ChannelName { get; set; }
/// <summary>
/// 收件国家/地区二字码。
/// </summary>
public string? ConsigneeCountry { get; set; }
/// <summary>
/// 收件国家/地区中文名称。
/// </summary>
public string? ConsigneeCountryName { get; set; }
/// <summary>
/// 货物属性。
/// </summary>
public string? CargoAttribute { get; set; }
/// <summary>
/// 仓库主键。
/// </summary>
public int? WarehouseId { get; set; }
/// <summary>
/// 仓库名称。
/// </summary>
public string? Warehouse { get; set; }
/// <summary>
/// 客户主键。
/// </summary>
public int? CustomerId { get; set; }
/// <summary>
/// 客户名称。
/// </summary>
public string? CustomerName { get; set; }
/// <summary>
/// 客户编码。
/// </summary>
public string? CustomerCode { get; set; }
/// <summary>
/// 订单来源。
/// </summary>
public string? OrderSource { get; set; }
/// <summary>
/// 预约揽收时间。
/// </summary>
public DateTime? PickupTime { get; set; }
/// <summary>
/// 发件地址簿 Id。
/// </summary>
public int? CustomerSenderAddressId { get; set; }
/// <summary>
/// 到仓方式:selfShip / doorPickup。
/// </summary>
public string? InboundMethod { get; set; }
/// <summary>
/// 履约类型:direct / warehouse。
/// </summary>
public string? FulfillmentType { get; set; }
/// <summary>
/// 代发来源:storeFulfill / postBind。
/// </summary>
public string? FulfillmentSource { get; set; }
/// <summary>
/// 绑定状态聚合:none / bound / deducted。
/// </summary>
public string? StockBindStatus { get; set; }
/// <summary>
/// 绑定行数。
/// </summary>
public int StockBindLineCount { get; set; }
/// <summary>
/// 绑定件数合计。
/// </summary>
public int StockBindQtyTotal { get; set; }
/// <summary>
/// 国内快递单号(绑定行去重,逗号分隔)。
/// </summary>
public string? DomesticTrackingNos { get; set; }
/// <summary>
/// 代发进度:pendingBind / domesticInTransit / arrivedPendingPick / outboundDone。
/// </summary>
public string? FulfillProgress { get; set; }
/// <summary>
/// 主拣货库位(绑定行最小 BinCode,供拣货队列排序展示)。
/// </summary>
public string? PrimaryBinCode { get; set; }
/// <summary>
/// 绑定 SKU 编码汇总(逗号分隔,列表展示/拣货筛选用)。
/// </summary>
public string? PrimarySkuCodes { get; set; }
/// <summary>
/// 关联揽收单 Id。
/// </summary>
public int? PickupOrderId { get; set; }
/// <summary>
/// 关联揽收系统单号(OMS PickupNo)。
/// </summary>
public string? PickupNo { get; set; }
/// <summary>
/// 国内承运商回执单号(揽收承运商运单号)。
/// </summary>
public string? CarrierWaybillNo { get; set; }
/// <summary>
/// 幂等请求标识。
/// </summary>
public string? RequestId { get; set; }
/// <summary>
/// 出口报关方式。
/// </summary>
public string? ExportCustomsMode { get; set; }
/// <summary>
/// 出口资质备案 Id。
/// </summary>
public int? ExportQualificationId { get; set; }
/// <summary>
/// 预报失败原因(草稿订单)。
/// </summary>
public string? PredeclareFailReason { get; set; }
/// <summary>
/// 待排货原因(排货或渠道买价未匹配,空表示已排货或无待办)。
/// </summary>
public string? AllocationPendingReason { get; set; }
/// <summary>
/// 最近一次排货方案。
/// </summary>
public string? AllocationScheme { get; set; }
/// <summary>
/// 是否已有排货过程快照。
/// </summary>
public bool HasAllocationTrace { get; set; }
/// <summary>
/// 申报币种。
/// </summary>
public string? DeclaredCurrency { get; set; }
/// <summary>
/// 申报总金额。
/// </summary>
public decimal? DeclaredSum { get; set; }
/// <summary>
/// 包裹数量。
/// </summary>
public int? Quantity { get; set; }
/// <summary>
/// 是否 COD。
/// </summary>
public bool IsCod { get; set; }
/// <summary>
/// COD 币种。
/// </summary>
public string? CodCurrency { get; set; }
/// <summary>
/// COD 金额。
/// </summary>
public decimal? CodSum { get; set; }
/// <summary>
/// 订单状态名称。
/// </summary>
public string? OrderStatus { get; set; }
/// <summary>
/// 状态。
/// </summary>
public string Status { get; set; } = string.Empty;
/// <summary>
/// 子状态 code:pending / processed。
/// </summary>
public string? HandleStatus { get; set; }
/// <summary>
/// 子状态名称。
/// </summary>
public string? HandleStatusName { get; set; }
public string? IssueType { get; set; }
public string? IssueTypeName { get; set; }
public string? IssueTitle { get; set; }
public string? IssueContent { get; set; }
public int? IssueTemplateId { get; set; }
public string? IssueRemark { get; set; }
public DateTime? IssueTime { get; set; }
public string? ClaimType { get; set; }
public string? ClaimTypeName { get; set; }
public decimal? ClaimAmount { get; set; }
public string? ClaimCurrency { get; set; }
public string? ClaimReason { get; set; }
public DateTime? ClaimTime { get; set; }
public string? PreviousOrderStatus { get; set; }
/// <summary>
/// 收货时间。
/// </summary>
public DateTime? ReceiveTime { get; set; }
/// <summary>
/// 发货时间。
/// </summary>
public DateTime? ShipTime { get; set; }
/// <summary>
/// 支付时间。
/// </summary>
public DateTime? PayTime { get; set; }
/// <summary>
/// 是否已支付。
/// </summary>
public bool IsPaid { get; set; }
/// <summary>
/// 签收时间。
/// </summary>
public DateTime? SignTime { get; set; }
/// <summary>
/// 是否拦截。
/// </summary>
public bool IsIntercept { get; set; }
/// <summary>
/// 是否偏远。
/// </summary>
public bool IsRemote { get; set; }
/// <summary>
/// 客户勾选附加服务字典 code 列表。
/// </summary>
public List<string> AdditionalServices { get; set; } = [];
/// <summary>
/// 是否勾选保险附加服务。
/// </summary>
public bool HasInsurance { get; set; }
/// <summary>
/// 预报应收快照(入库不覆盖)。
/// </summary>
public decimal? ForecastReceivableAmount { get; set; }
/// <summary>
/// 预报应付快照(入库不覆盖)。
/// </summary>
public decimal? ForecastPayableAmount { get; set; }
/// <summary>
/// 订单绑定的销售产品规则发布版本。
/// </summary>
public string? SalesProductRulesVersion { get; set; }
/// <summary>
/// 订单绑定的销售产品价格发布版本。
/// </summary>
public string? SalesProductPriceVersion { get; set; }
/// <summary>
/// 创建时间。
/// </summary>
public DateTime? CreateTime { get; set; }
/// <summary>
/// 创建人。
/// </summary>
public string? CreateBy { get; set; }
/// <summary>
/// 更新时间。
/// </summary>
public DateTime? UpdateTime { get; set; }
/// <summary>
/// 更新人。
/// </summary>
public string? UpdateBy { get; set; }
/// <summary>
/// 寄件人信息。
/// </summary>
public OrderSenderOutput? Sender { get; set; }
/// <summary>
/// 收件人信息。
/// </summary>
public OrderReceiverOutput? Receiver { get; set; }
/// <summary>
/// 订单内件集合。
/// </summary>
public List<OrderItemOutput> Items { get; set; } = [];
/// <summary>
/// 重量明细集合。
/// </summary>
public List<OrderWeightOutput> WeightList { get; set; } = [];
/// <summary>
/// 费用明细集合。
/// </summary>
public List<OrderFeeOutput> FeeList { get; set; } = [];
/// <summary>
/// 计费重(优先收货行,其次预报行)。
/// </summary>
public decimal? ChargeableWeight { get; set; }
/// <summary>
/// 应收合计(当前有效应收费用之和)。
/// </summary>
public decimal? ReceivableAmount { get; set; }
}