| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- <?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.attendance.dal.mysql.employeesetting.AttendanceEmployeeSettingMapper">
- <!--
- 一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
- 无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
- 代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
- 文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
- -->
- <!-- 通过员工ID获得考勤员工设置 -->
- <select id="getByEmployeeId" resultType="cn.iocoder.yudao.module.attendance.controller.admin.employeesetting.vo.AttendanceEmployeeSettingRespVO">
- SELECT
- aes.employee_id,
- aes.name,
- asm.shift_name,
- asm.start_time,
- asm.end_time
- FROM
- attendance_employee_setting aes
- LEFT JOIN attendance_scheduling_manage asm ON asm.id = aes.scheduling_id
- WHERE
- aes.deleted = 0 AND aes.status = 0
- AND asm.deleted = 0 AND asm.status = 0
- AND aes.employee_id = #{employeeId}
- LIMIT 1
- </select>
- <!-- 获得考勤员工设置分页 -->
- <select id="getEmployeeInfoSettingPage" resultType="cn.iocoder.yudao.module.attendance.controller.admin.employeesetting.vo.AttendanceEmployeeSettingRespVO">
- SELECT
- aes.id as 'id',
- ei.id as 'employeeId',
- ei.name,
- ei.phone as 'employeePhone',
- ei.employee_number,
- asm.shift_name,
- asm.start_time,
- asm.end_time,
- ei.tenant_id
- FROM
- employee_info ei
- LEFT JOIN attendance_employee_setting aes on aes.employee_id = ei.id AND aes.deleted = 0 AND aes.status = 0
- LEFT JOIN attendance_scheduling_manage asm ON asm.id = aes.scheduling_id AND asm.deleted = 0 AND asm.status = 0
- WHERE
- ei.deleted = 0
- <if test="reqVO.tenantId != null">
- AND ei.tenant_id = #{reqVO.tenantId}
- </if>
- <if test="reqVO.name != null and reqVO.name != ''">
- AND ei.name LIKE CONCAT('%', #{reqVO.name}, '%')
- </if>
- <if test="reqVO.shiftName != null and reqVO.shiftName != ''">
- AND asm.shift_name LIKE CONCAT('%', #{reqVO.shiftName}, '%')
- </if>
- <if test="reqVO.phoneNumber != null and reqVO.phoneNumber != ''">
- AND ei.phone LIKE CONCAT('%', #{reqVO.phoneNumber}, '%')
- </if>
- ORDER BY ei.id
- <if test="reqVO.pageSize != null and reqVO.pageNo != null">
- LIMIT #{reqVO.pageNo}, #{reqVO.pageSize}
- </if>
- </select>
- </mapper>
|