TeacherAttendanceRecordMapper.xml 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <mapper namespace="com.xjrsoft.module.attendance.mapper.TeacherAttendanceRecordMapper">
  6. <select id="getPage" parameterType="com.xjrsoft.module.attendance.dto.TeacherDetailsDto" resultType="com.xjrsoft.module.attendance.vo.TeacherStatisticsPageVo">
  7. SELECT t2.name AS teacher_name,t2.mobile,t1.attendance_status AS STATUS,t1.record_time,
  8. replace(replace(t1.attendance_mode,1, '人脸'),2,'车辆') as attendance_mode,t1.car_number,t1.user_id
  9. FROM teacher_attendance_record t1
  10. INNER JOIN xjr_user t2 ON t1.user_id = t2.id
  11. <if test="dto.deptId != null">
  12. inner join xjr_user_dept_relation t3 on t2.id = t3.user_id
  13. and t3.dept_id = #{dto.deptId}
  14. </if>
  15. INNER JOIN attendance_user_relation t4 ON t1.user_id = t4.user_id
  16. WHERE t1.delete_mark = 0
  17. and t4.delete_mark = 0
  18. AND t1.attendance_date = #{dto.date}
  19. AND t1.time_interval = #{dto.timePeriod}
  20. <if test="dto.name != null and dto.name != ''">
  21. and t2.name like concat('%', #{dto.name},'%')
  22. </if>
  23. <if test="dto.ruleCategoryId != null">
  24. and t4.attendance_rule_category_id = #{dto.ruleCategoryId}
  25. </if>
  26. <if test="dto.credentialNumber != null and dto.credentialNumber != ''">
  27. and t2.credential_number like concat('%', #{dto.credentialNumber},'%')
  28. </if>
  29. <if test="dto.carNumber != null and dto.carNumber != ''">
  30. and t1.car_number like concat('%', #{dto.carNumber},'%')
  31. </if>
  32. <if test="dto.attendanceMode != null and dto.attendanceMode != ''">
  33. and t1.attendance_mode like concat('%', #{dto.attendanceMode},'%')
  34. </if>
  35. <if test="dto.attendanceStatus != null and dto.attendanceStatus != ''">
  36. and t1.attendance_status like concat('%', #{dto.attendanceStatus},'%')
  37. </if>
  38. </select>
  39. <select id="getList" parameterType="com.xjrsoft.module.attendance.dto.TeacherDetailsDto" resultType="com.xjrsoft.module.attendance.vo.TeacherStatisticsPageVo">
  40. SELECT t2.name AS teacher_name,t2.mobile,t1.attendance_status AS STATUS,t1.record_time,
  41. replace(replace(t1.attendance_mode,1, '人脸'),2,'车辆') as attendance_mode,t1.car_number,t1.user_id FROM teacher_attendance_record t1
  42. INNER JOIN xjr_user t2 ON t1.user_id = t2.id
  43. <if test="dto.deptId != null">
  44. inner join xjr_user_dept_relation t3 on t2.id = t3.user_id
  45. and t3.dept_id = #{dto.deptId}
  46. </if>
  47. WHERE t1.delete_mark = 0
  48. AND DATE_FORMAT(t1.attendance_date,'%Y-%m-%d') = #{dto.date}
  49. AND t1.time_interval = #{dto.timePeriod}
  50. <if test="dto.name != null and dto.name != ''">
  51. and t2.name like concat('%', #{dto.name},'%')
  52. </if>
  53. <if test="dto.credentialNumber != null and dto.credentialNumber != ''">
  54. and t2.credential_number like concat('%', #{dto.credentialNumber},'%')
  55. </if>
  56. <if test="dto.carNumber != null and dto.carNumber != ''">
  57. and t1.car_number like concat('%', #{dto.carNumber},'%')
  58. </if>
  59. <if test="dto.attendanceMode != null and dto.attendanceMode != ''">
  60. and t1.attendance_mode like concat('%', #{dto.attendanceMode},'%')
  61. </if>
  62. </select>
  63. <select id="getLeaveList" parameterType="com.xjrsoft.module.teacher.entity.WfTeacherleave" resultType="com.xjrsoft.module.attendance.entity.TeacherAttendanceRecord">
  64. SELECT * FROM teacher_attendance_record WHERE user_id = #{dto.userId}
  65. AND (
  66. ( #{dto.leaveStartTime} BETWEEN start_time AND end_time)
  67. OR (#{dto.leaveEndTime} BETWEEN start_time AND end_time)
  68. OR (#{dto.leaveStartTime} > start_time AND end_time > #{dto.leaveEndTime})
  69. OR (start_time > #{dto.leaveStartTime} AND #{dto.leaveEndTime} > end_time)
  70. )
  71. </select>
  72. </mapper>