这个死财务提的莫名其妙的需求

This commit is contained in:
2025-06-12 18:23:19 +08:00
parent e8adc2b14d
commit 1080f90a24

View File

@@ -319,12 +319,26 @@
<!-- 如果 calcTime 不为空,查询 calcTime 对应的出勤记录 -->
(#{calcTime} IS NOT NULL AND #{calcTime} >= oas.create_time)
<!-- 如果 calcTime 为空,查询整个 relationMonth -->
OR (#{calcTime} IS NULL AND oas.create_time BETWEEN
-- 提取relationMonth的年月部分并构造第一天
OR (
#{calcTime} IS NULL AND (
-- 如果 relationMonth 是当前月,则查询本月最晚的记录
(DATE_FORMAT(#{relationMonth}, '%Y-%m') = DATE_FORMAT(CURRENT_DATE, '%Y-%m')
AND oas.create_time BETWEEN DATE_FORMAT(#{relationMonth}, '%Y-%m-01')
AND (
SELECT MAX(oar.calc_time)
FROM oa_attendance_record oar
WHERE oar.user_id = #{userId}
AND oar.del_flag = 0
)
-- 如果 relationMonth 不是当前月,则查询整个 relationMonth 的记录
OR oas.create_time BETWEEN
DATE_FORMAT(#{relationMonth}, '%Y-%m-01')
AND LAST_DAY(STR_TO_DATE(#{relationMonth}, '%Y-%m-%d'))
AND LAST_DAY(STR_TO_DATE(#{relationMonth}, '%Y-%m-01'))
)
)
)
)
</select>