From 2e770d5ad27afd5cec0ea8759ca37504a883b42f Mon Sep 17 00:00:00 2001
From: Crunchy <3114200645@qq.com>
Date: 星期三, 08 五月 2024 14:50:25 +0800
Subject: [PATCH] 2024-5-8 绩效管理-班次后端开发完成

---
 performance-server/src/main/java/com/yuanchu/mom/mapper/PerformanceShiftMapper.java            |    5 ++---
 performance-server/src/main/resources/mapper/PerformanceShiftMapper.xml                        |    9 +++++----
 performance-server/src/main/java/com/yuanchu/mom/service/impl/PerformanceShiftServiceImpl.java |   39 ++++++++++++++++++++-------------------
 performance-server/src/main/java/com/yuanchu/mom/service/PerformanceShiftService.java          |    3 +--
 performance-server/src/main/java/com/yuanchu/mom/controller/PerformanceShiftController.java    |    2 +-
 5 files changed, 29 insertions(+), 29 deletions(-)

diff --git a/performance-server/src/main/java/com/yuanchu/mom/controller/PerformanceShiftController.java b/performance-server/src/main/java/com/yuanchu/mom/controller/PerformanceShiftController.java
index bc1cb77..158c0ee 100644
--- a/performance-server/src/main/java/com/yuanchu/mom/controller/PerformanceShiftController.java
+++ b/performance-server/src/main/java/com/yuanchu/mom/controller/PerformanceShiftController.java
@@ -37,7 +37,7 @@
 
     @ApiOperation(value = "缁╂晥绠$悊-鐝-鍒嗛〉鏌ヨ")
     @PostMapping("page")
-    public Result<?> performanceShiftPage(Integer size, Integer current, LocalDateTime time, String userName, String laboratory) {
+    public Result<?> performanceShiftPage(Integer size, Integer current, String time, String userName, String laboratory) {
         return Result.success(performanceShiftService.performanceShiftPage(new Page<>(current, size), time, userName, laboratory));
     }
 
diff --git a/performance-server/src/main/java/com/yuanchu/mom/mapper/PerformanceShiftMapper.java b/performance-server/src/main/java/com/yuanchu/mom/mapper/PerformanceShiftMapper.java
index 3f54661..e126761 100644
--- a/performance-server/src/main/java/com/yuanchu/mom/mapper/PerformanceShiftMapper.java
+++ b/performance-server/src/main/java/com/yuanchu/mom/mapper/PerformanceShiftMapper.java
@@ -1,12 +1,11 @@
 package com.yuanchu.mom.mapper;
 
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.yuanchu.mom.pojo.PerformanceShift;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.springframework.data.repository.query.Param;
 
-import java.time.LocalDateTime;
 import java.util.Map;
 
 /**
@@ -21,7 +20,7 @@
 
     IPage<Map<String, Object>> performanceShiftPage(
             Page<Object> page,
-            @Param("time") LocalDateTime time,
+            @Param("time") String time,
             @Param("userName") String userName,
             @Param("laboratory") String laboratory
     );
diff --git a/performance-server/src/main/java/com/yuanchu/mom/service/PerformanceShiftService.java b/performance-server/src/main/java/com/yuanchu/mom/service/PerformanceShiftService.java
index 7e9a5a5..1274d30 100644
--- a/performance-server/src/main/java/com/yuanchu/mom/service/PerformanceShiftService.java
+++ b/performance-server/src/main/java/com/yuanchu/mom/service/PerformanceShiftService.java
@@ -6,7 +6,6 @@
 import com.yuanchu.mom.dto.PerformanceShiftAddDto;
 import com.yuanchu.mom.pojo.PerformanceShift;
 
-import java.time.LocalDateTime;
 import java.util.Map;
 
 /**
@@ -21,7 +20,7 @@
 
     void performanceShiftAdd(PerformanceShiftAddDto performanceShiftAddDto);
 
-    IPage<Map<String, Object>> performanceShiftPage(Page<Object> page, LocalDateTime time, String userName, String laboratory);
+    IPage<Map<String, Object>> performanceShiftPage(Page<Object> page, String time, String userName, String laboratory);
 
     void performanceShiftUpdate(String shift, Integer id);
 }
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 d10ef88..fcd6b5c 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
@@ -48,35 +48,36 @@
     }
 
     @Override
-    public IPage<Map<String, Object>> performanceShiftPage(Page<Object> page, LocalDateTime time, String userName, String laboratory) {
+    public IPage<Map<String, Object>> performanceShiftPage(Page<Object> page, String time, String userName, String laboratory) {
         IPage<Map<String, Object>> mapIPage = baseMapper.performanceShiftPage(page, time, userName, laboratory);
         List<Enums> shiftType = enumService.selectEnumByCategory("鐝绫诲瀷");
         for (Map<String, Object> i : mapIPage.getRecords()) {
             String[] shiftTimes = i.get("shiftTime").toString().split(";");
             int totalAttendance = 0;
-            Map<Object, Object> map = new HashMap<>();
-            for (Enums enums : shiftType) {
-                int num = 0;
-                // 鍒嗗壊鏃ユ湡
-                for (String shiftTime : shiftTimes) {
-                    Map<Object, Object> hashMap = new HashMap<>();
-                    String[] shiftTimeAndShift = shiftTime.split("锛�");
+            List<Object> map = new ArrayList<>();
+            // 鍒嗗壊鏃ユ湡
+            for (String shiftTime : shiftTimes) {
+                Map<Object, Object> hashMap = new HashMap<>();
+                String[] shiftTimeAndShift = shiftTime.split("锛�");
+                for (Enums enums : shiftType) {
+                    int num = 0;
                     if (enums.getValue().equals(shiftTimeAndShift[1])) {
                         num++;
                     }
-                    hashMap.put("id", shiftTimeAndShift[2]);
-                    hashMap.put("shift", shiftTimeAndShift[1]);
-                    hashMap.put("weekly", DateUtil.weekOfYear(DateUtil.parse(shiftTimeAndShift[0])));
-                    hashMap.put("time", shiftTimeAndShift[0]);
-                    map.put(getWeek(shiftTimeAndShift[0]), hashMap);
+                    i.put(enums.getLabel(), num);
+                    if (!enums.getValue().equals("3") && !enums.getValue().equals("4")) {
+                        i.put("totalAttendance", totalAttendance += num);
+                    }
                 }
-                i.put(enums.getLabel(), num);
-                i.put("list", map);
-                if(!enums.getValue().equals("3") && !enums.getValue().equals("4")) {
-                    i.put("totalAttendance", totalAttendance += num);
-                }
-                i.remove("shiftTime");
+                hashMap.put("id", shiftTimeAndShift[2]);
+                hashMap.put("shift", shiftTimeAndShift[1]);
+                hashMap.put("weekly", DateUtil.weekOfYear(DateUtil.parse(shiftTimeAndShift[0])));
+                hashMap.put("time", shiftTimeAndShift[0]);
+                hashMap.put("headerTime", getWeek(shiftTimeAndShift[0]));
+                map.add(hashMap);
             }
+            i.put("list", map);
+            i.remove("shiftTime");
         }
         return mapIPage;
     }
diff --git a/performance-server/src/main/resources/mapper/PerformanceShiftMapper.xml b/performance-server/src/main/resources/mapper/PerformanceShiftMapper.xml
index a1c5d61..cc7e1d4 100644
--- a/performance-server/src/main/resources/mapper/PerformanceShiftMapper.xml
+++ b/performance-server/src/main/resources/mapper/PerformanceShiftMapper.xml
@@ -8,15 +8,16 @@
         GROUP_CONCAT(s.work_time, '锛�', s.shift, '锛�', s.id SEPARATOR ';') AS shiftTime
         FROM performance_shift s
         LEFT JOIN user u on u.id = s.user_id
-        GROUP BY u.id
         <where>
             <if test="time != null and time != ''">
-                and s.work_time in DATE_FORMAT(#{time}, '%Y-%m-%d')
+                and DATE_FORMAT(s.work_time, '%Y-%m') = DATE_FORMAT(#{time}, '%Y-%m' )
             </if>
             <if test="userName != null and userName != ''">
-                and s.name concat('%', #{userName}, '%')
+                and u.name like concat('%', #{userName}, '%')
             </if>
-            <if test="laboratory != null and laboratory != ''"></if>
+            <if test="laboratory != null and laboratory != ''">
+            </if>
         </where>
+        GROUP BY u.id
     </select>
 </mapper>

--
Gitblit v1.9.3