hjhan
|
d3b47f6fa1
|
feat(swap): 债券净价/全价/收益率互算核心(逐字段手动锁定+错误不覆盖纯函数+测试)
- swapCalc.applyBondCalcResult(state, calc, manualSet):回写时跳过"用户手填过的字段"(逐字段手动锁定,永不覆盖),只反向填充未手填字段;EPS 去抖避免光标跳动。
- 纯函数 getBondCalcErrorMessage(resp):空响应/errCode!=0 返回文案、否则 null,与 C# errCode 守卫一一对应,保证"坏结果"不静默回写。
- 新增 jest 用例覆盖:三字段互算、逐字段锁定(手填全部三个无一被回写)、业务错误不覆盖手工输入、getBondCalcErrorMessage。85→86 全绿。
|
2026-07-22 11:35:53 +08:00 |
|
lisong
|
ec5da002f4
|
Merge remote-tracking branch 'dest/glms/feature/1.4.2' into feature/p132_74-risk-engine
|
2026-07-17 15:41:32 +08:00 |
|
张名锐
|
c41e677042
|
Merge remote-tracking branch 'origin/glms/feature/1.4.2' into glms/feature/1.4.2
|
2026-07-17 13:17:39 +08:00 |
|
张名锐
|
7fac6e13a8
|
feat(swaptrade): 实现收益结算审批页面期末价格回显功能
- 在incomeSwapTrade.js中修改TradingAmountAvg赋值逻辑,区分普通打开和审批打开场景
- 新增resolveIncomeTradingAmountAvg函数处理审批回显和普通默认值的不同逻辑
- 审批打开时保留已提交的期末全价,普通打开时使用期初全价作为默认值
- 统一债券价格×100缩放到界面百分比显示格式
- 添加单元测试验证审批回显和普通打开的功能差异
|
2026-07-17 13:17:28 +08:00 |
|
hjhan
|
e261137c1d
|
fix(swap): 修复多次部分平仓 ClosePercent 口径(A占期初→B占剩余)转换缺失
- SwapDealService.ApplySwapTrade 入口补 ToRemainingClosePercent(A→B) 转换,与 SwapUnwind 保持一致;缺此转换导致 SaveSwapDealInternal 的 B→A 还原出错(GLMS-20260701-0006:第二次部分平仓50%被错误还原为32.5%)
- unwindSwapTrade.js 改用 swapCalc.calcCloseQtyByOriginalPercent 的 roundHalfAwayFromZero,规避 JS 浮点精度偏差(32500000*(0.5/0.65) 应为 25000000)
- SwapUnwind.cshtml 引入 swapCalc.js
- 新增 ApplySwapTradeClosePercentBugTest 回归测试;补充 swapCalc.test.js 精度用例与 GLMS20260701DbDiagnoseTest 诊断测试([Ignore])
|
2026-07-17 10:59:18 +08:00 |
|
张名锐
|
415539704d
|
fix(swap): 修复债券结息价差盈亏计算逻辑
- 将价差盈亏计算从使用CloseNotionalValue改为使用PositionQty和ContractSize
- 更新前端JavaScript代码中的计算公式,按持仓数量和合约乘数计算价差盈亏
- 在UnwindInput模型中添加PositionQty和ContractSize字段
- 修正后台计算服务中的数据映射逻辑
- 添加FC_009测试用例验证债券价差按数量计算的正确性
- 更新现有测试用例的输入参数以匹配新的计算方式
|
2026-07-17 10:58:31 +08:00 |
|
ruisu
|
1110e2b3ef
|
feat:优化特批处理流程与日志落库
|
2026-07-17 09:26:04 +08:00 |
|
hjhan
|
62c26bd7f5
|
fix 部分平仓 选择切换 会导致不一致,浮动端会错误
|
2026-07-16 20:57:18 +08:00 |
|
hjhan
|
238824f4f4
|
fix(预付金返回/平仓比例): 恢复占期初语义并在后端入口统一转占剩余
之前提交 4f46e263 误将平仓比例改为占剩余持仓(Definition B)语义,与需求不符。
正确需求:每次打开平仓/提前终止均基于最开始原始名义本金(Definition A),
但每次返回的预付金金额需正确(后端按占剩余计算)。
- SwapDealService: 新增 ToRemainingClosePercent/ToOriginalClosePercent 双语义转换;
SwapUnwind 入口把前端传来的占期初(A)转为占剩余(B),全计算链公式不动;
SaveSwapDealInternal 序列化前还原为 A 落库,事件列表读取即显示占期初比例。
- SwapTrade2Controller.GetUnwindInterestList: 接收期初/剩余名义本金,预览利息按 B 计算。
- unwindSwapTrade.js: 回退为占期初语义(ClosePercent/平仓名义本金用 NotionalValue,
oriClosePercent=剩余/期初),提前终止同理。
- 单测 UW_007/008 覆盖 A→B 全平/部分平仓判定。
不影响收盘后盯市/估值(仅平仓入口与展示口径)。
|
2026-07-16 19:54:26 +08:00 |
|
锦麟 王
|
d5b43e3769
|
只提示不阻塞
|
2026-07-16 17:17:21 +08:00 |
|
张名锐
|
6d591fe9af
|
Merge remote-tracking branch 'origin/glms/feature/1.4.2' into glms/feature/1.4.2
|
2026-07-16 13:47:29 +08:00 |
|
张名锐
|
10b1e34754
|
refactor(swaptrade): 重构EOD持仓风险导出功能的弹窗实现 - 风格统一
- 将原有的main.open2方法替换为layer.open原生实现
- 简化弹窗样式配置,移除冗余的CSS样式设置
- 使用HTML内容直接构建弹窗界面,提高可维护性
- 通过事件委托方式处理按钮点击事件
- 统一按钮样式为Bootstrap风格,提升用户体验
- 优化弹窗尺寸配置,调整为更合适的大小
|
2026-07-16 13:47:10 +08:00 |
|
hjhan
|
4f46e2634f
|
修复收益互换多次部分平仓预付金返还:平仓比例/名义本金改以剩余持仓为基准
unwindSwapTrade.js:
- oriClosePercent 恒为 1(Definition B 下最多平 100% 剩余,修正全部平仓/按比例少返预付金 + 进页面 getInterestList 少算)
- CloseMethod==1(全部平仓)时修正 ClosePercent=1;CloseMethod==2(部分平仓/待复核)保留已提交比例,避免覆盖
- changeCloseQty/Percent/NotionalValue 三处换算改用 PosiNotionalValue(剩余本金),不再用原始 NotionalValue
swapCalc.js: 新增 calcCloseNotionalByRemaining / calcClosePercentByRemaining 纯函数(含除零保护)
swapCalc.test.js + _shim_run.js: 补充多次部分平仓换算单测(剩余vs原始对比、第3次全平、3次合计=原始、除零保护)
|
2026-07-16 10:03:21 +08:00 |
|
锦麟 王
|
420bb2a291
|
隐藏“投资规模”选项
|
2026-07-15 11:14: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
|
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 |
|
锦麟 王
|
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 |
|