From fb7bc35a49bac34373ee2ac93dc850d0b0f4444f Mon Sep 17 00:00:00 2001
From: Crunchy <3114200645@qq.com>
Date: 星期四, 09 五月 2024 15:48:13 +0800
Subject: [PATCH] 2024-5-9 绩效管理-班次后端开发调整月份完成

---
 performance-server/src/main/java/com/yuanchu/mom/service/impl/PerformanceShiftServiceImpl.java |   37 ++++++++++++++++++++++++++++++++-----
 1 files changed, 32 insertions(+), 5 deletions(-)

diff --git a/performance-server/src/main/java/com/yuanchu/mom/service/impl/PerformanceShiftServiceImpl.java b/performance-server/src/main/java/com/yuanchu/mom/service/impl/PerformanceShiftServiceImpl.java
index b7d09b5..fd33f86 100644
--- a/performance-server/src/main/java/com/yuanchu/mom/service/impl/PerformanceShiftServiceImpl.java
+++ b/performance-server/src/main/java/com/yuanchu/mom/service/impl/PerformanceShiftServiceImpl.java
@@ -91,7 +91,7 @@
     }
 
     @Override
-    public IPage<PerformanceShiftMapDto> performanceShiftPage(Page<Object> page, String time, String userName, String laboratory) {
+    public Map<String, Object> performanceShiftPage(Page<Object> page, String time, String userName, String laboratory) {
         IPage<PerformanceShiftMapDto> mapIPage = baseMapper.performanceShiftPage(page, time, userName, laboratory);
         List<Enums> shiftType = enumService.selectEnumByCategory("鐝绫诲瀷");
         List<Map<String, Object>> mapYearIPage = baseMapper.performanceShiftYearPage(time, userName, laboratory);
@@ -117,10 +117,7 @@
                 }
                 hashMap.put("id", shiftTimeAndShift[2]);
                 hashMap.put("shift", shiftTimeAndShift[1]);
-                DateTime parse = DateUtil.parse(shiftTimeAndShift[0]);
-                hashMap.put("weekly", DateUtil.weekOfYear(DateUtil.offsetDay(parse, 1)));
                 hashMap.put("time", shiftTimeAndShift[0]);
-                hashMap.put("headerTime", getWeek(shiftTimeAndShift[0]));
                 map.add(hashMap);
             }
             int totalYearAttendance = 0;
@@ -145,7 +142,26 @@
             i.setList(map);
             i.setShiftTime(null);
         });
-        return mapIPage;
+        // 鑾峰彇header鏃堕棿
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+        DateTimeFormatter formatters = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+        // 灏嗗瓧绗︿覆鏃堕棿杞崲涓� LocalDateTime 绫诲瀷鏃堕棿
+        LocalDateTime localDateTime = LocalDateTime.parse(time, formatters);
+        LocalDate firstDayOfMonth = localDateTime.toLocalDate().withDayOfMonth(1);
+        LocalDate lastDayOfMonth = localDateTime.toLocalDate().with(TemporalAdjusters.lastDayOfMonth());
+        List<LocalDateTime> localDateTimesBetween = getLocalDateTimesBetween(firstDayOfMonth.atStartOfDay(), lastDayOfMonth.atStartOfDay());
+        List<Object> list1 = new ArrayList<>();
+        for (LocalDateTime dateTime : localDateTimesBetween) {
+            Map<Object, Object> hashMap = new HashMap<>();
+            DateTime parse = DateUtil.parse(dateTime.format(formatter));
+            hashMap.put("weekly", DateUtil.weekOfYear(DateUtil.offsetDay(parse, 1)));
+            hashMap.put("headerTime", getWeek(dateTime.format(formatters)));
+            list1.add(hashMap);
+        }
+        Map<String, Object> resultMap = new HashMap<>();
+        resultMap.put("page", mapIPage);
+        resultMap.put("headerList", list1);
+        return resultMap;
     }
 
     @Override
@@ -155,6 +171,17 @@
                 .set(PerformanceShift::getShift, performanceShift.getShift()));
     }
 
+//    public static void main(String[] args) {
+//        String dateStr = "2023-09-15 12:30:45";
+//        LocalDateTime localDateTime = convertToLocalDateTime(dateStr);
+//        System.out.println(localDateTime);
+//    }
+//
+//    public static LocalDateTime convertToLocalDateTime(String dateStr) {
+//        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+//        return LocalDateTime.parse(dateStr, formatter);
+//    }
+
     // 鑾峰彇涓や釜localDateTime鐨勬瘡涓�澶�
     public static List<LocalDateTime> getLocalDateTimesBetween(LocalDateTime start, LocalDateTime end) {
         List<LocalDateTime> localDateTimes = new ArrayList<>();

--
Gitblit v1.9.3