From 9a869e800b235636097abebadb1bd1cae4206cbc Mon Sep 17 00:00:00 2001
From: value <z1292839451@163.com>
Date: 星期二, 04 六月 2024 21:21:57 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOriginalHoursServiceImpl.java |   43 ++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 38 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..2026c9c 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;
@@ -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