补充专项核查招聘调动拓展查询SQL

This commit is contained in:
wkc
2026-03-24 22:58:26 +08:00
parent c1a588b3fd
commit 0dbf5c5ca4
4 changed files with 302 additions and 0 deletions

View File

@@ -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<CcdiProjectExtendedRecruitmentListItemVO> selectExtendedRecruitmentPage(
@Param("page") Page<CcdiProjectExtendedRecruitmentListItemVO> 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<CcdiProjectExtendedTransferListItemVO> selectExtendedTransferPage(
@Param("page") Page<CcdiProjectExtendedTransferListItemVO> page,
@Param("query") CcdiProjectExtendedTransferQueryDTO queryDTO
);
/**
* 查询专项核查调动拓展详情
*
* @param projectId 项目ID
* @param id 主键ID
* @return 详情
*/
CcdiProjectExtendedTransferDetailVO selectExtendedTransferDetail(
@Param("projectId") Long projectId,
@Param("id") Long id
);
}

View File

@@ -48,6 +48,24 @@
<result property="applyDate" column="apply_date"/>
</resultMap>
<resultMap id="ExtendedRecruitmentListItemResultMap"
type="com.ruoyi.ccdi.project.domain.vo.CcdiProjectExtendedRecruitmentListItemVO">
<id property="recruitId" column="recruit_id"/>
<result property="recruitName" column="recruit_name"/>
<result property="posName" column="pos_name"/>
<result property="interviewerNameSummary" column="interviewer_name_summary"/>
<result property="admitStatus" column="admit_status"/>
</resultMap>
<resultMap id="ExtendedTransferListItemResultMap"
type="com.ruoyi.ccdi.project.domain.vo.CcdiProjectExtendedTransferListItemVO">
<result property="staffName" column="staff_name"/>
<result property="transferType" column="transfer_type"/>
<result property="deptNameBefore" column="dept_name_before"/>
<result property="deptNameAfter" column="dept_name_after"/>
<result property="transferDate" column="transfer_date"/>
</resultMap>
<resultMap id="FamilyAssetLiabilityDetailResultMap"
type="com.ruoyi.ccdi.project.domain.vo.CcdiProjectFamilyAssetLiabilityDetailVO">
<association property="incomeDetail"
@@ -554,4 +572,143 @@
where p.purchase_id = #{purchaseId}
</select>
<select id="selectExtendedRecruitmentPage" resultMap="ExtendedRecruitmentListItemResultMap">
select distinct r.recruit_id,
r.recruit_name,
r.pos_name,
concat_ws(' / ',
nullif(trim(r.interviewer_name1), ''),
nullif(trim(r.interviewer_name2), '')
) as interviewer_name_summary,
r.admit_status
from ccdi_staff_recruitment r
where exists (
select 1
from (
<include refid="projectEmployeeScopeSql"/>
) scope
where scope.staff_name is not null
and scope.staff_name != ''
and (
scope.staff_name = r.interviewer_name1
or scope.staff_name = r.interviewer_name2
)
)
<if test="query.interviewerName != null and query.interviewerName != ''">
and (
r.interviewer_name1 like concat('%', #{query.interviewerName}, '%')
or r.interviewer_name2 like concat('%', #{query.interviewerName}, '%')
)
</if>
order by r.create_time desc, r.recruit_id desc
</select>
<select id="selectExtendedRecruitmentDetail"
resultType="com.ruoyi.ccdi.project.domain.vo.CcdiProjectExtendedRecruitmentDetailVO">
select
r.recruit_id,
r.recruit_name,
r.pos_name,
r.pos_category,
r.pos_desc,
r.cand_name,
r.cand_edu,
r.cand_id,
r.cand_school,
r.cand_major,
r.cand_grad,
r.admit_status,
r.interviewer_name1,
r.interviewer_id1,
r.interviewer_name2,
r.interviewer_id2,
r.created_by,
r.create_time,
r.updated_by,
r.update_time
from ccdi_staff_recruitment r
where r.recruit_id = #{recruitId}
and exists (
select 1
from (
<include refid="projectEmployeeScopeSql"/>
) scope
where scope.staff_name is not null
and scope.staff_name != ''
and (
scope.staff_name = r.interviewer_name1
or scope.staff_name = r.interviewer_name2
)
)
</select>
<select id="selectExtendedTransferPage" resultMap="ExtendedTransferListItemResultMap">
select
s.name as staff_name,
t.transfer_type,
t.dept_name_before,
t.dept_name_after,
t.transfer_date
from ccdi_staff_transfer t
inner join ccdi_base_staff s
on t.staff_id = s.staff_id
inner join (
select distinct scope.staff_name
from (
<include refid="projectEmployeeScopeSql"/>
) scope
where scope.staff_name is not null
and scope.staff_name != ''
) scope
on scope.staff_name = s.name
<where>
<if test="query.staffName != null and query.staffName != ''">
and s.name like concat('%', #{query.staffName}, '%')
</if>
<if test="query.transferDateStart != null and query.transferDateStart != ''">
and t.transfer_date &gt;= #{query.transferDateStart}
</if>
<if test="query.transferDateEnd != null and query.transferDateEnd != ''">
and t.transfer_date &lt;= #{query.transferDateEnd}
</if>
</where>
order by t.transfer_date desc, t.create_time desc, t.id desc
</select>
<select id="selectExtendedTransferDetail"
resultType="com.ruoyi.ccdi.project.domain.vo.CcdiProjectExtendedTransferDetailVO">
select
t.id,
t.staff_id,
s.name as staff_name,
t.transfer_type,
t.transfer_sub_type,
t.dept_id_before,
t.dept_name_before,
t.grade_before,
t.position_before,
t.salary_level_before,
t.dept_id_after,
t.dept_name_after,
t.grade_after,
t.position_after,
t.salary_level_after,
t.transfer_date,
t.created_by,
t.create_time,
t.updated_by,
t.update_time
from ccdi_staff_transfer t
inner join ccdi_base_staff s
on t.staff_id = s.staff_id
where t.id = #{id}
and exists (
select 1
from (
<include refid="projectEmployeeScopeSql"/>
) scope
where scope.staff_name = s.name
)
</select>
</mapper>