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