Commit Graph
194 Commits
Author SHA1 Message Date
hjhan ea313dc1c6 fix(fast): 修复 numberInput 粘贴路径 percent 字段 ×100,并补 Jest 粘贴回归单测
- fastVue.base.js: __onInput 粘贴分支原把显示值当模型值传入 setValue 导致 percent 字段 ×100;
  改为按 __change 同款口径先解析为模型值再回显,键盘输入路径不变
- 新增 numberInput.paste.test.js 覆盖 percent:true/append:%/append:‱/普通数字 4 类字段的 Ctrl+V 粘贴
- fe-tests package.json 增加 jest-environment-jsdom、jquery 依赖
2026-07-15 10:18:26 +08:00
锦麟 王 24b43d535e Merge branch 'glms/feature/1.4.2' of http://git.yiliantech.com/gitlab/otc-dev/zszq-trs into glms/feature/1.4.2 2026-07-15 09:39:23 +08:00
锦麟 王 fac84c8fa5 BugFix 交易新增与修改 2026-07-15 09:39:08 +08:00
张名锐 fdbb7b363a Merge remote-tracking branch 'origin/glms/feature/1.4.2' into glms/feature/1.4.2 2026-07-14 17:22:24 +08:00
张名锐 2d2ea6c509 ```
feat(swaptrade): 优化框架合约导出功能

- 新增导出列名配置数组 eodSwapExportColumnNames
- 实现框架合约标签页导出列名自动同步
- 移除冗余的分组表头初始化逻辑
- 添加导出方式选择对话框支持两种导出模式
- 扩展工具函数支持自定义导出列名参数
- 重构导出逻辑统一处理不同导出场景
```
2026-07-14 17:21:58 +08:00
hjhan b9462510de Merge branch 'merge/p132_74-risk-engine-into-1.4.2' into glms/feature/1.4.2 2026-07-14 15:14:27 +08:00
锦麟 王 74690c1783 Merge branch 'glms/feature/1.4.2' of http://git.yiliantech.com/gitlab/otc-dev/zszq-trs into glms/feature/1.4.2 2026-07-14 15:03:45 +08:00
锦麟 王 8b5a69fd10 更新交易流程和审批条件文本 2026-07-14 14:57:46 +08:00
hjhan 0483cd8576 Merge remote-tracking branch 'origin/feature/p132_74-risk-engine' into spike/merge-p132_74-to-1.4.2 2026-07-14 14:48:11 +08:00
张名锐 4f5af864dc Merge branch 'glms/feature/valuation_0709_zmr' into glms/feature/1.4.2 2026-07-14 11:16:45 +08:00
张名锐 4449bd5824 feat(swap): 更新互换估值功能并优化数据模型
- 添加互换估值V1配置常量以支持新版本
- 将PeriodAmount和DividendAmount字段改为可空decimal类型
- 更新字段注释说明预付金利率和利息的计算方式
- 修改净额结算金额定义,排除期初和追加预付金本金
- 在报表服务中添加安全求和操作防止空值异常
- 增加多个汇总字段包括股息、保证金利息等统计
- 重构预付金处理逻辑,改用加权平均计算方式
- 新增加权保证金利率和利息计算辅助方法
- 调整前端表格列顺序,优化交易编号显示位置
- 更新数值格式化器以支持空值处理和精度控制
- 添加文档列顺序恢复功能确保表格一致性
2026-07-14 09:46:54 +08:00
锦麟 王 623183f47f Merge branch 'glms/feature/1.4.2_ApprovalProcess' into glms/feature/1.4.2 2026-07-14 09:14:07 +08:00
hjhan d978f7048d refactor: 日终价格联想逻辑抽成共享 eodUnderlyingSuggest.js 并修复下拉静默失效
- 三编辑页重复的 eodSuggest/eodRenderSuggest/eodHideSuggest/checkSubmitData/初始化 抽成 eodUnderlyingSuggest.js 一处引用,禁止逐页复制内联脚本

- 修复静默 bug:cshtml 缺 #eodSuggestBox 容器且 class 无 CSS 导致下拉从未渲染;改为 JS 动态创建盒子+样式内联

- 修复点选 ReferenceError:回调由对象字面量求值改为 window['lookup'+kind] 安全解析+typeof 校验
2026-07-13 13:30:35 +08:00
hjhan 8cade8ae53 fix: 修复日终价格新增后查不出(picker过滤LaunchState、新记录日期默认今天、列表新增改三选一)
- EodPriceController.BuildUnderlyingOptions 增加 LaunchState=="1" 过滤,与列表查询对齐,避免新增非激活标的被 inner join 永久过滤

- 三个编辑页新建分支将 valuation_date/ValueDate 默认设为今天,落在列表默认查询窗口内

- eodStockPriceEdit 补全 StockPicker 下拉(此前股票无picker,UnderlyingCode为空hidden导致查不出),删除上传无用的状态字段

- eodPriceList.js openEodPriceAdd 改为三选一(债券/期货/股票)打开各自编辑页空enid,替代已废弃的 EodPriceAdd 搜索页
2026-07-13 12:34:39 +08:00
hjhan 36d8909fe0 feat: 日终价格管理新增统一录入表单(按标的类型自动落表)
列表页新增"新增"按钮(结算管理-日终价格修改 权限),打开统一新增页;选标的后按 UnderlyingInstrumentType 自动显示对应字段组,保存时路由到正确的 Save 方法落到对应表;字段与上传 Excel 对齐,避免冗余字段。
2026-07-13 11:00:46 +08:00
张名锐 a7c4344436 refactor(swaptrade): 移除互换估值导出功能并移除折叠分组
- 移除 excellentexport.js 依赖库
- 删除导出互换估值按钮及相关功能函数
- 移除网格分组配置和导出逻辑代码
- 简化网格初始化参数,移除 grouping 配置
- 更新隐藏列注释说明
- 添加默认业务列显示保障机制
- 优化列选择器初始化流程
2026-07-10 23:56:54 +08:00
张名锐 7df9e8060e feat(swap): 添加互换合约估值功能和优化数据模型
- 在ClientSwapPositionRequest中新增BookId字段用于资产分类查询
- 新增FloatingUnrealizedPnl、InterestPaymentMethod、MaturityNettingValuation等估值相关字段
- 添加MaturitySettlementDate、DividendAmount、AdditionalMarginAmount等持仓详情字段
- 更新前端表格列模型,调整浮动端和估值实现收益分组显示
- 实现框架合约导出功能,支持完整数据筛选结果导出
- 优化名义本金计算逻辑,修复长短仓数值处理问题
- 完善付息方式和估值口径的业务逻辑处理
- 添加TRS估值、期间分红等关键业务字段计算
- 实现Excel导出时分组表头格式化功能
- 修复框架合约列排序和分组表头显示问题
2026-07-10 18:20:20 +08:00
锦麟 王 c4293ed523 优化审批流程逻辑,支持复杂分支条件 2026-07-10 17:00:13 +08:00
张名锐 5f27c85ae9 feat(export): 为Excel导出功能添加分组表头支持
- 修改exportVisibleColumnsToExcel函数,增加groupConfig参数
- 实现buildGroupHeaderHtml函数用于构建二级表头结构
- 当存在分组配置时自动生成合并单元格的表头
- 支持按字段分组显示标题并设置样式
- 更新函数注释文档说明新参数用途
2026-07-09 15:21:05 +08:00
张名锐 358993bedb feat(swaptrade): 添加期末头寸风险表新字段支持
- 在EodSwap实体模型中新增标的类型、期间付息/分红、保证金利息收支字段
- 在前端表格列模型中添加标的类型、期间付息/分红列定义
- 在前端表格分组配置中将新字段归入对应分组显示
- 实现后端服务中对新字段的数据查询和计算逻辑
- 添加保证金利息收入支出的分类汇总功能
- 完善标的类型字段的数据源获取和展示逻辑
2026-07-09 15:11:58 +08:00
ruisu d14bdc18e7 feat:风控引擎增加超时机制:在进行超时校验的时候,如果超时,不但重置新风控重新校验,老风控的二次校验也不允许直接放行,需要重新校验。 2026-07-09 10:26:26 +08:00
hjhan 0bef986e10 fix(valuation): 修复折叠分组后表头消失无法展开的问题
问题:折叠一个分组时,该组所有列被 hideCol 隐藏后,buildGroupHeaders
因 visibleColsInGroup 为空而 continue 跳过该分组,导致分组表头不渲染,
用户失去展开入口(表现为"收起后整组列和表头都不见了")。

修复:
- applyGroupHeaders:折叠时保留该组首列作为"展开锚点"(只隐藏 slice(1)),
  确保 setGroupHeaders 仍能为该分组渲染表头单元格
- buildGroupHeaders:折叠态下 numberOfColumns=1,表头显示 ▶ 可点击展开;
  被 setcolumnChooser 主动隐藏的分组仍跳过(不影响)
- 展开时恢复该组全部列

测试场景:
1. 互换估值Tab折叠任一分组 → 表头保留(▶),点击可展开恢复
2. 框架合约Tab同上
3. 全部折叠 → 每组各保留1列锚点,页面仍有列可操作
2026-07-08 09:08:08 +08:00
hjhan a617ed6d93 feat(valuation): 互换估值Tab 接入分组折叠 + 簿记筛选 + 导出
对应需求《估值模块V1》模块二:每日估值报告 - 互换估值Tab

改动:
1. 新增 eodSwapValuationGroupConfig 分组配置(4组:基本信息/利率与规模/价格/收益)
   现有列顺序已天然满足分组连续性,无需重排,风险最低
2. gridComplete 在 setcolumnChooser 完成后初始化可折叠分组表头
   保留原有异常行标红(dataError)逻辑
3. 新增簿记账户筛选(需求3.1):cshtml 加 BookId 下拉,searchPositionDetials 传 BookId
   未选择时传空,后端返回该对手方下全部账户合约
4. 新增「导出互换估值」按钮(需求3.2+4.2),走通用 exportVisibleColumnsToExcel
   文件名:{对手方}_每日估值报告_互换估值_{估值日}.xls
   与现有 DownLoadReport(整份报告)独立,互不影响

缺失字段(TODO,待后端确认):期间分红、预付金系列(利率/利息/期初/追加)、TRS估值

测试要点:簿记筛选生效、分组表头显示、折叠交互、异常行标红不受影响、导出可用
2026-07-08 08:56:34 +08:00
hjhan d40b561a42 feat(valuation): 框架合约Tab 导出可见列Excel + 通用导出工具
对应需求《估值模块V1》4.2:导出当前筛选后可见列数据,格式与前端一致。

改动:
1. utils.js 新增通用导出工具 exportVisibleColumnsToExcel(jgrid, fileName)
   - 零依赖,基于 HTML table + ms-excel MIME
   - 只导出当前可见列(与折叠状态联动:收起的分组列不导出)
   - 与后端模板导出(SettlementReport/EodPositionRisksQueryService)口径独立,互不干扰
2. EodPositionRisks.cshtml 恢复导出按钮(原 exportTrade 被注释,现改为 exportVisibleColumns)
3. EodPositionRisks.js 新增 exportVisibleColumns(),文件名含Tab名+结算日期

测试要点:导出列=页面可见列、列名=表头名、数据=当前筛选数据、折叠的列不导出
2026-07-08 08:53:44 +08:00
hjhan 76af939332 feat(valuation): 框架合约Tab 接入可折叠分组表头 + 字段命名对齐
对应需求《估值模块V1》模块一:日终持仓风险_互换 - 框架合约Tab

改动:
1. colModelGridEodSwap 列按需求2.2分组重排(组内列连续,满足setGroupHeaders要求)
   - 互换类型移至基本信息组(原在末尾)
2. 字段命名对齐需求用词(纯label改动,不改name/index):
   - 合约利率端待实现收益 → 合约利息端待实现收益
   - 预付金字段 → 保证金(收取/支付 初始/维持保证金)
3. 新增 eodSwapGroupConfig 分组配置(7组:基本信息/名义本金/标的市值/浮动端/利息端/保证金/估值与实现收益)
4. gridComplete 在 setcolumnChooser 完成后初始化可折叠分组表头

缺失字段(TODO,待后端确认):
- 标的类型、期间付息/分红、付息方式、合约估值(两口径)

测试要点:框架合约Tab表头分组合并、点击折叠/展开、footer汇总行(DV)正常、列设置功能正常
2026-07-08 08:51:33 +08:00
hjhan 7928000dc6 feat(valuation): 新增通用可折叠分组表头工具 initCollapsibleGroupHeaders
jqGrid 4.5.4 原生 setGroupHeaders 只支持静态合并表头,不支持点击折叠。
本次在 utils.js 新增通用工具函数,为估值模块前端重构提供基础能力:

- initCollapsibleGroupHeaders(jgrid, groupConfig): 生成合并表头 + 点击折叠/展开
- refreshCollapsibleGroupHeaders(jgrid): 列重排/显隐后重建分组边界
- 复用本文件 setcolumnChooser2 已验证的 destroyGroupHeader → 显隐列 → setGroupHeaders 重建模式
- 默认全部展开,折叠态显示 ▶ 展开态显示 ▼
- 与 setcolumnChooser 通过事件委托协调,不依赖 free-jqGrid 商业版

不换库、零全站回归风险。后续提交接入业务页面。
2026-07-08 08:50:14 +08:00
锦麟 王 fb59c6180a 支持审批流程中的分支网关和节点触发条件 2026-07-07 15:47:17 +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
尹峰 d5cbd45a8a Merge branch 'feature/p132_74-risk-engine' of https://gitee.glmszq.com/gsty/onederiv/trs into feature/p132_74-risk-engine 2026-07-06 18:42:35 +08:00
尹峰 d7d9c796d8 merge glms/feature/1.4.2 0703版本 2026-07-06 18:42:19 +08:00
ruisu dc0cb9ec7b feat:老风控特批使用单独bool量识别,新风控需审批采用新状态RiskWarning,风控流程状态优先级Error>Warning(老风控特批,给前端CODE为ERROR)>RiskWarning>Success(可能带有ShowTIip)。新风控特批时,识别RULEID,不再采用BOOL统一通过 2026-07-06 17:41:13 +08:00
张名锐 777d492018 Merge remote-tracking branch 'refs/remotes/origin/glms/feature/1.4.2_claer' into glms/feature/1.4.2 2026-07-06 15:25:03 +08:00
张名锐 6835a593b0 feat(swaptrade): 添加收益结算日期验证和限制功能
- 新增 MaxIncomeValueDate 属性用于限制收益结算日期上限
- 实现 parseLocalDate 函数用于解析本地日期格式
- 在前端添加日期选择器的最大日期限制和验证逻辑
- 添加 isAfterMaxIncomeValueDate 和 validateIncomeValueDate 方法进行日期验证
- 在后端添加 GetMaxIncomeValueDate 方法计算最大收益结算日期
- 实现 ValidateIncomeValueDate 对收益结算日期进行服务器端验证
- 添加 NormalizeIncomeUnwindDate 方法统一处理平仓日期
- 在模型中新增 MaxIncomeValueDate 非映射属性用于前端显示
- 更新日期格式化函数确保日期字符串的一致性处理
2026-07-06 15:20:21 +08:00
锦麟 王 f0ad4406c9 Revert ruisu合并进来的代码 2026-07-03 17:41:42 +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
ruisu c8293db227 fix:回退期权交易改造 2026-07-02 17:19:39 +08:00
tengyufan 535eac0f62 fix: 交易日历IB逻辑收窄——仅成交日期默认值使用银行间日历
- 回退 ylotc.calendar.js 至纯CHN,恢复全部日期选择器为证券交易所交易日历
- SwapTrade2Controller 新增 GetBestCountry 按年份判断IB数据是否存在
- 仅成交日期(TradeDate)默认值使用IB优先/CHN回退,开始日期和到期日期保持CHN
- 平仓及其他交易页面日期选择器不再受银行间日历影响
2026-07-02 10:31:47 +08:00
tengyufan c053e36d7f fix(SwapTrade2): 为保证业务不受影响,暂时取消新版互换交易标的按类型筛选,两个标的输入框均返回全部标的
- consUnderlyingFlagNonBond 和 consUnderlyingFlagBond 去掉品种位,仅保留行为位
- 非债券和债券两个输入框不再按 Stock/Fund/CreditBonds 等类型过滤
- 与旧版 SwapTrade 行为对齐:不过滤标的类型,全量返回
2026-07-01 16:19:46 +08:00
tengyufan 5d426b6d3e feat(tradeHelper): SelectFlag新增StockIF、Fund位支持股指期货和基金及基金专户
- flags 新增 StockIF: 1 << (i++)(之前定义但__getPostData漏映射)和 Fund: 1 << (i++)
- __getPostData 新增 StockIF→'StockIF'、Fund→'Fund' 映射
- 修复511380等股指标的/基金标的在新版互换交易下拉框无法检索的问题
2026-07-01 16:18:55 +08:00
tengyufan 570d1339f1 fix(SwapTrade2): 到期日期默认值置空并限制不可早于成交/开始日期
- 移除新增交易时到期日期的默认值(原StartDate+14天),改为空白由用户手工填写
- 到期日期选择器增加mindate限制,不可选择早于成交日期和开始日期的日期
- 联动修正:成交日期或开始日期变化时同步刷新到期日期下限
2026-07-01 15:33:15 +08:00
tengyufan b4ff5f9f10 feat(SwapTrade2): 新增交易默认值填充及日期限制放开
- 成交日期默认前一银行间交易日,放开上限
- 开始日期默认当前系统日期(跳过节假日),放开上限,下限绑定成交日期
- 到期日期保留StartDate+14天默认,下限取max(成交日期,开始日期)
- 交易场所默认"柜台市场"修复(created不再覆盖为空)
- 重置频率默认7(利息端/预付金端/浮动端)
- FR007利率准则默认前一营业日(-1)
- 成交日期变更时自动修正开始日期(+1)和到期日期(+14),跳过节假日
- 开始日期变更时自动修正到期日期(+14)
- 提交校验:开始日期≥成交日期,到期日期≥两者
2026-06-30 18:21:07 +08:00
lisong e7fa48d82e Merge remote-tracking branch 'dest/glms/feature/1.4.2' into feature/p132_74-risk-engine 2026-06-30 09:59:31 +08:00
ruisu 9777698a9a feat:修改互换交易样式以支持展示新风控内容,将rule与application加载前移到系统启动时 2026-06-29 17:29:36 +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