From 2a60c91efc7885aad16cae41f7a087e001480daa Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期一, 23 十二月 2024 14:50:26 +0800
Subject: [PATCH] 更新至(22dcfc)
---
cnas-process/src/main/java/com/yuanchu/mom/service/impl/ProcessMethodVerifyServiceImpl.java | 2
cnas-process/src/main/resources/static/excel/check-records.xlsx | 0
cnas-process/src/main/java/com/yuanchu/mom/service/impl/QualityMonitorServiceImpl.java | 4
cnas-process/src/main/java/com/yuanchu/mom/controller/QualityMonitorController.java | 12 ++--
cnas-process/src/main/java/com/yuanchu/mom/service/impl/ProcessMethodSearchNewServiceImpl.java | 132 +++++++++++++++++++++----------------------
cnas-process/src/main/resources/static/method-verify.docx | 0
6 files changed, 73 insertions(+), 77 deletions(-)
diff --git a/cnas-process/src/main/java/com/yuanchu/mom/controller/QualityMonitorController.java b/cnas-process/src/main/java/com/yuanchu/mom/controller/QualityMonitorController.java
index 0e331e6..3322b76 100644
--- a/cnas-process/src/main/java/com/yuanchu/mom/controller/QualityMonitorController.java
+++ b/cnas-process/src/main/java/com/yuanchu/mom/controller/QualityMonitorController.java
@@ -200,13 +200,13 @@
/**
* 瀵煎嚭鐩戞帶璁″垝璇︽儏瀹炴柦淇℃伅
- * @param detailsRatifyId 鐩戞帶璁″垝璇︽儏瀹炴柦id
+ * @param qualityMonitorDetailsId 鐩戞帶璁″垝璇︽儏瀹炴柦id
*/
@ValueAuth
@ApiOperation(value = "瀵煎嚭鐩戞帶璁″垝璇︽儏瀹炴柦淇℃伅")
@GetMapping("/exportQualityMonitorRatify")
- public void exportQualityMonitorRatify(Integer detailsRatifyId, HttpServletResponse response){
- qualityMonitorService.exportQualityMonitorRatify(detailsRatifyId, response);
+ public void exportQualityMonitorRatify(Integer qualityMonitorDetailsId, HttpServletResponse response){
+ qualityMonitorService.exportQualityMonitorRatify(qualityMonitorDetailsId, response);
}
/************************************************************ 璇勪环 *******************************************************************/
@@ -235,13 +235,13 @@
/**
* 瀵煎嚭鐩戞帶璇勪环
- * @param detailsEvaluateId 鐩戞帶璇勪环id
+ * @param qualityMonitorDetailsId 鐩戞帶璇勪环id
*/
@ValueAuth
@ApiOperation(value = "瀵煎嚭鐩戞帶璇勪环")
@GetMapping("/exportQualityMonitorEvaluate")
- public void exportQualityMonitorEvaluate(Integer detailsEvaluateId, HttpServletResponse response){
- qualityMonitorService.exportQualityMonitorEvaluate(detailsEvaluateId, response);
+ public void exportQualityMonitorEvaluate(Integer qualityMonitorDetailsId, HttpServletResponse response){
+ qualityMonitorService.exportQualityMonitorEvaluate(qualityMonitorDetailsId, response);
}
/**
diff --git a/cnas-process/src/main/java/com/yuanchu/mom/service/impl/ProcessMethodSearchNewServiceImpl.java b/cnas-process/src/main/java/com/yuanchu/mom/service/impl/ProcessMethodSearchNewServiceImpl.java
index 1ce642a..7c9ca22 100644
--- a/cnas-process/src/main/java/com/yuanchu/mom/service/impl/ProcessMethodSearchNewServiceImpl.java
+++ b/cnas-process/src/main/java/com/yuanchu/mom/service/impl/ProcessMethodSearchNewServiceImpl.java
@@ -1,15 +1,12 @@
package com.yuanchu.mom.service.impl;
-
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
-import com.alibaba.excel.metadata.data.ImageData;
-import com.alibaba.excel.metadata.data.WriteCellData;
import com.alibaba.excel.util.FileUtils;
+import com.alibaba.excel.util.ListUtils;
import com.alibaba.excel.write.metadata.WriteSheet;
-import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -22,14 +19,16 @@
import com.yuanchu.mom.utils.QueryWrappers;
import com.yuanchu.mom.utils.UserUtils;
import org.springframework.beans.BeanUtils;
+import org.springframework.core.io.ClassPathResource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
-import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
@@ -46,6 +45,7 @@
/**
* 鏂板鏍囧噯鏌ユ柊
+ *
* @param processMethodSearchNewList
* @return
*/
@@ -150,76 +150,72 @@
index++;
}
+ // 鏌ヨ绛惧悕鍦板潃
String writeUserUrl = UserUtils.getUserSignatureUrl(Integer.valueOf(writeUserId));
String ratifyUserUrl = UserUtils.getUserSignatureUrl(Integer.valueOf(ratifyUserId));
- response.setContentType("application/vnd.ms-excel");
- response.setCharacterEncoding("UTF-8");
+ //鍒涘缓ExcelWriter 鍙互鑷姩鍏虫祦浣嗚繕鏄墜鍔ㄥ叧涓�娆�
+ ExcelWriter excelWriter = null;
+
try {
- // 杩欓噷URLEncoder.encode鍙互闃叉涓枃涔辩爜 褰撶劧鍜宔asyexcel娌℃湁鍏崇郴
- String fileName = URLEncoder.encode("鍘熸潗鏂欐娴嬩俊鎭鍑�", "UTF-8");
- response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
+ // outputStream锛氳瀵煎嚭鐨勬枃浠剁殑杈撳嚭娴�
+ OutputStream outputStream = response.getOutputStream();
+ // 鑾峰彇妯$増鏂囦欢
+ ClassPathResource classPathResource = new ClassPathResource("/static/excel/check-records.xlsx");
+ // 浣跨敤妯$増鏂囦欢鐨勪袱绉嶆柟寮忥細
+ // 1銆佹枃浠惰矾寰勶細.withTemplate(templateFileName)
+ // 2銆佽緭鍏ユ祦锛�.withTemplate(inputStream)
+ // String templateFileName = classPathResource.getFile().getPath();
+ InputStream inputStream = classPathResource.getInputStream();
+ // 鍒涘缓ExcelWriter
+ excelWriter = EasyExcel.write(outputStream).withTemplate(inputStream).build();
+ // 鑾峰彇绗竴涓猻heet椤�
+ WriteSheet writeSheet = EasyExcel.writerSheet(0, "鏍囧噯鏌ユ柊瀵煎嚭").build();
+ //excelWriter.fill() 杩欏湴鏂瑰氨鏄~鍏呭睘鎬с��
+// excelWriter.fill(methodSearchNews, fillConfig, writeSheet);
+ excelWriter.fill(methodSearchNews, writeSheet);
- // 鍒涘缓 ExcelWriter
- ServletOutputStream outputStream = response.getOutputStream();
- ExcelWriter excelWriter = EasyExcel.write(outputStream).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()).build();
+ // 杩欓噷easy excel妯℃澘瀵煎嚭闂 浼氬垹闄ゅ悗闈㈠唴瀹瑰啀杩涜杩涜濉厖
+ // 鎵�浠ist 鍚庨潰杩樻湁鏁版嵁 鎯冲姙娉曟墜鍔ㄥ啓鍏�
+ // 鎵嬪姩鍒涘缓涓�涓猯ist 瀛樻斁鏁版嵁 鐒跺悗鍐嶈繘琛屽~鍏�
+ // 杩欓噷List<Object>鍙互鐢ㄥ璞′唬鏇� 鍋锋噿鐢╨ist
+ List<List<Object>> totalListList = ListUtils.newArrayList();
+ List<Object> totalList = ListUtils.newArrayList();
+ totalListList.add(totalList);
+ // 绗竴鍒�
+ totalList.add("鏌ユ柊浜猴細");
+ // 绗簩鍒� 璁剧疆绛惧悕
+ totalList.add(FileUtils.readFileToByteArray(new File(writeUserUrl)));
+ // 绗笁鍒�
+ totalList.add("鏃ユ湡锛�");
+ // 绗簲鍒�
+ totalList.add("2024-12-23"); // 鏃ユ湡鍐欐
+ // 绗叚鍒�
+ totalList.add("瀹℃牳锛�");
+ // 绗竷鍒�
+ totalList.add(FileUtils.readFileToByteArray(new File(ratifyUserUrl)));
+ // 绗叓鍒�
+ totalList.add("鏃ユ湡锛�");
+ // 绗節鍒�
+ totalList.add("2024-12-23"); // 鏃ユ湡鍐欐
+ // 杩欓噷鏄痺rite 鍒拰fill 鎼為敊浜�
+ excelWriter.write(totalListList, writeSheet);
- // 鑾峰彇 sheet0 瀵硅薄
- WriteSheet mainSheet = EasyExcel.writerSheet(0, "鏍囧噯鏌ユ柊瀵煎嚭").head(ProcessMethodSearchNewDto.class).build();
+ // 璁剧疆杈撳嚭娴佹牸寮忎互鍙婃枃浠跺悕锛�
+ response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
+ response.setCharacterEncoding("utf-8");
+ String fileName = URLEncoder.encode(
+ "鍘熸潗鏂欐娴嬩俊鎭鍑�", "UTF-8");
+ response.setHeader("Content-disposition",
+ "attachment;filename=" + fileName + ".xlsx");
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ } finally {
+ // 鍗冧竾鍒繕璁癱lose鍏抽棴娴�
+ if (excelWriter != null) {
+ excelWriter.close();
- // 鍥剧墖瀵硅薄
- ImageData imageData = new ImageData();
- ImageData imageData1 = new ImageData();
- // 璁剧疆鍥剧墖鏁版嵁
- imageData.setImage(FileUtils.readFileToByteArray(new File(writeUserUrl))); // 璁剧疆缂栧埗浜哄浘鐗囩殑鏂囦欢璺緞
- imageData1.setImage(FileUtils.readFileToByteArray(new File(ratifyUserUrl))); // 璁剧疆鎵瑰噯浜哄浘鐗囩殑鏂囦欢璺緞
-
- // 璁剧疆缂栧埗浜哄浘鐗囦綅缃�
- imageData.setRelativeFirstRowIndex(1);
- imageData.setRelativeFirstColumnIndex(2);
- imageData.setRelativeLastRowIndex(1);
- imageData.setRelativeLastColumnIndex(2);
- // 璁剧疆鎵瑰噯浜哄浘鐗囦綅缃�
- imageData1.setRelativeFirstRowIndex(1);
- imageData1.setRelativeFirstColumnIndex(4);
- imageData1.setRelativeLastRowIndex(1);
- imageData1.setRelativeLastColumnIndex(4);
-
-
- List<ImageData> list = new ArrayList<>();
- // 鏀惧叆鍒楄〃涓�
- list.add(imageData);
- list.add(imageData1);
-
-// // 璁剧疆棰濆鐨勬枃瀛楋紙鍙�夛級
-// WriteCellData<Void> writeCellData = new WriteCellData<>();
-//// imageDemoData.setWriteCellDataFile(writeCellData);
-// // 杩欓噷鍙互璁剧疆涓� EMPTY 鍒欎唬琛ㄤ笉闇�瑕佸叾浠栨暟鎹簡
-// writeCellData.setType(CellDataTypeEnum.STRING);
-// writeCellData.setStringValue("棰濆鐨勬斁涓�浜涙枃瀛�");
-
-
- // 灏嗗浘鐗囨暟鎹缃埌鍗曞厓鏍间腑
- WriteCellData<ImageData> writeCellData = new WriteCellData<>();
- writeCellData.setImageDataList(list);
-
- // 鍒涘缓鏁版嵁鍒楄〃
- List<List<WriteCellData>> dataList = new ArrayList<>();
- List<WriteCellData> rowData = new ArrayList<>();
- rowData.add(writeCellData); // 鎶婂浘鐗囨斁鍏ヤ竴琛�
- dataList.add(rowData);
-
-
- // 鍚� sheet0 鍐欏叆鏁版嵁锛堜紶鍏ョ┖list杩欐牱鍙鍑鸿〃澶达級
- excelWriter.write(methodSearchNews, mainSheet);
- // 鍐欏叆 鍥剧墖
- excelWriter.write(dataList,mainSheet);
-
- //鍏抽棴娴�
- excelWriter.finish();
-
- } catch (IOException e) {
- throw new RuntimeException("瀵煎嚭澶辫触");
+ }
}
}
diff --git a/cnas-process/src/main/java/com/yuanchu/mom/service/impl/ProcessMethodVerifyServiceImpl.java b/cnas-process/src/main/java/com/yuanchu/mom/service/impl/ProcessMethodVerifyServiceImpl.java
index c3627ea..d7ace3d 100644
--- a/cnas-process/src/main/java/com/yuanchu/mom/service/impl/ProcessMethodVerifyServiceImpl.java
+++ b/cnas-process/src/main/java/com/yuanchu/mom/service/impl/ProcessMethodVerifyServiceImpl.java
@@ -357,7 +357,7 @@
// 锛堝叾浠栵級鏄惁婊¤冻
processMethodVerifyExportWordDto.setOtherIsSatisfiedStr(processMethodVerify.getOtherIsSatisfied() == 1 ? "鈭�" : "脳");
// 纭鏃ユ湡
- processMethodVerifyExportWordDto.setConfirmDateStr(processMethodVerify.getConfirmDate().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
+ processMethodVerifyExportWordDto.setConfirmDateStr(processMethodVerify.getConfirmDate() != null ? processMethodVerify.getConfirmDate().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")): null);
return processMethodVerifyExportWordDto;
}
diff --git a/cnas-process/src/main/java/com/yuanchu/mom/service/impl/QualityMonitorServiceImpl.java b/cnas-process/src/main/java/com/yuanchu/mom/service/impl/QualityMonitorServiceImpl.java
index f4c89f5..f7e0def 100644
--- a/cnas-process/src/main/java/com/yuanchu/mom/service/impl/QualityMonitorServiceImpl.java
+++ b/cnas-process/src/main/java/com/yuanchu/mom/service/impl/QualityMonitorServiceImpl.java
@@ -367,7 +367,7 @@
*/
@Override
public void exportQualityMonitorRatify(Integer detailsRatifyId, HttpServletResponse response) {
- QualityMonitorDetailsRatify qualityMonitorDetailsRatify = qualityMonitorDetailsRatifyMapper.selectById(detailsRatifyId);
+ QualityMonitorDetailsRatify qualityMonitorDetailsRatify = qualityMonitorDetailsRatifyMapper.selectOne(Wrappers.<QualityMonitorDetailsRatify>lambdaQuery().eq(QualityMonitorDetailsRatify::getQualityMonitorDetailsId, detailsRatifyId));
// 鑾峰彇璺緞
InputStream inputStream = this.getClass().getResourceAsStream("/static/quality-monitor-details-ratify.docx");
@@ -502,7 +502,7 @@
@Override
public void exportQualityMonitorEvaluate(Integer detailsEvaluateId, HttpServletResponse response) {
// 鏌ヨ鐩戞帶璇勪环淇℃伅
- QualityMonitorDetailsEvaluate qualityMonitorDetailsEvaluate = qualityMonitorDetailsEvaluateMapper.selectById(detailsEvaluateId);
+ QualityMonitorDetailsEvaluate qualityMonitorDetailsEvaluate = qualityMonitorDetailsEvaluateMapper.selectOne(Wrappers.<QualityMonitorDetailsEvaluate>lambdaQuery().eq(QualityMonitorDetailsEvaluate::getQualityMonitorDetailsId,detailsEvaluateId));
// 娓叉煋word妯℃澘瀵硅薄
QualityMonitorDetailsEvaluateDto qualityMonitorDetailsEvaluateDto = new QualityMonitorDetailsEvaluateDto();
BeanUtils.copyProperties(qualityMonitorDetailsEvaluate, qualityMonitorDetailsEvaluateDto);
diff --git a/cnas-process/src/main/resources/static/excel/check-records.xlsx b/cnas-process/src/main/resources/static/excel/check-records.xlsx
new file mode 100644
index 0000000..5f9b346
--- /dev/null
+++ b/cnas-process/src/main/resources/static/excel/check-records.xlsx
Binary files differ
diff --git a/cnas-process/src/main/resources/static/method-verify.docx b/cnas-process/src/main/resources/static/method-verify.docx
index 0368726..6f83d94 100644
--- a/cnas-process/src/main/resources/static/method-verify.docx
+++ b/cnas-process/src/main/resources/static/method-verify.docx
Binary files differ
--
Gitblit v1.9.3