82 lines
3.5 KiB
XML
82 lines
3.5 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.ruoyi.ccdi.mapper.CcdiEmployeeMapper">
|
||
|
||
<!-- 员工基本信息ResultMap(用于列表查询,不包含亲属) -->
|
||
<resultMap type="com.ruoyi.ccdi.domain.vo.CcdiEmployeeVO" id="CcdiEmployeeVOResult">
|
||
<id property="employeeId" column="employee_id"/>
|
||
<result property="name" column="name"/>
|
||
<result property="tellerNo" column="teller_no"/>
|
||
<result property="deptId" column="dept_id"/>
|
||
<result property="deptName" column="dept_name"/>
|
||
<result property="idCard" column="id_card"/>
|
||
<result property="phone" column="phone"/>
|
||
<result property="hireDate" column="hire_date"/>
|
||
<result property="status" column="status"/>
|
||
<result property="createTime" column="create_time"/>
|
||
</resultMap>
|
||
|
||
<select id="selectEmployeePageWithDept" resultMap="CcdiEmployeeVOResult">
|
||
SELECT
|
||
e.employee_id, e.name, e.dept_id, e.id_card, e.phone, e.hire_date, e.status, e.create_time,
|
||
d.dept_name
|
||
FROM ccdi_employee e
|
||
LEFT JOIN sys_dept d ON e.dept_id = d.dept_id
|
||
<where>
|
||
<if test="query.name != null and query.name != ''">
|
||
AND e.name LIKE CONCAT('%', #{query.name}, '%')
|
||
</if>
|
||
<if test="query.employeeId != null">
|
||
AND e.employee_id = #{query.employeeId}
|
||
</if>
|
||
<if test="query.deptId != null">
|
||
AND e.dept_id = #{query.deptId}
|
||
</if>
|
||
<if test="query.idCard != null and query.idCard != ''">
|
||
AND e.id_card LIKE CONCAT('%', #{query.idCard}, '%')
|
||
</if>
|
||
<if test="query.status != null and query.status != ''">
|
||
AND e.status = #{query.status}
|
||
</if>
|
||
</where>
|
||
ORDER BY e.create_time DESC
|
||
</select>
|
||
|
||
<!-- 批量插入或更新员工信息(只更新非null字段) -->
|
||
<insert id="insertOrUpdateBatch" parameterType="java.util.List">
|
||
INSERT INTO ccdi_employee
|
||
(employee_id, name, dept_id, id_card, phone, hire_date, status,
|
||
create_time, create_by, update_by, update_time)
|
||
VALUES
|
||
<foreach collection="list" item="item" separator=",">
|
||
(#{item.employeeId}, #{item.name}, #{item.deptId}, #{item.idCard},
|
||
#{item.phone}, #{item.hireDate}, #{item.status}, NOW(),
|
||
#{item.createBy}, #{item.updateBy}, NOW())
|
||
</foreach>
|
||
ON DUPLICATE KEY UPDATE
|
||
name = COALESCE(VALUES(name), name),
|
||
dept_id = COALESCE(VALUES(dept_id), dept_id),
|
||
phone = COALESCE(VALUES(phone), phone),
|
||
hire_date = COALESCE(VALUES(hire_date), hire_date),
|
||
status = COALESCE(VALUES(status), status),
|
||
update_by = COALESCE(VALUES(update_by), update_by),
|
||
update_time = NOW()
|
||
</insert>
|
||
|
||
<!-- 批量插入员工信息 -->
|
||
<insert id="insertBatch" parameterType="java.util.List">
|
||
INSERT INTO ccdi_employee
|
||
(employee_id, name, dept_id, id_card, phone, hire_date, status,
|
||
create_time, create_by, update_by, update_time)
|
||
VALUES
|
||
<foreach collection="list" item="item" separator=",">
|
||
(#{item.employeeId}, #{item.name}, #{item.deptId}, #{item.idCard},
|
||
#{item.phone}, #{item.hireDate}, #{item.status}, NOW(),
|
||
#{item.createBy}, #{item.updateBy}, NOW())
|
||
</foreach>
|
||
</insert>
|
||
|
||
</mapper>
|