48 lines
1.7 KiB
C#
48 lines
1.7 KiB
C#
using YLErp.Modules.TradeModule.SwapModule;
|
|
|
|
namespace YLErp.Modules.EodModule.SettlementModule
|
|
{
|
|
public class TradeSwapFlowMoreCheck : EodSettleServiceBase
|
|
{
|
|
public const string Step = "合成互换交易";
|
|
|
|
public TradeSwapFlowMoreCheck(EodSettlementContextBase context) : base(context)
|
|
{
|
|
|
|
}
|
|
|
|
public void Execute()
|
|
{
|
|
if (PS.Config.IsGuoJun)
|
|
{
|
|
try
|
|
{
|
|
var settleDate = _context.SettleDate;
|
|
var service = new SwapTradeFlowMoreImportService(UserInfo);
|
|
var clienIds = _context.Request.ClientIds;
|
|
List<string> listNumber=new List<string>();
|
|
#region 新增客户筛选 tw
|
|
if (clienIds != null)
|
|
{
|
|
listNumber = DbContextFactory.GetClientDbContext(UserInfo).client.Where(n => clienIds.Contains(n.id)).Select(l => l.Number).ToList();
|
|
}
|
|
#endregion
|
|
var tradeNumbers = DbContext.trade_swap_flow_more.Where(x => !x.IsCompose && !x.IsDelete && (x.TradeDate <= settleDate || x.UnwindDate <= settleDate)).Select(x => x.TradeNumber).Distinct().ToList();
|
|
if (listNumber.Count>0)
|
|
{
|
|
tradeNumbers = tradeNumbers.Intersect(listNumber).ToList();
|
|
}
|
|
tradeNumbers.ForEach(x =>
|
|
{
|
|
service.HandleSwapTrade(x);
|
|
});
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_context.RaiseError(Step, ex.Message);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|