From 5033c375a3ee6a63bcb600d5b9f4b8d549d089e2 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期四, 23 四月 2026 19:09:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_New_pro' into dev_New_pro

---
 src/main/java/com/ruoyi/staff/controller/PersonalShiftController.java |   65 +++++++++++++++++++-------------
 1 files changed, 39 insertions(+), 26 deletions(-)

diff --git a/src/main/java/com/ruoyi/staff/controller/PersonalShiftController.java b/src/main/java/com/ruoyi/staff/controller/PersonalShiftController.java
index 85ff013..2f1496b 100644
--- a/src/main/java/com/ruoyi/staff/controller/PersonalShiftController.java
+++ b/src/main/java/com/ruoyi/staff/controller/PersonalShiftController.java
@@ -12,13 +12,15 @@
 import com.ruoyi.staff.service.PersonalShiftService;
 import com.ruoyi.staff.utils.StyleMonthUtils;
 import com.ruoyi.staff.utils.StyleYearUtils;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.v3.oas.annotations.Operation;
+import lombok.AllArgsConstructor;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
-import javax.servlet.http.HttpServletResponse;
-import javax.validation.constraints.NotNull;
+import jakarta.servlet.ServletOutputStream;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.constraints.NotNull;
 import java.util.Collection;
 import java.util.List;
 import java.util.Map;
@@ -33,65 +35,76 @@
  */
 @RestController
 @RequestMapping("/personalShift")
-@Api(tags = "浜哄憳鎺掔彮")
+@Tag(name = "浜哄憳鎺掔彮")
+@AllArgsConstructor
 public class PersonalShiftController {
 
-    @Autowired
     private PersonalShiftService personalShiftService;
 
-    @ApiOperation("浜哄憳鎺掔彮")
+    @Operation(summary = "浜哄憳鎺掔彮")
     @PostMapping("/add")
     public R add(@RequestBody PerformanceShiftAddDto performanceShiftAddDto){
         return R.ok(personalShiftService.performanceShiftAdd(performanceShiftAddDto));
     }
 
-    @ApiOperation(value = "鏈堜唤鍒嗛〉鏌ヨ")
+    @Operation(summary = "鏈堜唤鍒嗛〉鏌ヨ")
     @GetMapping("page")
     public R performanceShiftPage(Integer size, Integer current, String time, String userName, Integer sysDeptId) {
         return R.ok(personalShiftService.performanceShiftPage(new Page<>(current, size), time, userName, sysDeptId));
     }
 
-    @ApiOperation(value = "骞翠唤鍒嗛〉鏌ヨ")
+    @Operation(summary = "骞翠唤鍒嗛〉鏌ヨ")
     @GetMapping("pageYear")
     public R performanceShiftPageYear(Integer size, Integer current, String time, String userName, Integer sysDeptId) {
         return R.ok(personalShiftService.performanceShiftPageYear(new Page<>(current, size), time, userName, sysDeptId));
     }
 
-    @ApiOperation(value = "鐝鐘舵�佷慨鏀�")
+    @Operation(summary = "鐝鐘舵�佷慨鏀�")
     @PostMapping("update")
     public R performanceShiftUpdate(@RequestBody PersonalShift personalShift) {
         personalShiftService.performanceShiftUpdate(personalShift);
         return R.ok();
     }
 
-    @ApiOperation(value = "瀵煎嚭")
+    @Operation(summary = "瀵煎嚭")
     @GetMapping("export")
     public void exportToExcel(@NotNull(message = "鏃堕棿涓嶈兘涓虹┖锛�") String time, String userName, Integer sysDeptId, Boolean isMonth, HttpServletResponse response) throws Exception {
-        Map<Object, Object> data;
+        ServletOutputStream out = response.getOutputStream();
         response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
-        response.setHeader("requestType","excel");
-        response.setHeader("Access-Control-Expose-Headers", "requestType");
+        response.setCharacterEncoding("utf-8");
+        response.setHeader("Content-Disposition", "attachment;filename*=UTF-8''" + time + ".xlsx");
+
         if (!isMonth) {
-            data = personalShiftService.exportToYearExcel(time, userName, sysDeptId);
-            // 璁剧疆鍗曞厓鏍兼牱寮�
-            HorizontalCellStyleStrategy horizontalCellStyleStrategy = new HorizontalCellStyleStrategy(StyleYearUtils.getHeadStyle(), StyleYearUtils.getContentStyle());
-            // 淇濆瓨鍒扮涓�涓猻heet涓�
-            EasyExcel.write(response.getOutputStream())
+            Map<Object, Object> data = personalShiftService.exportToYearExcel(time, userName, sysDeptId);
+
+            HorizontalCellStyleStrategy style = new HorizontalCellStyleStrategy(
+                    StyleYearUtils.getHeadStyle(),
+                    StyleYearUtils.getContentStyle()
+            );
+
+            EasyExcel.write(out)
                     .head((List<List<String>>) data.get("header"))
-                    .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) // 鑷�傚簲鍒楀
-                    .registerWriteHandler(horizontalCellStyleStrategy)
+                    .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy())
+                    .registerWriteHandler(style)
                     .sheet("骞村害")
                     .doWrite((Collection<?>) data.get("data"));
+
         } else {
-            data = personalShiftService.exportToMonthExcel(time, userName, sysDeptId);
-            // 璁剧疆鍗曞厓鏍兼牱寮�
-            HorizontalCellStyleStrategy horizontalCellStyleStrategy = new HorizontalCellStyleStrategy(StyleMonthUtils.getHeadStyle(), StyleMonthUtils.getContentStyle());
-            EasyExcel.write(response.getOutputStream())
+            Map<Object, Object> data = personalShiftService.exportToMonthExcel(time, userName, sysDeptId);
+
+            HorizontalCellStyleStrategy style = new HorizontalCellStyleStrategy(
+                    StyleMonthUtils.getHeadStyle(),
+                    StyleMonthUtils.getContentStyle()
+            );
+
+            EasyExcel.write(out)
                     .head((List<List<String>>) data.get("header"))
-                    .registerWriteHandler(horizontalCellStyleStrategy)
+                    .registerWriteHandler(style)
                     .sheet("鏈堝害")
                     .doWrite((Collection<?>) data.get("data"));
         }
+
+        out.flush();
     }
 
 

--
Gitblit v1.9.3