平仓资金记录不应该被覆盖
This commit is contained in:
@@ -763,15 +763,15 @@ namespace YLErp.Modules.SwapModule
|
||||
bool cofirm = false;
|
||||
try
|
||||
{
|
||||
int clientCashId = CloseTrade_ClientCashInCashOut(td, Convert.ToDouble(-unwindData.SwapRealizedPnL), ClientCashInCashOut.系统操作_平仓费, unwindData.ValueDate);
|
||||
int clientCashId = AddClientCashInCashOut(td, Convert.ToDouble(-unwindData.SwapRealizedPnL), ClientCashInCashOut.系统操作_平仓费, unwindData.ValueDate);
|
||||
if (unwindData.SwapMarginAmount != 0)
|
||||
{
|
||||
AddClientCashInCashOut(td, Convert.ToDouble(unwindData.SwapMarginAmount), ClientCashInCashOut.系统操作_应付预付金, unwindData.ValueDate);
|
||||
}
|
||||
if (unwindData.SwapMarginRebatePnl != 0)
|
||||
{
|
||||
AddClientCashInCashOut(td, Convert.ToDouble(-unwindData.SwapMarginRebatePnl), ClientCashInCashOut.系统操作_预付金返息, unwindData.ValueDate);
|
||||
}
|
||||
//if (unwindData.SwapMarginRebatePnl != 0)
|
||||
//{
|
||||
// AddClientCashInCashOut(td, Convert.ToDouble(-unwindData.SwapMarginRebatePnl), ClientCashInCashOut.系统操作_预付金返息, unwindData.ValueDate);
|
||||
//}
|
||||
DealFloatPosition(unwindData);
|
||||
var flowList = new List<swap_flow_event>(unwindData.FlowEvents);
|
||||
var eventId = SaveSwapDeal(unwindData, (int)SwapEventTypeEnum.平仓, clientCashId, "系统操作_平仓");
|
||||
@@ -1051,7 +1051,7 @@ namespace YLErp.Modules.SwapModule
|
||||
}
|
||||
private void DealUnwind(UnwindData unwindData, trade td, string actionMsg = "系统操作_自动平仓")
|
||||
{
|
||||
int clientCashId = CloseTrade_ClientCashInCashOut(td, Convert.ToDouble(-unwindData.SwapRealizedPnL), ClientCashInCashOut.系统操作_平仓费, unwindData.ValueDate);
|
||||
int clientCashId = AddClientCashInCashOut(td, Convert.ToDouble(-unwindData.SwapRealizedPnL), ClientCashInCashOut.系统操作_平仓费, unwindData.ValueDate);
|
||||
if (unwindData.SwapMarginAmount != 0)
|
||||
{
|
||||
AddClientCashInCashOut(td, Convert.ToDouble(unwindData.SwapMarginAmount), ClientCashInCashOut.系统操作_应付预付金, unwindData.ValueDate);
|
||||
@@ -1129,7 +1129,7 @@ namespace YLErp.Modules.SwapModule
|
||||
var trans = DbContext.Database.BeginTransaction();
|
||||
try
|
||||
{
|
||||
int clientCashId = CloseTrade_ClientCashInCashOut(td, Convert.ToDouble(unwindData.SwapCloseAmount), ClientCashInCashOut.系统操作_平仓费, unwindData.ValueDate);
|
||||
int clientCashId = AddClientCashInCashOut(td, Convert.ToDouble(unwindData.SwapCloseAmount), ClientCashInCashOut.系统操作_平仓费, unwindData.ValueDate);
|
||||
if (unwindData.SwapMarginAmount != 0)
|
||||
{
|
||||
AddClientCashInCashOut(td, Convert.ToDouble(unwindData.SwapMarginAmount), ClientCashInCashOut.系统操作_应付预付金, unwindData.ValueDate);
|
||||
@@ -1172,7 +1172,7 @@ namespace YLErp.Modules.SwapModule
|
||||
var trans = DbContext.Database.BeginTransaction();
|
||||
try
|
||||
{
|
||||
int clientCashId = CloseTrade_ClientCashInCashOut(td, Convert.ToDouble(unwindData.SwapCloseAmount), ClientCashInCashOut.系统操作_互换, unwindData.ValueDate);
|
||||
int clientCashId = AddClientCashInCashOut(td, Convert.ToDouble(unwindData.SwapCloseAmount), ClientCashInCashOut.系统操作_互换, unwindData.ValueDate);
|
||||
SaveSwapDeal(unwindData, (int)SwapEventTypeEnum.互换, clientCashId, "系统操作_互换");
|
||||
trans.Commit();
|
||||
}
|
||||
@@ -1203,7 +1203,7 @@ namespace YLErp.Modules.SwapModule
|
||||
bool confirm = false;
|
||||
try
|
||||
{
|
||||
int clientCashId = CloseTrade_ClientCashInCashOut(td, Convert.ToDouble(-unwindData.SwapRealizedPnL), ClientCashInCashOut.系统操作_互换, unwindData.ValueDate);
|
||||
int clientCashId = AddClientCashInCashOut(td, Convert.ToDouble(-unwindData.SwapRealizedPnL), ClientCashInCashOut.系统操作_互换, unwindData.ValueDate);
|
||||
if (unwindData.SwapMarginRebatePnl != 0)
|
||||
{
|
||||
AddClientCashInCashOut(td, Convert.ToDouble(-unwindData.SwapMarginRebatePnl), ClientCashInCashOut.系统操作_预付金返息, unwindData.ValueDate);
|
||||
@@ -1251,7 +1251,7 @@ namespace YLErp.Modules.SwapModule
|
||||
swapEvent.unwindData = JsonConvert.DeserializeObject<UnwindData>(swapEvent.EventData);
|
||||
var flowList = DbContext.swap_flow_event.Where(x => x.EventId == swapEvent.id).ToList();
|
||||
string action = eventType == (int)SwapEventTypeEnum.互换 ? ClientCashInCashOut.系统操作_互换 : ClientCashInCashOut.系统操作_平仓费;
|
||||
int clientCashId = CloseTrade_ClientCashInCashOut(td, Convert.ToDouble(swapEvent.unwindData.SwapCloseAmount), action, swapEvent.unwindData.ValueDate);
|
||||
int clientCashId = AddClientCashInCashOut(td, Convert.ToDouble(swapEvent.unwindData.SwapCloseAmount), action, swapEvent.unwindData.ValueDate);
|
||||
swapEvent.ClientCashId = clientCashId;
|
||||
if (td.StructureType != "多空组合")
|
||||
{
|
||||
|
||||
@@ -366,7 +366,7 @@ namespace YLErp.Modules.SwapModule
|
||||
private long SaveAutoSwapDeal(trade td, List<swap_flow_event> flowEvents, UnwindData unwindData)
|
||||
{
|
||||
//td.UnWindDate = unwindData.ValueDate;
|
||||
int clientCashId = CloseTrade_ClientCashInCashOut(td, Convert.ToDouble(-unwindData.SwapCloseAmount), ClientCashInCashOut.系统操作_互换, unwindData.ValueDate);
|
||||
int clientCashId = AddClientCashInCashOut(td, Convert.ToDouble(-unwindData.SwapCloseAmount), ClientCashInCashOut.系统操作_互换, unwindData.ValueDate);
|
||||
string data = JsonConvert.SerializeObject(unwindData);
|
||||
var swapEvent = new SwapEventService(this).AddSwapEventDate(unwindData.ValueDate, unwindData.SwapTradeId, (int)SwapEventTypeEnum.自动互换, data, clientCashId, true, "系统操作-自动互换");//将互换总额存入事件
|
||||
flowEvents.ForEach(x =>
|
||||
@@ -504,7 +504,7 @@ namespace YLErp.Modules.SwapModule
|
||||
//记录资金记录
|
||||
if (amount != 0)
|
||||
{
|
||||
int clientCashId = CloseTrade_ClientCashInCashOut(td, Convert.ToDouble(x.MarkClosePnl), ClientCashInCashOut.系统操作_平仓费, x.UnwindDate.Value);
|
||||
int clientCashId = AddClientCashInCashOut(td, Convert.ToDouble(x.MarkClosePnl), ClientCashInCashOut.系统操作_平仓费, x.UnwindDate.Value);
|
||||
x.ClientCashId = clientCashId;
|
||||
}
|
||||
payQty = payQty - x.Quantity;
|
||||
|
||||
@@ -282,57 +282,7 @@ namespace YLErp.Modules.SwapModule
|
||||
}
|
||||
return swapEvent.ValueDate;
|
||||
}
|
||||
/// <summary>
|
||||
/// 收益互换 客户资金记录保存
|
||||
/// </summary>
|
||||
/// <param name="td">主交易信息</param>
|
||||
/// <param name="amount">平仓盈亏</param>
|
||||
/// <param name="action">操作类型</param>
|
||||
/// <param name="valueDate">操作日期</param>
|
||||
/// <returns></returns>
|
||||
/// <exception cref="Exception"></exception>
|
||||
public int CloseTrade_ClientCashInCashOut(OtcTradeBase td, double amount, string action, DateTime valueDate)
|
||||
{
|
||||
var cl = DataCacheProvider.GetClientDataSource().GetData(td.ClientId);
|
||||
|
||||
if (cl == null)
|
||||
{
|
||||
throw new Exception("客户信息未找到,交易编号:" + td.TradeNumber);
|
||||
}
|
||||
var ee = DbContext.ClientCashInCashOut.FirstOrDefault(x => x.TradeId == td.id && x.Action == action && x.HappenDate == valueDate);
|
||||
if (ee == null)
|
||||
{
|
||||
//增加出入金记录
|
||||
ee = new ClientCashInCashOut();
|
||||
ee.CreateDate = DateTime.Now;
|
||||
ee.CreatorId = UserId;
|
||||
ee.CreatorName = UserName;
|
||||
}
|
||||
ee.Direction = "应收";
|
||||
ee.Number = UniqueTimeId.GetStr();
|
||||
ee.ClientId = cl.id;
|
||||
ee.ClientNumber = cl.Number;
|
||||
ee.ClientName = cl.Name;
|
||||
ee.Money = amount;
|
||||
ee.CurrencyCode = td.SettlementCurrency;
|
||||
ee.HappenDate = valueDate;
|
||||
ee.State = ClientCashInCashOut.已确认;
|
||||
ee.OptId = UserId;
|
||||
ee.OptName = UserName;
|
||||
ee.OptDate = DateTime.Now;
|
||||
ee.TradeId = td.id;
|
||||
ee.Action = action;
|
||||
ee.ValidState = "Valid";
|
||||
ee.TradeNumber = td.TradeNumber;
|
||||
ee.CurrencyCode = "CNY";
|
||||
if (ee.id == 0)
|
||||
{
|
||||
DbContext.ClientCashInCashOut.Add(ee);
|
||||
}
|
||||
DbContext.SaveChanges();
|
||||
return ee.id;
|
||||
}
|
||||
public void AddClientCashInCashOut(OtcTradeBase td, double amount, string action, DateTime valueDate)
|
||||
public int AddClientCashInCashOut(OtcTradeBase td, double amount, string action, DateTime valueDate)
|
||||
{
|
||||
var cl = DataCacheProvider.GetClientDataSource().GetData(td.ClientId);
|
||||
|
||||
@@ -364,6 +314,7 @@ namespace YLErp.Modules.SwapModule
|
||||
ee.CurrencyCode = "CNY";
|
||||
DbContext.ClientCashInCashOut.Add(ee);
|
||||
DbContext.SaveChanges();
|
||||
return ee.id;
|
||||
}
|
||||
/// <summary>
|
||||
/// 初始化 利息计算起始日期
|
||||
|
||||
Reference in New Issue
Block a user