From 723705c43f6e87e9f31e4c18eee1c163c14139bb Mon Sep 17 00:00:00 2001 From: Crunchy <3114200645@qq.com> Date: 星期五, 10 五月 2024 16:55:48 +0800 Subject: [PATCH] 2024-5-10 绩效管理-班次-文件导出 --- performance-server/src/main/java/com/yuanchu/mom/controller/PerformanceShiftController.java | 43 ++++++++++++++++++++++++++++++++++++++----- 1 files changed, 38 insertions(+), 5 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 158c0ee..45a48c6 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,24 @@ 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.StyleUtils; 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 java.time.LocalDateTime; +import javax.servlet.http.HttpServletResponse; +import javax.validation.constraints.NotNull; +import java.util.Collection; +import java.util.List; +import java.util.Map; /** @@ -35,16 +44,40 @@ 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 = "缁╂晥绠$悊-鐝-鐝鐘舵�佷慨鏀�") - @PutMapping("update/{id}") - public Result<?> performanceShiftUpdate(String shift, @PathVariable("id") Integer id) { - performanceShiftService.performanceShiftUpdate(shift, id); + @PutMapping("update") + public Result<?> performanceShiftUpdate(@RequestBody PerformanceShift performanceShift) { + performanceShiftService.performanceShiftUpdate(performanceShift); return Result.success(); } + + @ApiOperation(value = "缁╂晥绠$悊-鐝-瀵煎嚭") + @GetMapping("update") + public void exportToExcel(@NotNull(message = "鏃堕棿涓嶈兘涓虹┖锛�") String time, String userName, String laboratory, HttpServletResponse response) throws Exception { + Map<Object, Object> data = performanceShiftService.exportToExcel(time, userName, laboratory); + // 璁剧疆鍗曞厓鏍兼牱寮� + HorizontalCellStyleStrategy horizontalCellStyleStrategy = new HorizontalCellStyleStrategy(StyleUtils.getHeadStyle(), StyleUtils.getContentStyle()); + // 淇濆瓨鍒扮涓�涓猻heet涓� + response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); + response.setHeader("requestType","excel"); + response.setHeader("Access-Control-Expose-Headers", "requestType"); + EasyExcel.write(response.getOutputStream()) + .head((List<List<String>>) data.get("header")) + .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) // 鑷�傚簲鍒楀 + .registerWriteHandler(horizontalCellStyleStrategy) + .sheet("妯℃澘") + .doWrite((Collection<?>) data.get("data")); + } } -- Gitblit v1.9.3