From 234b0ac195934b34c06045b2d2ef0f10e239dd8e Mon Sep 17 00:00:00 2001
From: zhuo <2089219845@qq.com>
Date: 星期三, 23 四月 2025 00:06:54 +0800
Subject: [PATCH] 系统合并

---
 inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsReportServiceImpl.java |   64 +++++++++++++++++++++++++++++---
 1 files changed, 58 insertions(+), 6 deletions(-)

diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsReportServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsReportServiceImpl.java
index 46c30d9..6bde534 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsReportServiceImpl.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsReportServiceImpl.java
@@ -1,11 +1,17 @@
 package com.ruoyi.inspect.service.impl;
 
+import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.json.JSONUtil;
+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.aspose.words.License;
 import com.aspose.words.SaveFormat;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
@@ -19,16 +25,18 @@
 import com.itextpdf.text.pdf.PdfContentByte;
 import com.itextpdf.text.pdf.PdfReader;
 import com.itextpdf.text.pdf.PdfStamper;
+import com.ruoyi.basic.dto.IfsInventoryQuantitySupplierDto;
 import com.ruoyi.basic.mapper.IfsInventoryQuantityMapper;
 import com.ruoyi.basic.pojo.IfsInventoryQuantity;
 import com.ruoyi.common.constant.InsOrderTypeConstants;
 import com.ruoyi.common.constant.MenuJumpPathConstants;
 import com.ruoyi.common.core.domain.Result;
 import com.ruoyi.common.core.domain.entity.InformationNotification;
-import com.ruoyi.common.core.domain.entity.User;
-import com.ruoyi.common.properties.WechatProperty;
+import com.ruoyi.common.config.WechatProperty;
 import com.ruoyi.common.utils.*;
+import com.ruoyi.common.utils.api.IfsApiUtils;
 import com.ruoyi.framework.exception.ErrorException;
+import com.ruoyi.inspect.dto.InsReportExport;
 import com.ruoyi.inspect.dto.ReportPageDto;
 import com.ruoyi.inspect.mapper.*;
 import com.ruoyi.inspect.pojo.*;
@@ -48,8 +56,10 @@
 
 import javax.annotation.Resource;
 import javax.imageio.ImageIO;
+import javax.servlet.http.HttpServletResponse;
 import java.awt.image.BufferedImage;
 import java.io.*;
+import java.net.URLEncoder;
 import java.nio.file.Files;
 import java.nio.file.Path;
 import java.nio.file.Paths;
@@ -114,9 +124,11 @@
         // todo: 浠呯湅鑷繁
         //鑾峰彇褰撳墠浜烘墍灞炲疄楠屽id
         String laboratory = null;
-        Integer createOrderUser = null;
+
+        Integer createOrderUser = reportPageDto.getCreateOrderUser();
         String queryStatus = reportPageDto.getQueryStatus();
         reportPageDto.setQueryStatus(null);
+        reportPageDto.setCreateOrderUser(null);
 
         map.put("body", insReportMapper.pageInsReport(page,
                 QueryWrappers.queryWrappers(reportPageDto),
@@ -260,7 +272,7 @@
                 IfsInventoryQuantity ifsInventoryQuantity = ifsInventoryQuantityMapper.selectById(order.getIfsInventoryId());
 
                 String message = "";
-                message += "鎶ュ憡缂栧埗瀹℃牳閫�鍥為�氱煡";
+                message += "鑰愪笣绯荤粺鎶ュ憡缂栧埗瀹℃牳閫�鍥為�氱煡";
                 message += "\n瀹℃牳浜�: " + checkUserName;
                 message += "\n濮旀墭缂栧彿: " + order.getEntrustCode();
                 message += "\n鏍峰搧鍚嶇О: " + insSample.getModel();
@@ -335,7 +347,7 @@
             IfsInventoryQuantity ifsInventoryQuantity = ifsInventoryQuantityMapper.selectById(order.getIfsInventoryId());
 
             String message = "";
-            message += "鎶ュ憡缂栧埗鎵瑰噯閫氱煡";
+            message += "鑰愪笣绯荤粺鎶ュ憡缂栧埗鎵瑰噯閫氱煡";
             message += "\n妫�楠屼汉: " + userName;
             message += "\n澶嶆牳浜�: " + checkUserName;
             message += "\n濮旀墭缂栧彿: " + order.getEntrustCode();
@@ -397,7 +409,7 @@
                 IfsInventoryQuantity ifsInventoryQuantity = ifsInventoryQuantityMapper.selectById(order.getIfsInventoryId());
 
                 String message = "";
-                message += "鎶ュ憡缂栧埗鎵瑰噯閫�鍥為�氱煡";
+                message += "鑰愪笣绯荤粺鎶ュ憡缂栧埗鎵瑰噯閫�鍥為�氱煡";
                 message += "\n鎵瑰噯浜�: " + ratifyUserName;
                 message += "\n濮旀墭缂栧彿: " + order.getEntrustCode();
                 message += "\n鏍峰搧鍚嶇О: " + insSample.getModel();
@@ -986,6 +998,46 @@
         return false;
     }
 
+    /**
+     * 鎶ュ憡鎶ヨ〃瀵煎嚭
+     * @param dto
+     * @param response
+     */
+    @Override
+    public void reportAllExport(ReportPageDto dto, HttpServletResponse response) throws UnsupportedEncodingException {
+
+        Integer createOrderUser = dto.getCreateOrderUser();
+        String queryStatus = dto.getQueryStatus();
+        dto.setQueryStatus(null);
+        dto.setCreateOrderUser(null);
+
+        List<InsReportExport> insReportExports = insReportMapper.reportAllExport(QueryWrappers.queryWrappers(dto),
+                SecurityUtils.getUserId().intValue(),
+                queryStatus,
+                createOrderUser);
+
+        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();
+            //鑾峰彇sheet0瀵硅薄
+            WriteSheet mainSheet = EasyExcel.writerSheet(0, "鎶ュ憡鎶ヨ〃瀵煎嚭").head(InsReportExport.class).build();
+
+            //鍚憇heet0鍐欏叆鏁版嵁 浼犲叆绌簂ist杩欐牱鍙鍑鸿〃澶�
+            excelWriter.write(insReportExports, mainSheet);
+            //鍏抽棴娴�
+            excelWriter.finish();
+        } catch (IOException e) {
+            throw new RuntimeException("瀵煎嚭澶辫触");
+        }
+
+
+    }
+
 
     /**
      * 鍏堜慨鏀归噰璐鍗曟壒娆″彿, 鍚庤繘琛岀Щ搴撴搷浣�

--
Gitblit v1.9.3