|
|
|
@ -234,11 +234,15 @@ namespace DS.WMS.Core.Application.Method
|
|
|
|
|
foreach (var detail in details)
|
|
|
|
|
{
|
|
|
|
|
var fc = request.Items.Find(x => x.Id == detail.BusinessId && x.BusinessType == x.BusinessType);
|
|
|
|
|
var exchange = fc?.ExchangeRates?.Find(x => x.Currency == request.Application.Currency);
|
|
|
|
|
var exchange = fc?.ExchangeRates?.Find(x => x.Currency == detail.Currency);
|
|
|
|
|
if (exchange == null)
|
|
|
|
|
return DataResult<TEntity>.Failed($"非原币申请必须传入费用原币与申请币别 {request.Application.Currency} 之间的汇率信息");
|
|
|
|
|
return DataResult<TEntity>.Failed($"非原币申请必须传入费用原币与申请币别 {detail.Currency} 之间的汇率信息");
|
|
|
|
|
|
|
|
|
|
detail.ExchangeRate = exchange.ExchangeRate;
|
|
|
|
|
//detail.OriginalAmount = detail.ApplyAmount;
|
|
|
|
|
//detail.OriginalCurrency = detail.Currency;
|
|
|
|
|
detail.ApplyAmount = Math.Round(detail.ApplyAmount * (exchange.ExchangeRate == null ? 1 : exchange.ExchangeRate.Value),
|
|
|
|
|
2, MidpointRounding.AwayFromZero);
|
|
|
|
|
detail.Currency = request.Application.Currency;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|