From fc3ccbfc30b83e432c71c508ef2b9c1052816ed2 Mon Sep 17 00:00:00 2001
From: fei <791364011@qq.com>
Date: 星期日, 11 一月 2026 21:56:34 +0800
Subject: [PATCH] 修改了对应代码

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/archiveAllExportController.java |  691 +++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 590 insertions(+), 101 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 59a903c..ad3a559 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
@@ -1,33 +1,54 @@
 package com.ruoyi.web.controller.archive;
 
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUtil;
 import com.aspose.cells.PdfCompliance;
 import com.aspose.words.License;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.deepoove.poi.XWPFTemplate;
 import com.itextpdf.text.*;
+import com.itextpdf.text.Image;
 import com.itextpdf.text.pdf.PdfPCell;
 import com.ruoyi.common.config.RuoYiConfig;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.utils.bean.BeanUtils;
+import com.ruoyi.common.utils.file.FileUploadUtils;
 import com.ruoyi.common.utils.file.FileUtils;
 import com.ruoyi.common.utils.poi.*;
+import com.ruoyi.domain.ArchiveProjectName;
 import com.ruoyi.domain.ArchiveRecords;
 import com.ruoyi.domain.DocumentMaterials;
 import com.ruoyi.domain.vo.*;
+import com.ruoyi.service.IArchiveProjectNameService;
 import com.ruoyi.service.IArchiveRecordsService;
 import com.ruoyi.service.IDocumentMaterialsService;
 import com.ruoyi.service.impl.BarcodeService;
 import com.ruoyi.service.impl.pdfGenerateService;
 import com.sun.xml.internal.messaging.saaj.util.ByteOutputStream;
+import org.apache.commons.imaging.ImageInfo;
+import org.apache.commons.imaging.Imaging;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
 import org.springframework.core.io.support.ResourcePatternResolver;
 import org.springframework.http.MediaType;
+import org.springframework.mock.web.MockMultipartFile;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
 
+import javax.imageio.ImageIO;
 import javax.servlet.ServletOutputStream;
 import javax.servlet.http.HttpServletResponse;
+import java.awt.*;
+import java.awt.Font;
+import java.awt.image.BufferedImage;
 import java.io.*;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
 import java.text.SimpleDateFormat;
 import java.time.LocalDate;
 import java.time.format.DateTimeFormatter;
@@ -35,6 +56,7 @@
 import java.util.List;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.stream.Collectors;
+import java.util.stream.Stream;
 import java.util.zip.ZipEntry;
 import java.util.zip.ZipOutputStream;
 
@@ -53,7 +75,8 @@
     private BarcodeService barcodeService;
     @Autowired
     private IDocumentMaterialsService documentMaterialsService;
-
+    @Autowired
+    private IArchiveProjectNameService iArchiveProjectNameService;
     @Autowired
     private IArchiveRecordsService iArchiveRecordsService;
 
@@ -328,9 +351,33 @@
         List<ArchiveInfoVo> arsi = new ArrayList<>();
         arsi.add(aIV);
 
+
+
+        String date = "";
+        if(arsi.get(0).getPreparationDate()!=null) {
+            System.out.println(arsi.get(0).getPreparationDate().toString() + "]]]]]]]]");
+
+            System.out.println(DateUtil.parseCST(arsi.get(0).getPreparationDate().toString()));
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+            DateTime dat = DateUtil.parseCST(arsi.get(0).getPreparationDate().toString());
+            date = new SimpleDateFormat("yyyy-MM-dd").format(dat);
+        }
+
+
+        String tmpSec = "妗e彿:" +
+                arsi.get(0).getRecordId() +
+                ";妗f棣嗭紙瀹わ級鍙�:" + arsi.get(0).getArchiveRoomNumber()+
+                ";缂╁井鍙�:" + arsi.get(0).getMicrofilmNumber()+
+                ";鍙戞枃鍙�:" + arsi.get(0).getInquiryNumber()+
+                ";妗堝嵎棰樺悕:" + arsi.get(0).getCaseTitle() +
+                ";缂栧埗鏃ユ湡:" +  date +
+                ";缂栧埗鍗曚綅:" + arsi.get(0).getPreparationUnit() +
+                ";淇濈鏈熼檺:" + arsi.get(0).getRetentionPeriod() +
+                ";瀵嗙骇:" + arsi.get(0).getSecurityClassification();
+
         String recordId = aIV.getRecordId();
         byte[] imgr = barcodeService.generateBarcodeImage(recordId);
-        byte[] sedcode = pdfGenerateService.createQrCodeN(recordId, 30, 30);
+        byte[] sedcode = pdfGenerateService.createQrCodeN(tmpSec, 100, 100);
         ExcelExp e1 = new ExcelExp("妗堝嵎灏侀潰鏁版嵁",arsi, ArchiveInfoVo.class);
         ExcelExp e2 = new ExcelExp("妗堝嵎灏侀潰",  arsi, recordId, imgr,sedcode, ArchiveInfoVo.class);
         List<ExcelExp> mysheet = new ArrayList<ExcelExp>();
@@ -445,7 +492,7 @@
 
 
 
-            ExcelExp e6 = new ExcelExp("绉讳氦娓呭崟",lrs, ArchiveRecordSmall.class);
+            ExcelExp e6 = new ExcelExp("绉讳氦娓呭崟","GH" + formattedDate + sequence,  lrs, ArchiveRecordSmall.class);
           //  ExcelExp e4 = new ExcelExp("妗堝嵎灏侀潰",  arsi, recordId1, imgr1,sedcode, ArchiveInfoVo.class);
             List<ExcelExp> mysheet6 = new ArrayList<ExcelExp>();
             mysheet6.add(e6);
@@ -464,20 +511,26 @@
 
 
 
-            for(int i = 0; i < ids.length; i++) {
+            System.out.println(ids.length);
+            System.out.println("------------------");
 
+            for(int i = 0; i < ids.length; i++) {
+                System.out.println(ids[i]);
+                ArchiveRecords archiveRecords1 = iArchiveRecordsService.selectArchiveRecordsById(ids[i]);
                 // 鑾峰彇鏂囦欢鐨勪繚瀛樹綅缃�,璇诲彇鏁版嵁搴�,
                 DocumentMaterials documentMaterials = new DocumentMaterials();
                 documentMaterials.setRecordId(ids[i]);
                 List<DocumentMaterialsVoLarge> docs = documentMaterialsService.selectDocumentMaterialsAllByRecordId(ids[i]);
-                System.out.println(docs.size()+"----009");
+                System.out.println(docs.size()+"----7777");
 
 
                 //.selectDocumentMaterialsList(documentMaterials);
-                List<DocumentMaterialsVo> dsvs = documentMaterialsService.findArchMInfo(ids[i].toString());
+                List<DocumentMaterialsVo> dsvs = documentMaterialsService.findArchMInfo(ids[i].toString(), archiveRecords1.getPageCount());
                 ArchiveInfoVo aIV = iArchiveRecordsService.selectByRecordId(ids[i]);
-
+                System.out.println(aIV.getInquiryNumber());
+                System.out.println(aIV.getRecordId());
                 String adir = aIV.getInquiryNumber() + " " + aIV.getRecordId();
+                System.out.println(adir);
                 System.out.println(fna+adir);
                 zos.putNextEntry(new ZipEntry(fna + adir + "/"));
 
@@ -494,39 +547,26 @@
                 }
                 //娣诲姞07  鐨刾df
                 //pdf鐩綍灏侀潰
-                String pdfPathF = "07-妗堝嵎灏侀潰.pdf";
-                pdfGenerateService.generatePdf(pdfPathF, ids[i]);
-                // 2. 鍘嬬缉PDF鍒癦IP鏂囦欢
-                // 娣诲姞PDF鏂囦欢鍒癦IP
-                ZipEntry zipEntry2 = new ZipEntry(fna + adir +"/"+pdfPathF);
-                zos.putNextEntry(zipEntry2);
+//                String pdfPathF = "07-妗堝嵎灏侀潰.pdf";
+//                pdfGenerateService.generatePdf(pdfPathF, ids[i]);
+//                // 2. 鍘嬬缉PDF鍒癦IP鏂囦欢
+//                // 娣诲姞PDF鏂囦欢鍒癦IP
+//                ZipEntry zipEntry2 = new ZipEntry(fna + adir +"/"+pdfPathF);
+//                zos.putNextEntry(zipEntry2);
+//
+//                // 璇诲彇PDF鏂囦欢鍐呭骞跺啓鍏IP
+//                try (FileInputStream fis = new FileInputStream(pdfPathF)) {
+//                    byte[] buffer = new byte[1024];
+//                    int len;
+//                    while ((len = fis.read(buffer)) > 0) {
+//                        zos.write(buffer, 0, len);
+//                    }
+//                }
 
-                // 璇诲彇PDF鏂囦欢鍐呭骞跺啓鍏IP
-                try (FileInputStream fis = new FileInputStream(pdfPathF)) {
-                    byte[] buffer = new byte[1024];
-                    int len;
-                    while ((len = fis.read(buffer)) > 0) {
-                        zos.write(buffer, 0, len);
-                    }
-                }
 
-                //08-鍗峰唴鍗峰唴鐩綍鐨刾df
-                String pdf08Path= "08-鍗峰唴鐩綍.pdf";
-                List<DocumentMaterialsVo> list3 = dsvs;
-                if(list3.size()>0) {
-                    pdfGenerateService.generateFileDirectoryPdf(pdf08Path, list3);
-                    ZipEntry zipEntry3 = new ZipEntry(fna + adir +"/"+pdf08Path);
-                    zos.putNextEntry(zipEntry3);
 
-                    // 璇诲彇PDF鏂囦欢鍐呭骞跺啓鍏IP
-                    try (FileInputStream fis = new FileInputStream(pdf08Path)) {
-                        byte[] buffer = new byte[1024];
-                        int len;
-                        while ((len = fis.read(buffer)) > 0) {
-                            zos.write(buffer, 0, len);
-                        }
-                    }
-                }
+
+
                 //09-澶囪�冭〃.pdf
 
 
@@ -568,13 +608,31 @@
                 {
                     for(DocumentMaterialFileStyle documentMaterialFileStyle:dmfs)
                     {
-                        if(documentMaterialFileStyle.getFileStyle().equals("鏂囧瓧鏉愭枡"))
+                        if(documentMaterialFileStyle.getFileStyle()!=null&&documentMaterialFileStyle.getFileStyle().equals("鏂囧瓧鏉愭枡"))
                             texPages = documentMaterialFileStyle.getCnt();
-                        if(documentMaterialFileStyle.getFileStyle().equals("鍥炬牱鏉愭枡"))
+                        if(documentMaterialFileStyle.getFileStyle()!=null&&documentMaterialFileStyle.getFileStyle().equals("鍥炬牱鏉愭枡"))
                             patPages = documentMaterialFileStyle.getCnt();
-                        if(documentMaterialFileStyle.getFileStyle().equals("鐓х墖鏉愭枡"))
+                        if(documentMaterialFileStyle.getFileStyle()!=null&&documentMaterialFileStyle.getFileStyle().equals("鐓х墖鏉愭枡"))
                             picPages = documentMaterialFileStyle.getCnt();
                     }
+                }
+
+
+                String compName = "骞垮窞鐩堝妗f绠$悊鏈夐檺鍏徃";
+                String li_person = "浠囩縺";
+                String sh_person = "鏇剧憺鑾�";
+
+                if(!StringUtils.isEmpty(archiveRecords1.getLiPerson()))
+                    li_person = archiveRecords1.getLiPerson();
+                ArchiveProjectName tmp = new ArchiveProjectName();
+                tmp.setName(archiveRecords1.getProjectName());
+                List<ArchiveProjectName> projectName = iArchiveProjectNameService.selectArchiveProjectNameList(tmp);
+                if(!projectName.isEmpty())
+                {
+                    if(!StringUtils.isEmpty(projectName.get(0).getCompanyName()))
+                        compName = projectName.get(0).getCompanyName();
+                    if(!StringUtils.isEmpty(projectName.get(0).getCreatePerson()))
+                        sh_person = projectName.get(0).getCreatePerson();
                 }
                 allPages = texPages + picPages + patPages;
                 hs.put("pages", allPages);
@@ -582,6 +640,9 @@
                 hs.put("picPages", picPages);
                 hs.put("texPages", texPages);
                 hs.put("volumeNumber", aIV.getRecordId());
+                hs.put("company", compName);
+                hs.put("liPerson", li_person);
+                hs.put("shPerson", sh_person);
                 hs.put("time", cdt);
 
                 if (!getLicense()) {
@@ -591,10 +652,16 @@
 
                 try {
 
-                    // 鑾峰彇 Word 妯℃澘鎵�鍦ㄨ矾寰�
-                    String filepath = "09-澶囪�冭〃.docx";
+                    ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
+                    org.springframework.core.io.Resource resource = resolver.getResource("classpath:09.docx");
+//                String filepath = resource.getFile().getAbsolutePath();
+//                // 閫氳繃 XWPFTemplate 缂栬瘧鏂囦欢骞舵覆鏌撴暟鎹埌妯℃澘涓�
+//                XWPFTemplate template = XWPFTemplate.compile(filepath).render(hs
+//                       );
+
+                    InputStream inputStream = resource.getInputStream();
                     // 閫氳繃 XWPFTemplate 缂栬瘧鏂囦欢骞舵覆鏌撴暟鎹埌妯℃澘涓�
-                    XWPFTemplate template = XWPFTemplate.compile(filepath).render(hs
+                    XWPFTemplate template = XWPFTemplate.compile(inputStream).render(hs
                     );
 
                     String renderedDocPath = "rendered_output.docx";
@@ -636,9 +703,33 @@
                 List<ArchiveInfoVo> arsi = new ArrayList<>();
                 arsi.add(aIV);
 
+                String dates = "";
+                if(arsi.get(0).getPreparationDate()!=null) {
+                    System.out.println(arsi.get(0).getPreparationDate().toString() + "]]]]]]]]");
+
+                    System.out.println(DateUtil.parseCST(arsi.get(0).getPreparationDate().toString()));
+                    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+                    DateTime dat = DateUtil.parseCST(arsi.get(0).getPreparationDate().toString());
+                    dates = new SimpleDateFormat("yyyy-MM-dd").format(dat);
+                }
+
+
+                String tmpSec = "妗e彿:" +
+                        arsi.get(0).getRecordId() +
+                        ";妗f棣嗭紙瀹わ級鍙�:" + arsi.get(0).getArchiveRoomNumber()+
+                        ";缂╁井鍙�:" + arsi.get(0).getMicrofilmNumber()+
+                        ";鍙戞枃鍙�:" + arsi.get(0).getInquiryNumber()+
+                        ";妗堝嵎棰樺悕:" + arsi.get(0).getCaseTitle() +
+                        ";缂栧埗鏃ユ湡:" +  dates +
+                        ";缂栧埗鍗曚綅:" + arsi.get(0).getPreparationUnit() +
+                        ";淇濈鏈熼檺:" + arsi.get(0).getRetentionPeriod() +
+                        ";瀵嗙骇:" + arsi.get(0).getSecurityClassification();
+
+
+
                 String recordId1 = aIV.getRecordId();
                 byte[] imgr1 = barcodeService.generateBarcodeImage(recordId1);
-                byte[] sedcode = pdfGenerateService.createQrCodeN(recordId1, 30, 30);
+                byte[] sedcode = pdfGenerateService.createQrCodeN(tmpSec, 200, 200);
                 ExcelExp e3 = new ExcelExp("妗堝嵎灏侀潰鏁版嵁",arsi, ArchiveInfoVo.class);
                 ExcelExp e4 = new ExcelExp("妗堝嵎灏侀潰",  arsi, recordId1, imgr1,sedcode, ArchiveInfoVo.class);
                 List<ExcelExp> mysheet1 = new ArrayList<ExcelExp>();
@@ -652,6 +743,64 @@
                 //  System.out.println(bos2);
                 zos.putNextEntry(entryiv);
 
+
+                bos2.writeTo(zos);
+
+
+                //pdf鐩綍灏侀潰
+                String pdfPathF = "07-妗堝嵎灏侀潰.pdf";
+                // pdfGenerateService.generatePdf(pdfPathF, id);
+
+                try {
+                    if (!getLicenseExcel()) {
+                        System.out.println("鎺堟潈澶辫触");
+                        // return ;
+                    }
+                    // 璇诲彇Excel鏂囦欢
+                    com.aspose.cells.Workbook wb = poiToAspose(util3.getWb());
+
+                    // 鑾峰彇闇�瑕佸鍑虹殑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 j = 0; j < wb.getWorksheets().getCount(); j++) {
+                        if (j != targetSheetIndex) {
+                            wb.getWorksheets().get(j).setVisible(false);
+                        }
+                    }
+
+                    // 璁剧疆娲诲姩宸ヤ綔琛ㄤ负鐩爣宸ヤ綔琛�
+                    wb.getWorksheets().setActiveSheetIndex(targetSheetIndex);
+                    // 鍒涘缓PDF淇濆瓨閫夐」
+                    com.aspose.cells.PdfSaveOptions pdfSaveOptions = new com.aspose.cells.PdfSaveOptions();
+                    pdfSaveOptions.setCompliance(com.aspose.cells.PdfCompliance.PDF_A_1_B);
+                    // 鍒涘缓涓存椂瀛楄妭杈撳嚭娴�
+                    ByteArrayOutputStream baos = new ByteArrayOutputStream();
+
+                    // 灏嗘柊鐨刉orkbook淇濆瓨涓篜DF鍒颁复鏃舵祦
+                    //   newWorkbook.save(baos, com.aspose.cells.SaveFormat.PDF);
+                    wb.save(baos, pdfSaveOptions);
+
+                    // 灏哖DF娣诲姞鍒癦IP鏂囦欢
+                    ZipEntry entry07 = new ZipEntry(fna + adir +"/"+pdfPathF);
+                    zos.putNextEntry(entry07);
+                    zos.write(baos.toByteArray());
+                    //  zos.closeEntry();
+                    // 鐩存帴灏嗗師濮嬪伐浣滅翱淇濆瓨涓篜DF锛堝彧鍖呭惈鍙鐨勫伐浣滆〃锛�
+
+                    long now = System.currentTimeMillis();
+                    //   System.out.println("pdf杞崲鎴愬姛锛屽叡鑰楁椂锛�" + ((now - old) / 1000.0) + "绉�");
+                } catch (Exception e) {
+                    e.printStackTrace();
+                    // 鎵撳嵃璇︾粏閿欒淇℃伅
+                    System.err.println("杞崲澶辫触锛�" + e.getMessage());
+                    e.printStackTrace(System.err);
+                }
+
 //            ExcelUtil<ArchiveInfoVo> utilsv = new ExcelUtil<ArchiveInfoVo>(ArchiveInfoVo.class);
 //
 //
@@ -659,7 +808,7 @@
 //            List<ArchiveInfoVo> aivs = new ArrayList<>();
 //            aivs.add(aIV);
 //            utilsv.byteOutputStreamExcel(boss, aivs,"Date List", "");
-                bos2.writeTo(zos);
+
 
 
 
@@ -675,7 +824,7 @@
 
                 //鎷垮埌鍗峰唴鐩綍鐨別xcel
                 List<DocumentMaterialsVoSmall> list2 = dsvs.stream().map(res1 -> new DocumentMaterialsVoSmall(res1.getNum(), res1.getDocumentNumber(),res1.getCreator(),
-                        res1.getTitle(), res1.getDate(), res1.getPageNumber(), res1.getRemarks())).collect(Collectors.toList());
+                        res1.getTitle(), res1.getDate(), res1.getPageNumberFormatted(), res1.getRemarks())).collect(Collectors.toList());
                 if(!dsvs.isEmpty()) {
                     String recordId = dsvs.get(0).getRecordId();
                     byte[] imgr = barcodeService.generateBarcodeImage(recordId);
@@ -691,12 +840,90 @@
                     zos.putNextEntry(entr);
                     ByteOutputStream bos8 = new ByteOutputStream();
 
-                    util2.exportExcelManySheet(bos6, mysheet);
+                    util2.exportExcelManySheet(bos8, mysheet);
 
                     //   util1.byteOutputStreamExcel(bos1, dsvs,"Date List", "");
                     bos8.writeTo(zos);
+
+
+
+
+                    //08-鍗峰唴鍗峰唴鐩綍鐨刾df
+                    String pdf08Path= "08-鍗峰唴鐩綍.pdf";
+                    try {
+                        if (!getLicenseExcel()) {
+                            System.out.println("鎺堟潈澶辫触");
+                            // return ;
+                        }
+                        // 璇诲彇Excel鏂囦欢
+                        com.aspose.cells.Workbook wb1 = poiToAspose(util2.getWb());
+
+                        // 鑾峰彇闇�瑕佸鍑虹殑sheet锛堢储寮曚粠0寮�濮嬶級
+                        int targetSheetIndex = 1;
+                        com.aspose.cells.Worksheet targetSheet = wb1.getWorksheets().get(targetSheetIndex);
+                        targetSheet.autoFitRows(true);
+                        System.out.println("褰撳墠sheet鍚嶇О锛�" + targetSheet.getName());
+                        System.out.println("褰撳墠sheet绱㈠紩锛�" + targetSheet.getIndex());
+
+                        // 闅愯棌鎵�鏈夊叾浠栧伐浣滆〃
+                        for (int j = 0; j < wb1.getWorksheets().getCount(); j++) {
+                            if (j != targetSheetIndex) {
+                                wb1.getWorksheets().get(j).setVisible(false);
+                            }
+                        }
+
+                        // 璁剧疆娲诲姩宸ヤ綔琛ㄤ负鐩爣宸ヤ綔琛�
+                        wb1.getWorksheets().setActiveSheetIndex(targetSheetIndex);
+                        // 鍒涘缓PDF淇濆瓨閫夐」
+                        com.aspose.cells.PdfSaveOptions pdfSaveOptions = new com.aspose.cells.PdfSaveOptions();
+                        pdfSaveOptions.setCompliance(com.aspose.cells.PdfCompliance.PDF_A_1_B);
+                        // 鍒涘缓涓存椂瀛楄妭杈撳嚭娴�
+                        ByteArrayOutputStream baosm = new ByteArrayOutputStream();
+
+                        // 灏嗘柊鐨刉orkbook淇濆瓨涓篜DF鍒颁复鏃舵祦
+                        //   newWorkbook.save(baos, com.aspose.cells.SaveFormat.PDF);
+                        wb1.save(baosm, pdfSaveOptions);
+
+                        // 灏哖DF娣诲姞鍒癦IP鏂囦欢
+                        ZipEntry entry2 = new ZipEntry(fna + adir +"/"+pdf08Path);
+                        zos.putNextEntry(entry2);
+                        zos.write(baosm.toByteArray());
+                        //  zos.closeEntry();
+                        // 鐩存帴灏嗗師濮嬪伐浣滅翱淇濆瓨涓篜DF锛堝彧鍖呭惈鍙鐨勫伐浣滆〃锛�
+
+                        long now = System.currentTimeMillis();
+                        //   System.out.println("pdf杞崲鎴愬姛锛屽叡鑰楁椂锛�" + ((now - old) / 1000.0) + "绉�");
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                        // 鎵撳嵃璇︾粏閿欒淇℃伅
+                        System.err.println("杞崲澶辫触锛�" + e.getMessage());
+                        e.printStackTrace(System.err);
+                    }
+
+
                 }
                 //鎶奺xcel杞负pdf
+
+//
+//                //08-鍗峰唴鍗峰唴鐩綍鐨刾df
+//                String pdf08Path= "08-鍗峰唴鐩綍.pdf";
+//                List<DocumentMaterialsVo> list3 = dsvs;
+//                if(list3.size()>0) {
+//                    pdfGenerateService.generateFileDirectoryPdf(pdf08Path, list3);
+//                    ZipEntry zipEntry3 = new ZipEntry(fna + adir +"/"+pdf08Path);
+//                    zos.putNextEntry(zipEntry3);
+//
+//                    // 璇诲彇PDF鏂囦欢鍐呭骞跺啓鍏IP
+//                    try (FileInputStream fis = new FileInputStream(pdf08Path)) {
+//                        byte[] buffer = new byte[1024];
+//                        int len;
+//                        while ((len = fis.read(buffer)) > 0) {
+//                            zos.write(buffer, 0, len);
+//                        }
+//                    }
+//                }
+//
+//
 
 
 
@@ -713,38 +940,40 @@
                     //鍦ㄥ帇缂╁寘涓坊鍔犳枃浠跺す
 
                     //寰楀埌鏂囦欢鍚峟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(fna + adir + "/01-鐢宠鏉愭枡/"+fname));
-                    else if(dc.getStage().equals("02-鍔炴杩囩▼鏉愭枡"))
-                        zos.putNextEntry(new ZipEntry(fna + adir + "/02-鍔炴杩囩▼鏉愭枡/"+fname));
-                    else if(dc.getStage().equals("03-缁撹鎬ф枃浠�"))
-                        zos.putNextEntry(new ZipEntry(fna + adir + "/03-缁撹鎬ф枃浠�/"+fname));
-                    else if(dc.getStage().equals("04-鍏朵粬鏉愭枡")) {
-                        zos.putNextEntry(new ZipEntry(fna + adir + "/04-鍏朵粬鏉愭枡/" + fname));
-                    }
-                    else if(dc.getStage().equals("05-妗f鍙樻洿鏉愭枡"))
-                        zos.putNextEntry(new ZipEntry(fna + adir + "/05-妗f鍙樻洿鏉愭枡/"+fname));
-                    else if(dc.getStage().equals("06-涓氬姟鏁版嵁"))
-                        zos.putNextEntry(new ZipEntry(fna + adir + "/06-涓氬姟鏁版嵁/"+fname));
-                    else
-                        zos.putNextEntry(new ZipEntry(fna + adir + "/"+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(fna + adir + "/01-鐢宠鏉愭枡/" + fname));
+                        else if (dc.getStage().equals("02-鍔炴杩囩▼鏉愭枡"))
+                            zos.putNextEntry(new ZipEntry(fna + adir + "/02-鍔炴杩囩▼鏉愭枡/" + fname));
+                        else if (dc.getStage().equals("03-缁撹鎬ф枃浠�"))
+                            zos.putNextEntry(new ZipEntry(fna + adir + "/03-缁撹鎬ф枃浠�/" + fname));
+                        else if (dc.getStage().equals("04-鍏朵粬鏉愭枡")) {
+                            zos.putNextEntry(new ZipEntry(fna + adir + "/04-鍏朵粬鏉愭枡/" + fname));
+                        } else if (dc.getStage().equals("05-妗f鍙樻洿鏉愭枡"))
+                            zos.putNextEntry(new ZipEntry(fna + adir + "/05-妗f鍙樻洿鏉愭枡/" + fname));
+                        else if (dc.getStage().equals("06-涓氬姟鏁版嵁"))
+                            zos.putNextEntry(new ZipEntry(fna + adir + "/06-涓氬姟鏁版嵁/" + fname));
+                        else
+                            zos.putNextEntry(new ZipEntry(fna + adir + "/" + fname));
 
-
-                    int len;
-                    FileInputStream in = new FileInputStream(tempFile);
-                    while ((len = in.read(buf)) != -1){
-                        zos.write(buf, 0, len);
-                    }
-                    //  zos.putNextEntry(new ZipEntry("04-鍏朵粬鏉愭枡"));
-                    zos.closeEntry();
-                    in.close();
                 }
-            }
 
-            //鍒犻櫎鍘嬬缉鍖�
+                int len;
+                FileInputStream in = new FileInputStream(tempFile);
+                while ((len = in.read(buf)) != -1){
+                    zos.write(buf, 0, len);
+                }
+                  //  zos.putNextEntry(new ZipEntry("04-鍏朵粬鏉愭枡"));
+                zos.closeEntry();
+                in.close();
+            }
+        }
+
+        //鍒犻櫎鍘嬬缉鍖�
 //            if(file.exists()){
 //                file.delete();
 //            }
@@ -780,8 +1009,6 @@
 
 
 
-
-
     /**
      * 鎵撳寘涓嬭浇
      * @param response
@@ -790,20 +1017,174 @@
     @PostMapping("/export/{id}")
 
     public void packDownload(HttpServletResponse response,  @PathVariable Long id) throws Exception {
+
+
+
         // 鑾峰彇鏂囦欢鐨勪繚瀛樹綅缃�,璇诲彇鏁版嵁搴�,
         DocumentMaterials documentMaterials = new DocumentMaterials();
         documentMaterials.setRecordId(id);
-        List<DocumentMaterialsVoLarge> docs = documentMaterialsService.selectDocumentMaterialsAllByRecordId(id);
-       System.out.println(docs.size()+"----009");
+     //   List<DocumentMaterialsVoLarge> docs = documentMaterialsService.selectDocumentMaterialsAllByRecordId(id);
+        //鏍规嵁id鎷垮埌pageNumber
+        ArchiveInfoVo aIV = iArchiveRecordsService.selectByRecordId(id);
+        System.out.println(aIV.getPageCount()+"++++++++++++++++==");
+        //鐢熸垚鏂扮殑璁板綍锛屼笉淇濆瓨鍐嶆暟鎹簱
+        List<DocumentMaterials> docAllInfo = documentMaterialsService.SelectAllRecordsByPageNumbersToList(id, aIV.getPageCount());
+        //鎶奃ocumentMaterils杞埌docs
+        List<DocumentMaterialsVoLarge> docs = new ArrayList<>();
+        int nstar = 1;
+        for (DocumentMaterials mater : docAllInfo) {
+            // physcialService.mySave(physcial);
+            DocumentMaterialsVoLarge docum = new DocumentMaterialsVoLarge();
+            BeanUtils.copyProperties(mater, docum);
+            docum.setRecordId(aIV.getRecordId());
+            docum.setNum(nstar++);
+            docs.add(docum);
+        }
+        System.out.println(docs.size()+"----009");
 
 
                 //.selectDocumentMaterialsList(documentMaterials);
-        List<DocumentMaterialsVo> dsvs = documentMaterialsService.findArchMInfo(id.toString());
-        if(dsvs==null||dsvs.isEmpty())
+
+        //鎶婇檮浠跺拰璁板綍涓�涓�瀵瑰簲
+        String fileSysPath = RuoYiConfig.getUploadPath();
+        AjaxResult ajax = AjaxResult.success();
+        String path = fileSysPath + File.separator + id;
+        File desc = new File(fileSysPath + File.separator + id);
+        System.out.println("44444444444444456666666666666666");
+        if (!desc.exists())
         {
             throw new RuntimeException("鐢靛瓙鏂囦欢淇℃伅娌℃湁涓婁紶锛岃琛ュ厖锛�");
         }
-        ArchiveInfoVo aIV = iArchiveRecordsService.selectByRecordId(id);
+
+
+        Map<String, String> fileMap = new HashMap<>();
+        try (Stream<Path> paths = Files.walk(Paths.get(path))) {
+            fileMap = paths
+                    .filter(Files::isRegularFile)
+                    .collect(Collectors.toMap(
+                            // Key: 鏂囦欢鍚嶅墠缂�锛堜笉甯︽墿灞曞悕锛�
+                            Path -> {
+                                String fileNam = Path.getFileName().toString();
+                                int dotIndex = fileNam.lastIndexOf('.');
+                                return dotIndex > 0 ? fileNam.substring(0, dotIndex) : fileNam;
+                            },
+                            // Value: 鏂囦欢鍏ㄨ矾寰�
+                            Path::toString,
+                            // 澶勭悊閲嶅閿殑鎯呭喌锛堝鏋滄湁鐩稿悓鍓嶇紑鐨勬枃浠讹級
+                            (existing, replacement) -> existing
+                    ));
+
+        }
+        List<DocumentMaterialsVo> dsvs = documentMaterialsService.findArchMInfo(id.toString(), aIV.getPageCount());
+
+        //閲嶆柊灏佽涓�涓媎ocs,鍜岄檮浠剁粦瀹氬啀涓�璧�
+
+        for (int i = 0; i < docs.size(); i++) {
+            DocumentMaterialsVoLarge dc = docs.get(i);
+            if (dc.getSecurityLevel() != null && (dc.getSecurityLevel().equals("璇ラ〉鍙﹀瓨") ||
+                    dc.getSecurityLevel().equals("绉樺瘑") || dc.getSecurityLevel().equals("鍐呴儴鐢ㄩ��") ||
+                    dc.getSecurityLevel().equals("鍐呴儴鐢ㄥ浘"))) {
+                // 鏇挎崲涓轰簡鍑嗗濂界殑鍥惧儚
+                String fp = fileSysPath + "\\glc.jpg";
+                Path path1 = Paths.get(fp);
+                // 鎷垮埌鍥惧儚灞炴��
+                BufferedImage bufferedImage = ImageIO.read(Files.newInputStream(path1));
+                int wid = bufferedImage.getWidth();
+                int hei = bufferedImage.getHeight();
+                double sz = Double.parseDouble(String.format("%.2f", Files.size(path1) * 1.0 / 1024));
+
+                // 鎷垮埌鍥惧儚鐨刣pi淇℃伅
+                ImageInfo info = Imaging.getImageInfo(Files.readAllBytes(path1));
+                int wdpi = info.getPhysicalWidthDpi();
+                int hdpi = info.getPhysicalHeightDpi();
+
+                // 璁$畻fileNumber
+                //    Long fileNumber = documentMaterialsService.getFiNum(nam, recordId);
+                // 璁$畻sizeType
+                String sizeType = getPageSize(wid * hei);
+
+                Graphics2D g2d = bufferedImage.createGraphics();
+                g2d.setFont(new java.awt.Font("瀹嬩綋", Font.BOLD, 80)); // 璁剧疆瀛椾綋鏍峰紡鍜屽ぇ灏�
+                g2d.setColor(Color.black);
+                String pageNumber = dc.getPageNumber() + "";
+                int fontHeight = g2d.getFontMetrics().getHeight();
+                int x = bufferedImage.getWidth() - g2d.getFontMetrics().stringWidth(pageNumber) - 80;
+                int y = bufferedImage.getHeight() - fontHeight / 2 - 100;
+                g2d.drawString(pageNumber, x, y);
+                g2d.dispose();
+
+                // 灏咮ufferedImage杞崲涓篗ultipartFile
+                MultipartFile multipartFile = null;
+                ByteArrayOutputStream ost = new ByteArrayOutputStream();
+                ImageIO.write(bufferedImage, "jpg", ost);
+                InputStream input = new ByteArrayInputStream(ost.toByteArray());
+                multipartFile = new MockMultipartFile(pageNumber, pageNumber + ".jpg", "text/plain", input);
+
+                // 涓婁紶骞惰繑鍥炴柊鏂囦欢鍚嶇О
+                String fileName1 = FileUploadUtils.upload(fileSysPath, multipartFile);
+               // filePath = fileName1;
+                dc.setWidth((long) wid);
+                dc.setHeight((long) hei);
+                dc.setFileSize(sz);
+                dc.setFormat(".jpg");
+                dc.setHorizontalResolution((long) wdpi);
+                dc.setVerticalResolution((long) hdpi);
+                dc.setSizeType(sizeType);
+                fileMap.put(dc.getPageNumber()+"", fp);
+             //   dc.set
+                // 鏇存柊鏁版嵁搴�
+                //   documentMaterialsService.updateByPageNumber(nam, sizeType, fileNumber, wid, hei, wdpi, hdpi, sz, fileName1, "jpg", recordId);
+
+//                        urls.add(serverConfig.getUrl() + fileName1);
+//                        fileNames.add(fileName1);
+//                        newFileNames.add(FileUtils.getName(fileName1));
+//                        originalFilenames.add(pageNumber + ".jpg");
+            }
+            else {
+                //鏂囦欢鍚嶇О
+              //  String pname = nams[1];
+             //   ajax.put("url", url);
+                //鎷垮埌鍥惧儚灞炴��
+                System.out.println(dc.getPageNumber());
+                String fip = fileMap.get(dc.getPageNumber().toString());
+// 鍒涘缓 File 瀵硅薄
+                File file = new File(fip);
+
+// 浣跨敤 ImageIO 璇诲彇鍥剧墖
+                BufferedImage image = ImageIO.read(file);
+                BufferedImage bufferedImage = ImageIO.read(file);
+                int wid = bufferedImage.getWidth();
+                int hei = bufferedImage.getHeight();
+                double sz =  Double.parseDouble(String.format("%.2f", file.length()*1.0/1024));
+                System.out.println(wid+":"+hei+":"+sz);
+                //鎷垮埌鍥惧儚鐨刣pi淇℃伅
+                byte[] bytesArray = new byte[(int) file.length()];
+
+                FileInputStream fis = new FileInputStream(file);
+                fis.read(bytesArray); //read file into bytes[]
+
+                ImageInfo info = Imaging.getImageInfo(bytesArray);
+
+
+                int wdpi = info.getPhysicalWidthDpi() ;
+                int hdpi = info.getPhysicalHeightDpi();
+          //      System.out.println("DPI: " + info.getPhysicalWidthDpi()+nam+"dds");
+
+                fis.close();
+                //璁$畻fileNumber
+              //  Long fileNumber = documentMaterialsService.getFiNum(dc.getPageNumber(), id);
+                //璁$畻sizeType
+                String sizeType = getPageSize(wid*hei);
+
+                dc.setWidth((long) wid);
+                dc.setHeight((long) hei);
+                dc.setFileSize(sz);
+                dc.setFormat(".jpg");
+                dc.setHorizontalResolution((long) wdpi);
+                dc.setVerticalResolution((long) hdpi);
+                dc.setSizeType(sizeType);
+            }
+        }
         System.out.println(dsvs.size());
         List<String> paths = new ArrayList<>();
 //        System.out.println(docs);
@@ -824,7 +1205,8 @@
             String datumName = "user";
             //鍘嬬缉鏂囦欢
             List<String> filePathList = paths;
-            File file = compressedFileToZip(docs, dsvs, aIV, id);
+            //鎶奷ocmentMaterial杞负
+            File file = compressedFileToZip(docs, dsvs, aIV, id, fileMap);
             System.out.println(file.getName());
 
             String fileName =aIV.getRecordId()+".zip";
@@ -918,7 +1300,7 @@
 
 
     // 鍘嬬缉鏂囦欢
-    private File compressedFileToZip(List<DocumentMaterialsVoLarge> docs, List<DocumentMaterialsVo> dsvs,   ArchiveInfoVo aIV, Long id) throws Exception {
+    private File compressedFileToZip(List<DocumentMaterialsVoLarge> docs, List<DocumentMaterialsVo> dsvs,   ArchiveInfoVo aIV, Long id,   Map<String, String> fileMap) throws Exception {
         //鍘嬬缉鍖呭叿浣撳悕绉帮紙鎷兼帴鏃堕棿鎴抽槻姝㈤噸鍚嶏級
         String datumName = "";
         String zipFileName =dsvs.get(0).getDocumentNumber()+aIV.getRecordId()+ ".zip";
@@ -958,20 +1340,41 @@
             {
                 for(DocumentMaterialFileStyle documentMaterialFileStyle:dmfs)
                 {
-                    if(documentMaterialFileStyle.getFileStyle().equals("鏂囧瓧鏉愭枡"))
+                    if(documentMaterialFileStyle.getFileStyle()!=null&&documentMaterialFileStyle.getFileStyle().equals("鏂囧瓧鏉愭枡"))
                         texPages = documentMaterialFileStyle.getCnt();
-                    if(documentMaterialFileStyle.getFileStyle().equals("鍥炬牱鏉愭枡"))
+                    if(documentMaterialFileStyle.getFileStyle()!=null&&documentMaterialFileStyle.getFileStyle().equals("鍥炬牱鏉愭枡"))
                         patPages = documentMaterialFileStyle.getCnt();
-                    if(documentMaterialFileStyle.getFileStyle().equals("鐓х墖鏉愭枡"))
+                    if(documentMaterialFileStyle.getFileStyle()!=null&&documentMaterialFileStyle.getFileStyle().equals("鐓х墖鏉愭枡"))
                         picPages = documentMaterialFileStyle.getCnt();
                 }
             }
+
+            String compName = "骞垮窞鐩堝妗f绠$悊鏈夐檺鍏徃";
+            String li_person = "浠囩縺";
+            String sh_person = "鏇剧憺鑾�";
+            ArchiveRecords archiveRecords = iArchiveRecordsService.selectArchiveRecordsById(id);
+            if(!StringUtils.isEmpty(archiveRecords.getLiPerson()))
+                li_person = archiveRecords.getLiPerson();
+            ArchiveProjectName tmp = new ArchiveProjectName();
+            tmp.setName(archiveRecords.getProjectName());
+            List<ArchiveProjectName> projectName = iArchiveProjectNameService.selectArchiveProjectNameList(tmp);
+            if(!projectName.isEmpty())
+            {
+                if(!StringUtils.isEmpty(projectName.get(0).getCompanyName()))
+                    compName = projectName.get(0).getCompanyName();
+                if(!StringUtils.isEmpty(projectName.get(0).getCreatePerson()))
+                    sh_person = projectName.get(0).getCreatePerson();
+            }
+
             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("company", compName);
+            hs.put("liPerson", li_person);
+            hs.put("shPerson", sh_person);
             hs.put("time", cdt);
 
             if (!getLicense()) {
@@ -982,10 +1385,22 @@
             try {
 
                 // 鑾峰彇 Word 妯℃澘鎵�鍦ㄨ矾寰�
-                String filepath = "09-澶囪�冭〃.docx";
-                // 閫氳繃 XWPFTemplate 缂栬瘧鏂囦欢骞舵覆鏌撴暟鎹埌妯℃澘涓�
-                XWPFTemplate template = XWPFTemplate.compile(filepath).render(hs
-                       );
+                ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
+                org.springframework.core.io.Resource resource = resolver.getResource("classpath:09.docx");
+//                String filepath = resource.getFile().getAbsolutePath();
+//                // 閫氳繃 XWPFTemplate 缂栬瘧鏂囦欢骞舵覆鏌撴暟鎹埌妯℃澘涓�
+//                XWPFTemplate template = XWPFTemplate.compile(filepath).render(hs
+//                       );
+
+                InputStream inputStream = resource.getInputStream();
+                    // 閫氳繃 XWPFTemplate 缂栬瘧鏂囦欢骞舵覆鏌撴暟鎹埌妯℃澘涓�
+                    XWPFTemplate template = XWPFTemplate.compile(inputStream).render(hs
+                    );
+
+
+
+
+
 
                 String renderedDocPath = "rendered_output.docx";
                 File renderedFile = new File(renderedDocPath);
@@ -1017,7 +1432,7 @@
 
 
 
-            com.aspose.words.Document doc = new com.aspose.words.Document("09-澶囪�冭〃.docx");
+           // com.aspose.words.Document doc = new com.aspose.words.Document("09.docx");
 
 
 
@@ -1046,9 +1461,33 @@
             List<ArchiveInfoVo> arsi = new ArrayList<>();
             arsi.add(aIV);
 
+
+            String date = "";
+            if(arsi.get(0).getPreparationDate()!=null) {
+                System.out.println(arsi.get(0).getPreparationDate().toString() + "]]]]]]]]");
+
+                System.out.println(DateUtil.parseCST(arsi.get(0).getPreparationDate().toString()));
+                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+                DateTime dat = DateUtil.parseCST(arsi.get(0).getPreparationDate().toString());
+                date = new SimpleDateFormat("yyyy-MM-dd").format(dat);
+            }
+
+
+            String tmpSec = "妗e彿:" +
+                    arsi.get(0).getRecordId() +
+                    ";妗f棣嗭紙瀹わ級鍙�:" + arsi.get(0).getArchiveRoomNumber()+
+                    ";缂╁井鍙�:" + arsi.get(0).getMicrofilmNumber()+
+                    ";鍙戞枃鍙�:" + arsi.get(0).getInquiryNumber()+
+                    ";妗堝嵎棰樺悕:" + arsi.get(0).getCaseTitle() +
+                    ";缂栧埗鏃ユ湡:" +  date +
+                    ";缂栧埗鍗曚綅:" + arsi.get(0).getPreparationUnit() +
+                    ";淇濈鏈熼檺:" + arsi.get(0).getRetentionPeriod() +
+                    ";瀵嗙骇:" + arsi.get(0).getSecurityClassification();
+
+
             String recordId1 = aIV.getRecordId();
             byte[] imgr1 = barcodeService.generateBarcodeImage(recordId1);
-            byte[] sedcode = pdfGenerateService.createQrCodeN(recordId1, 30, 30);
+            byte[] sedcode = pdfGenerateService.createQrCodeN(tmpSec, 200, 200);
             ExcelExp e3 = new ExcelExp("妗堝嵎灏侀潰鏁版嵁",arsi, ArchiveInfoVo.class);
             ExcelExp e4 = new ExcelExp("妗堝嵎灏侀潰",  arsi, recordId1, imgr1,sedcode, ArchiveInfoVo.class);
             List<ExcelExp> mysheet1 = new ArrayList<ExcelExp>();
@@ -1140,7 +1579,7 @@
 
             //鎷垮埌鍗峰唴鐩綍鐨別xcel
             List<DocumentMaterialsVoSmall> list2 = dsvs.stream().map(res -> new DocumentMaterialsVoSmall(res.getNum(), res.getDocumentNumber(),res.getCreator(),
-                    res.getTitle(), res.getDate(), res.getPageNumber(), res.getRemarks())).collect(Collectors.toList());
+                    res.getTitle(), res.getDate(), res.getPageNumberFormatted(), res.getRemarks())).collect(Collectors.toList());
 
             String recordId = dsvs.get(0).getRecordId();
             byte[] imgr = barcodeService.generateBarcodeImage(recordId);
@@ -1241,13 +1680,45 @@
 
             byte[] buf = new byte[1024];
             for (DocumentMaterialsVoLarge dc : docs) {
-                String filePath = dc.getUrl();
+                String filePath = fileMap.get(dc.getPageNumber().toString());
                 if(filePath==null)
                     continue;
-                filePath = filePath.replace("/profile/", RuoYiConfig.getProfile() + "/");
 
-                System.out.println(filePath);
+//                    else {
+//                        // 鏂囦欢鍚嶇О
+//                        String pname = nams[1];
+//
+//                        // 鎷垮埌鍥惧儚灞炴��
+//                        BufferedImage bufferedImage = ImageIO.read(file.getInputStream());
+//                        int wid = bufferedImage.getWidth();
+//                        int hei = bufferedImage.getHeight();
+//                        double sz = Double.parseDouble(String.format("%.2f", file.getSize() * 1.0 / 1024));
+//
+//                        // 鎷垮埌鍥惧儚鐨刣pi淇℃伅
+//                        ImageInfo info = Imaging.getImageInfo(file.getBytes());
+//                        int wdpi = info.getPhysicalWidthDpi();
+//                        int hdpi = info.getPhysicalHeightDpi();
+//                        // 璁$畻fileNumber
+//                        Long fileNumber = documentMaterialsService.getFiNum(nam, recordId);
+//                        // 璁$畻sizeType
+//                        String sizeType = getPageSize(wid * hei);
+//
+//                        // 鏇存柊鏁版嵁搴�
+//                   //     documentMaterialsService.updateByPageNumber(nam, sizeType, fileNumber, wid, hei, wdpi, hdpi, sz, fileName, pname, recordId);
+////
+////                        urls.add(url);
+////                        fileNames.add(fileName);
+////                        newFileNames.add(FileUtils.getName(fileName));
+////                        originalFilenames.add(fname);
+//                    }
+//
+
+
+
+
                 File tempFile = new File(filePath);
+                System.out.println(filePath);
+                System.out.println(tempFile.length());
                 //鍦ㄥ帇缂╁寘涓坊鍔犳枃浠跺す
                 if(res) {
                     zos.putNextEntry(new ZipEntry("01-鐢宠鏉愭枡/"));
@@ -1260,9 +1731,15 @@
                 }
                 //寰楀埌鏂囦欢鍚峟rontCompWithZore(4, dc.get)+
                 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.getFileNumber()!=null&&dc.getPageNumber()!=null) {
+
+                    if(dc.getPageNumber()!=null) {
+                    //    fname = frontCompWithZore(4, dc.getFileNumber().intValue()) + "-" + dc.getTitle() + "-" + frontCompWithZore(4, dc.getPageNumber().intValue()) + "."
+                          //      + filePath.split("\\.")[1];
+                    fname = "-" + dc.getTitle() + "-" + frontCompWithZore(4, dc.getPageNumber().intValue()) + "."
+                            + filePath.split("\\.")[1];
+
+                    System.out.println(fname);
                     if (dc.getStage().equals("01-鐢宠鏉愭枡"))
                         zos.putNextEntry(new ZipEntry("01-鐢宠鏉愭枡/" + fname));
                     else if (dc.getStage().equals("02-鍔炴杩囩▼鏉愭枡"))
@@ -1314,7 +1791,19 @@
         }
         return file;
     }
-
+    public String getPageSize(double du)
+    {
+        if(du <= 8699840 * 1.5)
+            return "A4";
+        else if(du <= 17403188 * 1.5)
+            return "A3";
+        else if(du <= 34811347 * 1.5)
+            return "A2";
+        else if(du <= 69622674 * 1.5)
+            return "A1";
+        else
+            return "A0";
+    }
 }
 
 

--
Gitblit v1.9.1