diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/FilePrintRegisterUtils.java b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/FilePrintRegisterUtils.java index 42ddef7..8ca3a0e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/FilePrintRegisterUtils.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/FilePrintRegisterUtils.java @@ -1,6 +1,7 @@ package com.casic.missiles.service.listeners.register; import cn.hutool.core.lang.Assert; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.casic.missiles.dto.certificate.ElectronicImage; @@ -58,22 +59,28 @@ //1、按照模板填充数据,并导出word,执行填充行数之后,再进行页数的填充 String wordOldUrl = exportWord(filePrintRegister.getTemDir(), filePrintRegister.getFileNames(), filePrintRegister.getParams(), filePrintRegister.getMergeColNames()); + log.debug("执行完填充参数操作......"); if (CollectionUtils.isNotEmpty(filePrintRegister.getElectronicImageList())) { - //按关键字进行分组 - Map> sameKeyWordSealMaps = filePrintRegister.getElectronicImageList().stream() - .filter(electronicImage -> StringUtils.isNotEmpty(electronicImage.getKeyWord())) - .collect( - Collectors.groupingBy(ElectronicImage::getKeyWord) - ); - //3、根据关键字进行添加签章和签字 - selectSeal = addSameKeyWordStamp(wordOldUrl, wordOldUrl, sameKeyWordSealMaps); - //获取没有关键字的图片,即绝对路径的图片 - List absolutePathImageList = filePrintRegister.getElectronicImageList().stream() - .filter(electronicImage -> StringUtils.isEmpty(electronicImage.getKeyWord())) - .collect(Collectors.toList()); - //根据设置的绝对路径进行图片的填充 - addAbsolutePathStamp(wordOldUrl, wordOldUrl, absolutePathImageList); + try { + //按关键字进行分组 + Map> sameKeyWordSealMaps = filePrintRegister.getElectronicImageList().stream() + .filter(electronicImage -> StringUtils.isNotEmpty(electronicImage.getKeyWord())) + .collect( + Collectors.groupingBy(ElectronicImage::getKeyWord) + ); + //3、根据关键字进行添加签章和签字 + selectSeal = addSameKeyWordStamp(wordOldUrl, wordOldUrl, sameKeyWordSealMaps); + //获取没有关键字的图片,即绝对路径的图片 + List absolutePathImageList = filePrintRegister.getElectronicImageList().stream() + .filter(electronicImage -> StringUtils.isEmpty(electronicImage.getKeyWord())) + .collect(Collectors.toList()); + //根据设置的绝对路径进行图片的填充 + addAbsolutePathStamp(wordOldUrl, wordOldUrl, absolutePathImageList); + }catch (Exception ex){ + log.error("关键字异常,异常信息{}",ex); + } } + log.debug("执行完路径设置操作操作"); //如果有骑缝章新增骑缝章 return checkExtendSeal(wordOldUrl, selectSeal, filePrintRegister); } @@ -197,7 +204,7 @@ * @param pdfNewUrl 存储新PDF文件路径 */ public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { - PdfUtils.doc2pdf(wordNewUrl,pdfNewUrl); + PdfUtils.doc2pdf(wordNewUrl, pdfNewUrl); // 将新Word文档转换为PDF文件 // Document document = new Document(); // document.loadFromFile(wordNewUrl); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/FilePrintRegisterUtils.java b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/FilePrintRegisterUtils.java index 42ddef7..8ca3a0e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/FilePrintRegisterUtils.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/FilePrintRegisterUtils.java @@ -1,6 +1,7 @@ package com.casic.missiles.service.listeners.register; import cn.hutool.core.lang.Assert; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.casic.missiles.dto.certificate.ElectronicImage; @@ -58,22 +59,28 @@ //1、按照模板填充数据,并导出word,执行填充行数之后,再进行页数的填充 String wordOldUrl = exportWord(filePrintRegister.getTemDir(), filePrintRegister.getFileNames(), filePrintRegister.getParams(), filePrintRegister.getMergeColNames()); + log.debug("执行完填充参数操作......"); if (CollectionUtils.isNotEmpty(filePrintRegister.getElectronicImageList())) { - //按关键字进行分组 - Map> sameKeyWordSealMaps = filePrintRegister.getElectronicImageList().stream() - .filter(electronicImage -> StringUtils.isNotEmpty(electronicImage.getKeyWord())) - .collect( - Collectors.groupingBy(ElectronicImage::getKeyWord) - ); - //3、根据关键字进行添加签章和签字 - selectSeal = addSameKeyWordStamp(wordOldUrl, wordOldUrl, sameKeyWordSealMaps); - //获取没有关键字的图片,即绝对路径的图片 - List absolutePathImageList = filePrintRegister.getElectronicImageList().stream() - .filter(electronicImage -> StringUtils.isEmpty(electronicImage.getKeyWord())) - .collect(Collectors.toList()); - //根据设置的绝对路径进行图片的填充 - addAbsolutePathStamp(wordOldUrl, wordOldUrl, absolutePathImageList); + try { + //按关键字进行分组 + Map> sameKeyWordSealMaps = filePrintRegister.getElectronicImageList().stream() + .filter(electronicImage -> StringUtils.isNotEmpty(electronicImage.getKeyWord())) + .collect( + Collectors.groupingBy(ElectronicImage::getKeyWord) + ); + //3、根据关键字进行添加签章和签字 + selectSeal = addSameKeyWordStamp(wordOldUrl, wordOldUrl, sameKeyWordSealMaps); + //获取没有关键字的图片,即绝对路径的图片 + List absolutePathImageList = filePrintRegister.getElectronicImageList().stream() + .filter(electronicImage -> StringUtils.isEmpty(electronicImage.getKeyWord())) + .collect(Collectors.toList()); + //根据设置的绝对路径进行图片的填充 + addAbsolutePathStamp(wordOldUrl, wordOldUrl, absolutePathImageList); + }catch (Exception ex){ + log.error("关键字异常,异常信息{}",ex); + } } + log.debug("执行完路径设置操作操作"); //如果有骑缝章新增骑缝章 return checkExtendSeal(wordOldUrl, selectSeal, filePrintRegister); } @@ -197,7 +204,7 @@ * @param pdfNewUrl 存储新PDF文件路径 */ public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { - PdfUtils.doc2pdf(wordNewUrl,pdfNewUrl); + PdfUtils.doc2pdf(wordNewUrl, pdfNewUrl); // 将新Word文档转换为PDF文件 // Document document = new Document(); // document.loadFromFile(wordNewUrl); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/PrintFileRegister.java b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/PrintFileRegister.java index ddde53d..08fdbfc 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/PrintFileRegister.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/PrintFileRegister.java @@ -66,7 +66,7 @@ Long moduleIdValue, Map customParam, Boolean isPdf, HttpServletResponse response, List customTemplateUrls) { //多线程验证 - log.info("我进来...,模块类型{}", moduleType); + log.debug("我进来...,模块名称{},模块类型{},模块参数{}", moduleName, moduleType, JSON.toJSON(customParam)); String tempLocalFileDir = localFileDir; Assert.isFalse(StringUtils.isEmpty(moduleName), () -> { throw new RuntimeException("the moduleName is null,please check your params..."); @@ -91,10 +91,12 @@ downTemplateFile(fileName, tempLocalFileDir); } } + log.debug("执行结束下载操作,下载内容为{}", JSON.toJSON(filePrintRegister.getBeDownloadedFileNames())); String printDocUrl = null, miniName = ""; //合并注册 try { printDocUrl = FilePrintRegisterUtils.filePrintGenerate(filePrintRegister); + //当有骑缝章,强制执行为word文档 if (isPdf && printDocUrl.contains("docx")) { //默认转为docx,只需要进行docx的替换即可 diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/FilePrintRegisterUtils.java b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/FilePrintRegisterUtils.java index 42ddef7..8ca3a0e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/FilePrintRegisterUtils.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/FilePrintRegisterUtils.java @@ -1,6 +1,7 @@ package com.casic.missiles.service.listeners.register; import cn.hutool.core.lang.Assert; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.casic.missiles.dto.certificate.ElectronicImage; @@ -58,22 +59,28 @@ //1、按照模板填充数据,并导出word,执行填充行数之后,再进行页数的填充 String wordOldUrl = exportWord(filePrintRegister.getTemDir(), filePrintRegister.getFileNames(), filePrintRegister.getParams(), filePrintRegister.getMergeColNames()); + log.debug("执行完填充参数操作......"); if (CollectionUtils.isNotEmpty(filePrintRegister.getElectronicImageList())) { - //按关键字进行分组 - Map> sameKeyWordSealMaps = filePrintRegister.getElectronicImageList().stream() - .filter(electronicImage -> StringUtils.isNotEmpty(electronicImage.getKeyWord())) - .collect( - Collectors.groupingBy(ElectronicImage::getKeyWord) - ); - //3、根据关键字进行添加签章和签字 - selectSeal = addSameKeyWordStamp(wordOldUrl, wordOldUrl, sameKeyWordSealMaps); - //获取没有关键字的图片,即绝对路径的图片 - List absolutePathImageList = filePrintRegister.getElectronicImageList().stream() - .filter(electronicImage -> StringUtils.isEmpty(electronicImage.getKeyWord())) - .collect(Collectors.toList()); - //根据设置的绝对路径进行图片的填充 - addAbsolutePathStamp(wordOldUrl, wordOldUrl, absolutePathImageList); + try { + //按关键字进行分组 + Map> sameKeyWordSealMaps = filePrintRegister.getElectronicImageList().stream() + .filter(electronicImage -> StringUtils.isNotEmpty(electronicImage.getKeyWord())) + .collect( + Collectors.groupingBy(ElectronicImage::getKeyWord) + ); + //3、根据关键字进行添加签章和签字 + selectSeal = addSameKeyWordStamp(wordOldUrl, wordOldUrl, sameKeyWordSealMaps); + //获取没有关键字的图片,即绝对路径的图片 + List absolutePathImageList = filePrintRegister.getElectronicImageList().stream() + .filter(electronicImage -> StringUtils.isEmpty(electronicImage.getKeyWord())) + .collect(Collectors.toList()); + //根据设置的绝对路径进行图片的填充 + addAbsolutePathStamp(wordOldUrl, wordOldUrl, absolutePathImageList); + }catch (Exception ex){ + log.error("关键字异常,异常信息{}",ex); + } } + log.debug("执行完路径设置操作操作"); //如果有骑缝章新增骑缝章 return checkExtendSeal(wordOldUrl, selectSeal, filePrintRegister); } @@ -197,7 +204,7 @@ * @param pdfNewUrl 存储新PDF文件路径 */ public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { - PdfUtils.doc2pdf(wordNewUrl,pdfNewUrl); + PdfUtils.doc2pdf(wordNewUrl, pdfNewUrl); // 将新Word文档转换为PDF文件 // Document document = new Document(); // document.loadFromFile(wordNewUrl); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/PrintFileRegister.java b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/PrintFileRegister.java index ddde53d..08fdbfc 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/PrintFileRegister.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/PrintFileRegister.java @@ -66,7 +66,7 @@ Long moduleIdValue, Map customParam, Boolean isPdf, HttpServletResponse response, List customTemplateUrls) { //多线程验证 - log.info("我进来...,模块类型{}", moduleType); + log.debug("我进来...,模块名称{},模块类型{},模块参数{}", moduleName, moduleType, JSON.toJSON(customParam)); String tempLocalFileDir = localFileDir; Assert.isFalse(StringUtils.isEmpty(moduleName), () -> { throw new RuntimeException("the moduleName is null,please check your params..."); @@ -91,10 +91,12 @@ downTemplateFile(fileName, tempLocalFileDir); } } + log.debug("执行结束下载操作,下载内容为{}", JSON.toJSON(filePrintRegister.getBeDownloadedFileNames())); String printDocUrl = null, miniName = ""; //合并注册 try { printDocUrl = FilePrintRegisterUtils.filePrintGenerate(filePrintRegister); + //当有骑缝章,强制执行为word文档 if (isPdf && printDocUrl.contains("docx")) { //默认转为docx,只需要进行docx的替换即可 diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/data/GenericFilePrintProcessor.java b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/data/GenericFilePrintProcessor.java index 795eaf0..f6e109c 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/data/GenericFilePrintProcessor.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/data/GenericFilePrintProcessor.java @@ -9,6 +9,7 @@ import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.file.ModuleFieldConfig; import com.casic.missiles.model.file.ModuleTemplatePrintConfig; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Component; @@ -21,6 +22,7 @@ * @date 2023-8-9 */ @Component +@Slf4j public class GenericFilePrintProcessor extends FilePrintSupport { /** @@ -39,6 +41,7 @@ moduleIdValue = ObjectUtils.isEmpty(moduleIdValue) ? (Long) customParam.get("id") : moduleIdValue; //根据打印模板配置,初始化文件打印注册信息 FilePrintRegister filePrintRegister = initialization(templateFileDir, moduleIdValue, moduleTemplatePrintConfig); + log.debug("执行定制化参数,初始化的模板参数为{}",JSON.toJSON(filePrintRegister)); if (customParam != null) { Assert.isFalse(ObjectUtils.isEmpty(customParam), () -> { throw new RuntimeException("没有文件数据,请确保有数据后重试!");