Browse Source

工作报告工时统计问题修复

fuyuchuan 1 month ago
parent
commit
6ebf22bb70

+ 10 - 2
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/PmWorkReportServiceImpl.java

@@ -536,8 +536,16 @@ public class PmWorkReportServiceImpl extends AbstractCrudService<PmWorkReportMap
                 throw new BusinessException("周数错误!请重新选择");
             }
 
-            LocalDate firstMonday = currentYear.atDay(1).with(TemporalAdjusters.firstInMonth(DayOfWeek.MONDAY));
-            LocalDate startOfWeek = firstMonday.plusWeeks(dateNum - 1);
+            int yearValue = currentYear.getValue();
+            LocalDate firstDayOfYear = LocalDate.of(yearValue, 1, 1);
+            LocalDate firstMondayOfYear = firstDayOfYear.with(TemporalAdjusters.nextOrSame(DayOfWeek.MONDAY));
+
+            DayOfWeek dayOfWeek = firstDayOfYear.getDayOfWeek();
+            if (dayOfWeek != DayOfWeek.MONDAY){
+                dateNum -= 1;
+            }
+
+            LocalDate startOfWeek = firstMondayOfYear.plusWeeks(dateNum - 1);
             LocalDate endOfWeek = startOfWeek.plusWeeks(1).minusDays(1);
             LocalDateTime startTimeOfWeek = startOfWeek.atStartOfDay();
             LocalDateTime endTimeOfWeek = endOfWeek.atTime(23, 59, 59);