Merge branch 'glms/feature/1.4.2' into glms/feature/0812_zmr_divPower
# Conflicts: # YLErpDAL/Modules/EodModule/BondPaymentService.cs # YLErpDAL/Modules/SwapModule/SwapDealService.cs
This commit is contained in:
@@ -376,19 +376,18 @@ namespace YLErp.Modules.SwapModule
|
||||
/// <param name="interestMode">计息方式</param>
|
||||
/// <param name="interestStart">计息开始日期</param>
|
||||
/// <param name="interestEnd">计息结束日期</param>
|
||||
/// <returns>true=计息窗口为空(interestStart>interestEnd,本次不计利息,调用方将利率与金额归零);
|
||||
/// 典型触发=①不算头首日(valueDate==StartDate → StartDate+1>StartDate) ②不算尾到期日回拨后窗口翻转
|
||||
/// (interestEnd=到期日−1 < interestStart)。判定只看日期窗口,与事件类型无关。
|
||||
/// 注:当日已结息(preSettleDate==valueDate)日期相等时本函数返回 false——利息归零由
|
||||
/// GetInterests 的 closeList 净额层处理,不在本判定。</returns>
|
||||
public bool InitInterestDate(DateTime valueDate, DateTime? preSettleDate, trade td, bool tdClose, out DateTime interestStart, out DateTime interestEnd)
|
||||
{
|
||||
interestStart = td.StartDate.Value;
|
||||
var exerciseDate = td.ExerciseDate.Value;
|
||||
interestEnd = valueDate > exerciseDate ? exerciseDate : valueDate;
|
||||
bool calcFirst = true;
|
||||
bool calcLast = true;
|
||||
|
||||
if (td.trade_extend != null)
|
||||
{
|
||||
calcFirst = td.trade_extend.ExtendObj.InterestCalcMode.StartsWith("1");//算头
|
||||
calcLast = td.trade_extend.ExtendObj.InterestCalcMode.EndsWith("1");//算尾
|
||||
}
|
||||
bool calcFirst = td.trade_extend?.ExtendObj.CalcFirst ?? true;
|
||||
bool calcLast = td.trade_extend?.ExtendObj.CalcLast ?? true;
|
||||
interestStart = calcFirst ? interestStart : interestStart.AddDays(1);
|
||||
if (preSettleDate.HasValue && preSettleDate >= interestStart)
|
||||
{
|
||||
@@ -398,7 +397,9 @@ namespace YLErp.Modules.SwapModule
|
||||
{
|
||||
interestEnd = interestEnd.AddDays(-1);
|
||||
}
|
||||
if (interestStart > interestEnd || td.StartDate > interestStart)
|
||||
// 原第二 OR 子句 td.StartDate > interestStart 恒 false(interestStart 经上面调整恒 ≥ td.StartDate:
|
||||
// =开始日 / 不算头+1天 / preSettleDate 且仅当 ≥interestStart 才覆盖),死代码已删(2026-08-19)。
|
||||
if (interestStart > interestEnd)
|
||||
{
|
||||
interestStart = interestEnd;
|
||||
return true;//不记利息
|
||||
|
||||
Reference in New Issue
Block a user