AttendanceEmployeeSettingMapper.xml 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <mapper namespace="cn.iocoder.yudao.module.attendance.dal.mysql.employeesetting.AttendanceEmployeeSettingMapper">
  4. <!--
  5. 一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
  6. 无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
  7. 代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
  8. 文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
  9. -->
  10. <!-- 通过员工ID获得考勤员工设置 -->
  11. <select id="getByEmployeeId" resultType="cn.iocoder.yudao.module.attendance.controller.admin.employeesetting.vo.AttendanceEmployeeSettingRespVO">
  12. SELECT
  13. aes.employee_id,
  14. aes.name,
  15. asm.shift_name,
  16. asm.start_time,
  17. asm.end_time
  18. FROM
  19. attendance_employee_setting aes
  20. LEFT JOIN attendance_scheduling_manage asm ON asm.id = aes.scheduling_id
  21. WHERE
  22. aes.deleted = 0 AND aes.status = 0
  23. AND asm.deleted = 0 AND asm.status = 0
  24. AND aes.employee_id = #{employeeId}
  25. LIMIT 1
  26. </select>
  27. <!-- 获得考勤员工设置分页 -->
  28. <select id="getEmployeeInfoSettingPage" resultType="cn.iocoder.yudao.module.attendance.controller.admin.employeesetting.vo.AttendanceEmployeeSettingRespVO">
  29. SELECT
  30. aes.id as 'id',
  31. ei.id as 'employeeId',
  32. ei.name,
  33. ei.phone as 'employeePhone',
  34. ei.employee_number,
  35. asm.shift_name,
  36. asm.start_time,
  37. asm.end_time,
  38. ei.tenant_id
  39. FROM
  40. employee_info ei
  41. LEFT JOIN attendance_employee_setting aes on aes.employee_id = ei.id AND aes.deleted = 0 AND aes.status = 0
  42. LEFT JOIN attendance_scheduling_manage asm ON asm.id = aes.scheduling_id AND asm.deleted = 0 AND asm.status = 0
  43. WHERE
  44. ei.deleted = 0
  45. <if test="reqVO.tenantId != null">
  46. AND ei.tenant_id = #{reqVO.tenantId}
  47. </if>
  48. <if test="reqVO.name != null and reqVO.name != ''">
  49. AND ei.name LIKE CONCAT('%', #{reqVO.name}, '%')
  50. </if>
  51. <if test="reqVO.shiftName != null and reqVO.shiftName != ''">
  52. AND asm.shift_name LIKE CONCAT('%', #{reqVO.shiftName}, '%')
  53. </if>
  54. <if test="reqVO.phoneNumber != null and reqVO.phoneNumber != ''">
  55. AND ei.phone LIKE CONCAT('%', #{reqVO.phoneNumber}, '%')
  56. </if>
  57. ORDER BY ei.id
  58. <if test="reqVO.pageSize != null and reqVO.pageNo != null">
  59. LIMIT #{reqVO.pageNo}, #{reqVO.pageSize}
  60. </if>
  61. </select>
  62. </mapper>