Commit Graph
221 Commits
Author SHA1 Message Date
tengyufan b1d2ad0756 fix: EQD-6718 收益互换浮动端多空方向兼容历史支付数据
- 配置开启时,查看交易、审批查看、交易平仓、收益结算和平仓详情按浮动收支方向与原多空方向组合展示多空方向
- 兼容历史支付数据:支付多头展示为空头,支付空头展示为多头,收取方向保持原多空展示
- 新增浮动端方向组合及相关页面覆盖专项测试
2026-08-07 16:46:37 +08:00
张名锐 5182ef2532 style(swap): 为收益互换和解约页面的价格输入组件添加样式类
- 为SwapIncome页面的vue-swap-price-input组件添加swap-delivery-price-input-income类
- 为SwapUnwind页面的vue-swap-price-input组件添加swap-delivery-price-input-unwind类
- 在unwindSwapTrade.css中为新添加的类设置统一宽度样式
- 移除内联样式style="width:107px"改为CSS类控制宽度
- 统一价格输入框宽度为160px提升界面一致性
2026-08-07 16:27:04 +08:00
张名锐 3a435ad89b fix(swap): 修复平仓事件中事件日期=平仓日期的处理逻辑
- 将平仓条件判断从 UnwindDate 改为 EventDate
- 移除不再使用的 priorClosePositionIds 变量
- 统一使用 NormalizeEventUnwindDate 替代 NormalizeIncomeUnwindDate
- 在多个平仓方法中添加 NormalizeEventUnwindDate 调用
- 更新流程事件的 EventDate 和 UnwindDate 字段
- 修改单元测试以验证按 EventDate 分桶的逻辑
- 在前端控制器中将 unwindDate 设置为 valueDate
- 添加 maxdate 属性到平仓日期选择器
- 实现事件日期与平仓日期的双向同步功能
- 更新利息列表获取接口使用统一日期参数
2026-08-07 13:46:24 +08:00
tengyufan 02eb592399 fix: 限制互换展期新到期日不得早于原到期日 2026-08-06 17:45:43 +08:00
张名锐 5b7f17727d refactor(swaptrade): 优化互换交易中的数量和金额格式化功能
- 引入UnderlyingInstrumentType字段用于精确控制格式化规则
- 添加quantityPrecision配置支持不同产品类型的数量精度设置
- 实现formatAmount和formatQuantity方法提供统一格式化接口
- 更新视图模板使用新的格式化方法替代直接数据绑定
- 重构swapPricePrecisionHelper.js支持按产品类型定制格式化规则
- 移除废弃的inputFormatTradeAmount等旧格式化配置
- 添加千分位分组显示功能提升数字可读性
2026-08-06 12:41:30 +08:00
张名锐 db5dcaf149 refactor(swaptrade): 替换硬编码精度配置为统一的精度管理工具
- 使用 swapPricePrecision 工具替代原有的 otcformat 精度设置
- 在多个页面文件中引入 swapPricePrecision 相关脚本
- 将原有的固定精度配置替换为动态精度获取方法
- 统一金额、数量、利率等字段的格式化处理逻辑
- 优化数据格式化函数,提高数值显示的一致性和准确性
- 移除冗余的硬编码精度参数,简化代码维护复杂度
2026-08-06 09:56:13 +08:00
张名锐 d5837f2de8 fix(swaptrade): 修复平仓比例显示精度问题
- 调整平仓比例显示精度为4位小数
- 修改掉期利率输入格式配置,设置精度为4并保留尾随零
- 确保数值显示的一致性和准确性
2026-08-05 17:52:51 +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 698662101b fix:修复点击“修改”按钮后偶发前端报错的问题 2026-08-05 14:30:42 +08:00
张名锐 9affdf5d41 fix(swap-trade): 修正名义本金小数点精度 2026-08-05 13:44:17 +08:00
张名锐 b3ba762838 Merge branch 'glms/feature/dotnumber' into 'glms/feature/1.4.2'
fix(swap): 修复平仓交易界面金额格式化问题

See merge request otc-dev/zszq-trs!8
2026-08-05 03:28:17 +00:00
张名锐 1458acc030 fix(swap): 修复平仓交易界面金额格式化问题
- 将展期界面的本金、利息、费用等字段格式化方法从inputFormatEqvNotional改为inputFormatCloseAmount
- 新增inputFormatCloseAmount格式化配置,设置精度为2位小数,支持负数显示,保留尾随零
- 统一展期界面各金额输入框的格式化规则,确保数据展示一致性
2026-08-05 11:27:37 +08:00
马冰冰 3b0021d79f Merge branch 'glms/feature/1.4.2-0805' into glms/feature/1.4.2 2026-08-05 10:59:15 +08:00
马冰冰 8689e75223 feature:筛选条件增加资产类型、列表显示增加资产类型 2026-08-05 10:58:29 +08:00
张名锐 d55923a1fb feat(swaptrade): 修复交易后付、预付金腿金额 小数点精度问题(2位)
- 新增 inputFormatTradeSinglePriceFixed2 固定精度为2位小数格式
- 更新 InterestPrincipalFix 字段使用固定2位小数格式
- 更新 PosiTradingFeePending 字段使用固定2位小数格式
2026-08-05 10:07:01 +08:00
张名锐 269807cc44 feat(swaptrade): 收益互换界面金额固定两位小数
- 新增 inputFormatInterestAmount 配置对象,精度为2位小数,支持负数显示和尾随零保留
- 在保证金列表中将 InterestAmount 和 InterestFee 字段的格式化从 inputFormatEqvNotional 替换为 inputFormatInterestAmount
- 在利息列表中将 InterestAmount 和 InterestFee 字段的格式化从 inputFormatEqvNotional 替换为 inputFormatInterestAmount
- 保持原有的双向数据绑定和事件监听功能不变
2026-08-05 09:52:22 +08:00
张名锐 b2c4442772 feat(swaptrade): 利率相关 添加尾随零修剪和数值格式化功能
- 在数字输入组件中添加 trimTailZeros 配置选项
- 修改条件判断逻辑以支持尾随零修剪控制
- 为掉期交易利率添加固定精度格式化功能
- 创建 formatObservationRate 函数用于观察率数值格式化
- 在观察率输入字段中添加失焦时格式化事件处理
- 更新视图中的利率显示格式化方式
- 统一利息金额的货币格式化显示
2026-08-03 17:04:51 +08:00
yexuzhong 633cd7d32d 计算指标可配置 2026-07-31 14:49:52 +08:00
马冰冰 f7e7aaa373 Merge remote-tracking branch 'origin/glms/feature/1.4.2' into glms/feature/1.4.2 2026-07-31 11:27:13 +08:00
马冰冰 696ac168f0 Changes:全部统一成续作 2026-07-31 11:10:55 +08:00
yexuzhong 5d580960d8 #EQD-6669 国联民生-期权希腊值计算步长和细节调整(定价引擎部分) 2026-07-31 10:35:25 +08:00
hjhan a871bcb9fe fix(login): 登录页 NeedCaptcha=false 时 CaptchaClick 避免 null.setAttribute 报错
页面加载时无条件调用 CaptchaClick(),但 <img id="captcha"> 仅在
NeedCaptcha=true 时渲染,导致无需验证码时 getElementById 返回 null,
null.setAttribute 抛错。增加 if (!img) return 守卫,img 存在时行为不变。
2026-07-31 09:10:05 +08:00
tengyufan cb2076d9ff fix: 交易确认书编号筛选项保持单行显示
- 国联交易确认书页面加宽交易确认书编号筛选项标签和容器
- 避免交易确认书编号标签自动换行
2026-07-30 17:58:51 +08:00
马冰冰 99438ccaf4 Merge branch 'glms/feature/1.4.2-0730' into glms/feature/1.4.2 2026-07-30 17:48:55 +08:00
马冰冰 807ac15417 feature:续作按钮应当有角色权限控制 2026-07-30 17:46:14 +08:00
tengyufan 43981e245b #EQD-6718 国联民生-收益互换隐藏收支方向,默认我方收取浮动收益
fix:国联民生收益互换隐藏收支方向,默认我方收取浮动收益

- 新增可配置开关 Erp.SwapFloatingIncomeReceiveOnlyMode,默认关闭,支持在普通模式与网厅适配模式之间切换
- 网厅适配模式下,新增及续做收益互换默认浮动端为我方收取,并隐藏新增、平仓、收益结算及查看页面的浮动端收支方向
- 普通模式保持原有展示和编辑逻辑,历史交易不修改原有浮动端收支方向
- 日终持仓风险_互换将浮动收支方向和标的多空合并为交易方向,并同步影响导出
- 交易方向映射收取+B为多头、收取+S为空头、支付+B为空头、支付+S为多头
- 新增交易方向映射专项前端单测
2026-07-30 14:46:07 +08:00
张名锐 345085677e refactor(swaptrade): 优化价格输入组件的事件处理机制
- 添加 enterPressed 和 formatSnapshot 状态管理
- 实现键盘事件监听和回车键处理逻辑
- 优化数据更新时机和事件触发顺序
- 添加格式配置变更检测功能
- 更新模板事件绑定方式
- 修改价格输入事件回调方法名以区分不同场景
2026-07-30 11:33:55 +08:00
张名锐 85f1bccb24 Merge branch 'glms/feature/1.4.2' into glms/feature/dotnumber
# Conflicts:
#	YLErpWeb/App_Data/Config/otcformat.js
#	YLErpWeb/Views/SwapTrade2/TradeEdit.cshtml
#	YLErpWeb/wwwroot/Scripts/app/swaptrade/swapTradeEdit.js
2026-07-30 10:50:44 +08:00
hjhan c97d7e7995 feat(diag): 可保留调试日志+版本可追溯机制(阶段0.5止血增强)
解决 EQD-6838 排查时硬编码版本号 v20260729a 散落3处、无法按需开关、
看不到实际加载缓存戳的问题。

层1 运行时开关(核心):
- HtmlUtil.cs 新增 GitCommit(读 AssemblyInformationalVersion,零新依赖)
- _MainLayout.cshtml 注入 window.ylotc.__diag(jsVersion+git+built)
- main.js 顶部新增 otcDebug 工具(banner+log),debug 默认 false 生产零输出
- swapTradeEdit.js / fastVue.base.js 硬编码标记改为 otcDebug.banner
- 开启方式:URL ?otcdebug=1(会话)或 localStorage.setItem('otcdebug','1')(持久)

层2 构建守卫:
- pre-commit 新增第三块 bundle 版本一致性检查(rebuild-bundles.py --verify)
- 修复 Windows python3 Store stub 不可用问题(优先用 python)
- 注:bundle 头部不注入 git sha(会随 commit 变化导致 verify 永久失败),
  版本可追溯完全由运行时 __diag(后端注入)覆盖

层3 单测预防:
- 新增 diag.test.js(213测试之一),用 console spy 守卫开关行为
- 断言不再含硬编码 v20260729a + 防止第二套调试开关回归

验证:11 suites/213 tests 全绿,--verify 通过,C# 编译0错误
2026-07-30 10:06:21 +08:00
hjhan cee69a02eb fix(EQD-6838): 修复约定2/3标识不更新的Vue响应式问题 + 组件内emit keydown + 去掉重算按钮
根因1(约定3按键不触发):
- .native 修饰符在 vue-number-input 上不可靠(jQuery在mounted中重新绑定了keydown)
- 改为在组件内部 addEventListener('keydown') + $emit('keydown')
- cshtml 从 v-on:keydown.native 改为 v-on:keydown

根因2(约定2/3标识不更新):
- bondDriverType/bondAuto/bondRev 不在后端数据中,直接赋值不触发Vue2响应式更新
- 成功分支之前用 $forceUpdate 兜底,但失败/编辑/按键分支没有
- 新增 syncBondFlags 方法,用 $set 强制触发响应式更新
- 在所有状态变更后调用:onBondPriceEdit/onBondPriceKeydown/onDpPriceInput/
  calcBondForItem成功/失败/setUnderlyingCode/加载路径

其他改动:
- 去掉"重算"按钮(用户确认不再需要)
- calcBondForItem 成功分支用 syncBondFlags 替代 $forceUpdate
- 重建 bundle.js(fastVue.base.js 是 bundle 输入)
2026-07-29 19:20:13 +08:00
hjhan d662399ab4 feat(EQD-6838): 债券三字段交互约定2/3 + 簿记逻辑1 实现
问题:
- 簿记基础逻辑1未满足:选标的后 setUnderlyingCode 调 getSpotPrice 自动填充净价/全价
- 交互约定3未满足:vue-number-input 的 input 事件只在失焦/回车时触发(__change),
  按键输入时不触发,导致用户输入过程中 源/AUTO 标识不会消失
- 交互约定2补充未满足:calcBondForItem 的早期返回分支(源字段为空/开始日缺失)
  未调 applyBondCalcFailure,导致回车后另两字段和标识未清空

修复:
- 簿记逻辑1:setUnderlyingCode 切换标的时清空净价/全价/收益率三字段,
  不再调 getSpotPrice 自动回填;refreshInitialUnderlyingPrices 续发场景也不自动填充
- 交互约定3:cshtml 三个 vue-number-input 加 v-on:keydown.native 绑定,
  新增 onBondPriceKeydown 方法——按键即清 源/AUTO 标识、标本字段 REV;
  回车键(13/108)和修饰键(Ctrl/Alt/Tab/方向键等)除外
- 交互约定2补充:calcBondForItem 的源字段为空/开始日缺失两个早期返回分支
  也调 applyBondCalcFailure,确保回车后另两字段清空、三标识全清
2026-07-29 19:09:29 +08:00
tengyufan e1c5f72418 #EQD-6604 国联民生-确认书编码生成环节移到簿记(支持手工录入)
feat: 国联民生收益互换簿记后按确认书规则生成交易编号

- - 国联收益互换首次入库后复用原交易确认书编号规则生成交易编号,保留手工填写的交易编号
- 覆盖手工新增、系统流水自动簿记、普通交易导入、流水导入和日终合成今日交易流水
- 自动流水簿记增加本地事务,交易编号回写与基础簿记数据失败时统一回滚
- 交易确认书生成时直接取交易编号,不再重新生成确认书编号
- 结算管理-交易确认书页面将合约编号更名为交易确认书编号
- 上传确认书时将合约编号更名为交易确认书编号
- 历史交易编号不处理
2026-07-29 16:45:29 +08:00
hjhan b9f2bd14f6 feat(swaptrade): 债券三字段计算器交互改为回车触发并加源/AUTO/REV 三态标识
- 约定1:仅在净价/全价/收益率输入框敲回车触发计算器,失焦不触发
- 约定2:计算成功->源字段标"源"、另两字段标"AUTO";失败->保留源值、清空另两字段与标识
- 约定3:编辑某字段未回车->不联动另两字段,清源/AUTO、仅本字段标"REV"
- swapCalc.js 新增 applyBondCalcSuccess/Failure/ManualEdit 纯函数,applyBondCalcResult 第三参由 manualSet 改为 driver(跳过源字段写回)
- fastVue.base.js 新增 enter 事件区分回车/失焦,向后兼容旧的 input 行为
- TradeEdit.cshtml 三字段 input/enter 分离绑定 + 源/AUTO/REV 三态标签(去除旧铅笔图标)
- 重写 bondCalc.test.js / 更新 swapCalc.test.js 覆盖状态机;jest 68 项全过
2026-07-29 14:34:25 +08:00
张名锐 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
tengyufan 0b71083864 Merge remote-tracking branch 'origin/glms/feature/1.4.2' into glms/feature/1.4.2 2026-07-28 14:57:35 +08:00
tengyufan 87266276d4 #EQD-6597 国联民生-簿记时新增基本费率字段(开平仓费用),并且自动计算
基础费率前端单位数量模式展示6位小数
2026-07-28 14:57:23 +08:00
张名锐 ac00548009 Merge remote-tracking branch 'origin/glms/feature/1.4.2' into glms/feature/1.4.2 2026-07-28 14:52:59 +08:00
张名锐 af364b5c8a Revert "fix(swaptrade): 互换开平仓事件流水 小数点精度调整"
This reverts commit bf6b27ba19.
2026-07-28 14:50:01 +08:00
tengyufan f225946adc Merge remote-tracking branch 'origin/glms/feature/1.4.2' into glms/feature/1.4.2 2026-07-28 14:32:38 +08:00
tengyufan 1a80a16afd #EQD-6597 国联民生-簿记时新增基本费率字段(开平仓费用),并且自动计算
fix:交易后付费用修改不反算基础费率
2026-07-28 14:32:28 +08:00
张名锐 4b02c4b67c Revert "fix(entryexit): 资金记录 金额 小数点精度调整"
This reverts commit 63f12725c5.
2026-07-28 14:29:30 +08:00
张名锐 139547bd43 Merge remote-tracking branch 'origin/glms/feature/1.4.2' into glms/feature/1.4.2 2026-07-27 15:27:20 +08:00
hjhan d0ac5c0245 fix(swaptrade): 恢复债券三字段被合并静默丢弃的徽标(源/手动编辑/重算)。修复 dotnumber 合并(32af85d3)三路冲突按 theirs 解决时无冲突标记却静默丢弃重算链接/源徽标/手动铅笔图标;JS 逻辑本就完好,仅界面可视化指示回归。 2026-07-27 15:16:12 +08:00
张名锐 63f12725c5 fix(entryexit): 资金记录 金额 小数点精度调整
- 将数值格式从三位小数调整为两位小数
- 统一正负数值的格式化处理逻辑
- 修复 NaN 判断条件下的格式化显示问题
2026-07-27 14:52:39 +08:00
张名锐 b6afab6a91 Merge remote-tracking branch 'origin/glms/feature/1.4.2' into glms/feature/1.4.2 2026-07-27 13:17:51 +08:00
张名锐 bf6b27ba19 fix(swaptrade): 互换开平仓事件流水 小数点精度调整
- 将事件列表中的价格字段格式化统一为两位小数或九位小数
- 替换原有的otcformat.trading.umprice格式化方法
- 在前端JavaScript中添加EventTwoDecimalFormat和EventNineDecimalFormat函数
- 修改后端C#代码中的OtcFormat调用改为OtcFormatMoney并调整精度参数
- 为事件列表脚本添加版本参数以确保缓存更新
2026-07-27 13:17:39 +08:00
tengyufan 4987962aca #EQD-6597 国联民生-簿记时新增基本费率字段(开平仓费用),并且自动计算
feat: 完善互换平仓交易费用自动计算

- 支持百分比和单位数量模式自动计算平仓交易费用
- 支持全部平仓和部分平仓联动重算
- 保持手动互换不自动填充平仓交易费用
- 补充前后端相关单测
2026-07-27 11:57:20 +08:00
tengyufan a575de7bbe Revert "feat(swap): 新增基础费率字段,支持百分比/单位数量模式切换及自动计算"
This reverts commit c9071a4eff.
2026-07-27 09:45:41 +08:00