#TRS-ZS-263 管理端-导入费率时,临时费率填了单位,基础费率没有填单位,导入的基础费率应显示绝对值

This commit is contained in:
tangyunhao
2025-04-18 18:30:12 +08:00
parent 4b9bcfb2dc
commit 4095e25997
2 changed files with 36 additions and 14 deletions
+36 -14
View File
@@ -107,8 +107,8 @@ namespace YLErp.Modules.SwapModule
swapRate.DiscountRateIsPercent = req.DiscountRateIsPercent;
swapRate.DiscountRate = req.DiscountRate;
swapRate.FrontDeskCharge = req.FrontDeskCharge;
swapRate.FrontDeskChargeIsPercent=req.FrontDeskChargeIsPercent;
swapRate.BackDeskCharge=req.BackDeskCharge;
swapRate.FrontDeskChargeIsPercent = req.FrontDeskChargeIsPercent;
swapRate.BackDeskCharge = req.BackDeskCharge;
swapRate.BackDeskChargeIsPercent = req.BackDeskChargeIsPercent;
swapRate.SetOpt(UserId, UserName);
}
@@ -227,34 +227,55 @@ namespace YLErp.Modules.SwapModule
var tempRate = reader.GetString("临时费率");
if (!string.IsNullOrEmpty(tempRate))
{
decimal rate = 0;
if (tempRate.EndsWith("%"))
{
swapRate.TempRateIsPercent = true;
tempRate = tempRate.Replace("%", "");
decimal.TryParse(tempRate, out rate);
rate = rate / 100;
}
else
{
swapRate.TempRateIsPercent = false;
decimal.TryParse(tempRate, out rate);
}
decimal.TryParse(tempRate, out var rate);
swapRate.TempRate = rate;
}
var baseRate = reader.GetString("基础费率");
if (!string.IsNullOrEmpty(baseRate))
{
decimal rate = 0;
if (baseRate.EndsWith("%"))
{
swapRate.BaseRateIsPercent = true;
baseRate = baseRate.Replace("%", "");
decimal.TryParse(baseRate, out rate);
rate = rate / 100;
}
else
{
swapRate.BaseRateIsPercent = false;
decimal.TryParse(baseRate, out rate);
}
decimal.TryParse(baseRate, out var rate);
swapRate.BaseRate = rate;
}
var disAccRate = reader.GetString("优惠费率");
if (!string.IsNullOrEmpty(disAccRate))
{
decimal rate = 0;
if (disAccRate.EndsWith("%"))
{
swapRate.DiscountRateIsPercent = true;
disAccRate = disAccRate.Replace("%", "");
decimal.TryParse(disAccRate, out rate);
rate = rate / 100;
}
else
{
swapRate.DiscountRateIsPercent = false;
decimal.TryParse(disAccRate, out rate);
}
decimal.TryParse(disAccRate, out var rate);
swapRate.DiscountRate = rate;
}
var frontRate = reader.GetString("现券对冲交易费用");
@@ -265,7 +286,8 @@ namespace YLErp.Modules.SwapModule
swapRate.FrontDeskChargeIsPercent = true;
frontRate = frontRate.Replace("‱", "");
}
decimal.TryParse(frontRate, out var rate);
decimal.TryParse(frontRate, out var rate);
swapRate.FrontDeskCharge = rate * 0.0001m;
}
var backRate = reader.GetString("现券对冲结算费用");
@@ -277,7 +299,7 @@ namespace YLErp.Modules.SwapModule
backRate = backRate.Replace("‱", "");
}
decimal.TryParse(backRate, out var rate);
swapRate.BackDeskCharge = rate*0.0001m;
swapRate.BackDeskCharge = rate * 0.0001m;
}
swapRate.DiscountAccDown = reader.GetDecimal("优惠累计量下限");
ValidateSwapRate(swapRate);
@@ -321,7 +343,7 @@ namespace YLErp.Modules.SwapModule
exportModel.TempRate = item.TempRateIsPercent ? item.TempRate.OtcFormatPercent(4) : item.TempRate.OtcFormatMoney(true);
exportModel.DiscountRate = item.DiscountRateIsPercent ? item.DiscountRate.OtcFormatPercent(4) : item.DiscountRate.OtcFormatMoney(true);
exportModel.DiscountAccDown = item.DiscountAccDown.OtcFormatMoney(true);
exportModel.FrontDeskCharge= item.FrontDeskChargeIsPercent==true ? item.FrontDeskCharge.OtcFormatTenThousandsPercent(4) : item.FrontDeskCharge.OtcFormatMoney(true);
exportModel.FrontDeskCharge = item.FrontDeskChargeIsPercent == true ? item.FrontDeskCharge.OtcFormatTenThousandsPercent(4) : item.FrontDeskCharge.OtcFormatMoney(true);
exportModel.BackDeskCharge = item.BackDeskChargeIsPercent == true ? item.BackDeskCharge.OtcFormatTenThousandsPercent(4) : item.BackDeskCharge.OtcFormatMoney(true);
list.Add(exportModel);
}
@@ -363,11 +385,11 @@ namespace YLErp.Modules.SwapModule
var posiNotionalValueGroup = DbContext.trade.Where(x => x.TradeDate >= monthStart
&& x.ValidState != ConsGlobal.InValid
&& x.TradeType == "收益互换"
&& ConsTrade.TradeStatusCustomexport.Contains(x.TradeStatus)).ToList().GroupBy(x=>x.ClientId);
&& ConsTrade.TradeStatusCustomexport.Contains(x.TradeStatus)).ToList().GroupBy(x => x.ClientId);
foreach (var swapRate in swapRates)
{
var clientPosiNotional = posiNotionalValueGroup.FirstOrDefault(x=>x.Key== swapRate.ClientId).ToList().Sum(s=>s.OriginalStockEqvNotional??0);
SendToKafka(swapRate, clientPosiNotional);
var clientPosiNotional = posiNotionalValueGroup.FirstOrDefault(x => x.Key == swapRate.ClientId).ToList().Sum(s => s.OriginalStockEqvNotional ?? 0);
SendToKafka(swapRate, clientPosiNotional);
}
}
/// <summary>
@@ -398,13 +420,13 @@ namespace YLErp.Modules.SwapModule
swapRateKafkaModel.isRate = swapRate.BaseRateIsPercent;
swapRateKafkaModel.rate = swapRate.BaseRate ?? 0;
swapRateKafkaModel.disRateDown = swapRate.DiscountAccDown ?? 0;
if (swapRate.DiscountAccDown.HasValue&&Convert.ToDecimal(clientPosiNotional)>= swapRateKafkaModel.disRateDown)
if (swapRate.DiscountAccDown.HasValue && Convert.ToDecimal(clientPosiNotional) >= swapRateKafkaModel.disRateDown)
{
swapRateKafkaModel.isDisRate = swapRate.DiscountRateIsPercent;
swapRateKafkaModel.disRate= swapRate.DiscountRate ?? 0;
swapRateKafkaModel.disRate = swapRate.DiscountRate ?? 0;
swapRateKafkaModel.rate = swapRateKafkaModel.disRate;
}
}
kafkaProduceHelper.Produce(Environment.GetEnvironmentVariable("KafkaConfig_ClientRateTopic"), JsonConvert.SerializeObject(swapRateKafkaModel));
}