From 41a31e75683cab62e1d0e55775b5621b702648e7 Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Fri, 15 May 2026 18:04:40 +0800 Subject: [PATCH] =?UTF-8?q?fix(attendance):=20=E4=BF=AE=E5=A4=8D=E8=80=83?= =?UTF-8?q?=E5=8B=A4=E6=A3=80=E6=9F=A5=E4=B8=AD=E7=9A=84=E6=97=A5=E6=9C=9F?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E6=A0=BC=E5=BC=8F=E5=92=8C=E5=8F=8D=E5=90=91?= =?UTF-8?q?=E8=B7=A8=E5=A4=A9=E9=80=BB=E8=BE=91=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 移除了 WmsAttendanceCheck 实体中 delFlag 字段的 TableLogic 注解 - 修复了跨天情况下工作日期范围计算的逻辑错误 - 修正了跨天考勤窗口开始时间的计算方式 - 将考勤检查VO中时间段字段的时间格式从 HH:mm 更新为 yyyy-MM-dd HH:mm --- .../src/main/java/com/klp/domain/WmsAttendanceCheck.java | 1 - .../main/java/com/klp/domain/vo/WmsAttendanceCheckVo.java | 8 ++++---- .../klp/service/impl/WmsAttendanceCheckServiceImpl.java | 8 ++++++-- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/klp-wms/src/main/java/com/klp/domain/WmsAttendanceCheck.java b/klp-wms/src/main/java/com/klp/domain/WmsAttendanceCheck.java index 4a7e58d1..f02c7df2 100644 --- a/klp-wms/src/main/java/com/klp/domain/WmsAttendanceCheck.java +++ b/klp-wms/src/main/java/com/klp/domain/WmsAttendanceCheck.java @@ -49,6 +49,5 @@ public class WmsAttendanceCheck extends BaseEntity { private String overallStatus; private String remark; - @TableLogic private Integer delFlag; } diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsAttendanceCheckVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsAttendanceCheckVo.java index e9adc685..3ce099b7 100644 --- a/klp-wms/src/main/java/com/klp/domain/vo/WmsAttendanceCheckVo.java +++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsAttendanceCheckVo.java @@ -26,9 +26,9 @@ public class WmsAttendanceCheckVo { @ExcelProperty(value = "班次") private String shiftName; - @JsonFormat(pattern = "HH:mm") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm") private Date p1StartTime; - @JsonFormat(pattern = "HH:mm") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm") private Date p1EndTime; @JsonFormat(pattern = "yyyy-MM-dd HH:mm") private Date p1FirstCheck; @@ -43,9 +43,9 @@ public class WmsAttendanceCheckVo { @ExcelProperty(value = "上午扣款") private BigDecimal p1Deduct; - @JsonFormat(pattern = "HH:mm") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm") private Date p2StartTime; - @JsonFormat(pattern = "HH:mm") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm") private Date p2EndTime; @JsonFormat(pattern = "yyyy-MM-dd HH:mm") private Date p2FirstCheck; diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsAttendanceCheckServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsAttendanceCheckServiceImpl.java index 33a4673f..766c2b85 100644 --- a/klp-wms/src/main/java/com/klp/service/impl/WmsAttendanceCheckServiceImpl.java +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsAttendanceCheckServiceImpl.java @@ -227,7 +227,9 @@ public class WmsAttendanceCheckServiceImpl implements IWmsAttendanceCheckService return new ArrayList<>(); } LocalDate ld = toLocalDate(workDate); - LocalDateTime rangeStart = ld.atStartOfDay(); + LocalDateTime rangeStart = backward + ? ld.minusDays(1).atStartOfDay() + : ld.atStartOfDay(); LocalDateTime rangeEnd = crossDay && !backward ? ld.plusDays(1).atTime(LocalTime.of(23, 59, 59)) : ld.atTime(LocalTime.of(23, 59, 59)); @@ -329,7 +331,9 @@ public class WmsAttendanceCheckServiceImpl implements IWmsAttendanceCheckService boolean backward = crossDay && et != null && et.getHour() >= 12; if (crossDay && backward) { - windowStart = LocalDateTime.of(ld, et).minusHours(2); + windowStart = st != null + ? LocalDateTime.of(ld.minusDays(1), st).minusHours(2) + : LocalDateTime.of(ld, et).minusHours(2); windowEnd = LocalDateTime.of(ld, et).plusHours(2); } else if (crossDay) { windowStart = LocalDateTime.of(ld, st).minusHours(2);