# 2026-03-24 专项核查拓展查询后端验证记录 ## 执行命令 ```bash mvn test -pl ccdi-project -Dtest=CcdiProjectSpecialCheckExtendedQueryContractTest,CcdiProjectSpecialCheckExtendedPurchaseSqlTest,CcdiProjectSpecialCheckExtendedRecruitmentSqlTest,CcdiProjectSpecialCheckExtendedTransferSqlTest,CcdiProjectSpecialCheckExtendedQueryServiceImplTest ``` ```bash mvn test -pl ccdi-project ``` ## 执行结果 - 聚焦专项核查拓展查询测试通过,`Tests run: 11, Failures: 0, Errors: 0, Skipped: 0` - `ccdi-project` 模块全量测试通过,`Tests run: 178, Failures: 0, Errors: 0, Skipped: 0` ## 项目范围口径检查 - 未发现与 `projectEmployeeScopeSql` 项目员工范围口径相关的偏差 - 采购、招聘、调动 3 个主题的列表与详情 SQL 都锁定了项目范围归属条件 - 服务层已统一校验项目存在性,并在详情不归属项目范围时返回统一业务错误 ## 失败与既有问题说明 - 本次验证未出现失败 - 模块全量测试存在若干业务日志与 Mockito 动态 agent 警告,但不影响测试通过,且不属于本次改动引入的问题 ## 追加修复记录 - 2026-03-24 晚间追加修复了拓展查询列表 SQL 的 `projectId` 绑定问题 - 根因是 `projectEmployeeScopeSql` 依赖 `#{projectId}`,而采购、招聘、调动 3 个列表查询实际通过 `@Param("query")` 传参,运行期顶层参数表中不存在直接可用的 `projectId` - 修复方式是在 `selectExtendedPurchasePage`、`selectExtendedRecruitmentPage`、`selectExtendedTransferPage` 中统一增加 `` - 追加验证命令: ```bash mvn test -pl ccdi-project -Dtest=CcdiProjectSpecialCheckExtendedQueryContractTest,CcdiProjectSpecialCheckExtendedPurchaseSqlTest,CcdiProjectSpecialCheckExtendedRecruitmentSqlTest,CcdiProjectSpecialCheckExtendedTransferSqlTest,CcdiProjectSpecialCheckExtendedQueryServiceImplTest,CcdiProjectSpecialCheckControllerTest ``` - 追加验证结果:`Tests run: 16, Failures: 0, Errors: 0, Skipped: 0`