Commit Graph
708 Commits
Author SHA1 Message Date
马冰冰 9d7c318264 fix: C# 管理后端配置的邮件模板-缺少变量参数:交易编号、平仓总额 2026-08-26 10:36:35 +08:00
马冰冰 8cea7ee2e4 feature: 新增标的时 基金管理人设置为必填 2026-08-25 15:31:53 +08:00
锦麟 王 9c42852a6b 每个追保区间的输入框调窄一些,使得表格的每个单元格里的数值不会超过一行 2026-08-25 14:34:46 +08:00
锦麟 王 d43e77ee6f #EQD-6948 国联民生-实现保证金规则(2)追保金额的产生与收盘计算 ETF 子类分档(转债ETF/科创债ETF) 2026-08-24 18:23:26 +08:00
锦麟 王 8a0659312b BugFix 特批路径没法走通 2026-08-24 17:21:21 +08:00
锦麟 王 c35befbe8f #EQD-6948 国联民生-实现保证金规则(2)追保金额的产生与收盘计算 收盘计算和授信占用 2026-08-24 16:34:18 +08:00
锦麟 王 8648b62af9 Merge remote-tracking branch 'origin/glms/feature/1.4.2' into glms/feature/1.4.2-margin 2026-08-24 09:40:03 +08:00
hjhan 733ade024a revert: 补回d42742ab误随批删除的client三个下划线partial——_ClientDutyDirectorList/_ClientFileList/_ClientInvestorsList。d42742ab提交信息声明"待查库未删"但git rm混批时被一并带走,与声明不符。这3个走clientEditV2.cshtml:123/clientViewV2.cshtml:127的PartialAsync(item.viewPath)通道,viewPath源自DB AppConfig(PGroup=System,PName=ClientEditConfig),代码grep无法穷尽DB覆盖;默认嵌入配置(Resources.clientEditConfig)零引用已复核。恢复后维持"仅DB显式覆盖可达"的待查状态,查库确认后再处置 2026-08-22 10:29:57 +08:00
hjhan d7e6955132 revert: 恢复误删的Admin后台区域——用户澄清/admin管理后台是在用的,上条消息"没有使用"指的是admin页面也没引用jquery-3.6.0而非页面废弃。恢复Areas/Admin整目录28文件+Scripts/admin两文件。jquery三件套/3个业务死JS/11个死视图/NCrontab的删除仍然有效(admin布局零jquery引用,复验不受影响) 2026-08-22 10:19:36 +08:00
hjhan d42742ab10 chore(swap): 删除Admin后台区域与前端死文件——Areas/Admin整区(6控制器17视图,用户确认无人使用,主站零入口链接,/front/clientEditConfig由FrontController直走Service与该区无关,配置编辑界面移除但底层Service与DB配置不动)+Scripts/admin;jquery-3.6.0三件套(拷贝当天即零引用,运行时一直用Statics/libs 3.5.1);3个业务死JS(TradeMarketReport_DmaEodPosition/UserDefinedStructure/forwardTradeMarginCost,含Areas/App_Data语料双重复核);11个死视图(supervise2022副本3个/Picktrade两个/申万PDF模板等,渲染通道全代码内零命中);NCrontab.Signed零使用死包。client下划线3个partial因走DB配置viewPath通道待查库未删 2026-08-22 10:18:26 +08:00
hjhan 7ac219ad0f chore(swap): 删除确认书/结算报告厂商定制死分支——国联专属分支Company恒定,24个厂商确认书编号生成器+批量开关收敛国联直调(瑞达/海通/格林大华批量方法连带),结算报告模板与HasExtendVol同款收敛;保留WCZD公开方法(插件接口ITradeDocGeneratorContext成员,防外部DLL ABI);顺手修正GenerateGuolianContractNo存量错注释(国贸→国联)。-1214行,Release/Debug/UnitTestProject构建0错误 2026-08-22 08:11:43 +08:00
hjhan 0ff7375696 refactor(web): 百分比列展示嗅探一行式显式化——6处逐字重复抽PercentColumnText纯函数
structure.js×3/structure_dz.js/tradeEditV2.js/tradeEditGroup.js的setExtendInfo里同一行式:靠indexOf("%")>0嗅探值是否已带%,决定原样展示还是×100加%。抽为app/trade/percentColumnText.js纯函数(UMD,jest可测),表达式逐字符等价——含>0而非>=0、空值回退ColumnDefaultValue、回退源也无值时NaN%等历史行为全部被7个特征测试冻结(TDD:测试先红后绿)。四个页面cshtml在tradeHelper后补脚本序;jest覆盖率清单纳入。fe-tests 326/326通过
2026-08-22 07:46:58 +08:00
hjhan ef0e3b957b refactor(web): 收益互换平仓页(incomeSwapTrade)符号三元显式化——4处裸三元改UnwindLegSign调用
与unwindSwapTrade同款配方:interestPnlSign(利息盈亏,InterestDirection==1→+1)/payDirectionSign×2(浮动端与均价手续费方向)/positionTypeSign(多空方向,==1多头→+1)。语义逐处核对等价:本页无保证金返还本金列,不涉及marginRebatePrincipalSign反号。顺手删calcClosePnL注释死块与interestRatio注释行。SwapIncome.cshtml补unwindLegSign.js脚本序。node --check通过
2026-08-22 07:44:44 +08:00
hjhan e936a2f853 chore(swap): 删除衡泰死配置链与DataCompare孤儿Dto——OtcAppConfigHelper整个文件+HedgingSource/HTUpdate配置字段+DataCompare/Dto四件套
死链全貌:appconfig的"对冲交易数据源/接衡泰修改回执"两键→OtcAppConfig两属性→AppHelper启动复制→OtcAppConfigHelper两静态属性→全仓零读取方。OtcAppConfigHelper除这两属性外无其他成员,整文件删除;配置经JsonHelper.Deserialize加载,存量JSON多余键自动忽略,无需动线上配置。DataCompare模块仅剩Dto无服务无Controller,HengTaiLiquidationTime全仓无写入点。

保留:Configcolumn.衡泰对账列名常量(可能被DB列配置引用)。dotnet build 0错误
2026-08-22 07:36:48 +08:00
hjhan d6c1f192aa chore(web): 删除前端注释死代码——7个脚本文件的注释代码块及孤儿调用链
tradeEndConfirmList.js:两段被注释的main.open2弹窗(生成/批量下载确认书旧交互)、ModifyPayDate三函数簇(唯一入口按钮已被注释,cshtml的myModal弹窗同步删除,BatchDownLoadDoc中仅为死弹窗服务的tip/htmlContent变量一并清理);swapTradeList/SwapflowList/TradeMarketReport×2/structure:散落的注释代码行(旧日期校验/sortGrid/layer.open/表头分组等)。

保留swapTradeEdit.js 440-455的部署踩坑文档注释。行为零变更:node --check×7通过,fe-tests 319/319通过
2026-08-22 07:34:12 +08:00
hjhan 3c7e25820a feat(admin): EQD-5320 邮件模板配置下拉补资金通知书两项——原下拉为cshtml写死HTML仅4个确认书类型,后端AjaxGet/Save按EmailType查存email_template本不限类型;新增追保资金通知书/轧差资金通知书两option,value与bond-oms Java FundEmailHandler查询串一字不差(注释冻结约定),此场景{{文档编号}}/{{交易列表}}渲染为空 2026-08-21 16:55:13 +08:00
tengyufan e5a1ca1f68 fix: 收益互换OA移动审批改为内部定时轮询
- 复用 HostedTaskService 定时器轮询待处理的 OA 移动审批状态
- 增加单实例防重入控制,避免同一进程内重复同步
- 新增 Erp.TradeApprovalOaSyncIntervalSeconds 配置,默认 30 秒
- 支持在 Admin 全局配置页修改查询间隔,保存后立即生效,无需重启
- 补充 AppConfig 初始化 SQL,不再依赖 PowerJob 或 XXL-JOB 外部调度
2026-08-21 16:48:37 +08:00
hjhan 4fcbc15f05 refactor(web): EQD-5320 清理不可达的互换日终估值导入死代码——#importEod弹窗div与showImport/importEodFile/importClose三函数整块删除:全库无任何按钮调用showImport()(弹窗不可达,业务无从使用),其内部/trs_hub_api/valuationEndOfDay/import直连反代为死代码且是全库最后一处可执行trs_hub_api依赖(剩余引用均为历史注释);bond-oms侧接口不动;如需恢复按BatchSendSettleEmail同款C#代理模式(注释留指引) 2026-08-21 16:01:47 +08:00
lisong 120f443aae Merge remote-tracking branch 'dest/glms/feature/1.4.2' into test 2026-08-21 16:00:48 +08:00
tengyufan 3f0984800a feat: 收益互换开平仓及收益结算接入OA移动审批
#EQD-6425 国联民生-衍生品系统移动审批(提交OA流程)
- 审批节点支持配置“关联OA移动审批”
- 创建OA流程并记录请求、requestId、状态及异常备注
- 支持OA轮询同步审批通过、退回和归档状态
- 本地通过、拒绝、撤回时同步强制归档未结束OA流程
- 增加审批列表OA备注展示及本地Mock联调接口
- 新增OA审批记录表和数据库升级脚本
- OA移动审批使用独立查询地址及isnextflow配置,不影响交易确认书OA
2026-08-21 15:54:54 +08:00
hjhan 23a02e06c4 fix(swap): EQD-5320 单行发送Email按钮报'平仓流水id解析为空'——同事fa927b21新增的单行按钮传swap_flow_event.EncryptId(加密串,全站enid惯例),而端点原只按逗号分隔数字解析long.TryParse必败;控制器兼容双形态令牌:非数字即DecryptLong解密(失败返0不抛,非法串忽略),错误文案附原始入参便于定位;批量按钮(数字id)行为不变 2026-08-21 15:41:56 +08:00
苏睿 6c547a0d13 !27 增加vega(1bp)希腊值
Merge pull request !27 from feature/p132_155-yf-vega-1bp
2026-08-21 07:40:04 +00:00
苏睿 e867e702b5 !28 登录界面美化
Merge pull request !28 from feature/p132_154-yf-new-sso-login
2026-08-21 07:39:39 +00:00
hjhan cd981527ab feat(web): EQD-6953 前端值域闸门补疑似到期债券判定——ytm=0且净/全价均为面值100三者同时成立(现实在市券几乎不可能,UAT 060203.IB实证jquantlib空现金流退化形态)时按既有'不回写+toast真实原因'处理,提示核对到期日或手工填写;录入页/平仓页共用此闸门同步生效;判定条件与后端BondCalcHepler.IsMaturedDegenerate同口径(注释已互指);新增4个jest用例(命中/正常券/ytm=0但价格非面值/价格面值但ytm非0)61/61通过 2026-08-21 15:26:46 +08:00
马冰冰 38e0a7795f Merge branch 'glms/feature/1.4.2-M819' into glms/feature/1.4.2 2026-08-21 14:19:40 +08:00
马冰冰 f16634534c feature:#EQD-7093 国联民生-交易确认书校验(2)针对ETF标的获取新增信息并且支持配置分类。 ETF交易确认书中填充参考标的证券全称、参考标的基金管理人, 2026-08-21 14:16:05 +08:00
hjhan fa927b2133 fix(zszq-trs): 结算确认书列表新增每行发送邮件按钮,复用 BatchSendSettleEmail
- 新增 tradeEndConfirmSendEmail.js(独立文件降冲突),含纯函数 buildSettleEmailSendPayload 便于单测
- tradeEndConfirmList.js showToolName 加按钮,受 pageData.canSendEmail + ContractDocUrl 控制,跳过"多空组合"
- cshtml 引入新脚本;后端零改动(复用 SwapEndConfirmService.BatchSendSettleEmail -> bond-oms Java)
- 安全: 新按钮不引入新增 XSS/CSRF 暴露; CSRF token 缺失为全站既有问题,与批量按钮同源
2026-08-21 13:21:15 +08:00
锦麟 王 7b1f69a410 #EQD-6948 国联民生-实现保证金规则(2)追保金额的产生与收盘计算 授信和现金tag 2026-08-21 10:33:29 +08:00
张名锐 8efb468c56 Merge branch 'glms/feature/1.4.2' into glms/feature/0812_zmr_divPower 2026-08-21 09:50:12 +08:00
hjhan 0567955434 fix(swap): EQD-5320 批量发送确认书改走C#服务端代理——原前端直连/trs_hub_api反向代理在未配nginx的环境404(UAT实测),与计算器(SendConfirmEamil同款BondOmsInterface_BaseUrl服务端出口)通路不一致;新增SwapEndConfirmService.BatchSendSettleEmail(POST代理bond-oms batchSend,契约DTO+成败日志)与SwapTrade2Controller.BatchSendSettleEmail(逗号id串防呆解析);前端改调同源/swaptrade2端点保留error兜底;232/232前端测试通过 2026-08-21 09:40:01 +08:00
hjhan 433bca9530 fix(web): EQD-5320 批量发送确认书按钮点击无反应——$.ajax原无error回调,/trs_hub_api代理不通/超时/返回非JSON(如被登录页重定向)时完全静默;补error回调给HTTP状态+排查指引(控制台同步详错),success兜底非标准返回结构并提示笔数,成功后刷新列表;232/232前端测试通过 2026-08-21 09:16:28 +08:00
hjhan e8d0a76442 refactor(web): 平仓页收付方向符号显式化unwindLegSign.js+4例单测——裸三元(x==1?±1:∓1)抽为命名函数并冻结业务事实:利息盈亏与保证金返还本金对同一InterestDirection枚举必须反号(利息=买方持有标的向交易商融资的成本,保证金返还=退客户自己交的钱,业务确认非笔误),不变量断言两符号之和恒0,顺手统一必挂;interestPnlSign对利息/保证金两腿通用(changeInterestAmount模板对两类行都绑定,已核实);另删死代码:this.ratio/this.shortRatio数据属性+赋值全库无读取(模板亦无绑定)及注释掉的历史三元;SwapUnwind.cshtml补script标签,两个执行型测试沙箱喂真实模块;行为等价(Number===1与==1对实际入参等价已验证),全套315例绿 2026-08-21 07:17:20 +08:00
hjhan 3728d45cc4 test(web): swapPricePrecisionHelper补19例特征测试冻结字符串精确十进制核心——shiftDecimal/roundDecimal/multiplyDecimal/getRule/roundForSubmit/format全golden值断言(0.1×0.2精确0.02、1.005→1.01绕开浮点陷阱、roundDecimal绝对值四舍五入与ExitYtm约定同向、乘法保留小数标度1.5×2=3.0、Bond字段拼错→null回落umprice而Stock回落品种级的不对称冻结);require直连加载替代readFileSync沙箱(可被插桩);覆盖率清单纳入该文件;实锤注释:源码在rootDir外致babel(无transformer)与v8(逃逸路径无法归因,含roots/绝对路径变体实测jest29.7)两提供器覆盖率恒0且门槛不触发,真修需重构rootDir另行立项 2026-08-21 07:09:51 +08:00
张名锐 a44960d31e fix(swap): 修复股票基金类互换合约平仓时公司行为处理逻辑
- 优化 FindFundCorporateActions 方法,明确查询范围为严格大于 eodDate 的开区间,并添加日志记录
- 重命名 TryRestoreEffectiveFundPosition 为 TryRestorePositionFromEod 和 TryRestoreAndValidateUnwindData
- 完善 EOD 数据完整性验证,检查持仓数量和价格的有效性
- 添加详细的公司行为查询和应用过程日志记录
- 优化异常信息,包含更多上下文信息如生效日和记录ID
- 更新方法调用引用以使用新的方法名称
2026-08-20 18:22:17 +08:00
hjhan fb9cf9eadd feat(web): EQD-6953 BondController计算器调用补source场景日志——平仓页请求带source=unwind(可选参数向后兼容,录入页不传);BondCalcHepler本就记录完整参数/结果/失败原因,补场景维度即可区分入口定位是参数还是别的问题 2026-08-20 17:41:41 +08:00
hjhan 4bd528f966 feat(web): EQD-6953 平仓页接入期末结算收益率互算——SwapUnwind浮动端新增列(仅普通债券类收益互换,控件/事件/源AUTO REV标识与录入页同款vue-swap-price-input);DP回车→算ExitYtm(4位)、YD回车→反算交割全价并重算平仓盈亏、手填未回车=REV可覆盖;估值日=平仓日,改日期清陈旧值;防御:applyCalcFailure非法driver只清标识防误清交割全价(补回归测试);closePercentInterestRefresh沙箱补UnwindBondCalc mock对齐页面脚本序;209/209通过 2026-08-20 17:38:43 +08:00
hjhan 45d4bc1d26 feat(web): EQD-6953 平仓页DP↔YD互算纯函数库unwindBondCalc.js+17个jest单测——冻结三条易错约定:发计算器展示态直传不×100/ExitYtm四位四舍五入AwayFromZero(确认书导出固定4位不去零)/失败只清对方字段;修复roundExitYtm(null)会被取整成0覆盖手输的隐患(单测拦截);jest覆盖率清单纳入新文件;纯新增零接线,不影响生产 2026-08-20 17:34:52 +08:00
尹峰 b8d8ed151e 优化页面缓存 2026-08-20 17:30:45 +08:00
尹峰 775ee93a24 Merge branch 'master' of https://gitee.glmszq.com/gsty/onederiv/trs into feature/p132_154-yf-new-sso-login 2026-08-20 17:02:58 +08:00
尹峰 4c1ac60ed7 fix style 属性内嵌未转义双引号 2026-08-20 17:02:41 +08:00
张名锐 582cb2c7c5 Merge branch 'glms/feature/1.4.2' into glms/feature/0812_zmr_divPower
# Conflicts:
#	YLErpDAL/Modules/EodModule/BondPaymentService.cs
#	YLErpDAL/Modules/SwapModule/SwapDealService.cs
2026-08-20 16:21:13 +08:00
hjhan 8d7bc1b457 feat(web): EQD-6977 簿记页是否罚息开关(ExtendObj 直绑,保存经既有 JSON.stringify 自动落 ExtendJson) 2026-08-20 15:53:13 +08:00
hjhan 4f1b55b843 feat(web): EQD-6977 平仓页是否罚息下拉(改选即重取利息含罚息) + 其他费用改标签其他费用含罚息 + 预览参数透传(提交经 UnwindData 随 deal 自动回传) 2026-08-20 15:53:13 +08:00
hjhan 5552402a7c feat(swap): EQD-6977 罚息开关簿记默认值管道——TradeExtendJson.IsPenaltyInterest(存量缺省false零回填) + InitUnwind 平仓页带出簿记值 + GetUnwindInterestList 参数透传 2026-08-20 15:53:11 +08:00
锦麟 王 febd0ce02e #EQD-6947 国联民生-保证金计算整体改造-实现第一版盯市规则(不支持同一客户多部门)(1)保证金规则的设置 阶段3 2026-08-20 14:20:29 +08:00
尹峰 5ee510aa35 增加vega(1bp)希腊值 2026-08-20 14:15:12 +08:00
张名锐 aa3548e77f feat(bond): 支持债券与股票基金公司行为现金流计算的差异化处理 - init2
- 修改 CalcPayment 方法添加 useBondPriceScale 参数区分债券和股票/基金的金额计算口径
- 债券利息按每100元面值票息通过BondPriceConverter转为入库金额,股票基金分红直接计算
- 在BondPaymentService中添加详细的参数说明文档注释
- 更新SwapDealService中分红计算逻辑,根据标的类型自动选择合适的金额转换方式
- 新增CorporateActionEventLifecycleTest单元测试验证公司行为事件生命周期管理
- 添加SplitCorporateActionTddTest测试验证拆合股功能
- 优化FundCorporateActionRollbackAndUnwindTest扩展到股票类型测试
- 更新前端OperationHistory页面表格列宽和显示格式支持更长的说明信息
2026-08-19 17:48:34 +08:00
尹峰 23a0c89531 登录界面美化 2026-08-19 13:42:47 +08:00
tengyufan 8701bd8c44 fix(ClientBlack): 修正黑名单删除结果提示
- 根据本次实际进入删除审批的记录数返回删除结果
- 未提交、新增已拒绝直接删除时提示“删除成功”
- 已生效记录进入删除审批时提示“已经提交删除审批”
- 批量混合删除时提示部分记录已提交删除审批
2026-08-19 10:16:51 +08:00
tengyufan 274a93b328 更改黑名单审批导入格式为.xlsx 2026-08-18 16:56:29 +08:00