xyc
9 天以前 13c2d363e0d01483393c8576bd85e37f5ce43d58
docs/¹¤×÷ÈÕ½á/¹¤×÷ÈÕ½á_2026-09-22.md
@@ -33,7 +33,8 @@
  3. é¦–次下载后把 Blob å­˜å†…存,重复保存 **0 è¯·æ±‚**;
  4. å¼¹çª—标题随状态:正在生成 / **已生成** / ç”Ÿæˆå¤±è´¥ï¼›å®Œæˆæ€ä¸»æŒ‰é’®æ”¹ä¸ºã€Œå…³é—­ã€ï¼›
  5. æ¯æ¬¡æ–°ä»»åŠ¡é‡ç½® `taskDownloaded/taskFileName/taskFileSize/taskBlob`。
- **浏览器实测**(admin/123456,2026-08):生成 13.5 ç§’、产物 1.15 MB;完成后标题「汇总大表已生成」、提示「已自动下载:生成_道路运输量汇总表_2026-08.xlsx ï¼ˆ1.15 MB)」、点「再次下载」提示「已从本地缓存保存」;控制台 0 æŠ¥é”™ã€‚
- **浏览器实测**(admin/123456,2026-08):生成 13.5 ç§’、产物 1.15 MB;完成后标题「汇总大表已生成」、提示「已自动下载:生成_道路运输量汇总表_2026-08.xlsx ï¼ˆ1.15 MB)」;控制台 0 æŠ¥é”™ã€‚
- **用户反馈后改 v2**:「已经下载过了就不需要再次下载」→ åˆ æŽ‰ã€Œå†æ¬¡ä¸‹è½½ã€æŒ‰é’®ä¸Žå†…存缓存,**完成后底部只留「重新生成 / å…³é—­ã€**;仅当自动下载失败时才出现「保存文件」兜底。复验:生成中「重新生成(禁用)/后台运行」→ å®ŒæˆåŽã€Œé‡æ–°ç”Ÿæˆ/关闭」,提示语为「已自动下载:…,文件在浏览器默认下载目录。」,13.6 ç§’、控制台 0 æŠ¥é”™ã€‚
### 5. æ•°æ®æŸ¥çœ‹ä½“验优化(第二轮,用户当日反馈)
@@ -43,17 +44,57 @@
- **左侧冻结标识列**:`renderColumns` æŒ‰è¡¨è‡ªé€‚应冻结 `报表期/所属地区/市州/企业名称` ç­‰å‰å¯¼åˆ—(此实现 09:56 å·²è½åœ¨å·¥ä½œåŒºä½†æœªæäº¤ï¼Œæœ¬æ¬¡çœŸæœºéªŒè¯åŽä¸€å¹¶æäº¤ï¼‰ã€‚
- **跨期汇总口径定稿**:流量列求和、时点列不参与汇总且不显示、比率列按累计口径重算。
### 6. æ•°æ®æŸ¥çœ‹å±•示优化(第三轮,用户复核反馈 4 ç‚¹ï¼‰
- **下拉分组标题**:改成 13px/700/深色+浅底(原为 Element UI é»˜è®¤ 12px ç°å­—),`popper-class` ç²¾ç¡®å‘½ä¸­ï¼›
- **隐藏报表期与所属地区**,冻结区收窄为"市州/地区 + ä¼ä¸šåç§°/项目名称 + å£å¾„"(最多 3 åˆ—);后端为企业类表(h2032/h2031/h204 è½¦è¾†èƒ½è€—)补派生市州列;
- **规上规下拆分空值定性**:源文件《模板_规上规下拆分运输量.xlsx》只有"周转量"列,无货运量列 â†’ ä¸‰åˆ—空属源数据形态;周转量单位核对为**万吨公里**(1,235,760.72×10000=12,357,607,239 å¨å…¬é‡Œï¼Œä¸Ž h2032 æ­¦æ±‰ 1-6 æœˆå®Œå…¨ä¸€è‡´ï¼‰ï¼›åˆ—名已标注单位;
- **网约车订单改按市州竖排**:地区(全省+17 å¸‚州)נ指标(期间/订单数/订单占比/客运量/旅客周转量/城市内两项/说明);客运量与周转量复用 `WycSplitCalc` æ‹†åˆ†å£å¾„,全省行取台账 pin;
- **市州月报进度**:连 `investment_project` è¡¥é¡¹ç›®åç§°ä¸Žå¸‚州(原表只有 project_id,页面显示数字无法辨识);
- **数值显示规范**:底层全精度不变,显示层千分位+两位小数、比率类转百分比、排名字段整数。
### 7. æ•°æ®æŸ¥çœ‹ï¼šå£å¾„上移筛选、空列隐藏、表头补单位(第四轮)
- **空列不显示**:拆分表"规上/规下/合计货运量"(源文件未提供、库内全空)不再展示,字段保留;
- **口径上移**:拆分表"口径"从表格列改为工具栏下拉(全部/当月/累计),后端 `/api/data/list` æ–°å¢ž `periodType` å‚数;切换类型自动复位;
- **表头补单位**:12 ç±»è¡¨ 60 ä½™åˆ—按库内注释/源文件核对补齐(万人次、万人公里、吨、吨公里、万吨、万吨公里、人、人公里、辆、座、公里、车次、万元、平方米、名、%);
  èƒ½è€—燃料三项库内无单位注释,标注"(按燃料单位)"未臆造。
### 8. æ•°æ®æŸ¥çœ‹ã€ŒæŒ‰å¸‚州汇总 + å¯¼å‡º Excel」落地(第五轮,主线功能)
- æ–°å¢ž `CityRollupService` + ä¸‰ä¸ªæŽ¥å£ï¼š`/api/data/rollupTypes`、`/api/data/summary`、`/api/data/export`;
- æ”¯æŒ 7 ç±»ï¼šå…¬äº¤ã€å·¡æ¸¸å‡ºç§Ÿã€è´§è¿ä¼ä¸šã€å…¬è·¯æ—…客企业、个体客运、网约车(拆分口径)、货运量周转量;
- å£å¾„:任意起止月;流量求和、**时点列不参与**、比率按累计重算(累计同比自动取上年同期);排名可选「留空 / æŒ‰ç´¯è®¡å€¼é‡æŽ’」;结果 = 17 å¸‚å·ž + å…¨çœåˆè®¡ï¼›
- å‰ç«¯ï¼šå·¥å…·æ åŠ ã€Œè§†å›¾ï¼šæ˜Žç»† / æŒ‰å¸‚州汇总」,汇总模式提供起止月、排名、汇总、导出 Excel;
- ä¿®å¤ä¸¤ä¸ªå£å¾„坑:货运量周转量表的"行内累计 + æ¹–北省合计行"重复计算(1,149,579 â†’ 130,311.89 ä¸‡å¨ï¼‰ã€ç»“束月无数据自动回退;
- ä¸Žæ‰‹å·¥æ ¸ç®—一致:公交 1-8 æœˆ 110776.34 ä¸‡äººæ¬¡ã€è´§è¿ä¼ä¸š 313,998,248 å¨ã€è´§è¿é‡å‘¨è½¬é‡ 130,311.89 ä¸‡å¨ã€‚
- æ”¶å°¾ï¼šæŒ‰ç”¨æˆ·è¦æ±‚把「全省合计」行提到最前面(武汉市之上),导出 Excel ä¸­åˆè®¡è¡ŒåŠ ç²—ã€‚
### 5. æ±‡æ€»å¤§è¡¨å¯¼å‡ºç»“果落盘缓存(用户:"下载过就不该再等很久,能不能记住上次结果")
- **背景**:原来只有「10 åˆ†é’Ÿå†… + æœŸé—´æ— æ–°å¯¼å…¥ã€çš„**内存**缓存,窗口短、重启即失效 â†’ ç¬¬äºŒæ¬¡ä¸‹è½½è¿˜è¦ç­‰ 13~17 ç§’。
- **改动**(`ReportExportTaskService.java` ä¸ºä¸»ï¼‰ï¼š
  1. ç»“æžœ**落盘**到 `docs/生成汇总大表/_cache/`,文件名 `<key>_v<数据版本>.xlsx`(数据版本=`MAX(import_batch.id)`),已加 `.gitignore`;
  2. æäº¤é¡ºåºï¼šå†…存缓存 â†’ è½ç›˜ç¼“存(同报表期 + åŒæ•°æ®ç‰ˆæœ¬ + 7 å¤©å†…)→ çœŸç®—;生成成功后写盘并删除同 key æ—§ç‰ˆæœ¬ï¼›
  3. å‰ç«¯æ–‡æ¡ˆï¼šå‘½ä¸­ç¼“存显示「本次直接沿用 <时间> ç”Ÿæˆçš„结果(期间没有新的数据导入)」,元信息改为「上次生成于 â€¦ã€ã€‚
- **顺带修 bug**:落盘命中时 `elapsedMs` ä¸ºè´Ÿæ•°ï¼ˆä»»åŠ¡èµ·ç‚¹ç”¨çŽ°åœ¨ã€ç»“æŸæ—¶é—´æ˜¯åŽ†å²ç”Ÿæˆæ—¶é—´ï¼‰â†’ å·²æ”¹ä¸ºä»¥ç”Ÿæˆæ—¶é—´ä½œèµ·ç‚¹ã€‚
- **实测**:首次 12.4 s å†™ç¼“存;再次提交 **164 ms** å‘½ä¸­å†…存;**重启后端后提交 1.19 s å‘½ä¸­è½ç›˜**;临时插一条导入记录后 `fromCache=false` é‡æ–°ç”Ÿæˆï¼ˆéªŒè¯ã€Œæœ‰æ–°å¯¼å…¥å³å¤±æ•ˆã€ï¼‰ï¼›æµè§ˆå™¨ç‚¹å¯¼å‡ºç§’出、文案与按钮正确、控制台 0 æŠ¥é”™ã€‚
## äºŒã€æµ‹è¯•结果摘要
- æŠ¥å‘Šï¼š`docs/功能测试报告/功能测试报告_数据查看补齐网约车与个体客运类型_2026-09-22.md`
- æŠ¥å‘Šï¼š`docs/功能测试报告/功能测试报告_数据查看冻结列与数据类型下拉框_2026-09-22.md`(冻结列/下拉框真机用例 12 æ¡å…¨é€šè¿‡ï¼‰
- æŠ¥å‘Šï¼š`docs/功能测试报告/功能测试报告_数据查看展示优化与网约车按市州竖排_2026-09-22.md`(接口 6 æ¡ + çœŸæœº 6 æ¡å…¨é€šè¿‡ï¼‰
- æŠ¥å‘Šï¼š`docs/功能测试报告/功能测试报告_数据查看口径筛选与表头单位_2026-09-22.md`(接口 7 æ¡ + çœŸæœº 2 æ¡å…¨é€šè¿‡ï¼‰
- æŠ¥å‘Šï¼š`docs/功能测试报告/功能测试报告_数据查看按市州汇总与导出_2026-09-22.md`(接口 10 æ¡ + çœŸæœº 4 æ¡å…¨é€šè¿‡ï¼‰
- æŠ¥å‘Šï¼š`docs/功能测试报告/功能测试报告_汇总大表进度弹窗优化_2026-09-22.md`(6 æ¡ç”¨ä¾‹é€šè¿‡ï¼šç”Ÿæˆä¸­çŠ¶æ€ / å®Œæˆæç¤º / å†æ¬¡ä¸‹è½½èµ°ç¼“å­˜ / å…³é—­ / æ— æŽ§åˆ¶å°æŠ¥é”™ / å…¶å®ƒå¯¼å‡ºæœªå—影响)
- æŠ¥å‘Šï¼š`docs/功能测试报告/功能测试报告_汇总大表导出结果落盘缓存复用_2026-09-22.md`(10 æ¡ç”¨ä¾‹é€šè¿‡ï¼šé¦–次生成写缓存 / å†…存命中 164ms / **重启后落盘命中 1.19s** / æœ‰æ–°å¯¼å…¥å³å¤±æ•ˆ / åŒ key åªç•™æœ€æ–°ç‰ˆæœ¬ / æ—¶é•¿æ˜¾ç¤ºä¿®å¤ / æµè§ˆå™¨ç«¯åˆ°ç«¯ï¼‰
- çŽ¯å¢ƒï¼šåŽç«¯ `mvn spring-boot:run`(8090,`Started TrafficAuditApplication`);前端 `npm run serve`(8080,`Compiled successfully in 4769ms`);MySQL `localhost:3308/traffic_audit`;登录 admin/123456 å– JWT。
- ç»“果:3 ä¸ªæ–°ç±»åž‹æ­£å‘(含期间/关键字筛选)、负向(未知类型、无数据期、无 token)全部通过;入库抽查条数与库内一致(20 / 20 / 139);原有 15 ç±»å›žå½’正常。
## ä¸‰ã€é—留问题与待办
1. ã€ä¸‹ä¸€æ­¥ä¸»ä½“工作】数据查看"按市州汇总":任意起止月(年初至 N æœˆå³ 01~N)+ 17 å¸‚å·ž + åˆè®¡è¡Œï¼›**不放时点列**;比率列按累计口径重算;并支持导出 Excel。
1. ã€å·²å®Œæˆã€‘数据查看"按市州汇总 + å¯¼å‡º Excel"(见第 8 èŠ‚ä¸Žã€ŠåŠŸèƒ½æµ‹è¯•æŠ¥å‘Š_数据查看按市州汇总与导出_2026-09-22.md》)。
2. æ±‡æ€»å£å¾„细则待业务确认:排名字段跨期需重新排名(先留空);累计同比需要自动取上年同期期间。
3. å…³é”®å­—框对无名称列的表(网约车总数、网约车订单)无效,待优化。
4. å†»ç»“列依赖"标识列连续排在前面"的列序假设,若以后调整列序/新增类型需同步维护 `stickyProps`/`nameProps`。
@@ -64,3 +105,21 @@
1. å¼€å·¥"按市州汇总 + å¯¼å‡º Excel":后端加 `/api/data/summary` ä¸Ž `/api/data/export`,前端加"明细/汇总"切换与导出按钮。
2. æ±‡æ€»ç»“果与报表/手工作业抽样核对(1-8 æœˆå…¬äº¤ã€å·¡æ¸¸å‡ºç§Ÿã€è´§è¿è§„上企业)。
## äº”、Codex æ¡Œé¢ç«¯è¾“入卡顿复核(2026-09-22)
- æŒ‰ 09-21 çš„修复方案,用户重启电脑和 Codex åŽå¤æ ¸ã€‚
- è¿›ç¨‹ï¼šChatGPT äºŽ 2026-09-22 12:54 æ–°å¯åŠ¨ï¼›ä¿®å¤è„šæœ¬ `fix-codex-typing-retry-storm.js` å­˜åœ¨ä¸” `user_scripts.json` ä»ä¸º `enabled=true`。
- æ€§èƒ½ï¼šä¸»æ¸²æŸ“进程(PID 7044)连续 10 ç§’采样约 `13.28%` å•核;修复前约 `115%` å•核。
- å®ˆå«ï¼šè°ƒè¯•端口 9229 è¯»å– `window.__codexPlusRetryTimerGuardInstalled=true`,本次会话 `window.__codexPlusRetryTimerGuardDropped=16`。
- ç»“论:输入卡顿修复在重启后仍生效,问题已解决。
## å…­ã€æ±‡æ€»å¤§è¡¨è½¯ä»¶è¾“出与手工定稿差异复核(2026-08)
- æ¯”对文件:软件输出 `生成_道路运输量汇总表_2026-08 (5).xlsx`,手工定稿 `2026å¹´8月客运量、货运量定稿.xlsx`。
- æ–¹æ³•:先用 Excel COM å¯¹ä¸¤ä»½å‰¯æœ¬å…¨é‡é‡ç®—,再按页签、数据块、行标签、列头做语义对齐后逐格比对,避免读取 XLSX æ—§ç¼“存造成 `#VALUE!` å‡å·®å¼‚。
- ç»“果:930 æ¡é€æ ¼å·®å¼‚中,实质数值差异 314 æ¡ã€‚其中 304 æ¡æ˜¯å…¬äº¤/出租/网约车/中口径明细的 2025 ç´¯è®¡åˆ—少加 7、8 æœˆï¼Œä¸šåŠ¡å·²ç¡®è®¤è¯¥åˆ—å¯æ¸…ç©ºï¼›å¦ 10 æ¡æ˜¯ ` è´§è¿` 2022 å¹´ç´¯è®¡åŒæ¯”,业务已确认软件正确。
- å…¶ä½™å·®å¼‚:文本型数字 286 æ¡ã€å–整尾差 194 æ¡ã€ä»…软件有值 129 æ¡ã€ä»…手工有值 2 æ¡ã€é”™è¯¯å€¼ 2 æ¡ã€æ–‡æœ¬ä¸åŒ 2 æ¡ã€ç±»åž‹ä¸åŒ 1 æ¡ã€‚
- ç»“构差异:城市汇总/城市分市州/中口径分析/中口径排名存在软件多出的 8 æœˆå—或不同布局;两个货运排名页签块顺序相反;城市客运手工多一列 AJ;道路运输周转量手工多 AA/AB ç©ºåˆ—。可比业务数据均已逐块对齐核对。
- ä¸Šç‰ˆæŠ¥å‘Šä¸­çš„ `班线包车` 2019、2020 å¹´åŽ†å²å— `#VALUE!` ç»é‡ç®—确认是缓存假差异,本次已剔除。
- äº¤ä»˜ï¼š`docs/问题汇总/汇总大表_软件输出与手工定稿差异清单_2026-08_20260922.md`,逐格明细 `docs/问题汇总/汇总大表_差异明细_2026-08_20260922.csv`。