From d7abd9ebd3adf6bd7adac595fd1c070568432acb Mon Sep 17 00:00:00 2001 From: zss <zss@example.com> Date: 星期五, 21 六月 2024 09:01:23 +0800 Subject: [PATCH] 人员考评 --- performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOriginalHoursServiceImpl.java | 54 +++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 49 insertions(+), 5 deletions(-) diff --git a/performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOriginalHoursServiceImpl.java b/performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOriginalHoursServiceImpl.java index e042b0c..c09609b 100644 --- a/performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOriginalHoursServiceImpl.java +++ b/performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOriginalHoursServiceImpl.java @@ -1,14 +1,17 @@ package com.yuanchu.mom.service.impl; +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.ExcelWriter; +import com.alibaba.excel.write.metadata.WriteSheet; +import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yuanchu.mom.common.GetLook; import com.yuanchu.mom.common.PrintChina; -import com.yuanchu.mom.dto.AuxiliaryCorrectionHoursDto; -import com.yuanchu.mom.dto.AuxiliaryOriginalHoursDto; -import com.yuanchu.mom.dto.AuxiliaryOriginalHoursLookDto; +import com.yuanchu.mom.dto.*; import com.yuanchu.mom.mapper.*; import com.yuanchu.mom.pojo.AuxiliaryCorrectionHours; import com.yuanchu.mom.pojo.Power; @@ -18,6 +21,9 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.net.URLEncoder; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -52,6 +58,7 @@ public Map<String, Object> selectAuxiliaryOriginalHours(Page page, AuxiliaryOriginalHoursLookDto auxiliaryOriginalHoursLookDto) { Map<String, Object> map = new HashMap<>(); List<Integer> ids = new ArrayList<>(); + ; map.put("head", PrintChina.printChina(AuxiliaryCorrectionHoursDto.class)); //鍒ゆ柇缁勯暱,缁勫憳,绠$悊鍛樻潈闄� Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("selectAuxiliaryOriginalHours"); @@ -124,11 +131,11 @@ } } //濡傛灉浜ч噺宸ユ椂涓虹┖ - else if (ObjectUtils.isEmpty(maps)) { + else if (ObjectUtils.isNotEmpty(maps1)) { for (Map<String, Object> objectMap : maps1) { auxiliaryOriginalHoursDtos.add(getData(objectMap, "鎬诲伐鏃�")); } - } else if (ObjectUtils.isEmpty(maps1)) { + } else if (ObjectUtils.isNotEmpty(maps)) { for (Map<String, Object> objectMap : maps) { auxiliaryOriginalHoursDtos.add(getData(objectMap, "鎬诲伐鏃�")); } @@ -138,6 +145,43 @@ return map; } + + //瀵煎嚭鍘熷宸ユ椂 + @Override + public void exportWorkingHours(String month, String name, String departLims, HttpServletResponse response) throws IOException { + List<AuxiliaryOriginalHoursDto> auxiliaryOriginalHoursDtos = new ArrayList<AuxiliaryOriginalHoursDto>(); + + //鏌ヨ鍘熷宸ユ椂(浣跨敤鍒嗛〉鏌ヨ) + AuxiliaryOriginalHoursLookDto auxiliaryOriginalHoursLookDto = new AuxiliaryOriginalHoursLookDto(); + if (ObjectUtils.isNotEmpty(month)) { + auxiliaryOriginalHoursLookDto.setMonth(month); + } + if (ObjectUtils.isNotEmpty(name)) { + auxiliaryOriginalHoursLookDto.setName(name); + } + if (ObjectUtils.isNotEmpty(departLims)) { + auxiliaryOriginalHoursLookDto.setDepartLims(departLims); + } + IPage<AuxiliaryOriginalHoursDto> body = (IPage<AuxiliaryOriginalHoursDto>) selectAuxiliaryOriginalHours(new Page(-1, -1), auxiliaryOriginalHoursLookDto).get("body"); + auxiliaryOriginalHoursDtos = body.getRecords(); + response.setContentType("application/vnd.ms-excel"); + response.setCharacterEncoding("UTF-8"); + // 杩欓噷URLEncoder.encode鍙互闃叉涓枃涔辩爜 褰撶劧鍜宔asyexcel娌℃湁鍏崇郴 + String fileName = URLEncoder.encode("宸ユ椂缁熻瀵煎嚭", "UTF-8"); + response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx"); + try { + // 鏂板缓ExcelWriter + ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()).build(); + WriteSheet mainSheet = EasyExcel.writerSheet(0, "鍘熷宸ユ椂瀵煎嚭").head(AuxiliaryOriginalHoursDto.class).build(); + excelWriter.write(auxiliaryOriginalHoursDtos, mainSheet); + // 鍏抽棴娴� + excelWriter.finish(); + } catch (IOException e) { + throw new RuntimeException("瀵煎嚭澶辫触"); + } + + } + private AuxiliaryOriginalHoursDto getData(Map<String, Object> objectMap, String type) { AuxiliaryOriginalHoursDto auxiliaryOriginalHoursDto = new AuxiliaryOriginalHoursDto(); auxiliaryOriginalHoursDto.setName(objectMap.get("name").toString());//濮撳悕 -- Gitblit v1.9.3