TRS-ZS-464 估值单调整& 利息计算修复&审批修复
This commit is contained in:
@@ -137,7 +137,7 @@ namespace YLErp.Modules.SwapModule
|
||||
}
|
||||
var flowEvents = new List<swap_flow_event>();
|
||||
Expression<Func<swap_flow_event, bool>> eventExpression = x => x.SwapTradeId == td.id && x.DataState == (int)SwapFlowDateStateEnum.完成;
|
||||
eventExpression = eventExpression.And(x => (x.EventDate == settleDate && x.EventType == (int)SwapFlowEventTypeEnum.开仓) || (x.UnwindDate == settleDate && eventTyps.Contains(x.EventType)));
|
||||
eventExpression = eventExpression.And(x => x.EventDate == settleDate );
|
||||
//if (settleDate == td.TradeDate)
|
||||
//{
|
||||
// eventExpression = eventExpression.And(x => x.EventDate == settleDate);
|
||||
@@ -1834,7 +1834,7 @@ namespace YLErp.Modules.SwapModule
|
||||
|
||||
private SearchListResult<EodSwapPositionResponse> GetSearchEodPositionList(ClientSwapPositionRequest req)
|
||||
{
|
||||
var predicate = PredicateBuilder.Create<eod_swap_position>(n => !n.Invalid && n.PosiQuantity > 0);
|
||||
var predicate = PredicateBuilder.Create<eod_swap_position>(n => !n.Invalid && n.PosiDirection > 0);
|
||||
var interestPredicate = PredicateBuilder.Create<eod_swap_position>(n => !n.Invalid && n.InterestDirection > 0);
|
||||
var tradePredicate = PredicateBuilder.Create<trade>(n => n.StructureType == req.StructureType
|
||||
&& n.ValidState != "InValid");
|
||||
@@ -1894,8 +1894,9 @@ namespace YLErp.Modules.SwapModule
|
||||
//item.position.PosiProfitSum += item.TradingFee;
|
||||
var posiProfitSum= item.position.PosiProfitSum;
|
||||
//item.position.PosiProfitSum 不需要加交易费用
|
||||
item.position.PosiProfitSum = item.position.PosiProfitSum - item.position.VTradingFee;
|
||||
item.position.PosiProfitSum = item.position.PosiProfitSum - item.position.VTradingFee-item.position.PosiDividendSum;
|
||||
item.NetSettmentAmount = posiProfitSum;
|
||||
item.PeriodAmount = item.position.PosiDividendSum;
|
||||
var margins = positions.Where(x => x.SwapTradeId == item.position.SwapTradeId);
|
||||
var interests = eodPositions.Where(x => x.SwapTradeId == item.position.SwapTradeId && x.ValueDate == item.position.ValueDate);
|
||||
var eodMargins = interests.Where(x => marginTypes.Contains(x.InterestMode));
|
||||
@@ -1936,6 +1937,7 @@ namespace YLErp.Modules.SwapModule
|
||||
position.PosiProfitSum = -position.PosiProfitSum;
|
||||
position.VTradingFee = -position.VTradingFee;
|
||||
position.SwapPositionValue = -position.SwapPositionValue;
|
||||
position.PosiDividendSum = -position.PosiDividendSum;
|
||||
}
|
||||
private void SetPosiPrice(eod_swap_position position)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user