|
@@ -246,17 +246,11 @@ public class AttendanceDetail extends AbstractDomain<String, AttendanceDetailPo>
|
|
|
//LocalDateTime now = LocalDateTime.of(2026, 4, 22, 05, 30, 0); // 2025年1月15日 08:30:00
|
|
//LocalDateTime now = LocalDateTime.of(2026, 4, 22, 05, 30, 0); // 2025年1月15日 08:30:00
|
|
|
LocalDateTime now = LocalDateTime.now();
|
|
LocalDateTime now = LocalDateTime.now();
|
|
|
LocalDate today = now.toLocalDate();
|
|
LocalDate today = now.toLocalDate();
|
|
|
- // 临时先用今天构建班次开始时间(如果跨日且当前时间已经过了午夜,可能应该用昨天?但实际班次日期由配置和当前时间共同决定)
|
|
|
|
|
- // 更严谨的做法:根据当前时间推断所属班次。简化:上班打卡用今天,下班打卡时如果跨日且当前时间小于上班时间,则班次开始日期为昨天。
|
|
|
|
|
- // 但为了统一,我们根据打卡类型和当前时间计算出正确的班次开始日期。
|
|
|
|
|
LocalDate banCiDate = today; // 默认
|
|
LocalDate banCiDate = today; // 默认
|
|
|
|
|
+
|
|
|
|
|
+ //和业务沟通后确认,跨日下班打卡只打上一日的下班卡
|
|
|
if (!isMorningClock && "Y".equals(shiFouKuaRiPz)) {
|
|
if (!isMorningClock && "Y".equals(shiFouKuaRiPz)) {
|
|
|
- // 下班打卡且跨日:如果当前时间 < 配置的上班时间(比如凌晨3点 < 22:00),说明班次开始日期是昨天
|
|
|
|
|
- LocalTime shangBanTime = LocalTime.parse(shangBanShiJianPz);
|
|
|
|
|
- //if (now.toLocalTime().isBefore(shangBanTime)) {
|
|
|
|
|
- if (!now.toLocalTime().isAfter(shangBanTime)){
|
|
|
|
|
- banCiDate = today.minusDays(1);
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ banCiDate = today.minusDays(1);
|
|
|
}
|
|
}
|
|
|
String riQi = banCiDate.format(DATE_FORMATTER);
|
|
String riQi = banCiDate.format(DATE_FORMATTER);
|
|
|
po.setRiQi(riQi);
|
|
po.setRiQi(riQi);
|