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

---
 performance-server/src/main/java/com/yuanchu/mom/dto/PerformanceShiftAddDto.java               |    7 ++++++-
 performance-server/src/main/java/com/yuanchu/mom/service/impl/PerformanceShiftServiceImpl.java |   23 ++++++++++++-----------
 2 files changed, 18 insertions(+), 12 deletions(-)

diff --git a/performance-server/src/main/java/com/yuanchu/mom/dto/PerformanceShiftAddDto.java b/performance-server/src/main/java/com/yuanchu/mom/dto/PerformanceShiftAddDto.java
index c71b184..5f9152b 100644
--- a/performance-server/src/main/java/com/yuanchu/mom/dto/PerformanceShiftAddDto.java
+++ b/performance-server/src/main/java/com/yuanchu/mom/dto/PerformanceShiftAddDto.java
@@ -3,20 +3,25 @@
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import javax.validation.constraints.NotNull;
 import java.time.LocalDateTime;
 
 @Data
 public class PerformanceShiftAddDto {
 
+    @NotNull(message = "璇烽�夋嫨鐝")
     @ApiModelProperty("鐝")
     private String shift;
 
+    @NotNull(message = "璇烽�夋嫨鍛樺伐")
     @ApiModelProperty("鍛樺伐id")
-    private Integer userId;
+    private String userId;
 
+    @NotNull(message = "璇烽�夋嫨鍛ㄦ")
     @ApiModelProperty("寮�濮嬪懆娆�")
     private LocalDateTime startWeek;
 
+    @NotNull(message = "璇烽�夋嫨鍛ㄦ")
     @ApiModelProperty("缁撴潫鍛ㄦ")
     private LocalDateTime endWeek;
 }
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 2087610..d10ef88 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
@@ -36,11 +36,14 @@
     public void performanceShiftAdd(PerformanceShiftAddDto performanceShiftAddDto) {
         List<LocalDateTime> datesBetween = getLocalDateTimesBetween(performanceShiftAddDto.getStartWeek(), performanceShiftAddDto.getEndWeek());
         for (LocalDateTime date : datesBetween) {
-            PerformanceShift performanceShift = new PerformanceShift();
-            performanceShift.setShift(performanceShiftAddDto.getShift());
-            performanceShift.setUserId(performanceShiftAddDto.getUserId());
-            performanceShift.setWorkTime(date);
-            baseMapper.insert(performanceShift);
+            String[] splitUserId = performanceShiftAddDto.getUserId().split(",");
+            for (String s : splitUserId) {
+                PerformanceShift performanceShift = new PerformanceShift();
+                performanceShift.setShift(performanceShiftAddDto.getShift());
+                performanceShift.setUserId(Integer.valueOf(s));
+                performanceShift.setWorkTime(date);
+                baseMapper.insert(performanceShift);
+            }
         }
     }
 
@@ -53,17 +56,13 @@
             int totalAttendance = 0;
             Map<Object, Object> map = new HashMap<>();
             for (Enums enums : shiftType) {
-                Integer num = 0;
+                int num = 0;
                 // 鍒嗗壊鏃ユ湡
                 for (String shiftTime : shiftTimes) {
                     Map<Object, Object> hashMap = new HashMap<>();
                     String[] shiftTimeAndShift = shiftTime.split("锛�");
                     if (enums.getValue().equals(shiftTimeAndShift[1])) {
                         num++;
-                    }
-                    // 3锛氫紤鍋囷紱4锛氳鍋�
-                    if (!enums.getValue().equals("3") && enums.getValue().equals("4")) {
-                        totalAttendance++;
                     }
                     hashMap.put("id", shiftTimeAndShift[2]);
                     hashMap.put("shift", shiftTimeAndShift[1]);
@@ -73,7 +72,9 @@
                 }
                 i.put(enums.getLabel(), num);
                 i.put("list", map);
-                i.put("totalAttendance", totalAttendance);
+                if(!enums.getValue().equals("3") && !enums.getValue().equals("4")) {
+                    i.put("totalAttendance", totalAttendance += num);
+                }
                 i.remove("shiftTime");
             }
         }

--
Gitblit v1.9.3