From dc6a8ff2eb1dbfc532eac8d296b68e5e05a4a6e7 Mon Sep 17 00:00:00 2001 From: zss <zss@example.com> Date: 星期一, 17 六月 2024 13:59:27 +0800 Subject: [PATCH] 工时组长权限bug修改 --- performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOriginalHoursServiceImpl.java | 45 +++++++++++++++++++++++++++++++++++++++------ 1 files changed, 39 insertions(+), 6 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..89d187b 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; @@ -51,7 +57,7 @@ @Override public Map<String, Object> selectAuxiliaryOriginalHours(Page page, AuxiliaryOriginalHoursLookDto auxiliaryOriginalHoursLookDto) { Map<String, Object> map = new HashMap<>(); - List<Integer> ids = new ArrayList<>(); + List<Integer> ids = new ArrayList<>(); ; map.put("head", PrintChina.printChina(AuxiliaryCorrectionHoursDto.class)); //鍒ゆ柇缁勯暱,缁勫憳,绠$悊鍛樻潈闄� Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("selectAuxiliaryOriginalHours"); @@ -124,11 +130,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 +144,33 @@ return map; } + + //瀵煎嚭鍘熷宸ユ椂 + @Override + public void exportWorkingHours(AuxiliaryOriginalHoursLookDto auxiliaryOriginalHoursLookDto, HttpServletResponse response) throws IOException { + List<AuxiliaryOriginalHoursDto> auxiliaryOriginalHoursDtos = new ArrayList<AuxiliaryOriginalHoursDto>(); + + //鏌ヨ鍘熷宸ユ椂(浣跨敤鍒嗛〉鏌ヨ) + 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