diff --git a/ruoyi-oa/src/main/resources/mapper/oa/SysOaAttendanceMapper.xml b/ruoyi-oa/src/main/resources/mapper/oa/SysOaAttendanceMapper.xml index d3318db..93fd925 100644 --- a/ruoyi-oa/src/main/resources/mapper/oa/SysOaAttendanceMapper.xml +++ b/ruoyi-oa/src/main/resources/mapper/oa/SysOaAttendanceMapper.xml @@ -317,8 +317,13 @@ AND oas.del_flag = 0 AND ( - (#{calcTime} IS NOT NULL AND #{calcTime} >= oas.create_time) - + (#{calcTime} IS NOT NULL AND( -- 如果 calcTime 和 oas.create_time 为同月,查询当月的记录 + (DATE_FORMAT(#{calcTime}, '%Y-%m') = DATE_FORMAT(oas.create_time, '%Y-%m') + AND oas.create_time BETWEEN DATE_FORMAT(#{relationMonth}, '%Y-%m-01') AND #{calcTime}) + -- 如果 calcTime 和 oas.create_time 不为同月,查询整个 relationMonth 的记录 + OR DATE_FORMAT(#{calcTime}, '%Y-%m') != DATE_FORMAT(oas.create_time, '%Y-%m') + AND oas.create_time BETWEEN DATE_FORMAT(#{relationMonth}, '%Y-%m-01') + AND LAST_DAY(STR_TO_DATE(#{relationMonth}, '%Y-%m-01')))) OR ( #{calcTime} IS NULL AND ( -- 如果 relationMonth 是当前月,则查询本月最晚的记录