From 767122693cdc41e65bf84ae91d9166600ff0559e Mon Sep 17 00:00:00 2001
From: Crunchy <3114200645@qq.com>
Date: 星期一, 13 五月 2024 17:11:08 +0800
Subject: [PATCH] 2024-5-10 绩效管理-班次-月度文件导出
---
performance-server/src/main/java/com/yuanchu/mom/controller/PerformanceShiftController.java | 49 ++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 48 insertions(+), 1 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 65b368a..965ce6a 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,14 +1,25 @@
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.dto.PerformanceShiftAddDto;
import com.yuanchu.mom.pojo.PerformanceShift;
import com.yuanchu.mom.service.PerformanceShiftService;
+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.servlet.http.HttpServletResponse;
+import javax.validation.constraints.NotNull;
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
/**
@@ -34,10 +45,16 @@
return Result.success();
}
- @ApiOperation(value = "缁╂晥绠$悊-鐝-鍒嗛〉鏌ヨ")
+ @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 = "缁╂晥绠$悊-鐝-骞翠唤鍒嗛〉鏌ヨ")
+ @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));
}
@ApiOperation(value = "缁╂晥绠$悊-鐝-鐝鐘舵�佷慨鏀�")
@@ -46,4 +63,34 @@
performanceShiftService.performanceShiftUpdate(performanceShift);
return Result.success();
}
+
+ @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"));
+ }
+ }
}
--
Gitblit v1.9.3