From 1868fe69485d0d904bba24f2672a52a626ccf9f2 Mon Sep 17 00:00:00 2001
From: fei <791364011@qq.com>
Date: 星期六, 20 十二月 2025 13:34:49 +0800
Subject: [PATCH] 修改了对应代码
---
ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/archiveAllExportController.java | 239 +++++++++++++++++++++++++++++++++++++++++------------------
1 files changed, 165 insertions(+), 74 deletions(-)
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/archiveAllExportController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/archiveAllExportController.java
index 33e0958..59a903c 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/archiveAllExportController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/archiveAllExportController.java
@@ -56,7 +56,7 @@
@Autowired
private IArchiveRecordsService iArchiveRecordsService;
-
+
// 鐢ㄤ簬鐢熸垚褰撳ぉ瀵煎嚭搴忓彿鐨勬柟娉�
private String generateDailySequence(String date) {
// 浣跨敤synchronized纭繚绾跨▼瀹夊叏
@@ -116,7 +116,7 @@
-
+
/**
* 灏咵xcel鎸囧畾瀛恠heet杞崲涓篜DF骞朵笅杞�
* @param response 鍝嶅簲瀵硅薄
@@ -129,22 +129,22 @@
// 璁剧疆鍝嶅簲澶�
response.setContentType(MediaType.APPLICATION_PDF_VALUE);
response.setHeader("Content-Disposition", "attachment; filename=sheet.pdf");
-
+
try {
// 浣跨敤Aspose.Cells璇诲彇Excel鏂囦欢
com.aspose.cells.Workbook wb = new com.aspose.cells.Workbook(excelPath);
-
+
// 鑾峰彇鎸囧畾鍚嶇О鐨勫瓙sheet
com.aspose.cells.Worksheet sheet = wb.getWorksheets().get(sheetName);
-
+
// 濡傛灉闇�瑕佽幏鍙栫储寮曟柟寮忕殑瀛恠heet锛屽彲浠ヤ娇鐢ㄤ互涓嬩唬鐮�
// com.aspose.cells.Worksheet sheet = wb.getWorksheets().get(0); // 鑾峰彇绗竴涓猻heet
-
+
// 鍒涘缓涓�涓柊鐨刉orkbook锛屽彧鍖呭惈鎸囧畾鐨剆heet
com.aspose.cells.Workbook newWorkbook = new com.aspose.cells.Workbook();
newWorkbook.getWorksheets().clear();
newWorkbook.getWorksheets().addCopy(sheet.getName());
-
+
// 灏咵xcel杞崲涓篜DF瀛楄妭鏁扮粍
java.io.ByteArrayOutputStream baos = new java.io.ByteArrayOutputStream();
newWorkbook.save(baos, com.aspose.cells.SaveFormat.PDF);
@@ -160,7 +160,7 @@
throw e;
}
}
-
+
/**
* 灏咵xcel鎵�鏈夊瓙sheet杞崲涓篜DF骞舵墦鍖呬笅杞�
* @param response 鍝嶅簲瀵硅薄
@@ -172,33 +172,33 @@
// 璁剧疆鍝嶅簲澶�
response.setContentType("application/zip");
response.setHeader("Content-Disposition", "attachment; filename=all_sheets.zip");
-
+
try (ServletOutputStream os = response.getOutputStream();
ZipOutputStream zos = new ZipOutputStream(os)) {
-
+
// 浣跨敤Aspose.Cells璇诲彇Excel鏂囦欢
com.aspose.cells.Workbook wb = new com.aspose.cells.Workbook(excelPath);
-
+
// 鑾峰彇鎵�鏈塻heet
com.aspose.cells.WorksheetCollection sheets = wb.getWorksheets();
-
+
// 閬嶅巻鎵�鏈塻heet
for (int i = 0; i < sheets.getCount(); i++) {
com.aspose.cells.Worksheet sheet = sheets.get(i);
String sheetName = sheet.getName();
-
+
// 鍒涘缓涓�涓柊鐨刉orkbook锛屽彧鍖呭惈褰撳墠sheet
com.aspose.cells.Workbook newWorkbook = new com.aspose.cells.Workbook();
newWorkbook.getWorksheets().clear();
newWorkbook.getWorksheets().addCopy(sheet.getName());
-
+
// 鍒涘缓涓存椂瀛楄妭杈撳嚭娴�
ByteArrayOutputStream baos = new ByteArrayOutputStream();
-
+
// 灏嗘柊鐨刉orkbook淇濆瓨涓篜DF鍒颁复鏃舵祦
newWorkbook.save(baos, com.aspose.cells.SaveFormat.PDF);
byte[] pdfBytes = baos.toByteArray();
-
+
// 鑾峰彇PDF鎬婚〉鏁�
// 灏哖DF娣诲姞鍒癦IP鏂囦欢
@@ -206,10 +206,10 @@
zos.putNextEntry(entry);
zos.write(pdfBytes);
zos.closeEntry();
-
+
System.out.println("Excel瀛恠heet \"" + sheetName + "\" 杞崲涓篜DF鎴愬姛");
}
-
+
System.out.println("Excel鎵�鏈夊瓙sheet杞崲涓篜DF骞舵墦鍖呮垚鍔�");
} catch (Exception e) {
e.printStackTrace();
@@ -266,47 +266,47 @@
}
String inpath= "妗堝嵎灏侀潰.xls";
long old = System.currentTimeMillis();
-
+
// 璁剧疆鍝嶅簲澶�
response.setContentType("application/pdf");
response.setHeader("Content-Disposition", "attachment; filename=import_template.pdf");
-
+
try {
// 璇诲彇Excel鏂囦欢
com.aspose.cells.Workbook wb = new com.aspose.cells.Workbook(inpath);
-
+
// 鑾峰彇闇�瑕佸鍑虹殑sheet锛堢储寮曚粠0寮�濮嬶級
int targetSheetIndex = 1;
com.aspose.cells.Worksheet targetSheet = wb.getWorksheets().get(targetSheetIndex);
targetSheet.autoFitRows(true);
System.out.println("褰撳墠sheet鍚嶇О锛�" + targetSheet.getName());
System.out.println("褰撳墠sheet绱㈠紩锛�" + targetSheet.getIndex());
-
+
// 闅愯棌鎵�鏈夊叾浠栧伐浣滆〃
for (int i = 0; i < wb.getWorksheets().getCount(); i++) {
if (i != targetSheetIndex) {
wb.getWorksheets().get(i).setVisible(false);
}
}
-
+
// 璁剧疆娲诲姩宸ヤ綔琛ㄤ负鐩爣宸ヤ綔琛�
wb.getWorksheets().setActiveSheetIndex(targetSheetIndex);
-
+
// 鍒涘缓PDF淇濆瓨閫夐」
com.aspose.cells.PdfSaveOptions pdfSaveOptions = new com.aspose.cells.PdfSaveOptions();
-
+
// 璁剧疆椤甸潰绫诲瀷涓篈4
-
+
// 纭繚鎵�鏈夊垪鍦ㄤ竴椤典笂
pdfSaveOptions.setAllColumnsInOnePagePerSheet(true);
-
+
// 璁剧疆鎵撳嵃椤甸潰绫诲瀷涓洪粯璁�
pdfSaveOptions.setCompliance(PdfCompliance.PDF_A_1_B); // 璁剧疆 PDF 鍏煎鎬ф爣鍑�
// 鐩存帴灏嗗師濮嬪伐浣滅翱淇濆瓨涓篜DF锛堝彧鍖呭惈鍙鐨勫伐浣滆〃锛�
wb.save(response.getOutputStream(), pdfSaveOptions);
-
+
long now = System.currentTimeMillis();
System.out.println("pdf杞崲鎴愬姛锛屽叡鑰楁椂锛�" + ((now - old) / 1000.0) + "绉�");
} catch (Exception e) {
@@ -314,7 +314,7 @@
// 鎵撳嵃璇︾粏閿欒淇℃伅
System.err.println("杞崲澶辫触锛�" + e.getMessage());
e.printStackTrace(System.err);
-
+
// 杩斿洖閿欒淇℃伅
response.reset();
response.setContentType("text/plain;charset=utf-8");
@@ -416,7 +416,7 @@
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd");
String formattedDate = date.format(formatter);
System.out.println(formattedDate);
-
+
// 鐢熸垚褰撳ぉ瀵煎嚭搴忓彿
String sequence = generateDailySequence(formattedDate);
String fna = "GH" + formattedDate + sequence + "/";
@@ -528,24 +528,107 @@
}
}
//09-澶囪�冭〃.pdf
+
+
+
+
+// pdfGenerateService.generateFileStyleInfo(pdf09Path, aIV.getRecordId(), ids[i]);
+// // 2. 鍘嬬缉PDF鍒癦IP鏂囦欢
+// // 娣诲姞PDF鏂囦欢鍒癦IP
+// ZipEntry zipEntry4 = new ZipEntry(fna + adir +"/"+pdf09Path);
+// zos.putNextEntry(zipEntry4);
+//
+// // 璇诲彇PDF鏂囦欢鍐呭骞跺啓鍏IP
+// try (FileInputStream fis = new FileInputStream(pdf09Path)) {
+// byte[] buffer = new byte[1024];
+// int len;
+// while ((len = fis.read(buffer)) > 0) {
+// zos.write(buffer, 0, len);
+// }
+// }
+
+
+ //09-澶囪�冭〃.pdf
String pdf09Path = "09-澶囪�冭〃.pdf";
+ // pdfGenerateService.generateFileStyleInfo(pdf09Path, aIV.getRecordId(), id);
+ //鎷垮埌鐩稿叧鏁版嵁
+ List<DocumentMaterialFileStyle> dmfs = documentMaterialsService.findFileStyleInfo(Math.toIntExact(ids[i]));
+
+ LocalDate currentDate = LocalDate.now();
+ String cdt = currentDate.getYear()+"骞�"+currentDate.getMonthValue()+"鏈�"+currentDate.getDayOfMonth()+"鏃�";
- pdfGenerateService.generateFileStyleInfo(pdf09Path, aIV.getRecordId(), ids[i]);
- // 2. 鍘嬬缉PDF鍒癦IP鏂囦欢
- // 娣诲姞PDF鏂囦欢鍒癦IP
- ZipEntry zipEntry4 = new ZipEntry(fna + adir +"/"+pdf09Path);
- zos.putNextEntry(zipEntry4);
-
- // 璇诲彇PDF鏂囦欢鍐呭骞跺啓鍏IP
- try (FileInputStream fis = new FileInputStream(pdf09Path)) {
- byte[] buffer = new byte[1024];
- int len;
- while ((len = fis.read(buffer)) > 0) {
- zos.write(buffer, 0, len);
+ HashMap<String, Object> hs = new HashMap<String, Object>();
+ int allPages = 0;
+ int texPages = 0;
+ int picPages = 0;
+ int patPages = 0;
+ if(!dmfs.isEmpty())
+ {
+ for(DocumentMaterialFileStyle documentMaterialFileStyle:dmfs)
+ {
+ if(documentMaterialFileStyle.getFileStyle().equals("鏂囧瓧鏉愭枡"))
+ texPages = documentMaterialFileStyle.getCnt();
+ if(documentMaterialFileStyle.getFileStyle().equals("鍥炬牱鏉愭枡"))
+ patPages = documentMaterialFileStyle.getCnt();
+ if(documentMaterialFileStyle.getFileStyle().equals("鐓х墖鏉愭枡"))
+ picPages = documentMaterialFileStyle.getCnt();
}
}
+ allPages = texPages + picPages + patPages;
+ hs.put("pages", allPages);
+ hs.put("patPages", patPages);
+ hs.put("picPages", picPages);
+ hs.put("texPages", texPages);
+ hs.put("volumeNumber", aIV.getRecordId());
+ hs.put("time", cdt);
+
+ if (!getLicense()) {
+ System.out.println("娌℃湁鐩稿叧璇佷功锛�");
+ }
+
+
+ try {
+
+ // 鑾峰彇 Word 妯℃澘鎵�鍦ㄨ矾寰�
+ String filepath = "09-澶囪�冭〃.docx";
+ // 閫氳繃 XWPFTemplate 缂栬瘧鏂囦欢骞舵覆鏌撴暟鎹埌妯℃澘涓�
+ XWPFTemplate template = XWPFTemplate.compile(filepath).render(hs
+ );
+
+ String renderedDocPath = "rendered_output.docx";
+ File renderedFile = new File(renderedDocPath);
+ try {
+ // 灏嗗畬鎴愭暟鎹覆鏌撶殑鏂囨。鍐欏嚭
+ template.writeAndClose(new FileOutputStream(renderedFile));
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ com.aspose.words.Document doc = new com.aspose.words.Document("rendered_output.docx");
+ // 鍒涘缓涓存椂瀛楄妭杈撳嚭娴�
+ ByteArrayOutputStream baobk = new ByteArrayOutputStream();
+ // 灏哤ord鏂囨。杞崲涓篜DF瀛楄妭鏁扮粍
+ doc.save(baobk, com.aspose.words.SaveFormat.PDF);//全锟斤拷支锟斤拷DOC, DOCX, OOXML, RTF HTML, OpenDocument, PDF, EPUB, XPS, SWF 锟洁互转锟斤拷
+ ZipEntry zipEntry4 = new ZipEntry(fna + adir +"/"+pdf09Path);
+ zos.putNextEntry(zipEntry4);
+ baobk.writeTo(zos);
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+
+
+ // com.aspose.words.Document doc = new com.aspose.words.Document("09-澶囪�冭〃.docx");
+
+
+
+
+
+
+
//excel 鍗峰唴灏侀潰瀵煎嚭zip
ZipEntry entryiv = new ZipEntry(fna + adir +"/"+"妗堝嵎灏侀潰" + ".xls");
@@ -867,23 +950,30 @@
String cdt = currentDate.getYear()+"骞�"+currentDate.getMonthValue()+"鏈�"+currentDate.getDayOfMonth()+"鏃�";
HashMap<String, Object> hs = new HashMap<String, Object>();
- if(dmfs.isEmpty())
+ int allPages = 0;
+ int texPages = 0;
+ int picPages = 0;
+ int patPages = 0;
+ if(!dmfs.isEmpty())
{
- //鍏ㄩ儴鏁版嵁鍊间负0
- hs.put("pages", 0);
- hs.put("volumeNumber", aIV.getRecordId());
- hs.put("time", cdt);
-
+ for(DocumentMaterialFileStyle documentMaterialFileStyle:dmfs)
+ {
+ if(documentMaterialFileStyle.getFileStyle().equals("鏂囧瓧鏉愭枡"))
+ texPages = documentMaterialFileStyle.getCnt();
+ if(documentMaterialFileStyle.getFileStyle().equals("鍥炬牱鏉愭枡"))
+ patPages = documentMaterialFileStyle.getCnt();
+ if(documentMaterialFileStyle.getFileStyle().equals("鐓х墖鏉愭枡"))
+ picPages = documentMaterialFileStyle.getCnt();
+ }
}
- else {
- int pcc = dmfs.size()<=1?0: dmfs.get(1).getCnt();
- int oth = dmfs.size()<=2?0: dmfs.get(2).getCnt();
- int allCnt = dmfs.get(0).getCnt() + pcc + oth;
- hs.put("pages", allCnt);
- hs.put("volumeNumber", aIV.getRecordId());
- hs.put("time", cdt);
+ allPages = texPages + picPages + patPages;
+ hs.put("pages", allPages);
+ hs.put("patPages", patPages);
+ hs.put("picPages", picPages);
+ hs.put("texPages", texPages);
+ hs.put("volumeNumber", aIV.getRecordId());
+ hs.put("time", cdt);
- }
if (!getLicense()) {
System.out.println("娌℃湁鐩稿叧璇佷功锛�");
}
@@ -1169,25 +1259,26 @@
res = false;
}
//寰楀埌鏂囦欢鍚峟rontCompWithZore(4, dc.get)+
- String fname = frontCompWithZore(4, dc.getFileNumber().intValue())+"-"+dc.getTitle()+"-"+frontCompWithZore(4,dc.getPageNumber().intValue())+"."
- +dc.getUrl().split("\\.")[1];
- if(dc.getStage().equals("01-鐢宠鏉愭枡"))
- zos.putNextEntry(new ZipEntry("01-鐢宠鏉愭枡/"+fname));
- else if(dc.getStage().equals("02-鍔炴杩囩▼鏉愭枡"))
- zos.putNextEntry(new ZipEntry("02-鍔炴杩囩▼鏉愭枡/"+fname));
- else if(dc.getStage().equals("03-缁撹鎬ф枃浠�"))
- zos.putNextEntry(new ZipEntry("03-缁撹鎬ф枃浠�/"+fname));
- else if(dc.getStage().equals("04-鍏朵粬鏉愭枡")) {
- zos.putNextEntry(new ZipEntry("04-鍏朵粬鏉愭枡/" + fname));
+ String fname = "";
+ if(dc.getFileNumber()!=null&&dc.getPageNumber()!=null) {
+ fname = frontCompWithZore(4, dc.getFileNumber().intValue()) + "-" + dc.getTitle() + "-" + frontCompWithZore(4, dc.getPageNumber().intValue()) + "."
+ + dc.getUrl().split("\\.")[1];
+ if (dc.getStage().equals("01-鐢宠鏉愭枡"))
+ zos.putNextEntry(new ZipEntry("01-鐢宠鏉愭枡/" + fname));
+ else if (dc.getStage().equals("02-鍔炴杩囩▼鏉愭枡"))
+ zos.putNextEntry(new ZipEntry("02-鍔炴杩囩▼鏉愭枡/" + fname));
+ else if (dc.getStage().equals("03-缁撹鎬ф枃浠�"))
+ zos.putNextEntry(new ZipEntry("03-缁撹鎬ф枃浠�/" + fname));
+ else if (dc.getStage().equals("04-鍏朵粬鏉愭枡")) {
+ zos.putNextEntry(new ZipEntry("04-鍏朵粬鏉愭枡/" + fname));
+ } else if (dc.getStage().equals("05-妗f鍙樻洿鏉愭枡"))
+ zos.putNextEntry(new ZipEntry("05-妗f鍙樻洿鏉愭枡/" + fname));
+ else if (dc.getStage().equals("06-涓氬姟鏁版嵁"))
+ zos.putNextEntry(new ZipEntry("06-涓氬姟鏁版嵁/" + fname));
+ else
+ zos.putNextEntry(new ZipEntry(fname));
+
}
- else if(dc.getStage().equals("05-妗f鍙樻洿鏉愭枡"))
- zos.putNextEntry(new ZipEntry("05-妗f鍙樻洿鏉愭枡/"+fname));
- else if(dc.getStage().equals("06-涓氬姟鏁版嵁"))
- zos.putNextEntry(new ZipEntry("06-涓氬姟鏁版嵁/"+fname));
- else
- zos.putNextEntry(new ZipEntry(fname));
-
-
int len;
FileInputStream in = new FileInputStream(tempFile);
--
Gitblit v1.9.1