Commit Graph
31 Commits
Author SHA1 Message Date
张名锐 fd2a054764 feat(swap): 实现互换交易价格精度控制功能 init
- 添加 swapPricePrecisionHelper.js 工具类处理价格精度格式化
- 新增 swappriceprecision.js 配置文件定义各类金融产品的精度规则
- 在 EodPositionRisks.cshtml 和 SwapIncome.cshtml 中引入新的价格格式化脚本
- 替换原有的价格格式化函数为基于产品类型的动态精度控制
- 移除旧的价格验证和标准化逻辑,改用新的精度控制机制
- 添加 vue-swap-price-input 组件用于精确的价格输入控制
- 更新 Controller 中的价格处理逻辑以支持新精度格式化方式
2026-07-29 09:44:04 +08:00
张名锐 bc961c3411 fix(swap): 修复互换交易中债券价格精度处理问题,扩充到11位计算
- 统一债券价格四舍五入规则,使用AwayFromZero模式
- 为债券类型添加特殊的精度处理逻辑
- 修复前端价格显示精度计算问题
- 优化价格存储精度控制,区分债券和其他产品类型
- 修复初始化YTM和净价精度处理问题
- 更新价格验证逻辑以支持动态精度设置
2026-07-23 11:06:50 +08:00
张名锐 c58a9d40c4 feat(swap): 统一【期初、期末交割价格】精度处理
- 在ConsGlobal中新增SwapDeliveryPriceRound常量定义为9位小数
- 更新incomeSwapTrade.js中交割价格计算逻辑,添加getStorageDeliveryPrice方法
- 修改SwapConsumerService中TradingAmountAvg字段的精度处理
- 添加ValidateDeliveryPrices和NormalizeDeliveryPrices方法进行交割价格验证和标准化
- 在SwapEodPositionService中对PosiGrossPrice和UnderlyingPrice进行精度处理
- 更新SwapFlowEventService中TradingAmountAvg字段的精度处理
- 在SwapFlowImportService中添加交割价格精度处理
- 更新前端界面中的输入格式配置,使用新的交割价格精度设置
- 修改SwapflowList.js中交割价格精度处理逻辑
- 在SwapFlowService中添加交割价格验证和精度处理
- 更新SwapTradeAutoService中交割价格精度处理
- 修改SwapTradeService中PosiGrossPrice字段的精度处理
- 更新unwindSwapTrade.js中交割价格计算逻辑
2026-07-22 14:53:46 +08:00
张名锐 7fac6e13a8 feat(swaptrade): 实现收益结算审批页面期末价格回显功能
- 在incomeSwapTrade.js中修改TradingAmountAvg赋值逻辑,区分普通打开和审批打开场景
- 新增resolveIncomeTradingAmountAvg函数处理审批回显和普通默认值的不同逻辑
- 审批打开时保留已提交的期末全价,普通打开时使用期初全价作为默认值
- 统一债券价格×100缩放到界面百分比显示格式
- 添加单元测试验证审批回显和普通打开的功能差异
2026-07-17 13:17:28 +08:00
张名锐 415539704d fix(swap): 修复债券结息价差盈亏计算逻辑
- 将价差盈亏计算从使用CloseNotionalValue改为使用PositionQty和ContractSize
- 更新前端JavaScript代码中的计算公式,按持仓数量和合约乘数计算价差盈亏
- 在UnwindInput模型中添加PositionQty和ContractSize字段
- 修正后台计算服务中的数据映射逻辑
- 添加FC_009测试用例验证债券价差按数量计算的正确性
- 更新现有测试用例的输入参数以匹配新的计算方式
2026-07-17 10:58:31 +08:00
hjhan b3c2fdfe38 test(fe): 补充守卫注释与架构闸门,防新增内联金额计算
- 生产接线处补注释,追溯到具体历史 bug (dcf649f2/20ea93d8/3c5f25a5/f873239a)

- swapCalc.js 注明哪些函数已接入生产、哪些是纯交叉校验规格

- 新增 guard_arch.js 架构闸门:扫描提交新增行,拦截 Vue 组件内联金额计算

- pre-commit hook 串行运行 单元测试 + 架构闸门
2026-07-07 13:26:32 +08:00
hjhan 7f64d48699 test(fe): 接入 SwapCalc 纯计算模块 + 前端精度回归测试
- incomeSwapTrade.js / swapTradeEdit.js 改为调用 SwapCalc.*(缩放/取整/全价推导)

- 新增 fe-tests 守卫:4 个历史 bug 回归 + 8 场景对齐 C# FrontendCalcReference 金标准 + otcformat.js 精度配置守卫

- 新增 .git/hooks/pre-commit 自动运行前端守卫(失败阻断提交)
2026-07-07 12:30:19 +08:00
张名锐 6835a593b0 feat(swaptrade): 添加收益结算日期验证和限制功能
- 新增 MaxIncomeValueDate 属性用于限制收益结算日期上限
- 实现 parseLocalDate 函数用于解析本地日期格式
- 在前端添加日期选择器的最大日期限制和验证逻辑
- 添加 isAfterMaxIncomeValueDate 和 validateIncomeValueDate 方法进行日期验证
- 在后端添加 GetMaxIncomeValueDate 方法计算最大收益结算日期
- 实现 ValidateIncomeValueDate 对收益结算日期进行服务器端验证
- 添加 NormalizeIncomeUnwindDate 方法统一处理平仓日期
- 在模型中新增 MaxIncomeValueDate 非映射属性用于前端显示
- 更新日期格式化函数确保日期字符串的一致性处理
2026-07-06 15:20:21 +08:00
锦麟 王 de0e7f791b BugFix 计算中都使用GrossPrice 2026-07-02 20:46:58 +08:00
wjl bfb69c2eae Bugfix 修改字段错误 2026-07-02 19:24:14 +08:00
wjl 6b2ec7c8c1 回退TradingAmountAvg的修改,后续全价(含费)或者全价(不含费)再梳理 2026-07-02 18:50:58 +08:00
锦麟 王 dcf649f27e #EQD-6402 手动互换-保存后价格精度不正确 2026-07-02 17:25:07 +08:00
锦麟 王 3c5f25a5a0 BugFix FloatPnlSum展示的位数问题 2026-06-29 15:18:46 +08:00
锦麟 王 375ad46b6d BugFix 平仓互换页面展示的盈亏不对 2026-06-29 15:02:37 +08:00
锦麟 王 87671fcece BugFix 平仓互换平仓,导致页面的分红不对 2026-06-26 17:17:55 +08:00
锦麟 王 d9fc5965d3 BugFix 系统中MarkCloseValue歧义部分修改 2026-06-26 16:06:13 +08:00
锦麟 王 33fd6f8d41 BugFix 收益互换调整分红方向 2026-06-26 14:12:54 +08:00
锦麟 王 ab70531f17 MarkClosePnl 不要重复计算分红 2026-06-26 11:03:22 +08:00
hjhan 276c1c2961 修复互换收益结算期末价不可编辑及刷新图标缺失
ab09cbc9为支持自动互换期间付息,误将期末标的价格改为纯文本不可编辑,
并删除了changeUnderlyingPrice/refreshUnderlyingPrice方法。开发误解了需求:
自动互换默认填上次互换价是后端逻辑,手动互换时期末价应可编辑+刷新(与平仓页一致)。

对齐平仓页(SwapUnwind)恢复:
- incomeSwapTrade.js: 恢复changeUnderlyingPrice、refreshUnderlyingPrice方法
- SwapIncome.cshtml: 期末价列恢复vue-number-input输入框+刷新图标
- SwapDealService.cs/InitIncome: 补充注释说明TradingAmountNetAvg字段
  虽名为期末语义但此处装入期初净价,避免后续混淆
2026-06-25 14:41:55 +08:00
hjhan 20ea93d89c 修复互换收益结算期末价被错误缩放及显示问题
a00fe3cc合并etf分支时,误把initDeal中TradingAmountAvg的×100缩放去掉,
导致期末标的价格停留在相对价态(1.02),提交时又被getPriceScale()÷100,
最终swap_flow_event.TradingAmountAvg入库为0.0102,且盈亏计算错误。

对齐平仓页(unwindSwapTrade.js)的正确实现:
- initDeal: TradingAmountAvg = initPosiNetPrice × multiplier 转为界面百分比态
- SwapIncome表格期末价列: 不再经过priceFormat(避免二次×100),直接显示界面态值
2026-06-25 14:04:54 +08:00
锦麟 王 3627f12e10 前端,平仓和收益结算扣除掉已实现分红 2026-06-25 09:40:44 +08:00
吴方海 45173c50c6 分红保留2位小数 2026-06-23 11:02:19 +08:00
吴方海 a00fe3ccaa Merge branch 'glms/feature/1.4.2-etf' into glms/feature/1.4.2
# Conflicts:
#	YLErpWeb/wwwroot/Scripts/app/swaptrade/incomeSwapTrade.js
2026-06-22 13:45:25 +08:00
吴方海 ab09cbc9ca #EQD-6196 国联民生-收益互换期间付息支持自动支付 2026-06-18 10:33:04 +08:00
吴方海 9e50819070 普通收益互换的模板恢复
#EQD-5914 国联民生-债券ETF为标的的TRS业务支持
2026-06-02 16:10:43 +08:00
吴方海 3e650b8f38 期初标的价格(债券的)希望是小数点9位问题 2026-05-28 15:16:32 +08:00
吴方海 a15943a8ba #EQD-5739 【待确认】国联民生-互换交易收益结算时分红收益缺陷 2026-05-11 11:30:34 +08:00
hjhan 6708878d6a feat(swap-trade): 新增收益互换交易功能
- 实现了收入互换交易的前端界面和交互逻辑
- 添加了平仓日期、标的价格、交易费用等字段的处理
- 集成了价格格式化和数值精度控制功能
- 实现了浮动端平仓盈亏计算逻辑
- 添加了利息端信息获取和平仓金额计算
- 集成了审批流程和复核机制
- 实现了后端服务层的平仓初始化和利息计算功能
- 添加了多空组合平仓和收益互换的业务逻辑
- 集成了底层数据库模型和服务类
- 实现了价格缓存和数据验证机制
2026-04-14 09:09:18 +08:00
嬴政 时 c421167d61 fix: #EQD-3078 1.3.3生产上线时发现的两个前端问题 2025-11-17 11:03:05 +08:00
吴方海 4b9bcfb2dc bug修复 2025-04-18 17:00:25 +08:00
吴方海 f9d8a256a6 从山证v2.3.0拷贝 2024-05-09 14:06:26 +08:00