From 7c5e1ef7db84731610d5616b2ee7e6e63abd886d Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期五, 01 八月 2025 13:21:02 +0800
Subject: [PATCH] mqtt回调方法调整
---
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsReportServiceImpl.java | 82 +++++++++++++++++++++++++++++++++++------
1 files changed, 70 insertions(+), 12 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 7d61ac8..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,15 +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.*;
@@ -39,6 +48,7 @@
import lombok.extern.slf4j.Slf4j;
import org.apache.poi.xwpf.usermodel.*;
import org.springframework.beans.factory.annotation.Value;
+import org.springframework.core.io.ClassPathResource;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -46,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;
@@ -83,8 +95,7 @@
private String wordUrl;
@Value("${file.path}")
private String imgUrl;
- @Value("${file.licenseUrl}")
- private String licenseUrl;
+
@Resource
private InsOrderMapper insOrderMapper;
@Resource
@@ -113,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),
@@ -187,7 +200,7 @@
info.setSenderId(submitUserId); //鍙戦�佷汉
info.setConsigneeId(userId); //鏀朵欢浜�
info.setViewStatus(false);
- info.setJumpPath("b1-report-preparation");
+ info.setJumpPath(MenuJumpPathConstants.REPORT_PREPARATION);
informationNotificationService.addInformationNotification(info);
//绯荤粺鐢熸垚鎶ュ憡鍦板潃
String url = insReport.getUrl();
@@ -259,7 +272,7 @@
IfsInventoryQuantity ifsInventoryQuantity = ifsInventoryQuantityMapper.selectById(order.getIfsInventoryId());
String message = "";
- message += "鎶ュ憡缂栧埗瀹℃牳閫�鍥為�氱煡";
+ message += "鑰愪笣绯荤粺鎶ュ憡缂栧埗瀹℃牳閫�鍥為�氱煡";
message += "\n瀹℃牳浜�: " + checkUserName;
message += "\n濮旀墭缂栧彿: " + order.getEntrustCode();
message += "\n鏍峰搧鍚嶇О: " + insSample.getModel();
@@ -308,7 +321,7 @@
info.setSenderId(checkUserId); //鍙戦�佷汉
info.setConsigneeId(userId); //鏀朵欢浜�
info.setViewStatus(false);
- info.setJumpPath("b1-report-preparation");
+ info.setJumpPath(MenuJumpPathConstants.REPORT_PREPARATION);
informationNotificationService.addInformationNotification(info);
//绯荤粺鐢熸垚鎶ュ憡鍦板潃
String url = insReport.getUrl();
@@ -334,7 +347,7 @@
IfsInventoryQuantity ifsInventoryQuantity = ifsInventoryQuantityMapper.selectById(order.getIfsInventoryId());
String message = "";
- message += "鎶ュ憡缂栧埗鎵瑰噯閫氱煡";
+ message += "鑰愪笣绯荤粺鎶ュ憡缂栧埗鎵瑰噯閫氱煡";
message += "\n妫�楠屼汉: " + userName;
message += "\n澶嶆牳浜�: " + checkUserName;
message += "\n濮旀墭缂栧彿: " + order.getEntrustCode();
@@ -396,7 +409,7 @@
IfsInventoryQuantity ifsInventoryQuantity = ifsInventoryQuantityMapper.selectById(order.getIfsInventoryId());
String message = "";
- message += "鎶ュ憡缂栧埗鎵瑰噯閫�鍥為�氱煡";
+ message += "鑰愪笣绯荤粺鎶ュ憡缂栧埗鎵瑰噯閫�鍥為�氱煡";
message += "\n鎵瑰噯浜�: " + ratifyUserName;
message += "\n濮旀墭缂栧彿: " + order.getEntrustCode();
message += "\n鏍峰搧鍚嶇О: " + insSample.getModel();
@@ -537,6 +550,11 @@
}
// 鍘嬬缉涓存椂鏂囦欢澶�
zipFilePath = wordUrl + "/zip/output.zip";
+ // 鍒ゆ柇zip璺緞鏄惁瀛樺湪
+ File zipDir = new File(wordUrl + "/zip");
+ if(!zipDir.isDirectory()){
+ zipDir.mkdirs();
+ }
zipDirectory(tempFolderPath, zipFilePath);
// 娓呯悊涓存椂鏂囦欢澶�
@@ -676,7 +694,7 @@
FileOutputStream os = null;
try {
//鍑瘉 涓嶇劧鍒囨崲鍚庢湁姘村嵃
- InputStream is = Files.newInputStream(new File(licenseUrl).toPath());
+ InputStream is = new ClassPathResource("/lib/license.xml").getInputStream();
License license = new License();
license.setLicense(is);
if (!license.getIsLicensed()) {
@@ -980,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("瀵煎嚭澶辫触");
+ }
+
+
+ }
+
/**
* 鍏堜慨鏀归噰璐鍗曟壒娆″彿, 鍚庤繘琛岀Щ搴撴搷浣�
@@ -1115,7 +1173,7 @@
FileOutputStream os = null;
try {
//鍑瘉 涓嶇劧鍒囨崲鍚庢湁姘村嵃
- InputStream is = Files.newInputStream(new File(licenseUrl).toPath());
+ InputStream is = new ClassPathResource("/lib/license.xml").getInputStream();
License license = new License();
license.setLicense(is);
if (!license.getIsLicensed()) {
--
Gitblit v1.9.3