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 0b1a8d7..b0fe0ab 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 @@ -410,7 +410,7 @@ if (fileName.endsWith(".doc")) { docToDocx(templatePath, templatePath + "x"); templatePath += "x"; - fileName+="x"; + fileName += "x"; } Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); File dir = new File(temDir); @@ -444,7 +444,7 @@ String pathUrl = "D:\\casic"; String localPathUrl = "D:\\casic\\"; // 目标文件地址 - String wordOldUrl = pathUrl + "\\工作记录单.docx"; + String wordOldUrl = pathUrl + "\\219.docx"; Map params = new HashMap<>(); List> assetList = new ArrayList<>(); for (int i = 0; i < 8; i++) { @@ -458,14 +458,19 @@ params.put("logNo", "本编号"); params.put("laboratoryName", "此去半生"); params.put("executiveAddress", "猜猜我在哪里"); + params.put("test", "\uF052"); + params.put("error", "\uF0A3"); + // ○ \u25CB ⊙\u2299 □\u25A1 √\u221A + // 方框对钩\uF052 方框 \uF0A3 Wingdings 2字体 - params.put("test", new TextRenderData("R", new Style("Wingdings 2", 14))); - params.put("error", new TextRenderData("*", new Style("Wingdings 2", 14))); +// params.put("error", new TextRenderData("*","\uF052")); +// params.put("test", new TextRenderData("R", new Style("Wingdings 2", 14))); String newOldUrl = exportWord(wordOldUrl, localPathUrl, "temp.docx", params); //默认转为docx,只需要进行docx的替换即可 String pdfNewUrl = newOldUrl.replaceAll("docx", "pdf"); wordToPdf(newOldUrl, pdfNewUrl); + // //WORD转PDF存放位置 // String pdfNewUrl = localPathUrl + "\\tem.pdf"; // //电子印章图片地址 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 0b1a8d7..b0fe0ab 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 @@ -410,7 +410,7 @@ if (fileName.endsWith(".doc")) { docToDocx(templatePath, templatePath + "x"); templatePath += "x"; - fileName+="x"; + fileName += "x"; } Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); File dir = new File(temDir); @@ -444,7 +444,7 @@ String pathUrl = "D:\\casic"; String localPathUrl = "D:\\casic\\"; // 目标文件地址 - String wordOldUrl = pathUrl + "\\工作记录单.docx"; + String wordOldUrl = pathUrl + "\\219.docx"; Map params = new HashMap<>(); List> assetList = new ArrayList<>(); for (int i = 0; i < 8; i++) { @@ -458,14 +458,19 @@ params.put("logNo", "本编号"); params.put("laboratoryName", "此去半生"); params.put("executiveAddress", "猜猜我在哪里"); + params.put("test", "\uF052"); + params.put("error", "\uF0A3"); + // ○ \u25CB ⊙\u2299 □\u25A1 √\u221A + // 方框对钩\uF052 方框 \uF0A3 Wingdings 2字体 - params.put("test", new TextRenderData("R", new Style("Wingdings 2", 14))); - params.put("error", new TextRenderData("*", new Style("Wingdings 2", 14))); +// params.put("error", new TextRenderData("*","\uF052")); +// params.put("test", new TextRenderData("R", new Style("Wingdings 2", 14))); String newOldUrl = exportWord(wordOldUrl, localPathUrl, "temp.docx", params); //默认转为docx,只需要进行docx的替换即可 String pdfNewUrl = newOldUrl.replaceAll("docx", "pdf"); wordToPdf(newOldUrl, pdfNewUrl); + // //WORD转PDF存放位置 // String pdfNewUrl = localPathUrl + "\\tem.pdf"; // //电子印章图片地址 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 dfd4d8e..ac4df4d 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 @@ -19,6 +19,7 @@ import javax.servlet.http.HttpServletResponse; import java.io.*; +import java.net.URLEncoder; import java.util.List; import java.util.Map; @@ -117,7 +118,7 @@ //封装返回值 byte[] data = out.toByteArray(); response.reset(); - response.setHeader("Content-Disposition", "attachment; filename=\"" +printDocUrl+ "\""); + response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode(file.getName(), "UTF-8")); response.addHeader("Content-Length", "" + data.length); response.setHeader("Access-Control-Allow-Origin", "*"); response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE"); 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 0b1a8d7..b0fe0ab 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 @@ -410,7 +410,7 @@ if (fileName.endsWith(".doc")) { docToDocx(templatePath, templatePath + "x"); templatePath += "x"; - fileName+="x"; + fileName += "x"; } Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); File dir = new File(temDir); @@ -444,7 +444,7 @@ String pathUrl = "D:\\casic"; String localPathUrl = "D:\\casic\\"; // 目标文件地址 - String wordOldUrl = pathUrl + "\\工作记录单.docx"; + String wordOldUrl = pathUrl + "\\219.docx"; Map params = new HashMap<>(); List> assetList = new ArrayList<>(); for (int i = 0; i < 8; i++) { @@ -458,14 +458,19 @@ params.put("logNo", "本编号"); params.put("laboratoryName", "此去半生"); params.put("executiveAddress", "猜猜我在哪里"); + params.put("test", "\uF052"); + params.put("error", "\uF0A3"); + // ○ \u25CB ⊙\u2299 □\u25A1 √\u221A + // 方框对钩\uF052 方框 \uF0A3 Wingdings 2字体 - params.put("test", new TextRenderData("R", new Style("Wingdings 2", 14))); - params.put("error", new TextRenderData("*", new Style("Wingdings 2", 14))); +// params.put("error", new TextRenderData("*","\uF052")); +// params.put("test", new TextRenderData("R", new Style("Wingdings 2", 14))); String newOldUrl = exportWord(wordOldUrl, localPathUrl, "temp.docx", params); //默认转为docx,只需要进行docx的替换即可 String pdfNewUrl = newOldUrl.replaceAll("docx", "pdf"); wordToPdf(newOldUrl, pdfNewUrl); + // //WORD转PDF存放位置 // String pdfNewUrl = localPathUrl + "\\tem.pdf"; // //电子印章图片地址 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 dfd4d8e..ac4df4d 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 @@ -19,6 +19,7 @@ import javax.servlet.http.HttpServletResponse; import java.io.*; +import java.net.URLEncoder; import java.util.List; import java.util.Map; @@ -117,7 +118,7 @@ //封装返回值 byte[] data = out.toByteArray(); response.reset(); - response.setHeader("Content-Disposition", "attachment; filename=\"" +printDocUrl+ "\""); + response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode(file.getName(), "UTF-8")); response.addHeader("Content-Length", "" + data.length); response.setHeader("Access-Control-Allow-Origin", "*"); response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE"); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/data/FilePrintSupport.java b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/data/FilePrintSupport.java index aabfa4c..2eecd74 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/data/FilePrintSupport.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/data/FilePrintSupport.java @@ -217,13 +217,15 @@ //执行关联表“=”号查询 relateBizMapList = moduleFieldMapper.equalRelateBizList(moduleFieldConfig.getTableName(), fieldTableDTOList); } - //健壮性校验 - if (CollectionUtils.isEmpty(relateBizMapList)) { - return; - } //判断是否是用于doc填充 if (ObjectUtils.isNotEmpty(moduleFieldConfig.getDocUse()) && 1 == moduleFieldConfig.getDocUse()) { int count = 1; + //简称 + String shortName = getShortName(moduleFieldConfig.getTableName(), filePrintRegister.getParams()); + //健壮性校验 + if (CollectionUtils.isEmpty(relateBizMapList)) { + return; + } for (Map relateBizMap : relateBizMapList) { convertMapDate(relateBizMap); relateBizMap.put("seq", count++); @@ -232,7 +234,7 @@ for (Map metaDataMap : relateBizMapList) { buildModuleElement(metaDataMap, moduleFieldConfig, filePrintRegister); } - String shortName = getShortName(moduleFieldConfig.getTableName(), filePrintRegister.getParams()); + //判断当前模块信息在单元格中的执行情况 if (StringUtils.isEmpty(moduleFieldConfig.getObjectString())) { //不作为当前一个单元格执行 @@ -319,7 +321,7 @@ for (Map relateBizMap : relateBizMapList) { for (String objectField : objectFieldStr) { relateBizStr += ObjectUtils.isNotEmpty(relateBizMap.get(objectField)) ? - (String) relateBizMap.get(objectField) : "无"; + relateBizMap.get(objectField) : "无"; relateBizStr += ","; } relateBizStr = relateBizStr.substring(0, relateBizStr.length() - 1); @@ -403,7 +405,7 @@ //处理图片信息 List imageMapList = (List) imageMap.get(BIND_KEY_LIST); //判断是否有工作流字段(approvalField,工作流map取出 - ElectronicSignSeal.approvalImage(metaDataMap,imageMap,imageMapList,filePrintRegister); + ElectronicSignSeal.approvalImage(metaDataMap, imageMap, imageMapList, filePrintRegister); //健壮性校验,没有绑定的list结合去掉 Assert.isFalse(ObjectUtils.isEmpty(imageMap.get(BIND_KEY_LIST)), () -> {