From 35da9191297752452f7ab60ff9bc3eed515dfeec Mon Sep 17 00:00:00 2001 From: Crunchy <3114200645@qq.com> Date: 星期一, 13 五月 2024 16:30:06 +0800 Subject: [PATCH] 2024-5-10 绩效管理-班次-月度文件导出 --- performance-server/src/main/java/com/yuanchu/mom/controller/PerformanceShiftController.java | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 53 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 c012ff1..2c9fad5 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,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 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 +45,52 @@ return Result.success(); } - @ApiOperation(value = "缁╂晥绠$悊-鐝-鍒嗛〉鏌ヨ") - @GetMapping("page") - public Result<?> performanceShiftPage(Integer size, Integer current, LocalDateTime time, String userName, String laboratory) { + @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, 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