From d2fe4662d92aad502ad4f4706a4c87d41e5292ac Mon Sep 17 00:00:00 2001 From: Crunchy <3114200645@qq.com> Date: 星期二, 30 七月 2024 20:06:38 +0800 Subject: [PATCH] 去token校验 --- performance-server/src/main/java/com/yuanchu/mom/controller/PerformanceShiftController.java | 126 +++++++++++++++++++++++++++++++++++++++-- 1 files changed, 118 insertions(+), 8 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 56e334d..8aa3601 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 @@ -1,15 +1,38 @@ package com.yuanchu.mom.controller; +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.write.style.HorizontalCellStyleStrategy; +import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.annotation.ValueAuth; +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; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; 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; /** @@ -28,23 +51,110 @@ @Autowired private PerformanceShiftService performanceShiftService; - @ApiOperation(value = "缁╂晥绠$悊-鐝-鎺掔彮") + @ValueClassify("鐝") + @ApiOperation(value = "鎺掔彮") @PostMapping("add") public Result<?> performanceShiftAdd(@RequestBody PerformanceShiftAddDto performanceShiftAddDto) { performanceShiftService.performanceShiftAdd(performanceShiftAddDto); return Result.success(); } - @ApiOperation(value = "缁╂晥绠$悊-鐝-鍒嗛〉鏌ヨ") - @GetMapping("page") - public Result<?> performanceShiftPage(Integer size, Integer current, LocalDateTime time, String userName, String laboratory) { + @ValueClassify("鐝") + @ApiOperation(value = "鏈堜唤鍒嗛〉鏌ヨ") + @PostMapping("page") + 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)); } - @ApiOperation(value = "缁╂晥绠$悊-鐝-鐝鐘舵�佷慨鏀�") - @GetMapping("update/{id}") - public Result<?> performanceShiftUpdate(String shift, @PathVariable("id") Integer id) { - performanceShiftService.performanceShiftUpdate(shift, id); + @ValueClassify("鐝") + @ApiOperation(value = "骞翠唤鍒嗛〉鏌ヨ") + @PostMapping("pageYear") + public Result<?> performanceShiftPageYear(Integer size, Integer current, String time, String userName, String laboratory) { + return Result.success(performanceShiftService.performanceShiftPageYear(new Page<>(current, size), time, userName, laboratory)); + } + + @ValueClassify("鐝") + @ApiOperation(value = "鐝鐘舵�佷慨鏀�") + @PutMapping("update") + public Result<?> performanceShiftUpdate(@RequestBody PerformanceShift performanceShift) { + performanceShiftService.performanceShiftUpdate(performanceShift); return Result.success(); } + + @ValueClassify("鐝") + @ApiOperation(value = "瀵煎嚭") + @GetMapping("export") + public void exportToExcel(@NotNull(message = "鏃堕棿涓嶈兘涓虹┖锛�") String time, String userName, String laboratory, Boolean isMonth, HttpServletResponse response) throws Exception { + Map<Object, Object> data; + response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); + response.setHeader("requestType","excel"); + response.setHeader("Access-Control-Expose-Headers", "requestType"); + if (!isMonth) { + data = performanceShiftService.exportToYearExcel(time, userName, laboratory); + // 璁剧疆鍗曞厓鏍兼牱寮� + HorizontalCellStyleStrategy horizontalCellStyleStrategy = new HorizontalCellStyleStrategy(StyleYearUtils.getHeadStyle(), StyleYearUtils.getContentStyle()); + // 淇濆瓨鍒扮涓�涓猻heet涓� + EasyExcel.write(response.getOutputStream()) + .head((List<List<String>>) data.get("header")) + .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) // 鑷�傚簲鍒楀 + .registerWriteHandler(horizontalCellStyleStrategy) + .sheet("骞村害") + .doWrite((Collection<?>) data.get("data")); + } else { + data = performanceShiftService.exportToMonthExcel(time, userName, laboratory); + // 璁剧疆鍗曞厓鏍兼牱寮� + HorizontalCellStyleStrategy horizontalCellStyleStrategy = new HorizontalCellStyleStrategy(StyleMonthUtils.getHeadStyle(), StyleMonthUtils.getContentStyle()); + EasyExcel.write(response.getOutputStream()) + .head((List<List<String>>) data.get("header")) + .registerWriteHandler(horizontalCellStyleStrategy) + .sheet("鏈堝害") + .doWrite((Collection<?>) data.get("data")); + } + } + + @Resource + private EnumService enumService; + + @Resource + private UserService userService; + + @ApiOperation(value = "涓存椂鎺ュ彛-娣诲姞7鏈堜唤8鏈堜唤鐨勬暟鎹�") + @ValueAuth + @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