private String createTimeCardReport(ReportVo reportVo, List<DocumentVo> documentVos) { if (documentVos == null) return ""; HtmlGenerator htmlGenerator = new HtmlGenerator(); Map<String, Object> variables = new HashMap<String, Object>(); String timeCardReportHead = null; Template timeCardReportTable = null; Template timeCardReportTr = null; StringBuffer timeCardReportTableStrs = new StringBuffer(); int index = 0; String templateHead = "config/templates/" + reportVo.getReportType() + "_head.html"; String templateTable = "config/templates/" + reportVo.getReportType() + "_table.html"; String templateTr = "config/templates/" + reportVo.getReportType() + "_tr.html"; try { for (DocumentVo documentVo : documentVos) { variables = documentVo.fillDataMap(); if (index == 0) { timeCardReportHead = htmlGenerator.generate(templateHead, variables); timeCardReportTable = htmlGenerator.generate(templateTable); timeCardReportTr = htmlGenerator.generate(templateTr); } String timeCardReportTableStr = htmlGenerator.generate(timeCardReportTable, variables); timeCardReportTableStrs.append( timeCardReportTableStr.replace( "#tr#", createTimeCardTrReport(timeCardReportTr, documentVo, htmlGenerator))); } return timeCardReportHead.replace("#table#", timeCardReportTableStrs.toString()); } catch (IOException e) { e.printStackTrace(); } catch (TemplateException e) { e.printStackTrace(); } return ""; }
private String createTimeCardTrReport( Template timeCardReportTr, DocumentVo documentVo, HtmlGenerator htmlGenerator) { try { Map<String, Object> variables = new HashMap<String, Object>(); variables = documentVo.fillDataMap(); StringBuffer timeCardReportTrStr = new StringBuffer(); timeCardReportTrStr.append(htmlGenerator.generate(timeCardReportTr, variables)); return timeCardReportTrStr.toString(); } catch (IOException e) { e.printStackTrace(); } catch (TemplateException e) { e.printStackTrace(); } return ""; }