From e72766e5c5cceae416c0fa17ef075a01cd3fd396 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期三, 13 八月 2025 09:34:34 +0800
Subject: [PATCH] 检验任务筛选增加人员字段+检验和复核支持样品编号的修改
---
performance-server/src/main/java/com/yuanchu/mom/controller/PerformanceShiftController.java | 123 ++++++++++++++++++++++++++++++++++++++--
1 files changed, 116 insertions(+), 7 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..4048139 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,109 @@
@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 = "缁╂晥绠$悊-鐝-鍒嗛〉鏌ヨ")
+ @ValueClassify("鐝")
+ @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));
}
- @ApiOperation(value = "缁╂晥绠$悊-鐝-鐝鐘舵�佷慨鏀�")
- @PutMapping("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");
+ 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