fei
4 天以前 07a2f9c762efb3be3a29e2e8cc7004d4164cc9d8
修改了对应代码
11个文件已修改
353 ■■■■ 已修改文件
archiveManager/src/main/java/com/ruoyi/domain/ArchiveRecords.java 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
archiveManager/src/main/java/com/ruoyi/domain/vo/ArchiveRecordSmall.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
archiveManager/src/main/java/com/ruoyi/mapper/ArchiverecordstouserMapper.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
archiveManager/src/main/java/com/ruoyi/mapper/DocumentMaterialsMapper.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
archiveManager/src/main/java/com/ruoyi/service/IDocumentMaterialsService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
archiveManager/src/main/java/com/ruoyi/service/impl/ArchiveRecordsServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
archiveManager/src/main/java/com/ruoyi/service/impl/DocumentMaterialsServiceImpl.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/DocumentMaterialsController.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/archiveAllExportController.java 210 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelExp.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtilManySheetThird.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
archiveManager/src/main/java/com/ruoyi/domain/ArchiveRecords.java
@@ -26,13 +26,16 @@
    @TableId(type = IdType.AUTO)
    private Long id;
    @TableField(exist = false)
    @Excel(name = "序号", headerColor = IndexedColors.BLACK, width = 8)
    private String num;
    /** 档案号 */
    @Excel(name = "档案号", headerColor = IndexedColors.BLACK)
    @Excel(name = "档案号", headerColor = IndexedColors.RED, width = 6)
    private String recordId;
    /** 发问号 */
    @Excel(name = "发文号", headerColor = IndexedColors.BLACK)
    @Excel(name = "发文号", headerColor = IndexedColors.RED, width = 10)
    private String inquiryNumber;
    public String getEveryProjectName() {
@@ -43,32 +46,32 @@
        this.everyProjectName = everyProjectName;
    }
    @Excel(name = "项目名称", headerColor = IndexedColors.BLACK)
  //  @Excel(name = "项目名称", headerColor = IndexedColors.BLACK)
    private String everyProjectName;
    /** 案卷题名 */
    @Excel(name = "案卷题名", headerColor = IndexedColors.BLACK)
    @Excel(name = "案卷题名", headerColor = IndexedColors.RED, width = 10)
    private String caseTitle;
    /** 公开属性 */
    @Excel(name = "公开属性", headerColor = IndexedColors.BLACK)
    @Excel(name = "公开属性", headerColor = IndexedColors.BLACK, width = 8)
    private String publicAttribute;
    /** 编制单位 */
    @Excel(name = "编制单位", headerColor = IndexedColors.BLACK)
    @Excel(name = "编制单位", headerColor = IndexedColors.BLACK, width = 8)
    private String preparationUnit;
    /** 编制日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "编制日期", width = 30, dateFormat = "yyyy-MM-dd", headerColor = IndexedColors.BLACK)
    @Excel(name = "编制日期", width = 11, dateFormat = "yyyy-MM-dd", headerColor = IndexedColors.BLACK)
    private Date preparationDate;
    /** 保管期限 */
    @Excel(name = "保管期限", headerColor = IndexedColors.BLACK)
    @Excel(name = "保管期限", headerColor = IndexedColors.BLACK , width = 8)
    private String retentionPeriod;
    /** 密级 */
    @Excel(name = "密级", headerColor = IndexedColors.BLACK)
    @Excel(name = "密级", headerColor = IndexedColors.BLACK, width = 6)
    private String securityClassification;
@@ -76,43 +79,43 @@
    private String recordStatus;
    /** 案卷页数 */
    @Excel(name = "案卷页数", headerColor = IndexedColors.BLACK)
    @Excel(name = "案卷页数", headerColor = IndexedColors.BLACK, width = 8)
    private Long pageCount;
    /** 立案号 */
    @Excel(name = "立案号", headerColor = IndexedColors.BLACK)
    @Excel(name = "立案号", headerColor = IndexedColors.BLACK, width = 8)
    private String filingNumber;
    /** 建设单位 */
    @Excel(name = "建设单位", headerColor = IndexedColors.BLACK)
    @Excel(name = "建设单位", headerColor = IndexedColors.RED, width = 10)
    private String constructionUnit;
    /** 建设地址 */
    @Excel(name = "建设地址", headerColor = IndexedColors.BLACK)
    @Excel(name = "建设地址", headerColor = IndexedColors.RED, width = 9)
    private String constructionAddress;
    /** 建设项目名称 */
    @Excel(name = "建设项目名称", headerColor = IndexedColors.BLACK)
    @Excel(name = "建设项目名称", headerColor = IndexedColors.RED, width = 14)
    private String projectName;
    /** 项目编号 */
    @Excel(name = "项目编号", headerColor = IndexedColors.BLACK)
    @Excel(name = "项目编号", headerColor = IndexedColors.BLACK, width = 8)
    private String projectNumber;
    /** 扫描加工公司 */
    @Excel(name = "扫描加工公司", headerColor = IndexedColors.BLACK)
    @Excel(name = "扫描加工公司", headerColor = IndexedColors.BLACK, width = 12)
    private String scanningCompany;
    /** 档案管(室)号 */
    @Excel(name = "档案管(室)号", headerColor = IndexedColors.BLACK)
    @Excel(name = "档案管(室)号", headerColor = IndexedColors.BLACK, width = 14)
    private String archiveRoomNumber;
    /** 缩微号 */
    @Excel(name = "缩微号", headerColor = IndexedColors.BLACK)
    @Excel(name = "缩微号", headerColor = IndexedColors.BLACK, width = 8)
    private String microfilmNumber;
    /** 备注 */
    @Excel(name = "备注", headerColor = IndexedColors.BLACK)
    @Excel(name = "备注", headerColor = IndexedColors.BLACK, width = 8)
    private String remarks;
    @TableField(exist = false)
@@ -137,7 +140,7 @@
    @TableField(exist = false)
    private String categoryNumberEnd;
    /** 历史相关发文号 */
    @Excel(name = "历史相关发文号")
    @Excel(name = "历史相关发文号", headerColor = IndexedColors.RED, width = 14)
    private String historicalReferenceNumber;
    @TableField(exist = false)
@@ -410,6 +413,16 @@
        return historicalReferenceNumber;
    }
    public void setNum(String num)
    {
        this.num = num;
    }
    public String getNum()
    {
        return num;
    }
    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
archiveManager/src/main/java/com/ruoyi/domain/vo/ArchiveRecordSmall.java
@@ -8,32 +8,32 @@
public class ArchiveRecordSmall {
    /** 档案号 */
    @Excel(name = "序号", headerColor = IndexedColors.BLACK)
    @Excel(name = "序号", width=10,headerColor = IndexedColors.BLACK)
    private Long num;
    @Excel(name = "立案号", headerColor = IndexedColors.BLACK)
    @Excel(name = "立案号",  width=20,headerColor = IndexedColors.BLACK)
    private String filingNumber;
    /** 档案管(室)号 */
    @Excel(name = "档案发文号_档号", headerColor = IndexedColors.BLACK)
    @Excel(name = "档案发文号_档号", width=21,headerColor = IndexedColors.BLACK)
    private String inqrid;
    /** 案卷题名 */
    @Excel(name = "案卷题名", headerColor = IndexedColors.BLACK)
    @Excel(name = "案卷题名", width=23,headerColor = IndexedColors.BLACK)
    private String caseTitle;
    @Excel(name = "公开属性", headerColor = IndexedColors.BLACK)
    @Excel(name = "公开属性", width=8,headerColor = IndexedColors.BLACK)
    private String publicAttribute;
    /** 缩微号 */
    @Excel(name = "电子文件个数", headerColor = IndexedColors.BLACK)
    @Excel(name = "电子文件个数",width=7, headerColor = IndexedColors.BLACK)
    private Long cnt;
    @Excel(name = "备注", headerColor = IndexedColors.BLACK)
    @Excel(name = "备注", width=5,headerColor = IndexedColors.BLACK)
    private String remarks;
archiveManager/src/main/java/com/ruoyi/mapper/ArchiverecordstouserMapper.java
@@ -32,10 +32,14 @@
    Page<RecordToUserCount> selectRecordToUserPage(Page<RecordToUserCount> page,  @Param("ew") LambdaQueryWrapper<RecordToUserCount> queryWrapper);
    @Select("select ad.user_id, user_name, count(*) as cnt, (select count(*) from archive_records as ar,archiverecordstouser as ats, sys_user as su where ar.record_id= ats.archive_records_id and ats.user_id=su.user_id and su.user_id=sy.user_id and\n" +
            "            record_status='未录入') as swlr,(select count(*) from archive_records as ar,archiverecordstouser as ats, sys_user as su where ar.record_id= ats.archive_records_id and ats.user_id=su.user_id and su.user_id=sy.user_id and\n" +
            "            record_status='录入完成') as ylr from archiverecordstouser as ad, sys_user as sy,archive_records as ard where ad.user_id=sy.user_id and ard.record_id=ad.archive_records_id  group by user_id, user_name\n" +
            " ")
    @Select("select ad.user_id, user_name, count(*) as cnt, (select count(*) from archive_records as ar,archiverecordstouser as ats, sys_user as su where ar.id= ats.archive_records_id and ats.user_id=su.user_id and su.user_id=sy.user_id and\n" +
            "            record_status='未录入') as swlr,\n" +
            "            (select count(*) from archive_records as ar,archiverecordstouser as ats, sys_user as su where ar.id= ats.archive_records_id and ats.user_id=su.user_id and su.user_id=sy.user_id and\n" +
            "            record_status='未上传附件') as wlrf,\n" +
            "             (select count(*) from archive_records as ar,archiverecordstouser as ats, sys_user as su where ar.id= ats.archive_records_id and ats.user_id=su.user_id and su.user_id=sy.user_id and\n" +
            "            record_status='待修改') as dxg,\n" +
            "            (select count(*) from archive_records as ar,archiverecordstouser as ats, sys_user as su where ar.id= ats.archive_records_id and ats.user_id=su.user_id and su.user_id=sy.user_id and\n" +
            "            record_status='录入完成') as ylr from archiverecordstouser as ad, sys_user as sy,archive_records as ard where ad.user_id=sy.user_id and ard.id=ad.archive_records_id group by user_id, user_name")
    List<RecordToUserCount> selectRecordToUserAll();
}
archiveManager/src/main/java/com/ruoyi/mapper/DocumentMaterialsMapper.java
@@ -71,4 +71,16 @@
    //拿到除其它材料之外的全部数据的个数
    @Select("select count(*) FROM document_materials where file_style!='其他材料' and record_id=#{recordId}")
    int getCount(@Param("recordId") int recordId);
    //判断卷内目录是否全部上传了附件
    @Select("select if(num=total_count, true, false) as res from (\n" +
            "SELECT\n" +
            " ROW_NUMBER() OVER (ORDER BY page_number) AS num,  SUM(CASE WHEN dm.url IS NOT NULL THEN 1 ELSE 0 END) OVER() AS total_count\n" +
            " from document_materials as dm, archive_records as ar \n" +
            "         WHERE ar.id = dm.record_id and page_number  IN (SELECT MIN(page_number) \n" +
            "         FROM document_materials where record_id=#{recordId}\n" +
            "         GROUP BY stage, title) and ar.id =#{recordId} order by page_number desc limit 1) as res ")
    Boolean judgeArchiveInfo(   @Param("recordId") int recordId);
}
archiveManager/src/main/java/com/ruoyi/service/IDocumentMaterialsService.java
@@ -97,4 +97,8 @@
    
    //根据页号添加中间记录
    public AjaxResult addMiddleRecordsByPageNumbers(Long recordId, Long maxPageNumber);
    //判断是否已经上传了的附件
    public Boolean judgeInfo(int recordId);
}
archiveManager/src/main/java/com/ruoyi/service/impl/ArchiveRecordsServiceImpl.java
@@ -226,6 +226,11 @@
        Long userid = SecurityUtils.getUserId();
        LambdaQueryWrapper<ArchiveRecords> lambdaQueryWrapper = buildCondition(archiveRecords,userid);
        List<ArchiveRecords> beanRecords = list(lambdaQueryWrapper);
        // 为记录设置序号,从1开始
        for (int i = 0; i < beanRecords.size(); i++) {
            ArchiveRecords record = beanRecords.get(i);
            record.setNum(String.valueOf(i + 1));
        }
        return beanRecords;
    }
archiveManager/src/main/java/com/ruoyi/service/impl/DocumentMaterialsServiceImpl.java
@@ -422,6 +422,12 @@
            return AjaxResult.error("添加中间记录失败:" + e.getMessage());
        }
    }
    @Override
    public Boolean judgeInfo(int recordId) {
            return  this.baseMapper.judgeArchiveInfo(recordId);
    }
}
ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/DocumentMaterialsController.java
@@ -96,6 +96,18 @@
        int cnt = documentMaterialsService.getFileCount(recordId);
        return AjaxResult.success(cnt);
    }
    /**
     * 判断卷内目录是否上传了附件
     */
    @PreAuthorize("@ss.hasPermi('system:materials:list')")
    @GetMapping("/judge/{recordId}")
    public AjaxResult judge(@PathVariable("recordId") Integer recordId)
    {
        Boolean cnt = documentMaterialsService.judgeInfo(recordId);
        return AjaxResult.success(cnt);
    }
    
    /**
     * 根据页号添加中间记录的接口
ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/archiveAllExportController.java
@@ -445,7 +445,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 +464,26 @@
            System.out.println(ids.length);
            System.out.println("------------------");
            for(int i = 0; i < ids.length; i++) {
                System.out.println(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());
                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 +500,26 @@
                }
                //添加07  的pdf
                //pdf目录封面
                String pdfPathF = "07-案卷封面.pdf";
                pdfGenerateService.generatePdf(pdfPathF, ids[i]);
                // 2. 压缩PDF到ZIP文件
                // 添加PDF文件到ZIP
                ZipEntry zipEntry2 = new ZipEntry(fna + adir +"/"+pdfPathF);
                zos.putNextEntry(zipEntry2);
//                String pdfPathF = "07-案卷封面.pdf";
//                pdfGenerateService.generatePdf(pdfPathF, ids[i]);
//                // 2. 压缩PDF到ZIP文件
//                // 添加PDF文件到ZIP
//                ZipEntry zipEntry2 = new ZipEntry(fna + adir +"/"+pdfPathF);
//                zos.putNextEntry(zipEntry2);
//
//                // 读取PDF文件内容并写入ZIP
//                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文件内容并写入ZIP
                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-卷内卷内目录的pdf
                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文件内容并写入ZIP
                    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
@@ -652,6 +645,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();
                    // 将新的Workbook保存为PDF到临时流
                    //   newWorkbook.save(baos, com.aspose.cells.SaveFormat.PDF);
                    wb.save(baos, pdfSaveOptions);
                    // 将PDF添加到ZIP文件
                    ZipEntry entry07 = new ZipEntry(fna + adir +"/"+pdfPathF);
                    zos.putNextEntry(entry07);
                    zos.write(baos.toByteArray());
                    //  zos.closeEntry();
                    // 直接将原始工作簿保存为PDF(只包含可见的工作表)
                    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 +710,7 @@
//            List<ArchiveInfoVo> aivs = new ArrayList<>();
//            aivs.add(aIV);
//            utilsv.byteOutputStreamExcel(boss, aivs,"Date List", "");
                bos2.writeTo(zos);
@@ -691,12 +742,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-卷内卷内目录的pdf
                    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();
                        // 将新的Workbook保存为PDF到临时流
                        //   newWorkbook.save(baos, com.aspose.cells.SaveFormat.PDF);
                        wb1.save(baosm, pdfSaveOptions);
                        // 将PDF添加到ZIP文件
                        ZipEntry entry2 = new ZipEntry(fna + adir +"/"+pdf08Path);
                        zos.putNextEntry(entry2);
                        zos.write(baosm.toByteArray());
                        //  zos.closeEntry();
                        // 直接将原始工作簿保存为PDF(只包含可见的工作表)
                        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);
                    }
                }
                //把excel转为pdf
//
//                //08-卷内卷内目录的pdf
//                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文件内容并写入ZIP
//                    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,7 +842,10 @@
                    //在压缩包中添加文件夹
                    //得到文件名frontCompWithZore(4, dc.get)+
                    String fname = frontCompWithZore(4, dc.getFileNumber().intValue())+"-"+dc.getTitle()+"-"+frontCompWithZore(4,dc.getPageNumber().intValue())+"."
                    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));
@@ -723,15 +855,14 @@
                        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-档案变更材料"))
                        } else if (dc.getStage().equals("05-档案变更材料"))
                        zos.putNextEntry(new ZipEntry(fna + adir + "/05-档案变更材料/"+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);
@@ -1248,6 +1379,7 @@
                System.out.println(filePath);
                File tempFile = new File(filePath);
                //在压缩包中添加文件夹
                if(res) {
                    zos.putNextEntry(new ZipEntry("01-申请材料/"));
ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelExp.java
@@ -12,6 +12,16 @@
    private Class clazz;
    private String recordId;  //档案号
    public String getIos5() {
        return ios5;
    }
    public void setIos5(String ios5) {
        this.ios5 = ios5;
    }
    private String ios5; //ios编号
    private byte[] imgr; //条形码
    public byte[] getSedcode() {
@@ -28,6 +38,14 @@
        this.dataset = dataset;
        this.clazz = clazz;
    }
    public ExcelExp(String fileName, String iso5, List dataset, Class clazz) {
        this.fileName = fileName;
        this.ios5 = iso5;
        this.dataset = dataset;
        this.clazz = clazz;
    }
    public ExcelExp(String fileName, List dataset, String recordId, byte[] imgr, Class clazz) {
        this.fileName = fileName;
ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtilManySheetThird.java
@@ -287,11 +287,11 @@
                int column = 0;
                if(index == 0) {
                    // 合并第一行的前5个单元格
                    sheet.addMergedRegion(new CellRangeAddress(0, 0, 0, 7));
                    sheet.addMergedRegion(new CellRangeAddress(0, 0, 0, 6));
                    // 创建行并设置高度
                     row = sheet.createRow(0);
                    row.setHeight((short)(40 * 40));
                    row.setHeight((short)(20 * 20));
                  //  sheet.addMergedRegion(new CellRangeAddress(1, 1, 0, 7));
@@ -301,6 +301,8 @@
                    CellStyle style = wb.createCellStyle();
                    Font font = wb.createFont();
                    font.setBold(true);
                    font.setFontHeightInPoints((short) 12);
                    font.setFontName("宋体");
                    style.setFont(font);
                    style.setAlignment(HorizontalAlignment.CENTER);
@@ -308,6 +310,7 @@
                    row = sheet.createRow(1);
               //
                    row.createCell(0).setCellValue("ISO编号:");
                    row.createCell(1).setCellValue(list.get(0).getIos5());
                 //   row.createCell(4).setCellValue("档号:");
                    //拿到档号
                    row.createCell(5).setCellValue("");