diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/mapper/xml/WorkerAttendancePresenceMapper.xml b/src/main/java/com/zhgd/xmgl/modules/worker/mapper/xml/WorkerAttendancePresenceMapper.xml index d9116747a..debbda5c5 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/mapper/xml/WorkerAttendancePresenceMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/worker/mapper/xml/WorkerAttendancePresenceMapper.xml @@ -43,14 +43,17 @@ quality_region qr join quality_region_to_uface_dev qrtud on qr.id = qrtud.quality_region_id join uface_dev ud on ud.id = qrtud.uface_dev_id - left JOIN worker_attendance a ON a.dev_sn=ud.dev_sn AND a.project_sn = ud.project_sn AND a.pass_type = 1 AND - a.create_time = ( - SELECT MAX(create_time) - FROM worker_attendance - WHERE person_sn = a.person_sn - AND project_sn = a.project_sn - AND pass_type = 1 - ) + LEFT JOIN ( + SELECT + t1.dev_sn, + t1.person_sn, + t1.project_sn + FROM + worker_attendance t1 + JOIN ( SELECT person_sn, MAX( create_time ) create_time FROM worker_attendance WHERE pass_type = 1 AND project_sn = #{projectSn} GROUP BY person_sn ) t2 + ON t1.person_sn = t2.person_sn AND t1.create_time = t2.create_time + ) a ON a.dev_sn = ud.dev_sn + AND a.project_sn = ud.project_sn left join worker_attendance_presence wap on wap.person_sn = a.person_sn WHERE qr.project_sn = #{projectSn} GROUP BY qr.id