fei
2 天以前 5d91a329768a2a86e01e4b9b6bc6a2b939b87adb
ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/archiveAllExportController.java
@@ -527,6 +527,11 @@
                //把DocumentMaterils转到docs
                List<DocumentMaterialsVoLarge> docs = new ArrayList<>();
                int nstar = 1;
                //统计3中材料的个数
                int texPages = 0;
                int picPages = 0;
                int patPages = 0;
                for (DocumentMaterials mater : docAllInfo) {
                    // physcialService.mySave(physcial);
                    DocumentMaterialsVoLarge docum = new DocumentMaterialsVoLarge();
@@ -534,6 +539,12 @@
                    docum.setRecordId(archiveRecords1.getRecordId());
                    docum.setNum(nstar++);
                    docs.add(docum);
                    if(mater.getFileStyle()!=null&&mater.getFileStyle().equals("文字材料"))
                        texPages++;
                    if(mater.getFileStyle()!=null&&mater.getFileStyle().equals("图样材料"))
                        patPages++;
                    if(mater.getFileStyle()!=null&&mater.getFileStyle().equals("照片材料"))
                        picPages++;
                }
@@ -623,7 +634,7 @@
                        dc.setHorizontalResolution((long) wdpi);
                        dc.setVerticalResolution((long) hdpi);
                        dc.setSizeType(sizeType);
                        fileMap.put(dc.getPageNumber()+"", fp);
                        fileMap.put(dc.getPageNumber()+"", fileName1);
                        //   dc.set
                        // 更新数据库
                        //   documentMaterialsService.updateByPageNumber(nam, sizeType, fileNumber, wid, hei, wdpi, hdpi, sz, fileName1, "jpg", recordId);
@@ -641,6 +652,11 @@
                        System.out.println(dc.getPageNumber());
                        String fip = fileMap.get(dc.getPageNumber().toString());
// 创建 File 对象
                        if (fip == null) {
                            // 补零到4位(根据你的需求调整位数)
                            String paddedKey = frontCompWithZore(4, dc.getPageNumber().intValue());
                            fip = fileMap.get(paddedKey);
                        }
                        File fils = new File(fip);
// 使用 ImageIO 读取图片
@@ -761,21 +777,21 @@
                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()!=null&&documentMaterialFileStyle.getFileStyle().equals("文字材料"))
                            texPages = documentMaterialFileStyle.getCnt();
                        if(documentMaterialFileStyle.getFileStyle()!=null&&documentMaterialFileStyle.getFileStyle().equals("图样材料"))
                            patPages = documentMaterialFileStyle.getCnt();
                        if(documentMaterialFileStyle.getFileStyle()!=null&&documentMaterialFileStyle.getFileStyle().equals("照片材料"))
                            picPages = documentMaterialFileStyle.getCnt();
                    }
                }
//                int texPages = 0;
//                int picPages = 0;
//                int patPages = 0;
//                if(!dmfs.isEmpty())
//                {
//                    for(DocumentMaterialFileStyle documentMaterialFileStyle:dmfs)
//                    {
//                        if(documentMaterialFileStyle.getFileStyle()!=null&&documentMaterialFileStyle.getFileStyle().equals("文字材料"))
//                            texPages = documentMaterialFileStyle.getCnt();
//                        if(documentMaterialFileStyle.getFileStyle()!=null&&documentMaterialFileStyle.getFileStyle().equals("图样材料"))
//                            patPages = documentMaterialFileStyle.getCnt();
//                        if(documentMaterialFileStyle.getFileStyle()!=null&&documentMaterialFileStyle.getFileStyle().equals("照片材料"))
//                            picPages = documentMaterialFileStyle.getCnt();
//                    }
//                }
                String compName = "广州盈家档案管理有限公司";
@@ -938,6 +954,9 @@
                    // 创建PDF保存选项
                    com.aspose.cells.PdfSaveOptions pdfSaveOptions = new com.aspose.cells.PdfSaveOptions();
                    pdfSaveOptions.setCompliance(com.aspose.cells.PdfCompliance.PDF_A_1_B);
                    // 确保字体嵌入到PDF中
                    // 创建临时字节输出流
                    ByteArrayOutputStream baos = new ByteArrayOutputStream();
@@ -1090,11 +1109,21 @@
                byte[] buf = new byte[1024];
                for (DocumentMaterialsVoLarge dc : docs) {
                    String filePath = fileMap.get(dc.getPageNumber().toString());
                    if(filePath==null)
                        continue;
                //    filePath = filePath.replace("/profile/", RuoYiConfig.getProfile() + "/");
                    System.out.println(filePath);
                    if (filePath == null) {
                        // 补零到4位(根据你的需求调整位数)
                        String paddedKey = frontCompWithZore(4, dc.getPageNumber().intValue());
                        filePath = fileMap.get(paddedKey);
                    }
                    if(filePath==null)
                        continue;
                    if(filePath.contains("profile"))
                        filePath = filePath.replace("/profile/", RuoYiConfig.getProfile() + "/");
                    File tempFile = new File(filePath);
                    //在压缩包中添加文件夹
@@ -1195,6 +1224,9 @@
        //把DocumentMaterils转到docs
        List<DocumentMaterialsVoLarge> docs = new ArrayList<>();
        int nstar = 1;
        int texPages = 0;
        int patPages = 0;
        int picPages = 0;
        for (DocumentMaterials mater : docAllInfo) {
            // physcialService.mySave(physcial);
            DocumentMaterialsVoLarge docum = new DocumentMaterialsVoLarge();
@@ -1202,6 +1234,12 @@
            docum.setRecordId(aIV.getRecordId());
            docum.setNum(nstar++);
            docs.add(docum);
            if(mater.getFileStyle()!=null&&mater.getFileStyle().equals("文字材料"))
                texPages++;
            if(mater.getFileStyle()!=null&&mater.getFileStyle().equals("图样材料"))
                patPages++;
            if(mater.getFileStyle()!=null&&mater.getFileStyle().equals("照片材料"))
                picPages++;
        }
        System.out.println(docs.size()+"----009");
@@ -1293,7 +1331,9 @@
                dc.setHorizontalResolution((long) wdpi);
                dc.setVerticalResolution((long) hdpi);
                dc.setSizeType(sizeType);
                fileMap.put(dc.getPageNumber()+"", fp);
                System.out.println(fileName1);
                System.out.println("gggggggggggggggg999999999999");
                fileMap.put(dc.getPageNumber()+"", fileName1);
             //   dc.set
                // 更新数据库
                //   documentMaterialsService.updateByPageNumber(nam, sizeType, fileNumber, wid, hei, wdpi, hdpi, sz, fileName1, "jpg", recordId);
@@ -1310,6 +1350,12 @@
                //拿到图像属性
                System.out.println(dc.getPageNumber());
                String fip = fileMap.get(dc.getPageNumber().toString());
                // 如果直接匹配失败,尝试补零匹配
                if (fip == null) {
                    // 补零到4位(根据你的需求调整位数)
                    String paddedKey = frontCompWithZore(4, dc.getPageNumber().intValue());
                    fip = fileMap.get(paddedKey);
                }
// 创建 File 对象
                if(fip==null||fip.equals(""))
                {
@@ -1317,6 +1363,7 @@
                }
                File file = new File(fip);
// 使用 ImageIO 读取图片
@@ -1375,7 +1422,7 @@
            //压缩文件
            List<String> filePathList = paths;
            //把docmentMaterial转为
            File file = compressedFileToZip(docs, dsvs, aIV, id, fileMap);
            File file = compressedFileToZip(docs, dsvs, aIV, id, fileMap, texPages, patPages, picPages);
            System.out.println(file.getName());
            String fileName =aIV.getRecordId()+".zip";
@@ -1469,7 +1516,10 @@
    // 压缩文件
    private File compressedFileToZip(List<DocumentMaterialsVoLarge> docs, List<DocumentMaterialsVo> dsvs,   ArchiveInfoVo aIV, Long id,   Map<String, String> fileMap) throws Exception {
    private File compressedFileToZip(List<DocumentMaterialsVoLarge> docs, List<DocumentMaterialsVo> dsvs,   ArchiveInfoVo aIV, Long id,   Map<String, String> fileMap,
     int texPages,
    int patPages,
    int picPages) throws Exception {
        //压缩包具体名称(拼接时间戳防止重名)
        String datumName = "";
        String zipFileName =dsvs.get(0).getDocumentNumber()+aIV.getRecordId()+ ".zip";
@@ -1493,7 +1543,7 @@
            String pdf09Path = "09-备考表.pdf";
          //  pdfGenerateService.generateFileStyleInfo(pdf09Path, aIV.getRecordId(), id);
            //拿到相关数据
            List<DocumentMaterialFileStyle> dmfs = documentMaterialsService.findFileStyleInfo(Math.toIntExact(id));
          //  List<DocumentMaterialFileStyle> dmfs = documentMaterialsService.findFileStyleInfo(Math.toIntExact(id));
            LocalDate currentDate = LocalDate.now();
@@ -1502,21 +1552,21 @@
            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()!=null&&documentMaterialFileStyle.getFileStyle().equals("文字材料"))
                        texPages = documentMaterialFileStyle.getCnt();
                    if(documentMaterialFileStyle.getFileStyle()!=null&&documentMaterialFileStyle.getFileStyle().equals("图样材料"))
                        patPages = documentMaterialFileStyle.getCnt();
                    if(documentMaterialFileStyle.getFileStyle()!=null&&documentMaterialFileStyle.getFileStyle().equals("照片材料"))
                        picPages = documentMaterialFileStyle.getCnt();
                }
            }
//            int texPages = 0;
//            int picPages = 0;
//            int patPages = 0;
//            if(!docs.isEmpty())
//            {
//                for(DocumentMaterialsVoLarge documentMaterialFileStyle:docs)
//                {
//                    if(documentMaterialFileStyle!=null&&documentMaterialFileStyle.getFileStyle().equals("文字材料"))
//                        texPages = documentMaterialFileStyle.getCnt();
//                    if(documentMaterialFileStyle.getFileStyle()!=null&&documentMaterialFileStyle.getFileStyle().equals("图样材料"))
//                        patPages = documentMaterialFileStyle.getCnt();
//                    if(documentMaterialFileStyle.getFileStyle()!=null&&documentMaterialFileStyle.getFileStyle().equals("照片材料"))
//                        picPages = documentMaterialFileStyle.getCnt();
//                }
//            }
            String compName = "广州盈家档案管理有限公司";
            String li_person = "仇翀";
@@ -1850,8 +1900,7 @@
            byte[] buf = new byte[1024];
            for (DocumentMaterialsVoLarge dc : docs) {
                String filePath = fileMap.get(dc.getPageNumber().toString());
                if(filePath==null)
                    continue;
//                    else {
//                        // 文件名称
@@ -1883,7 +1932,20 @@
//
                if (filePath == null) {
                    // 补零到4位(根据你的需求调整位数)
                    String paddedKey = frontCompWithZore(4, dc.getPageNumber().intValue());
                    filePath = fileMap.get(paddedKey);
                    System.out.println(paddedKey);
                }
                System.out.println(filePath);
                if(filePath==null)
                    continue;
                if(filePath.contains("profile"))
                    filePath = filePath.replace("/profile/", RuoYiConfig.getProfile() + "/");
                File tempFile = new File(filePath);
                System.out.println(filePath);