hjhan
|
760ffd62e6
|
fix: 日终债券来源固定中债估值、人工改动显示操作人并补上传溯源
china_bond_valuation 来源恒为中债估值(聚源仅转发,无人手工维护),不再按 JSID 推断系统/人工;eod 两表仍用自带 DataSource(人工/系统)。债券被人工改动(update_user 非空)时,日终列表来源列显示操作人姓名,否则显示中债估值;操作人经已有 create_user/update_user 列溯源(零 DDL)。手工上传 xlsx 的债券分支补戳操作人,与表单编辑口径一致。配套单测 EodPriceDtoTest / EodPriceGoldenReplayTest + golden JSON。
|
2026-07-13 11:00:33 +08:00 |
|
锦麟 王
|
f3ca4dc498
|
平仓审核不符合条件直接跳过
|
2026-07-13 10:59:37 +08:00 |
|
张名锐
|
a7c4344436
|
refactor(swaptrade): 移除互换估值导出功能并移除折叠分组
- 移除 excellentexport.js 依赖库
- 删除导出互换估值按钮及相关功能函数
- 移除网格分组配置和导出逻辑代码
- 简化网格初始化参数,移除 grouping 配置
- 更新隐藏列注释说明
- 添加默认业务列显示保障机制
- 优化列选择器初始化流程
|
2026-07-10 23:56:54 +08:00 |
|
hjhan
|
3f5e9a0be9
|
fix: 日终价格管理按真实标的类型显示并统一数据来源
1. 新增 RealInstrumentType 显示字段,从 underlying_manager 取真实类型,
解决 eod_commodity_future_price 记录一律显示'商品期货'的问题
(UnderlyingInstrumentType 继续作为查表路由键,前端/查看零改动)。
2. EodPriceBase 补'系统'常量,债券 DataSource 改为一次性三元判定,
消除散落的 JSID 魔法字符串与重复 remap。
注:受'不增字段、不动库'约束,债券来源仍依赖 JSID 推断。
|
2026-07-10 19:41:19 +08:00 |
|
尹峰
|
abf2cf5985
|
规则和应用增加description字段&变量和规则保存校验公式编译有效性
|
2026-07-10 18:23:39 +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 |
|
张名锐
|
3def0fddd0
|
feat(trade): 添加交易确认文档查询功能
- 新增 TradeConfirmationDocumentQueryItem 查询项类
- 实现 TradeConfirmationDocumentQuery.Create 查询方法
- 添加按交易日期范围过滤功能
- 重构 tradeController 中的文档查询逻辑
- 集成文档、合同关系和交易数据的联合查询
- 优化查询性能通过预过滤有效合同关系
|
2026-07-10 14:02:21 +08:00 |
|
张名锐
|
6679abbc19
|
fix(document): 修正票面利率计算显示
- 修复票面利率显示错误问题,将数值乘以100转换为百分比格式
- 确保票面利率正确显示为百分比数值而非小数形式
|
2026-07-10 12:32:29 +08:00 |
|
ruisu
|
b5f6b7f61a
|
feat:增加ruleid为空的校验,以支持rule新增。增加preload成功编译rule的日志
|
2026-07-10 10:31:41 +08:00 |
|
ruisu
|
e04333cf70
|
Merge branch 'feature/p132_74-risk-engine' of https://gitee.glmszq.com/gsty/onederiv/trs into feature/p132_74-risk-engine
|
2026-07-09 18:08:40 +08:00 |
|
ruisu
|
18fdb9e9f1
|
feat:增加单条rule增删改函数,以及application全量刷新函数。
|
2026-07-09 18:01:55 +08:00 |
|
尹峰
|
c1ded96985
|
变量级联更新规则优化&增补注释
|
2026-07-09 17:52:14 +08:00 |
|
ruisu
|
66381e5dc4
|
feat:在系统缓存刷新功能内,增加风控引擎缓存刷新
|
2026-07-09 17:41:10 +08:00 |
|
ruisu
|
4e6d887b68
|
feat:修改本地规则
|
2026-07-09 16:18:28 +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
|
48d90bef50
|
Merge branch 'feature/p132_74-risk-engine' of https://gitee.glmszq.com/gsty/onederiv/trs into feature/p132_74-risk-engine
|
2026-07-09 10:26:44 +08:00 |
|
ruisu
|
d14bdc18e7
|
feat:风控引擎增加超时机制:在进行超时校验的时候,如果超时,不但重置新风控重新校验,老风控的二次校验也不允许直接放行,需要重新校验。
|
2026-07-09 10:26:26 +08:00 |
|
尹峰
|
fc51bfab68
|
恢复被revert误操作的文件
|
2026-07-08 10:59:13 +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
|
5e27d6cef8
|
docs(valuation): 新增估值模块前端改造说明文档
记录:
- 改造范围、路径A决策依据、方案对比(否决otcdms-ui/free-jqGrid的理由)
- 分组配置映射表(需求字段 ↔ colModel.name ↔ 后端字段)
- 缺失字段清单(TODO,待后端确认):标的类型/期间付息分红/付息方式/合约估值两口径/保证金利息/期间分红/预付金系列/TRS估值
- 已知约束:冻结列冲突绕法、setcolumnChooser兼容、导出口径区分
- 测试要点、后续工作
|
2026-07-08 08:57:46 +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 |
|
尹峰
|
b8fb8bb148
|
resolve confilct YLContext.cs & YLErpDAL.csproj
|
2026-07-07 15:25:27 +08:00 |
|
ruisu
|
879fdbea89
|
resolve confilct QuotaMonitorService.cs
|
2026-07-07 15:11:37 +08:00 |
|
ruisu
|
2a8544a7b7
|
fix:删除测试数据
|
2026-07-07 14:52:47 +08:00 |
|
尹峰
|
8ab62928b6
|
revert otcformat.js
|
2026-07-07 13:57:38 +08:00 |
|
尹峰
|
de628719dc
|
resolve confilct QuotaMonitorService.cs
|
2026-07-07 13:51:24 +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
|
1c0fd97efa
|
fix:删除测试数据
|
2026-07-06 18:00:06 +08:00 |
|
ruisu
|
dc0cb9ec7b
|
feat:老风控特批使用单独bool量识别,新风控需审批采用新状态RiskWarning,风控流程状态优先级Error>Warning(老风控特批,给前端CODE为ERROR)>RiskWarning>Success(可能带有ShowTIip)。新风控特批时,识别RULEID,不再采用BOOL统一通过
|
2026-07-06 17:41:13 +08:00 |
|
张名锐
|
ddac1d8e11
|
fix(swap-trade): 修复收益结算日期选择器节假日显示问题
- 将datepicker组件的holiday属性改为noholiday并设置为true
- 解决了收益结算日期选择器中节假日标记显示异常的问题
|
2026-07-06 16:58:50 +08:00 |
|
张名锐
|
05d3e9bc52
|
fix(swap): 修复收入值日期计算逻辑
- 移除非节假日调整逻辑,直接使用行使日期前一天作为最大收入值日期
- 简化日期计算流程,避免节假日调整导致的潜在错误
|
2026-07-06 16:49:11 +08:00 |
|
张名锐
|
3fff2791df
|
Merge branch 'glms/feature/1.4.2_claer' into glms/feature/1.4.2
|
2026-07-06 16:46:02 +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 |
|
hjhan
|
088df27011
|
fix(swap): 还原otcformat.js精度配置,修复期末全价只能录2位小数
f0ad4406(Revert ruisu合并进来的代码)在回滚RiskModule时,
误将otcformat.js从'压缩单行全precision=9'改成'多行precision=2',
导致StockEqvNotional/tradeSinglePrice/tradePrice/notional等字段
精度从9位降到2位,期末全价(TradingAmountAvg)等只能录2位小数。
还原到f0ad4406^的正确版本(全precision=9),恢复所有字段9位精度。
根因:前端运行时配置App_Data/Config/otcformat.js的precision限制,
与后端实体(EF默认decimal)和DB列(decimal(22,10))无关。
历史脉络:
- 3e650b8f(2026-05-28) 首次引入precision=2误伤
- 1932a2e7(2026-05-29) 首次还原回全9
- f0ad4406(2026-07-03) Revert ruisu时再次误伤(本次修复对象)
|
2026-07-06 09:55:01 +08:00 |
|
lisong
|
d3a47e6d08
|
Merge branch 'glms/feature/1.4.2' of https://gitee.glmszq.com/gsty/onederiv/trs into glms/feature/1.4.2_claer
|
2026-07-03 19:08:48 +08:00 |
|
hjhan
|
86825cb2a1
|
test(swap): SwapPositionComposeScenarioTest(4场景)+CopyEodPosition/UpdateEodPosition/SaveCurrentEodInitalPosi走PersistEodSwapPosition seam
借鉴 testable 分支 SwapPositionComposeScenarioTest,基于当前分支 seam 重写4场景:
- SPC_001 首次归档(无前日eod):PosiQuantity=初始持仓
- SPC_002 Copy分支(有前日eod无事件):PosiGrossPrice原样复制
- SPC_003 Update分支(有平仓事件):PosiQuantity=1000-400=600, TdCloseQty=400
- SPC_004 未收盘抛异常(非交易首日无前日eod)
SwapEodPositionService 改动(零行为变更):
- CopyEodPosition/UpdateEodPosition/SaveCurrentEodInitalPosi 的 DbContext.eod_swap_position.Add
改为调 PersistEodSwapPosition seam(3处),使测试可拦截持久化
利息腿场景(自动互换)因 CalcSwapInterests 参数适配复杂留后续。
SwapModule 177测试全绿(+4),无回归。
|
2026-07-03 18:37:46 +08:00 |
|
hjhan
|
cbb5c88aa8
|
refactor(swap): SwapPositionCompose补5个seam+事务重构为ExecuteInTransaction
SwapEodPositionService 新增5个 protected virtual seam(SwapPositionCompose路径):
- FindActiveSwapTrades(DateTime, IEnumerable<int>): 查活跃互换交易
- FindAllSwapPositions(List<int>): 查所有持仓(含初始+实际)
- FindTradeExtends(List<int>): 批量查交易扩展
- FindEodSwapsByDate(DateTime): 查指定日期日终汇总
- FindFlowEvents(int, DateTime): 查交易指定日期的完成流水事件
SwapPositionCompose 方法体重构:
- 5处内联DbContext查询替换为seam调用
- 事务(BeginTransaction/Commit/Rollback)重构为ExecuteInTransaction lambda
- SaveChanges替换为SaveAllChanges seam
- 复用已有FindEodSwapPositions seam(替代内联eod_swap_position查询)
为零行为变更(seam生产实现=原代码,ExecuteInTransaction=原事务逻辑)。
SwapModule 173测试全绿,无回归。为SwapPositionComposeScenarioTest铺路。
|
2026-07-03 18:31:01 +08:00 |
|
tengyufan
|
9016ea480f
|
Merge remote-tracking branch 'origin/glms/feature/1.4.2' into glms/feature/1.4.2
|
2026-07-03 18:25:52 +08:00 |
|
tengyufan
|
28edb057c7
|
交易日历刷新
|
2026-07-03 18:25:40 +08:00 |
|
hjhan
|
4fede8339a
|
refactor(test): SwapDealSettlementTest拆分为SwapUnwind/SwapIncome+提取共享stub
按业务拆分原 SwapDealSettlementTest(8场景)为3个文件,提升可读性:
- TestableSwapDealService.cs: 共享stub(7个seam override)+工厂方法(CreateTrade/CreateUnwindData)
- SwapUnwindScenarioTest.cs: 平仓全流程6场景(UW_001~006: 全平/部分平/含预付金/含费价重算/审核/提交)
- SwapIncomeScenarioTest.cs: 结息2场景(SI_001~002: 正常结息/含预付金返息)
命名对齐 testable 分支风格(SwapUnwindScenarioTest),场景前缀改 UW_/SI_ 更直观。
删除 SwapDealSettlementTest.cs(内容已拆分迁移)。
SwapModule 173测试全绿,无回归。
|
2026-07-03 18:12:52 +08:00 |
|