#EQD-6604 国联民生-确认书编码生成环节移到簿记(支持手工录入)

feat: 国联民生收益互换簿记后按确认书规则生成交易编号

- - 国联收益互换首次入库后复用原交易确认书编号规则生成交易编号,保留手工填写的交易编号
- 覆盖手工新增、系统流水自动簿记、普通交易导入、流水导入和日终合成今日交易流水
- 自动流水簿记增加本地事务,交易编号回写与基础簿记数据失败时统一回滚
- 交易确认书生成时直接取交易编号,不再重新生成确认书编号
- 结算管理-交易确认书页面将合约编号更名为交易确认书编号
- 上传确认书时将合约编号更名为交易确认书编号
- 历史交易编号不处理
This commit is contained in:
tengyufan
2026-07-29 16:45:29 +08:00
parent 4bebcf7fcb
commit e1c5f72418
10 changed files with 172 additions and 84 deletions
@@ -11,6 +11,7 @@ using YLErp.Enums;
using YLErp.Model.Enum;
using YLErp.Modules.CalculationModule;
using YLErp.Modules.EodModule;
using YLErp.Modules.TradeModule.DocGenerateModule;
using YLErp.Modules.TradeModule.OrderModule;
namespace YLErp.Modules.TradeModule.SwapModule
@@ -362,7 +363,10 @@ namespace YLErp.Modules.TradeModule.SwapModule
importTrade.TradeStatus = ConsTrade.;
importTrade.TradeNumber = BizLogicSingleton.Instance.GenerateTradeNumberBeforeConfirm(importTrade, DbContext);
if (!GuolianContractNoGenerator.IsGuolianSwapTrade(importTrade))
{
importTrade.TradeNumber = BizLogicSingleton.Instance.GenerateTradeNumberBeforeConfirm(importTrade, DbContext);
}
var currencyRate = new EodCurrencyRateService(UserInfo).GetCurrencyRate(importTrade.QuoteCurrency, importTrade.SettlementCurrency, importTrade.TradeDate.Value, seekPreday: importTrade.TradeDate.Value == valuedateBLL.ValueDate);
var tradePriceQuote = 0.0;
@@ -388,6 +392,10 @@ namespace YLErp.Modules.TradeModule.SwapModule
SetDBModelCreator(importTrade);
DbContext.trade.Add(importTrade);
DbContext.SaveChanges();
if (GuolianContractNoGenerator.TryGenerateTradeNumberAfterSave(DbContext, importTrade))
{
DbContext.SaveChanges();
}
importTrade.trade_swap.GetTradePrice = (importTrade.trade_swap.GetSingleFee ?? 0) * (importTrade.Lots ?? 0) + (importTrade.trade_swap.GetUnAnnualRate ?? 0) * importTrade.StockEqvNotional;
importTrade.trade_swap.GetMarginRate = marginRate;
importTrade.trade_swap.TradeId = importTrade.id;