diff --git a/bonus-modules/bonus-system/src/main/resources/mapper/att/AttendanceDetailsMapper.xml b/bonus-modules/bonus-system/src/main/resources/mapper/att/AttendanceDetailsMapper.xml index c447faf..1b9549f 100644 --- a/bonus-modules/bonus-system/src/main/resources/mapper/att/AttendanceDetailsMapper.xml +++ b/bonus-modules/bonus-system/src/main/resources/mapper/att/AttendanceDetailsMapper.xml @@ -413,24 +413,23 @@ - select a.shouldAttNum, a.actualAttNum,(a.shouldAttNum - a.actualAttNum) as noActualAttNum, TRUNCATE(a.actualAttNum / - a.shouldAttNum * 100, 0) as attRate from ( - select count(agpr.user_id ) as shouldAttNum, count(a.user_id) as actualAttNum - from sys_user su left join ( - select * from v_att_update_data where att_current_day = #{date} - and (toWorkAttStatus = 1 or offWorkAttStatus = 1) - ) a on a.user_id = su.user_id - LEFT JOIN att_group_person_relation agpr on agpr.user_id = su.user_id and agpr.is_active = 1 - where su.is_active = 1 - ) a + SELECT a.shouldAttNum, a.actualAttNum,( a.shouldAttNum - a.actualAttNum ) AS noActualAttNum, + TRUNCATE ( a.actualAttNum / a.shouldAttNum * 100, 0 ) AS attRate + FROM + ( + SELECT + count( ash.user_id ) AS shouldAttNum, + count( v.user_id ) AS actualAttNum + FROM + ( SELECT * FROM att_setting_history WHERE current_day = #{date} ) ash + LEFT JOIN sys_user su ON ash.user_id = su.user_id + LEFT JOIN ( SELECT * FROM v_att_update_data WHERE att_current_day = #{date} AND ( toWorkAttStatus = 1 OR offWorkAttStatus = 1 ) ) v ON su.user_id = v.user_id + ) a