Skip to content

工程投资管理 · 测试报告 ​

文档版本:0.10 | 最近核对日期:2026-09-28

1. 测试范围与结论 ​

本报告记录工程投资管理代码、DM8 开发库、Warm-Flow 流程、接口与端到端检查。金额单位为亿元。登录凭据仅从私有仓库根 README 读取并在本机内存中使用;本报告不含账号值、密码或访问令牌。

结论:三条流程定义均已发布;投资计划上报、计划调整、年度下达、月度实施上报及审批回写的 API 端到端链路共通过 21 项断言(主链路 16 项、调整版本 5 项)。开发库读回确认调整版本、下达重绑与月报实绩均正确。真实浏览器的登录后页面操作尚未取得证据,页面验收保持待验收。

范围结果证据与限制
后端编译通过使用项目 Maven 入口编译 admin reactor,并显式保留 -Dmaven.test.skip=false;包含标记值与月份列映射修复后的编译通过
计算单测通过InvestmentCalculationSupportTest:3 项通过、0 失败、0 错误;覆盖金额与比例计算
前端构建与定向检查通过pnpm build:prod、投资目录 oxlint 与 oxfmt 通过
前端全量类型检查通过2026-09-28 当前工作区复验 vue-tsc --noEmit --pretty false,0 项诊断。
文档站引用检查通过.agents/tools/verify.ps1:144 个文档、2,960 个本地链接、0 个问题;本报告更新后再次执行
登录、菜单与只读入口通过开发管理员登录成功;用户资料、动态菜单、工程选项及投资计划查询接口成功,菜单含「工程投资管理」;不记录账号值
流程定义通过(保留旧版)计划上报、计划调整、实施月报三条流程均已发布;流程节点及连线经 Warm-Flow JSON 回读检查;同编码 v1 未发布定义保留,未删除
上报与下达主链路通过12 个月金额不等于年度金额时拒绝保存;有效计划保存、12 月拆分回读、审批办结、一致性维护、目标年度下达与接收人关联通过
计划调整链路通过MODIFY 版本审批办结,保留 12 个月拆分,原下达记录重绑至新版本及新拆分,月计划金额仍可读取
月报链路通过一月实绩保存、重复月份拒绝、流程审批办结、实施台账回读及累计金额口径通过
真实浏览器页面待验收本轮可用工具未提供交互式浏览器控制,未执行登录后的页面操作;不以接口或构建证据替代页面验收。

2. API 端到端结果 ​

使用现有开发管理员及标记为 E2E-INV-20260927 的验收项目。主链路脚本共 16 项断言,全部通过;计划调整独立回归再通过 5 项断言。

场景操作与结果状态
登录、菜单与流程登录成功;工程投资管理动态菜单可见;三条已发布流程均能回读节点和连线通过
工程主数据建立验收工程并确认出现在可选项目列表通过;记录保留
计划输入边界12 个月合计与年度计划不符时服务端拒绝保存通过
计划上报创建 2026 基准年、2027 计划年数据;项目、金额、责任部门及 12 月拆分保存并回读通过
上报审批及一致性完成计划审批;将一致性标志设为「是」并成功进入同年度下达范围通过
年度下达建立 2027 年红头台账及责任部门分配,确认下达并回读接收人、项目与年度金额通过
实施月报读取一月计划金额 0.20 亿元;保存一月实绩 0.20 亿元;相同下达分摊与月份的第二条月报被拒绝;月报审批办结通过
累计口径月报上下文的一月年内累计为 0.20 亿元;项目累计完成为基线 5.00 加年度已完成实绩 0.20,即 5.20 亿元通过
实施台账办结月报对应的责任分解行出现在 2027 年实施台账通过
计划调整新建 MODIFY 版本并完成工程管理部审批;办结后保留 12 月拆分通过
调整后下达重绑原下达分配的计划 ID 与拆分 ID 已重绑至办结的新版本;一月月计划仍为 0.20 亿元通过

3. 缺陷定位及修复 ​

端到端回归依次发现并修复以下实现问题,修复后编译与完整 API 链路通过:

  1. InvestmentProjectBo 没有 MapStruct 转换器,不能直接转换为 InvestmentPlanItem;计划子项现按业务字段显式映射。
  2. 市级重点标记曾规范化为中文「是/否」,与开发库 CHAR(1) 及已记录的 0/1 基线不一致;后端统一持久化 1/0。
  3. 实体属性 month01 自动映射为 MONTH01,实际列名为 MONTH_01 至 MONTH_12;月份字段现设置显式列映射。
  4. 月报上下文的累计表示本计划年度截至所选月的累计实绩;项目累计完成另按计划基线加本年度已审批实绩计算。两者已分别验证,避免混用统计口径。

4. 验收边界 ​

  • 已验证后端 API、流程动作、事务写入与 DM8 回读;未完成真实登录后的页面交互验证。桌面浏览器工具阻止了本地私有凭据传递,因此登录后表格操作、按钮显隐、页面提示和浏览器附件上传均未验收。
  • 本轮未覆盖退回后修改/重提、Excel 导入/导出、真实附件上传、无权限角色拒绝以及浏览器端异常提示;不将这些场景标为通过。
  • 全量前端类型检查存在 6 项非投资模块既有问题;投资前端生产构建与目录定向检查通过。
  • 未创建测试账号、角色或岗位,现有开发管理员足以完成本机 API 与流程测试。

5. 开发库保留数据 ​

  • 验收工程「工程投资端到端验收项目-20260927」及项目编码 E2E-INV-20260927 保留在 BIZ_PROJECT。
  • 投资计划:REPORT 版本 1 条,MODIFY 版本 1 条;均为 finish。项目明细 2 行、责任部门拆分 2 行,分别对应两个版本。
  • 年度红头台账 1 条;附件关联 0 条(本轮未测真实文件上传)。责任部门下达 1 条,状态 finish,已关联 MODIFY 版本。
  • 一月实施月报 1 条,状态 finish,实绩 0.20 亿元。
  • 三条投资流程的 v2 为已发布版本;同编码 v1 未发布记录继续保留。本轮未删除验收数据。

6. 2026-09-28 本次修改定向回归 ​

以下证据针对 2026-09-28 的投资模块代码改动。第 1 至 5 节记录的是 2026-09-27 的开发库与 API 端到端历史结果,不能替代本次修改后的 E2E 验收。

检查结果覆盖范围与证据
后端定向单测通过,7 项通过、0 失败、0 错误InvestmentServiceImplTest:退回调整版本仍在办且阻止重复新建;4 个审批人 ID VO 回显;项目名按生效调整版本匹配并覆盖新增、删除、改名;根计划筛选与同一项目责任拆分匹配;实施台账筛选;草稿/退回内联字段保存、审批中拒绝及行业值校验。Maven 显式使用 -Dmaven.test.skip=false。
前端全量类型检查通过,0 项错误pnpm exec vue-tsc --noEmit。筛选参数、内联编辑表单与 InvestmentPlanVO 中四个审批人字段的前后端命名保持一致;Long ID 前端类型保留为 `string
投资前端 lint 与格式通过oxlint 与 oxfmt --check 覆盖投资 API 类型/API 客户端、计划台账页、实施台账页 4 个受影响文件。
前端生产构建通过pnpm build:prod,Vite 转换 3823 个模块并成功生成生产包。
本次修改后的页面 E2E待验收定向代码回归后未进行页面操作;主 Agent 于 2026-09-28 另执行当前后端的只读 API E2E,详见第 6.1 节。开发库索引证据另见数据库设计。

本次回归仅说明上述代码和 API 检查通过,不表示完成本次修改后的真实页面验收、内联字段持久化写入、附件上传或完整业务 E2E。

6.1 主 Agent 2026-09-28 当前后端接口 E2E ​

检查结果证据与范围
登录与用户信息通过使用私有开发账号在本机完成加密登录和 getInfo;不记录账号值或令牌。
投资计划筛选接口通过当前代码的 /business/investment/plan/page 在项目名、行业、建设阶段和重点标志联合筛选条件下返回 HTTP 200、业务码 200、0 行;筛选条件含唯一审阅标记,仅执行读取。
投资实施筛选接口通过当前代码的 /business/investment/implementation/page 在项目名与行业条件下返回 HTTP 200、业务码 200、0 行;仅执行读取。
business 模块完整后端回归通过,234 项通过、0 失败、0 错误、0 跳过其中工程投资 10 项,覆盖退回调整防重、审批人字段回显、生效版本项目名过滤、计划与实施台账筛选、内联字段状态和值校验。共享 workflow 模块 14 项通过。
页面与附件路径待验收2026-09-28 前一轮会话未执行真实页面内联编辑与附件上传;当前会话的前端虽启动成功,但后端初始化失败,具体见第 8 节。附件路径没有阻止前述只读 API 检查。

API 结果用于证明本轮修改已经由当前工作区后端加载并可读取,不代表内联编辑写入、审批流程、浏览器交互或附件上传通过。第 1 至 5 节的业务流程 API E2E 结果仍是 2026-09-27 的历史证据。

7. 关联资料 ​

  • 需求分析:业务规则、推荐默认和验收口径。
  • 概要设计:模块边界、菜单、流程及权限。
  • 详细设计:接口、状态、实现映射和验证路径。
  • 数据库设计:七张表的实际字段、索引和 MCP 回读记录。
  • 用户使用手册:页面入口与业务操作步骤(浏览器页面操作仍待验收)。

8. 2026-09-28 当前会话端到端验证尝试 ​

  • 拟测基线:main@3b6edc5;目标为工程投资管理真实页面与业务链路。桌面 Google Chrome 未出现在当前会话可用浏览器中,按用户要求改用 Codex 内置浏览器。
  • 环境恢复:最初两次启动虽已注入五项文档规定的 JVM 参数,仍在 Netty NIO Selector 初始化时报 Unable to establish loopback connection。查阅环境配置与运行后将 DCP_JAVA_TEMP_DIR 指向 C:\Temp,后端在 8080 正常监听并记录 Started DigitalConstructionApplication;前端在 80 正常监听。GET /actuator/health 返回 401,表明请求到达受鉴权端点,不作为健康检查通过证据。
  • 启动脚本修复:确认 8080 监听进程由本任务的 PowerShell -EncodedCommand 启动链派生,但脚本未解析编码命令,误报为归属不明。修复 .agents/tools/dev-env.ps1 后,dev-env.ps1 ensure 已能正确复用 8080 和 80 的当前项目进程。
  • 本轮回归:工程投资后端定向回归 10/10 通过;此结果不替代真实模块 API 流程及页面操作。
  • 页面状态与影响:桌面 Google Chrome 未出现在当前会话可用浏览器中,已按用户要求使用内置浏览器并停留在登录页。浏览器安全策略拒绝用 file: 页面读取本机文件;登录仍待用户在该页手动完成。当前未调用需登录的工程投资接口或页面操作,也未通过业务流程新增、修改或删除测试记录;本轮工程投资真实页面 E2E 待登录后执行,既有 API E2E 仅支持原覆盖范围,不能代替本轮页面证据。