修正专项核查拓展查询项目参数绑定
This commit is contained in:
@@ -491,6 +491,7 @@
|
||||
</select>
|
||||
|
||||
<select id="selectExtendedPurchasePage" resultMap="ExtendedPurchaseListItemResultMap">
|
||||
<bind name="projectId" value="query.projectId"/>
|
||||
select
|
||||
p.purchase_id,
|
||||
p.project_name,
|
||||
@@ -574,6 +575,7 @@
|
||||
</select>
|
||||
|
||||
<select id="selectExtendedRecruitmentPage" resultMap="ExtendedRecruitmentListItemResultMap">
|
||||
<bind name="projectId" value="query.projectId"/>
|
||||
select distinct r.recruit_id,
|
||||
r.recruit_name,
|
||||
r.pos_name,
|
||||
@@ -644,6 +646,7 @@
|
||||
</select>
|
||||
|
||||
<select id="selectExtendedTransferPage" resultMap="ExtendedTransferListItemResultMap">
|
||||
<bind name="projectId" value="query.projectId"/>
|
||||
select
|
||||
t.id,
|
||||
s.name as staff_name,
|
||||
|
||||
@@ -26,6 +26,7 @@ class CcdiProjectSpecialCheckExtendedPurchaseSqlTest {
|
||||
String detailSql = extractSelect(xml, "selectExtendedPurchaseDetail");
|
||||
|
||||
assertTrue(listSql.contains("projectEmployeeScopeSql"));
|
||||
assertTrue(listSql.contains("name=\"projectId\" value=\"query.projectId\""));
|
||||
assertTrue(listSql.contains("select distinct scope.staff_name"));
|
||||
assertTrue(listSql.contains("applicant_name"));
|
||||
assertTrue(listSql.contains("apply_date"));
|
||||
|
||||
@@ -26,6 +26,7 @@ class CcdiProjectSpecialCheckExtendedRecruitmentSqlTest {
|
||||
String detailSql = extractSelect(xml, "selectExtendedRecruitmentDetail");
|
||||
|
||||
assertTrue(listSql.contains("projectEmployeeScopeSql"));
|
||||
assertTrue(listSql.contains("name=\"projectId\" value=\"query.projectId\""));
|
||||
assertTrue(listSql.contains("select distinct r.recruit_id"));
|
||||
assertTrue(listSql.contains("interviewer_name1"));
|
||||
assertTrue(listSql.contains("interviewer_name2"));
|
||||
|
||||
@@ -26,6 +26,7 @@ class CcdiProjectSpecialCheckExtendedTransferSqlTest {
|
||||
String detailSql = extractSelect(xml, "selectExtendedTransferDetail");
|
||||
|
||||
assertTrue(listSql.contains("projectEmployeeScopeSql"));
|
||||
assertTrue(listSql.contains("name=\"projectId\" value=\"query.projectId\""));
|
||||
assertTrue(listSql.contains("ccdi_staff_transfer t"));
|
||||
assertTrue(listSql.contains("ccdi_base_staff s"));
|
||||
assertTrue(listSql.contains("scope.staff_name = s.name"));
|
||||
|
||||
@@ -25,3 +25,16 @@ mvn test -pl ccdi-project
|
||||
|
||||
- 本次验证未出现失败
|
||||
- 模块全量测试存在若干业务日志与 Mockito 动态 agent 警告,但不影响测试通过,且不属于本次改动引入的问题
|
||||
|
||||
## 追加修复记录
|
||||
|
||||
- 2026-03-24 晚间追加修复了拓展查询列表 SQL 的 `projectId` 绑定问题
|
||||
- 根因是 `projectEmployeeScopeSql` 依赖 `#{projectId}`,而采购、招聘、调动 3 个列表查询实际通过 `@Param("query")` 传参,运行期顶层参数表中不存在直接可用的 `projectId`
|
||||
- 修复方式是在 `selectExtendedPurchasePage`、`selectExtendedRecruitmentPage`、`selectExtendedTransferPage` 中统一增加 `<bind name="projectId" value="query.projectId"/>`
|
||||
- 追加验证命令:
|
||||
|
||||
```bash
|
||||
mvn test -pl ccdi-project -Dtest=CcdiProjectSpecialCheckExtendedQueryContractTest,CcdiProjectSpecialCheckExtendedPurchaseSqlTest,CcdiProjectSpecialCheckExtendedRecruitmentSqlTest,CcdiProjectSpecialCheckExtendedTransferSqlTest,CcdiProjectSpecialCheckExtendedQueryServiceImplTest,CcdiProjectSpecialCheckControllerTest
|
||||
```
|
||||
|
||||
- 追加验证结果:`Tests run: 16, Failures: 0, Errors: 0, Skipped: 0`
|
||||
|
||||
Reference in New Issue
Block a user