Commit Graph
281 Commits
Author SHA1 Message Date
张名锐 00a9d53845 Merge remote-tracking branch 'origin/glms/feature/1.4.2' into glms/feature/1.4.2 2026-08-27 19:01:44 +08:00
张名锐 ea2f583c6d fix(swap): 解决日期刷新后部分平仓数量计算问题-公司行为
- 在日期刷新基线方法中添加平仓数量重新计算逻辑
- 确保非全平仓情况下按原比例重新计算平仓数量
- 添加单元测试验证部分平仓数量按原比例重算功能
- 修复了日期刷新后平仓比例与实际平仓数量不匹配的bug
2026-08-27 19:01:29 +08:00
hjhan 84b5a362e8 修复 SP_002 冒烟测试两处取数偏差
- 样本 join underlying_manager:取数链路 InnerGetEodPrice 从标的表出发 join 价格表,
  未登记为标的的代码取数必返回 null,冒烟样本须限定在已登记标的上
- 查询日期经 GetNonHolidayDefore 回退到最近交易日:dev 库 eod_stock_price 混有
  非交易日/未来日期脏行(如 2026-08-30 周日),取数链路按交易日历向后滚到下一交易日
  后无数据导致假失败
2026-08-27 18:46:10 +08:00
锦麟 王 35d68acc02 BugFix 腿加上币种 2026-08-27 18:40:46 +08:00
hjhan 15d25228af 授信/现金资金标签分配链路 double→decimal 精度收敛
- FundTagCalc 全链路(LegAmount/LegFundPlan/UnwindTagSplit/TagRelease/MarginLegSettlement)金额类型改 decimal,消除 double 二进制误差在拆单倒挤、守恒校验中的分位尾差
- 边界处显式转换:writeCash 委托与 ClientCreditInoutService.Occupy/Release(仍 double)、GetAvailableCredit 返回值 (decimal) 强转
- SwapDealService.RecordMarginCashFlow/ReleaseMarginByFundTag 签名同步 decimal,测试桩 TestableSwapDealService 对齐
- 单测断言去掉 1e-6 容差(decimal 精确比较)
2026-08-27 18:22:56 +08:00
锦麟 王 a21013b590 BugFix 追加预付金腿生成 2026-08-27 18:07:15 +08:00
锦麟 王 1eeed01914 修复追保金额计算逻辑 2026-08-27 17:46:44 +08:00
张名锐 db2788b122 Merge remote-tracking branch 'origin/glms/feature/1.4.2' into glms/feature/1.4.2 2026-08-27 16:14:07 +08:00
张名锐 d2b6dff598 fix(swap): 解决互换平仓时保证金返息重复计算问题
- 添加保证金返息去重机制,防止平仓时返息被重复计入资金记录
- 新增 GetMainCashRealizedPnL 方法专门处理返息剔除逻辑
- 更新 DealUnwind 和 ApproveSwapTrade 方法使用统一的返息处理口径
- 修改 ReleaseMarginByFundTag 方法增强标签分流功能
- 添加多个单元测试验证返息处理的正确性
- 将 SaveAllChanges 设为可测试化接缝便于测试验证
- 调整 FundTag 分流逻辑支持授信和现金腿分别处理
2026-08-27 16:13:59 +08:00
锦麟 王 95cbff0faa Bugfix 累加预付金的问题 2026-08-27 14:48:32 +08:00
tengyufan 877cf9dc4f fix: 兼容TRS日终推送历史利息腿类别为空 2026-08-27 13:16:01 +08:00
hjhan 9121a13fc4 chore: 清理源码注释中的内部项目代号,避免交付歧义
BondCalcHepler 调用链注释 zszq-trs/zszq-bond-oms 改为中性表述
(TRS主服务/bond-oms);集成测试交易编号夹具 ZSZQ-IS- 前缀改为
TRS-IS-。OA 对接配置值与数据库名为功能性配置,不在本次范围。
2026-08-27 08:58:22 +08:00
张名锐 0be56ab14b Merge branch 'glms/feature/0812_zmr_divPower' into 'glms/feature/1.4.2'
fix(bond): #JTZG-136 国联民生-有期间付息,自动互换的的时候互换日期不正确

See merge request otc-dev/zszq-trs!18
2026-08-26 05:41:41 +00:00
张名锐 ac7b04e79d fix(bond): #JTZG-136 国联民生-有期间付息,自动互换的的时候互换日期不正确
- 将 BondPaymentService.GetBondPayments 方法的过滤条件从 reg_date 改为 payment_date
- 更新相关日志信息显示 [分红-付息日口径] 替代 [分红-登记日口径]
- 修正单元测试中的注释和变量名,统一使用 payment_date 口径描述
- 修改测试数据构造,验证按实际付息日进行票息计提的逻辑
- 更新相关文档注释,明确日期口径变更的具体实现方式
2026-08-26 13:40:59 +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
张名锐 327348c9b3 Merge branch 'glms/feature/0812_zmr_divPower' into 'glms/feature/1.4.2'
feat(swap): 添加公司行为现金分红按登记日权益数量计算功能

See merge request otc-dev/zszq-trs!16
2026-08-26 02:35:03 +00:00
张名锐 6c582ac958 feat(swap): 添加公司行为现金分红按登记日权益数量计算功能
- 新增 CalcBondPayment 方法支持传入公司行为权益数量参数
- 在 SwapEodPositionService 中识别现金分红类型的公司行为持仓
- 修改 CopyEodPosition 和 UpdateEodPosition 方法传递公司行为前的数量信息
- 更新 SaveCurrentEodInitalPosi 方法支持公司行为数量计算
- 在 BondPaymentService 中实现公司行为现金分红按登记日权益数量计算逻辑
- 添加单元测试验证公司行为现金分红使用除权前数量的计算功能
2026-08-26 10:33:51 +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
张名锐 0e2aaa57b2 Merge branch 'glms/feature/0812_zmr_divPower' into 'glms/feature/1.4.2'
fix(swap): 修复公司行为事件生命周期管理问题

See merge request otc-dev/zszq-trs!15
2026-08-25 09:59:30 +00:00
张名锐 aa87d69999 fix(swap): 修复公司行为事件生命周期管理问题
- 添加了股权登记日日期格式化显示功能
- 实现了公司行为类型的动态描述逻辑(配股、送股、拆分、分红)
- 新增了过滤待生效公司行为事件的操作历史机制
- 修正了操作历史中隐藏未应用公司行为事件的逻辑
- 完善了公司行为事件原因描述的构建方法
- 添加了针对不同公司行为类型的单元测试验证
2026-08-25 17:58:51 +08:00
tengyufan 336cc3d88b feat: 新增TRS合约日终Kafka推送
- 在日终任务的逐日循环中,于当日收盘、风险监控和日终文件生成完成后,
  按 valueDate 推送一条 TRS 合约全量快照;区间收盘逐日推送,空日推送空快照。
- 基于 eod_swap、trade、eod_swap_position、swap_position 组装合约字段,
  Kafka Key 使用 yyyy-MM-dd 格式的 valueDate。
- 新增带 Key 的 Kafka 发送重载;保留原有无 Key 发送及其吞异常行为,避免影响既有调用。
- 推送失败最多尝试 3 次;最终失败记录 Error 日志,并按 eod_swap.id 写入 push_status,
  空快照失败使用 record_id=0。
- 增加 ContractTopic 配置,默认及各部署环境使用 onederiv.trs.contract.v1。
- 增加定向单测,覆盖空快照、区间逐日推送、重试成功、三次失败和字段映射。
2026-08-25 16:07:21 +08:00
张名锐 147bcf4bf7 Merge branch 'glms/feature/0828_EQD-7084' into 'glms/feature/1.4.2'
feat(eodswapposition): 新增框架合约新口径展示功能

See merge request otc-dev/zszq-trs!14
2026-08-25 07:40:56 +00: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
张名锐 7d0eb16f64 feat(eodswapposition): 新增框架合约新口径展示功能
- 在EodPnlCalculator中添加CalculateEodSwapRiskNewFields方法,实现新口径计算逻辑
- 创建EodSwapRiskNewFields和EodSwapRiskNewResponse模型类,支持新的展示字段
- 实现SearchEodSwapNewList查询方法,复用旧查询权限控制并计算新字段
- 添加index=3的新框架合约Tab页面,使用独立查询接口和列配置
- 前端JavaScript中实现colModelGridEodSwapNew列模型,替换旧字段并新增9个字段
- 完善导出功能支持新Tab的标准格式导出,保持与旧口径分离
- 更新测试用例验证新框架合约前端接线正确性
2026-08-25 13:49:30 +08:00
锦麟 王 d43e77ee6f #EQD-6948 国联民生-实现保证金规则(2)追保金额的产生与收盘计算 ETF 子类分档(转债ETF/科创债ETF) 2026-08-24 18:23:26 +08:00
锦麟 王 c35befbe8f #EQD-6948 国联民生-实现保证金规则(2)追保金额的产生与收盘计算 收盘计算和授信占用 2026-08-24 16:34:18 +08:00
hjhan 7b65ec0979 chore(swap): 删除全部期货公司定制保证金计算死代码——36个厂商类+东吴DongWu子目录+调度器四处厂商switch收敛Default直调+MarginTypeEnum三个不可达枚举项;连带YLErpUnitTest厂商类历史快照副本与4个厂商测试(3个零断言草稿/1个招证金标准)。本分支Company=国联无专属case,厂商路径本就永不执行;顺带消除Debug配置残留的格林大华#if DEBUG两处编译错误。-23231行,Release/Debug/UnitTestProject三处构建0错误 2026-08-22 07:58:25 +08:00
张名锐 657c44b8f4 refactor(test): 优化自动互换测试中的流水事件持久化逻辑
- 移除多余的 PersistFlowEvent 方法重写
- 更新 PersistedFlowEvents 属性实现以直接使用 FlowEvents
- 添加详细注释说明测试接缝的设计意图
- 简化测试代码结构提高可维护性
2026-08-21 17:28:09 +08:00
张名锐 fa63d4ee69 Merge branch 'refs/heads/glms/feature/1.4.2' into glms/feature/0812_zmr_divPower 2026-08-21 17:09:15 +08:00
张名锐 392e36a820 feat(bond): 添加公司行为现金分红标识并优化付息计算逻辑
- 在 BondPayment 模型中添加 IsCorporateActionCashDividend 属性用于区分不同数据来源
- 修改 BondPaymentService 中的 CalcPayment 方法,按每条记录来源分别处理金额单位转换
- 更新单元测试以验证混合债券付息和公司行为分红的正确计算
- 移除不再需要的 useBondPriceScale 参数简化方法接口
- 修正注释说明以反映新的按记录类型分别计算的逻辑
2026-08-21 16:51:55 +08:00
hjhan b9968dc80a feat(swap): EQD-6953 后端值域闸门补疑似到期债券判定——IsResultAbsurd新增分支:IsMaturedDegenerate(ytm=0且净/全价均为面值100,抽为public纯函数供单测)命中即返回null+真实原因文案,走既有'宁可不回写'守卫链;判定条件与前端swapCalc.js同款闸门一致(注释互指);新增6个单测(命中/正常券180205实测值/零息平价/息票平价/ytm null/IsResultAbsurd分支接线)全过 2026-08-21 15:29:17 +08:00
马冰冰 38e0a7795f Merge branch 'glms/feature/1.4.2-M819' into glms/feature/1.4.2 2026-08-21 14:19:40 +08:00
马冰冰 f16634534c feature:#EQD-7093 国联民生-交易确认书校验(2)针对ETF标的获取新增信息并且支持配置分类。 ETF交易确认书中填充参考标的证券全称、参考标的基金管理人, 2026-08-21 14:16:05 +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 640c78b5a9 refactor(swap): EQD-6977 trace可读性第二批:①②与p{id}语义化——承接①→已并复利本金(capitalized)、②→段内已计利息(carryIn),日志/类头注/方法注/测试断言四处同步,运维凭日志即知两承接量含义;SwapDealService×12+SwapEodPositionService×1的p{position.id}统一改融资腿{position.id}(FIX GetFloatRate/Resolve/Segments/EodCloseRefix全系列);测试断言同步更新(此前漏查到一处trace断言已一并改);27/27罚息单测通过,Swap全套644例中仅2例DB依赖失败(干净树复验为既有环境问题) 2026-08-21 08:54:47 +08:00
hjhan 6e76f1c10d fix(swap): EQD-6977 无preEod兜底①=0且账龄超重置周期补退化告警trace——interestWindowEmpty(当日已结息)早退不重放覆盖种子值时①静默0(重置日分支本有同类告警,段中分支漏)复利每周期并本理应①>0;trace含事件基数/平仓本金两侧对比值+账龄天数+重置周期+疑似成因指向(interestWindowEmpty种子未重放/日终归档缺失)足够事后定位根因;承接块抽为ResolveCompoundCarry私有纯方法(Merge瘦身,三分支数据契约注释随行,行为零变化);TDD先行3例trace钉子:退化必告警(先红)/兜底>0不告警/真首日不告警;罚息域27例+GetInterests入口语义9例全绿 2026-08-21 07:10:04 +08:00
hjhan 8b66875098 test(swap): EQD-6977 罚息兜底补share<1恒等式用例——50%平仓+无preEod场景钉merger复刻GetInterests本金口径的接缝(标的期初全价CalcNotional=posiNotional×closePercent vs 重放基数按closePosiNotionalValue缩放);现有用例全closePercent=1m,两处口径若有偏差在share=1下不可见、share<1时①混入本金差;变异验证:CalcNotional临时忽略closePercent唯此用例红(1败7过)证明鉴别力;RunFee加closePercent参数默认1m存量调用零影响 2026-08-21 07:09:57 +08:00
张名锐 039415d44c fix(swap): 修复股票基金类互换合约平仓时公司行为处理逻辑
- 优化 FindFundCorporateActions 方法,明确查询范围为严格大于 eodDate 的开区间,并添加日志记录
- 重命名 TryRestoreEffectiveFundPosition
2026-08-20 17:31:02 +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
张名锐 ff7e540084 refactor(swap): 优化基金公司行为处理逻辑 - finished001
- 修改 FindFundCorporateActions 方法以支持查询跨日期范围的公司行为记录
- 实现按生效日期和ID顺序稳定排序的多条公司行为记录处理
- 更新平仓时基金基线恢复逻辑以正确处理跨多个生效日的场景
- 在测试类中重写 FindFundCorporateActions 方法以支持单元测试验证
- 添加完整的跨非交易日公司行为恢复功能测试用例
2026-08-20 16:10:56 +08:00
hjhan 286a834aa5 fix(swap): EQD-6977 无日终快照时承接①兜底取事件基数——复利重放把 normalEvent.InterestPrincipal 写为末次并本金后基数(=被平份额本金+①),同为实际值;UAT实测(无快照+已有8/19重置)原①=0少算≈3.17元已消除;重置日+无快照退化场景补告警trace;新增兜底路径恒等式测试(23/23) 2026-08-20 16:09:43 +08:00
hjhan d6646f9c90 fix(swap): EQD-6977 重置日当天平仓承接①修正——快照基数还是上一段的,须改取 InterestIncomeSum(昨日全部待实现于今日并入);新增边界矩阵测试:重置日当天(算尾/不算尾)/重置日前一日/到期日=重置日/锚点偏离(延期腿)/起息日当天,恒等式 22/22 全绿 2026-08-20 15:46:57 +08:00
hjhan ffffe842c6 fix(swap): EQD-6977 罚息精确续接落地——承接量改用实际计息状态(preEod基数+事件实结,弃冻结重放)、锚点统一PosiStartDate、罚息并入既有利息流InterestFee(去独立事件/去is_penalty_interest列及DDL/回退closeList与EOD两处守护)、接缝加eventType==平仓守卫、trace逐腿全程落盘、新增多区间不同定盘恒等式测试(旧冻结重放实现必挂) 2026-08-20 15:11:33 +08:00
hjhan 09660fffea test(swap): EQD-6977 同步金标准测试——删除CalcPenalty valueDate具名实参 2026-08-20 13:37:26 +08:00
张名锐 b2f4e16782 feat(bond): 支持股票和基金现金分红纳入债券支付计算 - 收紧过度开发行为
- 实现股票/基金现金分红数据从 ex_dividend_info 同步到 BondPayment
- 新增公司行为去重机制,避免镜像任务完成后重复计息
- 统一现金分红存储口径为"每 10 份派现金额",保持与同步任务一致性
- 修改 CalcPayment 方法,股票/基金分红需除以 10 转换实际现金金额
- 添加单元测试验证债券票息和股票/基金分红的不同计算方式
- 更新文档注释说明"每 10 份派现金额"存储规范
- 修复公司行为生效日处理逻辑,确保正确应用除权系数
- 扩展测试覆盖股票类证券的公司行为处理场景
2026-08-20 13:30:36 +08:00
hjhan bb8130698f test(swap): EQD-6977 罚息接缝 headless 单测——固定/浮动腿追加 IsPenaltyInterest 标记 + 承接恒等式(全期=已结+罚息) 2026-08-20 13:23:12 +08:00
hjhan ed86402aba test(swap): EQD-6977 罚息契约钉死——金标准恒等式(全期=已结+罚息,含不算尾/中段平仓双承接量) + 边界四象限 + 部分平仓 + 冻结取率规则 2026-08-20 11:51:25 +08:00