From 0dbf5c5ca42b24b9a035521ea0657016a107f17e Mon Sep 17 00:00:00 2001 From: wkc <978997012@qq.com> Date: Tue, 24 Mar 2026 22:58:26 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A1=A5=E5=85=85=E4=B8=93=E9=A1=B9=E6=A0=B8?= =?UTF-8?q?=E6=9F=A5=E6=8B=9B=E8=81=98=E8=B0=83=E5=8A=A8=E6=8B=93=E5=B1=95?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2SQL?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/CcdiProjectSpecialCheckMapper.java | 54 ++++++ .../project/CcdiProjectSpecialCheckMapper.xml | 157 ++++++++++++++++++ ...pecialCheckExtendedRecruitmentSqlTest.java | 46 +++++ ...ctSpecialCheckExtendedTransferSqlTest.java | 45 +++++ 4 files changed, 302 insertions(+) create mode 100644 ccdi-project/src/test/java/com/ruoyi/ccdi/project/mapper/CcdiProjectSpecialCheckExtendedRecruitmentSqlTest.java create mode 100644 ccdi-project/src/test/java/com/ruoyi/ccdi/project/mapper/CcdiProjectSpecialCheckExtendedTransferSqlTest.java diff --git a/ccdi-project/src/main/java/com/ruoyi/ccdi/project/mapper/CcdiProjectSpecialCheckMapper.java b/ccdi-project/src/main/java/com/ruoyi/ccdi/project/mapper/CcdiProjectSpecialCheckMapper.java index 1a0bc696..9bdc28b6 100644 --- a/ccdi-project/src/main/java/com/ruoyi/ccdi/project/mapper/CcdiProjectSpecialCheckMapper.java +++ b/ccdi-project/src/main/java/com/ruoyi/ccdi/project/mapper/CcdiProjectSpecialCheckMapper.java @@ -2,8 +2,14 @@ package com.ruoyi.ccdi.project.mapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.ccdi.project.domain.dto.CcdiProjectExtendedPurchaseQueryDTO; +import com.ruoyi.ccdi.project.domain.dto.CcdiProjectExtendedRecruitmentQueryDTO; +import com.ruoyi.ccdi.project.domain.dto.CcdiProjectExtendedTransferQueryDTO; import com.ruoyi.ccdi.project.domain.vo.CcdiProjectExtendedPurchaseDetailVO; import com.ruoyi.ccdi.project.domain.vo.CcdiProjectExtendedPurchaseListItemVO; +import com.ruoyi.ccdi.project.domain.vo.CcdiProjectExtendedRecruitmentDetailVO; +import com.ruoyi.ccdi.project.domain.vo.CcdiProjectExtendedRecruitmentListItemVO; +import com.ruoyi.ccdi.project.domain.vo.CcdiProjectExtendedTransferDetailVO; +import com.ruoyi.ccdi.project.domain.vo.CcdiProjectExtendedTransferListItemVO; import com.ruoyi.ccdi.project.domain.vo.CcdiProjectFamilyAssetItemVO; import com.ruoyi.ccdi.project.domain.vo.CcdiProjectFamilyAssetLiabilityDetailVO; import com.ruoyi.ccdi.project.domain.vo.CcdiProjectFamilyAssetLiabilityListItemVO; @@ -89,4 +95,52 @@ public interface CcdiProjectSpecialCheckMapper { @Param("projectId") Long projectId, @Param("purchaseId") String purchaseId ); + + /** + * 查询专项核查招聘拓展列表 + * + * @param page 分页对象 + * @param queryDTO 查询条件 + * @return 分页结果 + */ + Page selectExtendedRecruitmentPage( + @Param("page") Page page, + @Param("query") CcdiProjectExtendedRecruitmentQueryDTO queryDTO + ); + + /** + * 查询专项核查招聘拓展详情 + * + * @param projectId 项目ID + * @param recruitId 招聘项目编号 + * @return 详情 + */ + CcdiProjectExtendedRecruitmentDetailVO selectExtendedRecruitmentDetail( + @Param("projectId") Long projectId, + @Param("recruitId") String recruitId + ); + + /** + * 查询专项核查调动拓展列表 + * + * @param page 分页对象 + * @param queryDTO 查询条件 + * @return 分页结果 + */ + Page selectExtendedTransferPage( + @Param("page") Page page, + @Param("query") CcdiProjectExtendedTransferQueryDTO queryDTO + ); + + /** + * 查询专项核查调动拓展详情 + * + * @param projectId 项目ID + * @param id 主键ID + * @return 详情 + */ + CcdiProjectExtendedTransferDetailVO selectExtendedTransferDetail( + @Param("projectId") Long projectId, + @Param("id") Long id + ); } diff --git a/ccdi-project/src/main/resources/mapper/ccdi/project/CcdiProjectSpecialCheckMapper.xml b/ccdi-project/src/main/resources/mapper/ccdi/project/CcdiProjectSpecialCheckMapper.xml index 7dd24071..1e338c27 100644 --- a/ccdi-project/src/main/resources/mapper/ccdi/project/CcdiProjectSpecialCheckMapper.xml +++ b/ccdi-project/src/main/resources/mapper/ccdi/project/CcdiProjectSpecialCheckMapper.xml @@ -48,6 +48,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ccdi-project/src/test/java/com/ruoyi/ccdi/project/mapper/CcdiProjectSpecialCheckExtendedRecruitmentSqlTest.java b/ccdi-project/src/test/java/com/ruoyi/ccdi/project/mapper/CcdiProjectSpecialCheckExtendedRecruitmentSqlTest.java new file mode 100644 index 00000000..20f5eadc --- /dev/null +++ b/ccdi-project/src/test/java/com/ruoyi/ccdi/project/mapper/CcdiProjectSpecialCheckExtendedRecruitmentSqlTest.java @@ -0,0 +1,46 @@ +package com.ruoyi.ccdi.project.mapper; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import java.lang.reflect.Method; +import java.nio.file.Files; +import java.nio.file.Path; +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; + +class CcdiProjectSpecialCheckExtendedRecruitmentSqlTest { + + @Test + void shouldExposeExtendedRecruitmentMapperMethodsAndSqlCaliber() throws Exception { + Class mapperClass = Class.forName("com.ruoyi.ccdi.project.mapper.CcdiProjectSpecialCheckMapper"); + Class queryClass = Class.forName("com.ruoyi.ccdi.project.domain.dto.CcdiProjectExtendedRecruitmentQueryDTO"); + + Method listMethod = mapperClass.getMethod("selectExtendedRecruitmentPage", Page.class, queryClass); + Method detailMethod = mapperClass.getMethod("selectExtendedRecruitmentDetail", Long.class, String.class); + assertEquals("Page", listMethod.getReturnType().getSimpleName()); + assertEquals("CcdiProjectExtendedRecruitmentDetailVO", detailMethod.getReturnType().getSimpleName()); + + String xml = Files.readString(Path.of("src/main/resources/mapper/ccdi/project/CcdiProjectSpecialCheckMapper.xml")); + String listSql = extractSelect(xml, "selectExtendedRecruitmentPage"); + String detailSql = extractSelect(xml, "selectExtendedRecruitmentDetail"); + + assertTrue(listSql.contains("projectEmployeeScopeSql")); + assertTrue(listSql.contains("select distinct r.recruit_id")); + assertTrue(listSql.contains("interviewer_name1")); + assertTrue(listSql.contains("interviewer_name2")); + assertTrue(listSql.contains("concat_ws(' / '")); + assertTrue(listSql.contains("admit_status")); + assertTrue(detailSql.contains("projectEmployeeScopeSql")); + assertTrue(detailSql.contains("recruit_id = #{recruitId}")); + assertTrue(detailSql.contains("interviewer_name1")); + assertTrue(detailSql.contains("interviewer_name2")); + } + + private String extractSelect(String xml, String selectId) { + String start = "", startIndex); + return xml.substring(startIndex, endIndex); + } +}