Commit Graph
168 Commits
Author SHA1 Message Date
马冰冰 1b9ae140cf fix: 结算单的期末期初标的价格 2026-08-28 13:49:42 +08:00
tengyufan 1857f9a356 fix: 隐藏OA提交失败详情 2026-08-28 12:28:15 +08:00
马冰冰 e52f5bfeb5 fix: 结算单-期间分红 2026-08-28 11:28:41 +08:00
tengyufan b6a0573106 完善OA状态口径注释 2026-08-28 09:46:53 +08:00
张名锐 134e07c628 feat(margin): 添加预付金模板簿记账户范围控制功能
- 在 margin_template_v2 实体中新增 BookIds 字段存储适用簿记账户ID列表
- 实现簿记账户ID的规范化、解析和范围重叠判断逻辑
- 在客户端和默认模板编辑页面添加适用簿记账户选择控件
- 修改预付金模板解析逻辑以考虑簿记账户适用性
- 更新交易绑定模板验证以检查簿记账户范围匹配
- 优化模板冲突检测算法以支持簿记账户范围重叠验证
- 添加簿记账户ID存在性校验防止无效引用
- 实现前端动态筛选适用当前资产的模板选项
2026-08-27 19:38:10 +08:00
tengyufan e986c047e2 fix:修改OA流程状态判断口径 2026-08-27 17:52:30 +08:00
lisong e085734297 Merge remote-tracking branch 'dest/glms/feature/1.4.2' into test 2026-08-27 15:20:46 +08:00
苏睿 5a98b7d784 !31 fix: 特批批量确认跳过新风控
Merge pull request !31 from feature/p132_74-risk-engine
2026-08-27 07:12:11 +00:00
马冰冰 ab9f67c347 fix: 结算单中追加预付金字段取值 2026-08-27 14:29:50 +08:00
ruisu 896c69cd88 fix: 特批批量确认跳过新风控 2026-08-27 13:30:53 +08:00
马冰冰 313dade65b fix: 结算单中的净额结算金额的修改 2026-08-26 21:21:55 +08:00
张名锐 9f3a74ad1f Merge branch 'glms/feature/0812_zmr_divPower' into 'glms/feature/1.4.2'
fix(trade): 标的除权0覆盖旧值

See merge request otc-dev/zszq-trs!17
2026-08-26 03:09:44 +00:00
张名锐 1c879c0b65 fix(trade): 标的除权0覆盖旧值
- 重命名 MergeNonZeroDividendValues 方法为 MergeDividendValues
- 修改合并逻辑,数值字段(包括 0)都作为有效覆盖值进行合并
- 更新注释说明合并规则的变化
- 添加零现金分红覆盖现有值的单元测试
- 修复数据库记录合并时的字段覆盖逻辑
2026-08-26 11:09:12 +08:00
锦麟 王 41f64956b2 Merge branch 'glms/feature/1.4.2' of http://git.yiliantech.com/gitlab/otc-dev/zszq-trs into glms/feature/1.4.2 2026-08-26 10:23:16 +08:00
锦麟 王 ca3b57bb98 授信拆单;保证金模板选择;客户层级资金来源 2026-08-26 10:23:07 +08:00
张名锐 76a491a388 Merge branch 'glms/feature/0812_zmr_divPower' into 'glms/feature/1.4.2'
refactor(swap): 统一债券价格处理逻辑

See merge request otc-dev/zszq-trs!13
2026-08-25 07:39:53 +00:00
张名锐 f7766fb723 fix(dividend): 公司行为优化
- 债券付息查询/BondPayment/BondPaymentList这个界面 不再查询公司行为除权表

- 公司行为事件的说明 格式化一下变为:调整前:名义本金:XXXX  期初标的价格:XXXX 持仓数量:XXXX
调整后:名义本金:XXXX  期初标的价格:XXXX 持仓数量:XXXX

- 报错信息修改:当某个标的的除权除息数据仍有交易引用时
则修改标的公司行为数据时则提示“不可修改,有交易【交易编号】使用了该条除权除息数据”。
2026-08-25 15:39:01 +08:00
马冰冰 670ff1e012 feature: 结算报告单中字段取值 2026-08-25 14:45:15 +08:00
马冰冰 8379f3fc2c feature: 为结算通知书中的附件增加字段 2026-08-25 11:20:25 +08:00
张名锐 695d78810f refactor(dividend): 优化分红业务逻辑和注释说明
- 更新除权参考价计算公式中的收盘价描述为登记日收盘价
- 优化Swap模块中公司行为处理的日志注释
- 区分除权日和登记日的信息处理流程
- 优化持仓基线重置和公司行为事件记录的注释说明
- 完善现金分红和配股处理的相关注释
- 优化实时持仓切换和事件匹配的逻辑注释
2026-08-25 10:15:51 +08:00
锦麟 王 13e13fa9a3 Merge remote-tracking branch 'origin/glms/feature/1.4.2' into glms/feature/1.4.2-margin 2026-08-24 17:22:44 +08:00
锦麟 王 c35befbe8f #EQD-6948 国联民生-实现保证金规则(2)追保金额的产生与收盘计算 收盘计算和授信占用 2026-08-24 16:34:18 +08:00
hjhan 610279c3aa chore(cleanup): 清理编译器已证明的死代码残留(CS0219/CS0162/CS0169)
- SwapEodPositionService: 删除衡泰推送残留的swapInsertEnum/swapPosiEnum赋值及fposition判空赋值块,赋值后从未读取(CS0219×2)
- TradeConfirmService: if(addlog)分支仅剩三个同源死赋值(原衡泰推送调用已删),删赋值并将if/else翻转为if(!addlog),保留原else的Task.Run实时持仓刷新(CS0219×3)
- QuotaMonitorService.checkTrade: 唯一存活case互换价格偏离比例恒return,删除switch后不可达收尾段(CS0162);删除从未使用的posiVal与重复的currentValue=null赋值
- YLErpWebApiHelper: 删除从未赋值/读取的私有字段baseUrl(CS0169)

UnderlyingDbDataSource.DataSourceUpdated(CS0067)为IDataSourceEvent接口契约成员且DataCacheManager经接口订阅,不属死代码,保留不动。全量重编YLErpDAL通过,0警告0错误。
2026-08-24 13:55:16 +08:00
锦麟 王 8648b62af9 Merge remote-tracking branch 'origin/glms/feature/1.4.2' into glms/feature/1.4.2-margin 2026-08-24 09:40:03 +08:00
hjhan 7ac219ad0f chore(swap): 删除确认书/结算报告厂商定制死分支——国联专属分支Company恒定,24个厂商确认书编号生成器+批量开关收敛国联直调(瑞达/海通/格林大华批量方法连带),结算报告模板与HasExtendVol同款收敛;保留WCZD公开方法(插件接口ITradeDocGeneratorContext成员,防外部DLL ABI);顺手修正GenerateGuolianContractNo存量错注释(国贸→国联)。-1214行,Release/Debug/UnitTestProject构建0错误 2026-08-22 08:11:43 +08:00
tengyufan 3f0984800a feat: 收益互换开平仓及收益结算接入OA移动审批
#EQD-6425 国联民生-衍生品系统移动审批(提交OA流程)
- 审批节点支持配置“关联OA移动审批”
- 创建OA流程并记录请求、requestId、状态及异常备注
- 支持OA轮询同步审批通过、退回和归档状态
- 本地通过、拒绝、撤回时同步强制归档未结束OA流程
- 增加审批列表OA备注展示及本地Mock联调接口
- 新增OA审批记录表和数据库升级脚本
- OA移动审批使用独立查询地址及isnextflow配置,不影响交易确认书OA
2026-08-21 15:54:54 +08:00
锦麟 王 7b1f69a410 #EQD-6948 国联民生-实现保证金规则(2)追保金额的产生与收盘计算 授信和现金tag 2026-08-21 10:33:29 +08:00
张名锐 8efb468c56 Merge branch 'glms/feature/1.4.2' into glms/feature/0812_zmr_divPower 2026-08-21 09:50:12 +08:00
hjhan a5a78eab10 feat(swap): EQD-5320 结算确认书邮件链路补定位日志——资金提示/结清确认/生成三条链路此前几乎无日志且存在静默失败:①SendConfirmEamil查不到合同原return空串(前端当已发送)改Error日志+明确返回发送失败原因;②CheckConfirmDoc/CheckSettlementDoc抛错前补打库内trade_contract_r行状态(无行=从未生成/IsValid=false=重生成作废/doc缺失);③DealNoDmaEmail与生成服务两处客户+日期扩张查询补Info日志对齐勾选vs实际处理;④GetFileName物理文件缺失原静默null改Error;⑤生成器未生成交易确认书报错补事件id/客户/平仓日便于关联扩张日志;IYcLogger无Warn统一用Error 2026-08-20 18:14:40 +08:00
张名锐 582cb2c7c5 Merge branch 'glms/feature/1.4.2' into glms/feature/0812_zmr_divPower
# Conflicts:
#	YLErpDAL/Modules/EodModule/BondPaymentService.cs
#	YLErpDAL/Modules/SwapModule/SwapDealService.cs
2026-08-20 16:21:13 +08:00
锦麟 王 febd0ce02e #EQD-6947 国联民生-保证金计算整体改造-实现第一版盯市规则(不支持同一客户多部门)(1)保证金规则的设置 阶段3 2026-08-20 14:20:29 +08:00
张名锐 b2f4e16782 feat(bond): 支持股票和基金现金分红纳入债券支付计算 - 收紧过度开发行为
- 实现股票/基金现金分红数据从 ex_dividend_info 同步到 BondPayment
- 新增公司行为去重机制,避免镜像任务完成后重复计息
- 统一现金分红存储口径为"每 10 份派现金额",保持与同步任务一致性
- 修改 CalcPayment 方法,股票/基金分红需除以 10 转换实际现金金额
- 添加单元测试验证债券票息和股票/基金分红的不同计算方式
- 更新文档注释说明"每 10 份派现金额"存储规范
- 修复公司行为生效日处理逻辑,确保正确应用除权系数
- 扩展测试覆盖股票类证券的公司行为处理场景
2026-08-20 13:30:36 +08:00
张名锐 aa3548e77f feat(bond): 支持债券与股票基金公司行为现金流计算的差异化处理 - init2
- 修改 CalcPayment 方法添加 useBondPriceScale 参数区分债券和股票/基金的金额计算口径
- 债券利息按每100元面值票息通过BondPriceConverter转为入库金额,股票基金分红直接计算
- 在BondPaymentService中添加详细的参数说明文档注释
- 更新SwapDealService中分红计算逻辑,根据标的类型自动选择合适的金额转换方式
- 新增CorporateActionEventLifecycleTest单元测试验证公司行为事件生命周期管理
- 添加SplitCorporateActionTddTest测试验证拆合股功能
- 优化FundCorporateActionRollbackAndUnwindTest扩展到股票类型测试
- 更新前端OperationHistory页面表格列宽和显示格式支持更长的说明信息
2026-08-19 17:48:34 +08:00
张名锐 aa1a13d7a3 feat(trade): 新增真实除权日字段并完善基金公司行为处理 init
- 添加 EffectiveDate 字段用于标识真实除权生效日
- 实现公司行为价格系数和数量系数统一计算方法
- 增加基金除权回退和平仓基线恢复功能
- 完善除权日验证逻辑,确保真实除权日不早于股权登记日
- 重构平仓流程,支持按有效EOD基线重新计算损益和现金
- 添加基金拆合股和现金分红的特殊处理逻辑
- 增加单元测试验证各种公司行为场景下的正确性
2026-08-18 11:20:56 +08:00
hjhan 1d9bac4dd6 refactor(swap): 提取 EodSwapPositionQueries.ActiveByTradeAndDate 收口日终有效持仓查询
将 eod_swap_position 上'SwapTradeId + ValueDate + !Invalid'的 5 处重复谓词
(SwapEodPositionService.cs:2133/2195/2246/2487、ConfirmationGenerateContext.cs:2868)
收口到 EodSwapPositionQueries.ActiveByTradeAndDate(tradeId, valueDate),
与 SwapPositionQueries.ActiveByTrade 同构,零逻辑变更。
2026-08-15 13:44:53 +08:00
张名锐 04f4468be5 refactor(trade): 优化除权信息处理逻辑和数据查询策略
- 在 FindExDividendByBusinessKey 方法中添加注释说明业务唯一键按"标的 + 自然日"定义
- 实现字段独立合并策略,当前值非零时覆盖旧值,为零时保留旧值
- 保存前统一截断时间部分,确保同一天不同时间能命中同一个自然日业务键
- 先在当前批次内按业务键归并,避免重复行生成多条数据库记录
- 除权数据查询时不使用 SQL 左连接,防止重复行扩增影响风险计算
- 使用不区分大小写的 UnderlyingCode 匹配,兼容代码大小写差异
- 除权记录不参与 SQL 左连接,先完成基础关联再内存查找唯一记录
- 风险对象的除权 Pv 重算规则与持仓处理保持一致,仅在股票交易类型下执行
2026-08-13 11:09:50 +08:00
张名锐 5a51d66970 refactor(dividend): 优化除权除息计算逻辑并改进数据类型精度
- 将除权除息相关数值字段从 double 类型改为 decimal 类型以提高精度
- 重构了红利比率计算方法 GetRatio,新增 GetRatioDecimal 方法使用 decimal 计算
- 修改价格和持仓数量计算逻辑,统一使用 decimal 进行高精度运算
- 更新数据库查询逻辑,将篮子标的判断从 IsBasket() 方法改为 CommodityCode 条件
- 优化 AddDividendInfos 方法中的批量处理逻辑,增加业务键冲突检测
- 添加数据源标识字段 DataSource 和来源更新时间字段 SourceUpdatedAt
- 新增 FindExDividendByBusinessKey 和 MergeNonZeroDividendValues 辅助方法
- 更新结算服务中除权除息信息的获取方式,使用字典查找替代 LINQ JOIN
- 修复前端保存除权信息时的响应处理逻辑
- 为基金类型也开放除权功能,不仅限于股票类型
- 添加单元测试验证篮子标的查询翻译逻辑的正确性
2026-08-13 10:53:57 +08:00
tengyufan b0b04dbdea fix: 修复交易审批期初标的价格取值 2026-08-06 11:29:54 +08:00
lisong 36877744fa Merge remote-tracking branch 'dest/glms/feature/1.4.2' into feature/p132_74-risk-engine 2026-08-05 17:28:20 +08:00
lisong a889925440 Merge branch 'feature/p132_74-risk-engine' of https://gitee.glmszq.com/gsty/onederiv/trs into feature/p132_74-risk-engine 2026-08-05 17:27:15 +08:00
tengyufan 864a29d6a8 #EQD-6605 国联民生-确认书编号规则调整(不基于甲方乙方判定)
feat: 国联民生收益互换按簿记分类生成交易编号

簿记账户新增“簿记分类”字段,支持代客、融券,新增账户默认代客,历史账户统一初始化为代客
簿记账户分类设为必填,列表、编辑及详情页面同步展示
修改已被交易引用的簿记账户分类时增加二次确认,并提示关联交易数量
国联民生收益互换交易编号不再根据甲乙方判断,改为根据簿记账户分类生成
代客使用数字序号,融券使用字母序号,分别从已有同客户同日编号的最大序号继续递增
保留手工交易编号优先逻辑,标准格式的手工编号参与后续最大序号计算
生成候选编号后检查完整交易编号是否已存在,存在则继续递增
新增簿记分类编号格式、最大序号计算及数字字母序列隔离专项单测
2026-08-05 15:55:01 +08:00
ruisu 8fb3c4392c feat:风控触发时显示应用ID、
新老风控组合校验:
老风控Error/Warning,新风控需审批——点击特批即两边都放行
老风控Error/Warning,新风控禁止——不展示
老风控Error/Warning——展示特批,且只特批老风控。
新增风控流程日志
2026-08-05 14:39:01 +08:00
yexuzhong 5d580960d8 #EQD-6669 国联民生-期权希腊值计算步长和细节调整(定价引擎部分) 2026-07-31 10:35:25 +08:00
tengyufan 20e4b82ae3 fix: 修复国联收益互换交易编号首次生成大小写不一致
- 首次入库后按 UpperTradeNumber 配置统一交易编号大小写
- 避免自动生成小写编号在后续编辑保存时被转为大写
- 补充交易编号大小写配置的单元测试
2026-07-30 17:46:18 +08:00
tengyufan b3484c3618 fix: 国联民生收益互换支持审批前生成交易确认书
- 仅国联民生收益互换支持在新增待确认、修改待确认、审批中生成交易确认书,期权、其他公司及其他交易状态保持原限制
- 交易确认书页面同步开放上述交易的“生成确认书”按钮,后端批量生成链路同步放开状态过滤
- 审批前生成仅校验客户、标的、初始持仓等模板必需核心数据;不以银行账户、联系人、保证金等非模板必填资料阻断
- 审批前已生成确认书的交易被修改时,使该交易原确认书关联失效,重新生成仍按原覆盖逻辑处理
- 审批拒绝时清理该交易审批前生成的确认书关联、OA 结果及用印队列;无其他有效引用时删除确认书数据,避免遗留无效确认书
- 保持原交易编号逻辑:自动生成和手工填写均不复用已拒绝交易编号
- 新增审批前适用范围、确认书关联及 OA 清理谓词专项单测
2026-07-30 11:10:48 +08:00
hjhan 76f5caabd9 fix(EQD-6604): 补 GuolianContractNoGenerator.BuildTradeNumber 纯函数,修复 UnitTestProject 编译失败
测试 GuolianContractNoGeneratorTest 调用了 BuildTradeNumber(trade, clientCode, sequenceNo) 纯函数,
但生产类此前只有依赖数据库的 Generate(YLContext, ...)。抽出不连库的 BuildTradeNumber 供测试与 Generate
共用,编号格式与现有 Generate 输出完全一致(GLMS-{client}-{yyyyMMdd}-FICC-{序号}-{去点标的})。
6 个单测全部通过,生产行为不变。
2026-07-29 18:39:09 +08:00
tengyufan d1f697c524 #EQD-6604 国联民生-确认书编码生成环节移到簿记(支持手工录入)
feat: 国联民生收益互换簿记后按确认书规则生成交易编
- 补充单测文件
2026-07-29 17:14:40 +08:00
tengyufan e1c5f72418 #EQD-6604 国联民生-确认书编码生成环节移到簿记(支持手工录入)
feat: 国联民生收益互换簿记后按确认书规则生成交易编号

- - 国联收益互换首次入库后复用原交易确认书编号规则生成交易编号,保留手工填写的交易编号
- 覆盖手工新增、系统流水自动簿记、普通交易导入、流水导入和日终合成今日交易流水
- 自动流水簿记增加本地事务,交易编号回写与基础簿记数据失败时统一回滚
- 交易确认书生成时直接取交易编号,不再重新生成确认书编号
- 结算管理-交易确认书页面将合约编号更名为交易确认书编号
- 上传确认书时将合约编号更名为交易确认书编号
- 历史交易编号不处理
2026-07-29 16:45:29 +08:00
张名锐 aa8fb9fd7a Merge branch 'glms/feature/swaptrade_6603_mbb' into glms/feature/1.4.2
# Conflicts:
#	YLErpDAL/Modules/SwapModule/SwapTradeService.cs
2026-07-24 13:29:10 +08:00
马冰冰 4419a4125b (fix): 将原保证金模板名称=系统默认 的默认值改为null。 2026-07-22 16:28:17 +08:00