<?xml version="1.0" encoding="UTF-8"?>
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<mapper namespace="com.ruoyi.staff.mapper.SchemeApplicableStaffMapper">
|
|
<!-- 基础字段查询 -->
|
<sql id="schemeColumns">
|
id, title, dept_ids, staff_names, staff_ids,
|
insurance_types, remark, create_time, update_time,
|
create_user, update_user
|
</sql>
|
|
<!-- 根据人员ID查询社保方案 -->
|
<select id="selectSchemeByStaffId" resultType="com.ruoyi.staff.pojo.SchemeApplicableStaff">
|
SELECT
|
<include refid="schemeColumns"/>
|
FROM
|
scheme_applicable_staff
|
WHERE
|
1 = 1
|
<!-- 核心:匹配staff_ids中包含目标人员ID的记录 -->
|
AND FIND_IN_SET(#{staffId}, staff_ids)
|
<!-- 可选:增加有效状态过滤(如果表中有状态字段) -->
|
<!-- AND status = 1 -->
|
ORDER BY
|
create_time DESC
|
</select>
|
|
<!-- 根据部门ID查询最新社保方案 -->
|
<select id="selectLatestSchemeByDeptId" resultType="com.ruoyi.staff.pojo.SchemeApplicableStaff">
|
SELECT
|
<include refid="schemeColumns"/>
|
FROM
|
scheme_applicable_staff
|
WHERE
|
1 = 1
|
AND FIND_IN_SET(#{deptId}, dept_ids)
|
ORDER BY
|
create_time DESC
|
LIMIT 1
|
</select>
|
|
<!-- 查询方案对应的明细 -->
|
<select id="selectDetailBySchemeId" resultType="com.ruoyi.staff.pojo.SchemeInsuranceDetail">
|
SELECT
|
id, scheme_id, insurance_type, payment_base,
|
use_basic_salary, personal_ratio, personal_fixed,
|
create_time, update_time, create_user, update_user
|
FROM
|
scheme_insurance_detail
|
WHERE
|
scheme_id = #{schemeId}
|
</select>
|
|
</mapper>
|