编辑 | blame | 历史 | 原始文档

工作日结 2026-09-10

上午(2026-09-10)数据导入页新增“清空(按报表期清库)”并完成端到端验证

完成内容

  • 数据导入页右侧“导入进度”侧栏标题旁新增红色“清空”按钮:一键清空所选报表期在数据库中的全部已导入数据,并同步删除该期审核结果、审核通过标记(audit_run)与导入批次(import_batch),用于整月重导;投资项目主档保留。
  • 后端新增 DataImportService.clearPeriod(period)(@Transactional + 报表期格式校验 + 删除行数统计)与 POST /api/import/clear;覆盖 h2032/运政车辆/轨迹里程/规上规下/货运量周转量/旅客月报/个体/旅客运政/能耗/能耗运政/投资月度/投资系统/城市公交/巡游出租/出租车运政/网约车总数/网约车订单 等表。
  • 前端交互:二次确认弹窗(标题含报表期、提示不可撤销)、清空中 loading/禁用、未选报表期或导入中禁用、成功后自动刷新导入进度。

测试结果摘要

  • 一次性测试期 2099-01 全流程:导入 636 行 → 审核生成 audit_result 31 行/audit_run 1 行 → 界面点“清空”确认 → 返回 dataRows=636/auditRows=31/auditRunRows=1/batchRows=1,DB 直查四表全 0 → 再导入仍 636 行成功。
  • UI 实测(Codex 应用内浏览器,admin 登录):按钮显示正常,弹窗标题“清空 2099-01 数据”,确认后提示“已清空 2099-01 报表期的数据”,进度全部回“未导入”。
  • 反向用例:非法报表期 abc 被拒并提示格式;空报表期 2098-12 返回全 0 成功。
  • 回归:清空前后真实月份批次分布与库内行数完全一致(2025-07=664、2026-07=636、2026-09=636 等),零影响。
  • 后端 start-dev.ps1 启动就绪(backend.log Started TrafficAuditApplication),前端 dev Compiled successfully。
  • 测试报告:docs/功能测试报告/功能测试报告_数据导入清空按钮按报表期清库_2026-09-10.md。

遗留问题与待办

  • 待用户实际浏览器验收“清空”按钮(建议先确认所选报表期与备份);如需只清某一数据类型,可后续做“按类型清空”。
  • 沿用昨日未动待办:汇总大表 M3(网约车台账取数、货运页 FreightCalc 规上/规下、城市客运/中口径合成页)与“9 月+无母版自动扩列”;8 月仍缺 4 类源数据表行(freight_turnover_import、scale_split_transport、passenger_individual_monthly、网约车拆分输入)。

下午(2026-09-10)清空功能增强:支持按类型清空 + 清空按钮移出“刷新”防误触

完成内容

  • 用户反馈“清空放在刷新旁边怕误触”,且需要能只清某一数据类型:把清空从侧栏标题行(刷新旁)移除,改到标题行下方独立红色危险操作区(浅红底 + 边框,“清空数据…”按钮 + 提示“按报表期清库,用于整月重导”),与刷新物理隔开。
  • 新增清空弹窗:单选“清空全部 / 只清空指定类型”,指定类型用多选下拉并按分组列出、标签带“(已导入 N 行/未导入)”;底部红色警示说明会同步删审核结果、已审核标记、导入批次(投资项目主档保留)且不可撤销;确认前再走一次二次确认。
  • 后端 POST /api/import/clear 增加可选 types(逗号分隔):空=整期全清(原行为不变),非空=只清指定类型,并同步清理关联 audit_result/audit_run/import_batch;返回值增加 scope 与 types。新增类型→表/审核类型/批次类型三张静态映射与 clearTypeData 分派,投资月度按项目类别过滤(主档保留)。

测试结果摘要

  • 用一次性测试期 2099-01/2099-02 验证:清 h2032 → dataRows=636、auditRows=31、auditRunRows=1、batchRows=1,DB 核对四表对应记录全 0;同期的 cityBus 业务 142 行、CITY_BUS 审核 53 行、audit_run 与批次均保留;2099-02 数据不受影响。
  • 负向:types=notAType → 500“未指定有效的数据类型”;有效+未知混合 → 忽略未知按有效执行;不传 types → 整期全清。
  • 投资类别:types=investment 只删客运站场、types=investmentLogistics 只删物流园区,投资主档保留。
  • UI 实测(应用内浏览器,admin 登录):“刷新”旁已无清空;新危险区按钮与弹窗文案正常;选中“道路货物运输月度生产情况(已导入 636 行)”确认后提示“已清空 2099-01 数据:业务数据 636 行、审核结果 0 行、导入批次 1 条,可以重新导入”,进度回“未导入”。
  • 回归:测试期无残留,真实月份 2026-09=636、2026-07=636、2025-07=664 与真实批次总数 239 均未变。
  • 后端 mvn -o -q compile 通过,服务已重启(PID 21884,08:54 启动);前端 dev Compiled successfully。
  • 测试报告:docs/功能测试报告/功能测试报告_导入清空按类型与按钮防误触_2026-09-10.md。

遗留问题与待办

  • 待用户在自己浏览器验收新按钮位置与弹窗文案;如仍觉得危险区太显眼可再收进“更多操作”折叠。
  • 沿用未动待办:汇总大表 M3(网约车台账取数、货运页 FreightCalc 规上/规下、城市客运/中口径合成页)与“9 月+无母版自动扩列”;8 月仍缺 4 类源数据表行(freight_turnover_import、scale_split_transport、passenger_individual_monthly、网约车拆分输入)。

附:提交

  • 本次改动 3 个代码文件 + 功能测试报告与日结,按规范先 git fetch gitea/origin 对比合并,再 commit 并双端推送(gitea main、个人 gitee master)。