You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

97 lines
2.7 KiB
C#

using DS.WMS.Core.Application.Dtos;
using DS.WMS.Core.Invoice.Dtos;
using DS.WMS.Core.Op.Entity;
using DS.WMS.Core.Settlement.Entity;
using SqlSugar;
namespace DS.WMS.Core.Settlement.Dtos
{
/// <summary>
/// 提交结算单请求参数
/// </summary>
public class SettlementRequest<TEntity> where TEntity : SettlementBase
{
/// <summary>
/// 结算单
/// </summary>
public TEntity Settlement { get; set; }
/// <summary>
3 months ago
/// 费用明细(自由结算适用)
/// </summary>
public List<FeeDetailDto>? Details { get; set; }
/// <summary>
3 months ago
/// 结算单据信息(付费申请/发票结算适用)
/// </summary>
3 months ago
public List<SettlementDocument>? Documents { get; set; }
/// <summary>
/// 查询条件
/// </summary>
public string? QueryCondition { get; set; }
/// <summary>
/// 获取当前实例的查询条件
/// </summary>
/// <param name="client">SqlSugar对象</param>
/// <returns></returns>
/// <exception cref="ArgumentNullException">当<paramref name="client"/>为null时引发</exception>
public List<IConditionalModel> GetConditionalModels(ISqlSugarClient client)
{
if (string.IsNullOrEmpty(QueryCondition))
return [];
ArgumentNullException.ThrowIfNull(client, nameof(client));
return client.Utilities.JsonToConditionalModels(QueryCondition);
}
}
/// <summary>
3 months ago
/// 结算单据
/// </summary>
3 months ago
public class SettlementDocument
{
/// <summary>
3 months ago
/// 单据ID
/// </summary>
public long Id { get; set; }
/// <summary>
/// 仅自由结算使用
/// </summary>
public BusinessType? BusinessType { get; set; }
/// <summary>
3 months ago
/// 费用对象ID
/// </summary>
3 months ago
public long CustomerId { get; set; }
/// <summary>
/// 费用对象名称
/// </summary>
public string? CustomerName { get; set; }
/// <summary>
/// 本次RMB结算金额
/// </summary>
public decimal? SettlementRMB { get; set; }
/// <summary>
/// 本次USD结算金额
/// </summary>
public decimal? SettlementUSD { get; set; }
/// <summary>
/// 本次其他币别结算金额
/// </summary>
public decimal? SettlementOther { get; set; }
3 months ago
/// <summary>
/// 汇率(当收/付申请单币别与结算币别一致时此字段可为null发票结算需要提前获取原始币别
3 months ago
/// </summary>
public List<CurrencyExchangeRate>? ExchangeRates { get; set; }
}
}