From 49b20ce146fc7c619f41dfaa74a48a1367d37642 Mon Sep 17 00:00:00 2001
From: Crunchy <3114200645@qq.com>
Date: 星期二, 30 七月 2024 19:10:41 +0800
Subject: [PATCH] 清理正式库的下单数据,并且默认新增所有人7月和8月的班次为早班

---
 performance-server/src/main/java/com/yuanchu/mom/controller/PerformanceShiftController.java |   56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 56 insertions(+), 0 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 0831c44..5006210 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
@@ -6,8 +6,11 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.yuanchu.mom.annotation.ValueClassify;
 import com.yuanchu.mom.dto.PerformanceShiftAddDto;
+import com.yuanchu.mom.pojo.Enums;
 import com.yuanchu.mom.pojo.PerformanceShift;
+import com.yuanchu.mom.service.EnumService;
 import com.yuanchu.mom.service.PerformanceShiftService;
+import com.yuanchu.mom.service.UserService;
 import com.yuanchu.mom.utils.StyleMonthUtils;
 import com.yuanchu.mom.utils.StyleYearUtils;
 import com.yuanchu.mom.vo.Result;
@@ -16,11 +19,19 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
 import javax.validation.constraints.NotNull;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.LocalTime;
+import java.time.temporal.TemporalAdjusters;
+import java.time.temporal.WeekFields;
 import java.util.Collection;
 import java.util.List;
+import java.util.Locale;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 
 /**
@@ -99,4 +110,49 @@
                     .doWrite((Collection<?>) data.get("data"));
         }
     }
+
+    @Resource
+    private EnumService enumService;
+
+    @Resource
+    private UserService userService;
+
+    @ApiOperation(value = "涓存椂鎺ュ彛-娣诲姞7鏈堜唤8鏈堜唤鐨勬暟鎹�")
+    @GetMapping("temporaryInterface")
+    public void temporaryInterface() {
+        System.out.println("寮�濮嬬粰姣忎釜浜鸿繘琛屾帓鐝�,榛樿鏃╃彮======start");
+        // TODO 缁欐瘡涓汉閮借繘琛屾帓鐝�(榛樿鏃╃彮)
+        PerformanceShiftAddDto performanceShiftAddDto = new PerformanceShiftAddDto();
+        //鐝--鏃�(鏌ヨ瀛楀吀)
+        List<Enums> shiftType = enumService.selectEnumByCategory("鐝绫诲瀷");
+        List<String> collect = shiftType.stream().filter(enums -> enums.getLabel().equals("鏃�")).map(enums -> enums.getValue()).collect(Collectors.toList());
+        performanceShiftAddDto.setShift(collect.get(0));
+        //浜哄憳--鎵�鏈変汉
+        String userIds = userService.getDeviceManager().stream().map(user -> user.getId().toString()).distinct().collect(Collectors.joining(","));
+        performanceShiftAddDto.setUserId(userIds);
+        //鍛ㄦ--褰撴湀鎵�鏈�
+        // 鑾峰彇褰撳墠鏃ユ湡
+        LocalDate today = LocalDate.of(2024, 8, 15);
+        // 鑾峰彇鏈湀鐨勭涓�澶╁拰鏈�鍚庝竴澶�
+        LocalDate firstDayOfMonth = today.with(TemporalAdjusters.firstDayOfMonth());
+        LocalDate lastDayOfMonth = today.with(TemporalAdjusters.lastDayOfMonth());
+        // 鑾峰彇鍛ㄥ瓧娈典俊鎭紙鏍规嵁鍖哄煙璁剧疆锛�
+        WeekFields weekFields = WeekFields.of(Locale.getDefault());
+        // 鑾峰彇鏈湀绗竴澶╃殑鍛ㄤ竴
+        LocalDate startOfWeek = firstDayOfMonth.with(TemporalAdjusters.previousOrSame(weekFields.getFirstDayOfWeek()));
+        // 閬嶅巻鏈湀鎵�鏈夊ぉ鏁帮紝鎵惧嚭姣忓懆鐨勭涓�澶╁拰鏈�鍚庝竴澶�
+        LocalDate endOfWeek;
+        while (startOfWeek.isBefore(firstDayOfMonth.plusMonths(1))) {
+            endOfWeek = startOfWeek.plusDays(6);
+            LocalDateTime startDateTime = LocalDateTime.of(startOfWeek, LocalTime.MIDNIGHT);
+            LocalDateTime endDateTime = LocalDateTime.of(endOfWeek, LocalTime.MIDNIGHT);
+            System.out.println("Week starts on " + startDateTime + " and ends on " + endDateTime);
+            performanceShiftAddDto.setStartWeek(startDateTime);
+            performanceShiftAddDto.setEndWeek(endDateTime);
+            performanceShiftService.performanceShiftAdd(performanceShiftAddDto);
+            startOfWeek = startOfWeek.plusWeeks(1);
+        }
+
+        System.out.println("鎺掔彮缁撴潫======end");
+    }
 }

--
Gitblit v1.9.3