Merge branch 'glms/feature/1.4.2' of http://git.yiliantech.com/gitlab/otc-dev/zszq-trs into glms/feature/1.4.2

This commit is contained in:
Weiming
2026-06-08 12:04:07 +08:00
2 changed files with 33 additions and 21 deletions
+22 -10
View File
@@ -413,20 +413,32 @@ namespace YLErp.Modules.SwapModule
interests.Add(CalcUnwindInterest(td, valueDate, endDate, positionClone, rate, floatRate, posiPrincipal, closePrincipal, newClosePercent, annualDays, preEodPosition, eventType, add, swap, orginPv, calcFirst, calcLast||newCalcLast));
}
}
//当日有平仓或互换记录时,需要把平仓或互换已经结算的利息从计算结果中扣除,避免重复
//互换始终需要扣除;平仓仅不算尾时需要(算尾时利息已包含关闭日,无重叠)
if (closeList != null && closeList.Count > 0
&& (eventType == (int)SwapEventTypeEnum. || (!calcLast && !newCalcLast)))
//当日有平仓或互换记录时,避免重复
if (closeList != null && closeList.Count > 0)
{
foreach (var item in interests)
{
var closeEvent = closeList.Where(x => x.PositionId == item.PositionId);
var closePnl = closeEvent.Sum(s => s.InterestClosePnL);
var closeAmount = closeEvent.Sum(s => s.InterestAmount);
var closeTdAmount = closeEvent.Sum(s => s.TdInterestAmount);
item.InterestAmount = item.InterestAmount - closeAmount;
item.TdInterestAmount = item.TdInterestAmount - closeTdAmount;
item.InterestClosePnL = item.InterestClosePnL - closePnl;
if (eventType == (int)SwapEventTypeEnum. || eventType == (int)SwapEventTypeEnum.)
{
// 互换:该仓位当天已有完成事件,直接归0
if (closeEvent.Any())
{
item.InterestAmount = 0;
item.TdInterestAmount = 0;
item.InterestClosePnL = 0;
}
}
else if (!calcLast && !newCalcLast)
{
// 平仓不算尾:扣除已结算的利息(算尾时利息已包含关闭日,无重叠)
var closePnl = closeEvent.Sum(s => s.InterestClosePnL);
var closeAmount = closeEvent.Sum(s => s.InterestAmount);
var closeTdAmount = closeEvent.Sum(s => s.TdInterestAmount);
item.InterestAmount = item.InterestAmount - closeAmount;
item.TdInterestAmount = item.TdInterestAmount - closeTdAmount;
item.InterestClosePnL = item.InterestClosePnL - closePnl;
}
}
}
return interests;
@@ -100,17 +100,17 @@
<div id="selectTemplate">
@Html.MyAceDropdownInput2("setTemplate", "模板名:&nbsp; ", YLErp.Web.Controllers.clientbalanceController.GetAllClientBalanceTemplate(), false, "", true, new { onchange = "changeTemplate()" })
</div>
<h3>发件人:</h3>
<select id="sendUser">
<option value="@defaultUser.From">@defaultUser.UserName</option>
@if (otherUsers != null)
{
foreach (var user in otherUsers)
{
<option value="@user.From">@user.UserName</option>
}
}
</select>
@* <h3>发件人:</h3> *@
@* <select id="sendUser"> *@
@* <option value="@defaultUser.From">@defaultUser.UserName</option> *@
@* @if (otherUsers != null) *@
@* { *@
@* foreach (var user in otherUsers) *@
@* { *@
@* <option value="@user.From">@user.UserName</option> *@
@* } *@
@* } *@
@* </select> *@
@if (!PS.Config.Is申万)
{
<div class="form-group">