Files
klp-oa/klp-hrm/src/main/resources/mapper/HrmEmployeeMapper.xml
2025-12-30 13:47:53 +08:00

78 lines
3.8 KiB
XML

<?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.klp.hrm.mapper.HrmEmployeeMapper">
<resultMap id="BaseResultMap" type="com.klp.hrm.domain.HrmEmployee">
<id column="emp_id" property="empId"/>
<result column="user_id" property="userId"/>
<result column="emp_no" property="empNo"/>
<result column="emp_name" property="empName"/>
<result column="gender" property="gender"/>
<result column="mobile" property="mobile"/>
<result column="email" property="email"/>
<result column="id_no" property="idNo"/>
<result column="hire_date" property="hireDate"/>
<result column="employment_type" property="employmentType"/>
<result column="status" property="status"/>
<result column="dept_id" property="deptId"/>
<result column="post_id" property="postId"/>
<result column="seniority_years" property="seniorityYears"/>
<result column="contract_end_date" property="contractEndDate"/>
<result column="remark" property="remark"/>
<result column="create_by" property="createBy"/>
<result column="create_time" property="createTime"/>
<result column="update_by" property="updateBy"/>
<result column="update_time" property="updateTime"/>
<result column="del_flag" property="delFlag"/>
</resultMap>
<resultMap id="VoResultMap" type="com.klp.hrm.domain.vo.HrmEmployeeVo">
<id column="emp_id" property="empId"/>
<result column="user_id" property="userId"/>
<result column="emp_no" property="empNo"/>
<result column="emp_name" property="empName"/>
<result column="gender" property="gender"/>
<result column="mobile" property="mobile"/>
<result column="email" property="email"/>
<result column="id_no" property="idNo"/>
<result column="hire_date" property="hireDate"/>
<result column="employment_type" property="employmentType"/>
<result column="status" property="status"/>
<result column="dept_id" property="deptId"/>
<result column="dept_name" property="deptName"/>
<result column="post_id" property="postId"/>
<result column="post_name" property="postName"/>
<result column="remark" property="remark"/>
<result column="create_by" property="createBy"/>
<result column="create_time" property="createTime"/>
<result column="update_by" property="updateBy"/>
<result column="update_time" property="updateTime"/>
</resultMap>
<sql id="selectVo">
SELECT
e.emp_id, e.user_id, e.emp_no, e.emp_name, e.gender, e.mobile, e.email, e.id_no,
e.hire_date, e.employment_type, e.status, e.dept_id, e.post_id, e.remark,
e.create_by, e.create_time, e.update_by, e.update_time,
d.dept_name,
p.post_name
FROM hrm_employee e
LEFT JOIN sys_dept d ON e.dept_id = d.dept_id AND d.del_flag = '0'
LEFT JOIN sys_post p ON e.post_id = p.post_id
WHERE e.del_flag = 0
</sql>
<!-- 使用 JOIN 查询的 select 语句,确保使用 VoResultMap -->
<select id="selectVoPage" resultMap="VoResultMap">
<include refid="selectVo"/>
</select>
<select id="selectVoList" resultMap="VoResultMap">
<include refid="selectVo"/>
</select>
<select id="selectVoById" resultMap="VoResultMap">
<include refid="selectVo"/>
AND e.emp_id = #{empId}
</select>
</mapper>