|
@@ -238,6 +238,9 @@ public class AttendanceDetail extends AbstractDomain<String, AttendanceDetailPo>
|
|
|
if (xiaBanShiJianPz.compareTo(shangBanShiJianPz) <= 0 && "N".equals(shiFouKuaRiPz)) {
|
|
if (xiaBanShiJianPz.compareTo(shangBanShiJianPz) <= 0 && "N".equals(shiFouKuaRiPz)) {
|
|
|
throw new Exception("非跨日配置中,下班时间不能小于等于上班时间");
|
|
throw new Exception("非跨日配置中,下班时间不能小于等于上班时间");
|
|
|
}
|
|
}
|
|
|
|
|
+ if (xiaBanShiJianPz.compareTo(shangBanShiJianPz) >= 0 && "Y".equals(shiFouKuaRiPz)){
|
|
|
|
|
+ throw new Exception("上班时间必须少于24小时");//上班24小时资本家也没这么狠
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
// 4. 构建班次开始/结束时间,并确定班次日期(riQi = 班次开始日期)
|
|
// 4. 构建班次开始/结束时间,并确定班次日期(riQi = 班次开始日期)
|
|
|
//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
|
|
@@ -370,6 +373,7 @@ public class AttendanceDetail extends AbstractDomain<String, AttendanceDetailPo>
|
|
|
po.setDaKaCiShu(1L);
|
|
po.setDaKaCiShu(1L);
|
|
|
} else {
|
|
} else {
|
|
|
// 下班打卡
|
|
// 下班打卡
|
|
|
|
|
+
|
|
|
if (existingPo != null) {
|
|
if (existingPo != null) {
|
|
|
// 更新现有记录
|
|
// 更新现有记录
|
|
|
existingPo.setDaKaShiJian2(now.format(DATETIME_FORMATTER));
|
|
existingPo.setDaKaShiJian2(now.format(DATETIME_FORMATTER));
|