保证金算法&资金计算

This commit is contained in:
吴方海
2025-04-16 15:15:59 +08:00
parent 6e644083df
commit 8e61f23e18
47 changed files with 695 additions and 1194 deletions
@@ -17,7 +17,66 @@ namespace YLErp.Modules.ReportModule
return ((LastDayRemainFund == null || LastDayRemainFund == -0) ? 0 : LastDayRemainFund.Value).ToString("0.00");
}
}
/// <summary>
/// 初始保证金金额
/// </summary>
public double? MySideMargin { get; set; }
public string MySideMarginString
{
get
{
return ((MySideMargin == null || MySideMargin == -0) ? 0 : MySideMargin.Value).ToString("0.00");
}
}
/// <summary>
/// 预付金余额
/// </summary>
public double? MarginBalance { get; set; }
public string MarginBalanceString
{
get
{
return ((MarginBalance == null || MarginBalance == -0) ? 0 : MarginBalance.Value).ToString("0.00");
}
}
/// <summary>
/// 初保账户
/// </summary>
public double? NetFundAll { get; set; }
public string NetFundAllString
{
get
{
return ((NetFundAll == null || NetFundAll == -0) ? 0 : NetFundAll.Value).ToString("0.00");
}
}
/// <summary>
/// 盯市金额
/// </summary>
public double? SwapMarketAmount { get; set; }
public string SwapMarketAmountString
{
get
{
return ((SwapMarketAmount == null || SwapMarketAmount == -0) ? 0 : SwapMarketAmount.Value).ToString("0.00");
}
}
/// <summary>
/// 追保账户
/// </summary>
public double? VmFundSum { get; set; }
public string VmFundSumString
{
get
{
return ((VmFundSum == null || VmFundSum == -0) ? 0 : VmFundSum.Value).ToString("0.00");
}
}
/// <summary>
/// 上日资金(包含抵押金额)
/// </summary>
@@ -261,7 +261,7 @@ namespace YLErp.Modules.ReportModule.SettlementReportModule
modelDict.Add("质押记录", report.clientcashincashout_productLinq);
}
var sourcePath = OtcAppContext.MapPath("~/App_Docs/导出模板");
string sourceFileName = Path.Combine(sourcePath, $"结算报告模板_{PS.Config.Company}.xlsx");
string sourceFileName = Path.Combine(sourcePath, $"结算报告模板.xlsx");
ExcelPackage.LicenseContext = LicenseContext.NonCommercial;
var pdffile = ExcelTemplate.GeneratePDFFromExeclTemplate(sourcePath, sourceFileName, modelDict, targetPath, targetFileName
, shouldDeleteSheet: true, needToPdf: false);
@@ -288,7 +288,7 @@ namespace YLErp.Modules.ReportModule.SettlementReportModule
{
LastDayRemainFund = clientBalance?.LastDayRemainFund ?? 0,
LastDayRemainFundWithProduct = clientBalance?.LastDayRemainFundWithProduct ?? 0,
CashInCashOutChange = clientBalance?.NetFund ?? 0,
CashInCashOutChange = clientBalance?.NetFundAll ?? 0,
CashInChange = clientBalance?.InFund ?? 0,
CashOutChange = clientBalance?.OutFund ?? 0,
CashInCashOutOther = clientBalance?.OtherFund ?? 0,
@@ -326,7 +326,12 @@ namespace YLErp.Modules.ReportModule.SettlementReportModule
TotalNetSettlement = clientBalance?.TotalNetSettlementTotal ?? 0,
ClientSellPositionPnl = clientBalance?.ClientSellPositionPnl,
FreezePremium = clientBalance?.FreezePremium,
EndDesirableFund = clientBalance?.EndDesirableFund ?? 0
EndDesirableFund = clientBalance?.EndDesirableFund ?? 0,
MySideMargin= clientBalance?.MySideMargin,
MarginBalance= clientBalance?.MarginBalance,
NetFundAll = clientBalance?.NetFundAll,
SwapMarketAmount= clientBalance?.SwapMarketAmount,
VmFundSum= clientBalance?.VmFundSum,
};
return FundReportModel;
}
@@ -381,17 +386,12 @@ namespace YLErp.Modules.ReportModule.SettlementReportModule
{
return QdpCalendarHelper.GetNonHoliday(DateTime.Now < DateTime.Now.Date.AddHours(9).AddMinutes(30) ? DateTime.Now : DateTime.Now.AddDays(1)).ToString("yyyy年MM月dd日") + "上午9:30";
}
case "追保金额": return report.FundReportModel.MarginString;
case "大写追保金额": return NumberHelper.CmycurD(report.FundReportModel.Margin ?? 0);
case "应付资金总额": return report.FundReportModel.PayableFundString;
case "大写应付资金总额": return NumberHelper.CmycurD(report.FundReportModel.PayableFund ?? 0);
case "追保金额": return report.FundReportModel.PositionTradePayableFundString;
case "大写追保金额": return NumberHelper.CmycurD(report.FundReportModel.PositionTradePayableFund ?? 0);
case "预付金余额": return report.FundReportModel.MarginBalanceString;
case "初始保证金金额": return report.FundReportModel.MySideMarginString;
case "发送日期": return DateTime.Now.ToString("yyyy-MM-dd");
case "预付金占用": return report.FundReportModel.WorstCastClientPayableString;
case "可用资金": return report.FundReportModel.AvailableFundString;
case "授信额度": return report.FundReportModel.CreditString;
case "应付了结交易款": return report.FundReportModel.ClosedTradePayableFundString;
case "应付存续交易款": return report.FundReportModel.PositionTradePayableFundString;
case "存续交易期权费净额": return report.FundReportModel.PositionPremiumNetCashString;
case "可取资金": return report.FundReportModel.DesirableFundString;
case "起始日期": return report.ReportFrom.ToString("yyyy-MM-dd");
case "结束日期": return report.ReportEnd.ToString("yyyy-MM-dd");