| | |
| | | import com.ots.project.tool.exam.ExamUtil; |
| | | import com.ots.project.tool.exam.ImageUtil; |
| | | import com.ots.project.tool.exam.ZipUtil; |
| | | import com.ots.project.tool.libreoffice.LibreOfficeUtil; |
| | | import com.ots.project.tool.report.MAQTR.chart.MAQTRChart; |
| | | import com.ots.project.tool.report.PAQ.chart.PAQChart; |
| | | import org.apache.commons.collections.map.HashedMap; |
| | |
| | | if(tableEnum == TableEnum.table4){ |
| | | if(tableNum != null && tableNum != 8){ |
| | | for (int i = tableNum; i <= tableNum + 4; i++) { |
| | | if(i+2 > table.getRows().size()){ |
| | | continue; |
| | | } |
| | | XWPFTableRow row = table.getRows().get(i+2); |
| | | List<XWPFTableCell> cells = row.getTableCells(); |
| | | changeText(cells.get(0).getParagraphs().get(0),"#"+(i+1)+"."); |
| | |
| | | if(StringUtils.contains(keyValue, "%table-line-feed%")){ |
| | | String[] keyValues = keyValue.split("%table-line-feed%"); |
| | | runValue = delDynList(keyTemp, Arrays.asList(keyValues), paragraph, document,1); |
| | | }else{ |
| | | }else if(StringUtils.contains(keyValue, "%line-feed%")){ |
| | | String[] keyValues = keyValue.split("%line-feed%"); |
| | | runValue = delDynList(keyTemp, Arrays.asList(keyValues), paragraph, document,0); |
| | | } |
| | |
| | | reportType = getTypeIfIsSAQ(tReportTemplate, reportType); |
| | | reportType = getPositionIfJAQ(textMap, reportType); |
| | | reportName = textMap.get("sendEmailFileName") + "_" + reportType + "_" + ReportTypeNameEnum.valueOf(tReportTemplate.getTemplateType()).getCode() + "_" + ReportTypeNameEnum.valueOf(tReportTemplate.getLangType()).getCode() + ".docx"; |
| | | |
| | | reportName = reportName.replaceAll(" ", "_"); |
| | | out = getDownLoadFileOutputStream(reportName); |
| | | |
| | | log.info("reportTemplate:" + fileName); |
| | | //String templateType = tReportTemplate.getTemplateType(); |
| | | setChageWord(fileName, out, textMap, tReportTemplate.getReportType(),tReportTemplate.getDataPath(), autoTableMap); |
| | | out.flush(); |
| | | changColorIfJAQ(textMap, out, reportName, tReportTemplate.getReportType()); |
| | | //模板文件需要加锁 |
| | | out = getDownLoadFileOutputStream(reportName); |
| | | //synchronized (fileName.intern()){ |
| | | //String templateType = tReportTemplate.getTemplateType(); |
| | | setChageWord(fileName, out, textMap, tReportTemplate.getReportType(),tReportTemplate.getDataPath(), autoTableMap); |
| | | out.flush(); |
| | | changColorIfJAQ(textMap, out, reportName, tReportTemplate.getReportType()); |
| | | //} |
| | | |
| | | //PAQ、MAQTR采用新的doc转pdf |
| | | if(ReportTypeEnum.PAQ.getCode().equals(reportType) || ReportTypeEnum.MAQTR.getCode().equals(reportType)){ |
| | | PdfUtil.convertPDF(EssConfig.getProfile() + "/" + reportName); |
| | | }else{ |
| | | ShellTool.execLibreofficeCommand("pdf", EssConfig.getProfile() + "/" + reportName, EssConfig.getProfile() + "/"); |
| | | // ShellTool shellTool = ShellTool.builder(); |
| | | // shellTool.execNewLibreofficeCommand("pdf", EssConfig.getProfile() + "/" + reportName, EssConfig.getProfile() + "/" + reportName.replace("docx","pdf")); |
| | | |
| | | //新方法测试 |
| | | //LibreOfficeUtil.convertOffice2PDFSyncIsSuccess(new File(EssConfig.getProfile() + "/" + reportName),new File(EssConfig.getProfile() + "/" + reportName.replace("docx","pdf"))); |
| | | } |
| | | zipFilePath = getPdfPath(reportName); |
| | | |
| | |
| | | |
| | | String key = "%" + textSet.getKey() + "%"; |
| | | if (text.indexOf(key) != -1) { |
| | | text = text.replaceAll(key, (String) textMap.get(textSet.getKey())); |
| | | text = text.replaceAll(key, String.valueOf(textMap.get(textSet.getKey()))); |
| | | repText = text; |
| | | if (checkText(text)) { |
| | | continue; |
| | |
| | | if (ExamUtil.isListEmpty(charts)) { |
| | | return; |
| | | } |
| | | if (StringUtils.equals(reportType, ReportTypeEnum.MAQ.getCode())) { |
| | | setMAQCompleteChars(textMap, charts); |
| | | } else if (StringUtils.equals(reportType, ReportTypeEnum.MAQV2.getCode()) || StringUtils.equals(reportType, ReportTypeEnum.MAQIAR.getCode())) { |
| | | setMAQ_V2CompleteChars(textMap, charts); |
| | | } else if (StringUtils.equals(reportType, ReportTypeEnum.RuiLin.getCode())) { |
| | | setRuiLinChar(textMap, charts); |
| | | } else if (StringUtils.equals(reportType, ReportTypeEnum.PAQ.getCode())) { |
| | | PAQChart.changeChart(document, textMap); |
| | | } else if (StringUtils.equals(reportType, ReportTypeEnum.MAQTR.getCode())) { |
| | | MAQTRChart.changeMAQTRChart(document, dataPath); |
| | | } else { |
| | | return; |
| | | try{ |
| | | if (StringUtils.equals(reportType, ReportTypeEnum.MAQ.getCode())) { |
| | | setMAQCompleteChars(textMap, charts); |
| | | } else if (StringUtils.equals(reportType, ReportTypeEnum.MAQV2.getCode()) || StringUtils.equals(reportType, ReportTypeEnum.MAQIAR.getCode())) { |
| | | setMAQ_V2CompleteChars(textMap, charts); |
| | | } else if (StringUtils.equals(reportType, ReportTypeEnum.RuiLin.getCode())) { |
| | | setRuiLinChar(textMap, charts); |
| | | } else if (StringUtils.equals(reportType, ReportTypeEnum.PAQ.getCode())) { |
| | | PAQChart.changeChart(document, textMap); |
| | | } else if (StringUtils.equals(reportType, ReportTypeEnum.MAQTR.getCode())) { |
| | | MAQTRChart.changeMAQTRChart(document, dataPath); |
| | | } else { |
| | | return; |
| | | } |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | } |
| | | |
| | | } |
| | | private static void setMAQ_V2CompleteChars(Map<String, Object> textMap, List<XWPFChart> charts) { |
| | | String p_Task31 = textMap.get("P_Task31").toString(); |
| | |
| | | |
| | | //更改表格的值 |
| | | textMap.put("sendEmailFileName", "JAQ"); |
| | | textMap.put("SelectUsers",8); |
| | | //changeTable(document, textMap); |
| | | |
| | | |
| | | changeText(document, textMap); |
| | | changeTextBox(document, textMap); |
| | | addTableValue(document, null); |
| | | changeTable(document, textMap); |
| | | //changChart(textMap, document, reportType, dataPath); |
| | | |
| | | //建立文件对象 |
| | | File file = new File("C:\\Users\\Administrator\\Desktop\\JAQ中文版1.docx"); |