<?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.system.mapper.SysEmployeeMapper">
|
|
<resultMap type="SysEmployee" id="SysEmployeeResult">
|
<id property="employeeId" column="employee_id" />
|
<result property="deptId" column="dept_id" />
|
<result property="employeeName" column="employee_name" />
|
<result property="employeeNo" column="employee_no" />
|
<result property="contactPhoneCipher" column="contact_phone_cipher" />
|
<result property="contactPhoneHash" column="contact_phone_hash" />
|
<result property="position" column="position" />
|
<result property="cardNo" column="card_no" />
|
<result property="faceImage" column="face_image" />
|
<result property="enabled" column="enabled" />
|
<result property="delFlag" column="del_flag" />
|
<result property="createBy" column="create_by" />
|
<result property="createTime" column="create_time" />
|
<result property="updateBy" column="update_by" />
|
<result property="updateTime" column="update_time" />
|
</resultMap>
|
|
<resultMap type="SysEmployeeVO" id="SysEmployeeVOResult">
|
<id property="employeeId" column="employee_id" />
|
<result property="deptId" column="dept_id" />
|
<result property="deptName" column="dept_name" />
|
<result property="employeeName" column="employee_name" />
|
<result property="employeeNo" column="employee_no" />
|
<result property="contactPhone" column="contact_phone_cipher" />
|
<result property="position" column="position" />
|
<result property="cardNo" column="card_no" />
|
<result property="faceImage" column="face_image" />
|
<result property="enabled" column="enabled" />
|
<result property="createTime" column="create_time" />
|
</resultMap>
|
|
<sql id="selectEmployeeDomain">
|
select employee_id,
|
dept_id,
|
employee_name,
|
employee_no,
|
contact_phone_cipher,
|
contact_phone_hash,
|
position,
|
card_no,
|
face_image,
|
enabled,
|
del_flag,
|
create_by,
|
create_time,
|
update_by,
|
update_time
|
from t_employee
|
</sql>
|
|
<sql id="selectEmployeeVo">
|
select e.employee_id,
|
e.dept_id,
|
d.dept_name,
|
e.employee_name,
|
e.employee_no,
|
e.contact_phone_cipher,
|
e.position,
|
e.card_no,
|
e.face_image,
|
e.enabled,
|
e.create_time
|
from t_employee e
|
left join sys_dept d on d.dept_id = e.dept_id and d.del_flag = '0'
|
</sql>
|
|
<select id="pageList" resultMap="SysEmployeeVOResult">
|
<include refid="selectEmployeeVo" />
|
<where>
|
and e.del_flag = '0'
|
<if test="query.deptId != null">
|
and (e.dept_id = #{query.deptId}
|
or e.dept_id in (
|
select dept_id from sys_dept
|
where del_flag = '0'
|
and find_in_set(#{query.deptId}, ancestors)
|
))
|
</if>
|
<if test="query.employeeName != null and query.employeeName != ''">
|
and e.employee_name like concat('%', #{query.employeeName}, '%')
|
</if>
|
<if test="query.employeeNo != null and query.employeeNo != ''">
|
and e.employee_no like concat('%', #{query.employeeNo}, '%')
|
</if>
|
<if test="contactPhoneHash != null and contactPhoneHash != ''">
|
and e.contact_phone_hash = #{contactPhoneHash}
|
</if>
|
<if test="query.position != null and query.position != ''">
|
and e.position = #{query.position}
|
</if>
|
<if test="query.enabled != null">
|
and e.enabled = #{query.enabled}
|
</if>
|
</where>
|
order by e.create_time desc, e.employee_id desc
|
</select>
|
|
<select id="selectVoById" parameterType="Long" resultMap="SysEmployeeVOResult">
|
<include refid="selectEmployeeVo" />
|
where e.employee_id = #{employeeId}
|
and e.del_flag = '0'
|
</select>
|
|
<select id="selectById" parameterType="Long" resultMap="SysEmployeeResult">
|
<include refid="selectEmployeeDomain" />
|
where employee_id = #{employeeId}
|
and del_flag = '0'
|
</select>
|
|
<select id="checkEmployeeNoUnique" resultMap="SysEmployeeResult">
|
<include refid="selectEmployeeDomain" />
|
where employee_no = #{employeeNo}
|
and del_flag = '0'
|
<if test="excludeEmployeeId != null">
|
and employee_id != #{excludeEmployeeId}
|
</if>
|
limit 1
|
</select>
|
|
<select id="checkPhoneUnique" resultMap="SysEmployeeResult">
|
<include refid="selectEmployeeDomain" />
|
where contact_phone_hash = #{contactPhoneHash}
|
and del_flag = '0'
|
<if test="excludeEmployeeId != null">
|
and employee_id != #{excludeEmployeeId}
|
</if>
|
limit 1
|
</select>
|
|
<select id="checkCardNoUnique" resultMap="SysEmployeeResult">
|
<include refid="selectEmployeeDomain" />
|
where card_no = #{cardNo}
|
and del_flag = '0'
|
<if test="excludeEmployeeId != null">
|
and employee_id != #{excludeEmployeeId}
|
</if>
|
limit 1
|
</select>
|
|
<insert id="insertEmployee" parameterType="SysEmployee" useGeneratedKeys="true" keyProperty="employeeId">
|
insert into t_employee (
|
dept_id,
|
employee_name,
|
employee_no,
|
contact_phone_cipher,
|
contact_phone_hash,
|
position,
|
card_no,
|
face_image,
|
enabled,
|
create_by,
|
create_time
|
) values (
|
#{deptId},
|
#{employeeName},
|
#{employeeNo},
|
#{contactPhoneCipher},
|
#{contactPhoneHash},
|
#{position},
|
#{cardNo},
|
#{faceImage},
|
#{enabled},
|
#{createBy},
|
sysdate()
|
)
|
</insert>
|
|
<update id="updateEmployee" parameterType="SysEmployee">
|
update t_employee
|
set dept_id = #{deptId},
|
employee_name = #{employeeName},
|
employee_no = #{employeeNo},
|
contact_phone_cipher = #{contactPhoneCipher},
|
contact_phone_hash = #{contactPhoneHash},
|
position = #{position},
|
card_no = #{cardNo},
|
face_image = #{faceImage},
|
enabled = #{enabled},
|
update_by = #{updateBy},
|
update_time = sysdate()
|
where employee_id = #{employeeId}
|
and del_flag = '0'
|
</update>
|
|
<update id="updateEnabled">
|
update t_employee
|
set enabled = #{enabled},
|
update_by = #{updateBy},
|
update_time = sysdate()
|
where del_flag = '0'
|
and employee_id in
|
<foreach collection="employeeIds" item="employeeId" open="(" separator="," close=")">
|
#{employeeId}
|
</foreach>
|
</update>
|
|
<update id="clearCard">
|
update t_employee
|
set card_no = null,
|
update_by = #{updateBy},
|
update_time = sysdate()
|
where del_flag = '0'
|
and employee_id in
|
<foreach collection="employeeIds" item="employeeId" open="(" separator="," close=")">
|
#{employeeId}
|
</foreach>
|
</update>
|
|
<update id="clearFace">
|
update t_employee
|
set face_image = null,
|
update_by = #{updateBy},
|
update_time = sysdate()
|
where del_flag = '0'
|
and employee_id in
|
<foreach collection="employeeIds" item="employeeId" open="(" separator="," close=")">
|
#{employeeId}
|
</foreach>
|
</update>
|
|
<update id="deleteByIds">
|
update t_employee
|
set enabled = 0,
|
card_no = null,
|
face_image = null,
|
del_flag = '1',
|
update_by = #{updateBy},
|
update_time = sysdate()
|
where del_flag = '0'
|
and employee_id in
|
<foreach collection="employeeIds" item="employeeId" open="(" separator="," close=")">
|
#{employeeId}
|
</foreach>
|
</update>
|
</mapper>
|