2024-08-08 20:20:27 +08:00
|
|
|
<?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="cn.iocoder.yudao.module.staff.mapper.CompanyStaffChangeMapper">
|
2024-08-13 10:40:22 +08:00
|
|
|
|
|
|
|
<resultMap id="BaseResultMap" type="cn.iocoder.yudao.module.staff.vo.CompanyStaffChangeRespVO">
|
|
|
|
<id property="id" column="csc_id" jdbcType="VARCHAR"/>
|
|
|
|
<result property="oldUserId" column="csc_old_user_id" jdbcType="BIGINT"/>
|
|
|
|
<result property="newUserId" column="csc_new_user_id" jdbcType="BIGINT"/>
|
|
|
|
<result property="changeTime" column="csc_change_time" jdbcType="TIMESTAMP"/>
|
|
|
|
<result property="fileUrls" column="csc_file_urls" jdbcType="VARCHAR"/>
|
|
|
|
<result property="remark" column="csc_remark" jdbcType="VARCHAR"/>
|
|
|
|
|
|
|
|
<association property="oldStaff" javaType="cn.iocoder.yudao.module.staff.entity.CompanyStaff">
|
|
|
|
<id property="id" column="cs_old_id" jdbcType="VARCHAR"/>
|
|
|
|
<result property="workNo" column="cs_old_work_no" jdbcType="VARCHAR"/>
|
|
|
|
<result property="name" column="cs_old_name" jdbcType="VARCHAR"/>
|
|
|
|
<result property="tel" column="cs_old_tel" jdbcType="VARCHAR"/>
|
|
|
|
<result property="sex" column="cs_old_sex" jdbcType="VARCHAR"/>
|
|
|
|
<result property="address" column="cs_old_address" jdbcType="VARCHAR"/>
|
|
|
|
<result property="workDate" column="cs_old_work_date" jdbcType="DATE"/>
|
|
|
|
<result property="workYear" column="cs_old_work_year" jdbcType="DECIMAL"/>
|
|
|
|
<result property="joinedDate" column="cs_old_joined_date" jdbcType="DATE"/>
|
|
|
|
<result property="joinedYear" column="cs_old_joined_year" jdbcType="DECIMAL"/>
|
|
|
|
<result property="education" column="cs_old_education" jdbcType="VARCHAR"/>
|
|
|
|
<result property="content" column="cs_old_content" jdbcType="VARCHAR"/>
|
|
|
|
<result property="uniqueCode" column="cs_old_unique_code" jdbcType="VARCHAR"/>
|
|
|
|
<result property="fileUrls" column="cs_old_file_urls" jdbcType="VARCHAR"/>
|
|
|
|
</association>
|
|
|
|
|
|
|
|
<association property="newStaff" javaType="cn.iocoder.yudao.module.staff.entity.CompanyStaff">
|
|
|
|
<id property="id" column="cs_new_id" jdbcType="VARCHAR"/>
|
|
|
|
<result property="workNo" column="cs_new_work_no" jdbcType="VARCHAR"/>
|
|
|
|
<result property="name" column="cs_new_name" jdbcType="VARCHAR"/>
|
|
|
|
<result property="tel" column="cs_new_tel" jdbcType="VARCHAR"/>
|
|
|
|
<result property="sex" column="cs_new_sex" jdbcType="VARCHAR"/>
|
|
|
|
<result property="address" column="cs_new_address" jdbcType="VARCHAR"/>
|
|
|
|
<result property="workDate" column="cs_new_work_date" jdbcType="DATE"/>
|
|
|
|
<result property="workYear" column="cs_new_work_year" jdbcType="DECIMAL"/>
|
|
|
|
<result property="joinedDate" column="cs_new_joined_date" jdbcType="DATE"/>
|
|
|
|
<result property="joinedYear" column="cs_new_joined_year" jdbcType="DECIMAL"/>
|
|
|
|
<result property="education" column="cs_new_education" jdbcType="VARCHAR"/>
|
|
|
|
<result property="content" column="cs_new_content" jdbcType="VARCHAR"/>
|
|
|
|
<result property="uniqueCode" column="cs_new_unique_code" jdbcType="VARCHAR"/>
|
|
|
|
<result property="fileUrls" column="cs_new_file_urls" jdbcType="VARCHAR"/>
|
|
|
|
</association>
|
|
|
|
</resultMap>
|
|
|
|
|
|
|
|
<select id="getStaffChangePage" resultMap="BaseResultMap">
|
|
|
|
SELECT
|
2024-08-14 11:18:09 +08:00
|
|
|
csc.id as csc_id,
|
|
|
|
csc.old_user_id as csc_old_user_id,
|
|
|
|
csc.new_user_id as csc_new_user_id,
|
|
|
|
csc.change_time as csc_change_time,
|
|
|
|
csc.file_urls as csc_file_urls,
|
|
|
|
csc.remark as csc_remark,
|
|
|
|
cs_old.id as cs_old_id,
|
|
|
|
cs_old.work_no as cs_old_work_no,
|
|
|
|
cs_old.name as cs_old_name,
|
|
|
|
cs_old.tel as cs_old_tel,
|
|
|
|
cs_old.sex as cs_old_sex,
|
|
|
|
cs_old.address as cs_old_address,
|
|
|
|
cs_old.work_date as cs_old_work_date,
|
|
|
|
cs_old.work_year as cs_old_work_year,
|
|
|
|
cs_old.joined_date as cs_old_joined_date,
|
|
|
|
cs_old.joined_year as cs_old_joined_year,
|
|
|
|
cs_old.education as cs_old_education,
|
|
|
|
cs_old.content as cs_old_content,
|
|
|
|
cs_old.unique_code as cs_old_unique_code,
|
|
|
|
cs_old.file_urls as cs_old_file_urls,
|
|
|
|
cs_new.id as cs_new_id,
|
|
|
|
cs_new.work_no as cs_new_work_no,
|
|
|
|
cs_new.name as cs_new_name,
|
|
|
|
cs_new.tel as cs_new_tel,
|
|
|
|
cs_new.sex as cs_new_sex,
|
|
|
|
cs_new.address as cs_new_address,
|
|
|
|
cs_new.work_date as cs_new_work_date,
|
|
|
|
cs_new.work_year as cs_new_work_year,
|
|
|
|
cs_new.joined_date as cs_new_joined_date,
|
|
|
|
cs_new.joined_year as cs_new_joined_year,
|
|
|
|
cs_new.education as cs_new_education,
|
|
|
|
cs_new.content as cs_new_content,
|
|
|
|
cs_new.unique_code as cs_new_unique_code,
|
|
|
|
cs_new.file_urls as cs_new_file_urls
|
2024-08-13 10:40:22 +08:00
|
|
|
FROM company_staff_change csc
|
2024-08-14 11:18:09 +08:00
|
|
|
INNER JOIN company_staff cs_old ON csc.old_user_id = cs_old.user_id
|
|
|
|
INNER JOIN company_staff cs_new ON csc.new_user_id = cs_new.user_id
|
2024-08-13 10:40:22 +08:00
|
|
|
where csc.deleted = '0'
|
|
|
|
<if test="map.name != null and map.name != ''">
|
|
|
|
and (cs_old.name like concat('%', #{map.name}, '%') or cs_new.name like concat('%', #{map.name}, '%'))
|
|
|
|
</if>
|
|
|
|
<if test="map.workNo != null and map.workNo != ''">
|
2024-08-14 11:18:09 +08:00
|
|
|
and (cs_old.work_no like concat('%', #{map.workNo}, '%') or cs_new.work_no like concat('%', #{map.workNo},
|
|
|
|
'%'))
|
2024-08-13 10:40:22 +08:00
|
|
|
</if>
|
|
|
|
<if test="map.tel != null and map.tel != ''">
|
|
|
|
and (cs_old.tel like concat('%', #{map.tel}, '%') or cs_new.tel like concat('%', #{map.tel}, '%'))
|
|
|
|
</if>
|
|
|
|
<if test="map.changeTimeArray != null and map.changeTimeArray.length > 0">
|
2024-08-13 18:38:29 +08:00
|
|
|
and (csc.change_time between #{map.changeTimeArray[0]} and #{map.changeTimeArray[1]})
|
2024-08-13 10:40:22 +08:00
|
|
|
</if>
|
|
|
|
<if test="map.oldUserIds != null and map.oldUserIds.size > 0">
|
2024-08-14 11:18:09 +08:00
|
|
|
and csc.old_user_id in
|
2024-08-13 10:40:22 +08:00
|
|
|
<foreach collection="map.oldUserIds" item="userId" open="(" separator="," close=")">
|
|
|
|
#{userId}
|
|
|
|
</foreach>
|
|
|
|
</if>
|
|
|
|
<if test="map.newUserIds != null and map.newUserIds.size > 0">
|
|
|
|
and csc.new_user_id in
|
|
|
|
<foreach collection="map.newUserIds" item="userId" open="(" separator="," close=")">
|
|
|
|
#{userId}
|
|
|
|
</foreach>
|
|
|
|
</if>
|
|
|
|
order by csc.create_time desc
|
|
|
|
</select>
|
|
|
|
|
2024-08-08 20:20:27 +08:00
|
|
|
</mapper>
|