Index: ssts-web/src/main/webapp/jasperRtp/jasperreportsView.jsp =================================================================== diff -u -r14741 -r15210 --- ssts-web/src/main/webapp/jasperRtp/jasperreportsView.jsp (.../jasperreportsView.jsp) (revision 14741) +++ ssts-web/src/main/webapp/jasperRtp/jasperreportsView.jsp (.../jasperreportsView.jsp) (revision 15210) @@ -65,28 +65,31 @@ - function print(){ - - JasperreportsTableManager.getReportFileContent(function(printContent){ - var LODOP; //声明为全局变量 - LODOP = getLodop(document.getElementById('LODOP'), document.getElementById('LODOP_EM')); - LODOP.SET_SHOW_MODE("HIDE_PAPER_BOARD",1); - //LODOP.PRINT_INIT("打印控件功能演示_Lodop功能_按网址打印"); - //LODOP.ADD_PRINT_URL(30, 20, 746, "100%", "http://127.0.0.1:8088/jasperRtp/monthDetail_main_1.html"); - var array = printContent; - for(var i = 0;i"+array[i]+"
"); - LODOP.NEWPAGE(); - } - // LODOP.ADD_PRINT_HTM(0, 0, "100%", "100%",printContent); - //re=/^'"+array[i]+"
"); + LODOP.NEWPAGE(); + } + // LODOP.ADD_PRINT_HTM(0, 0, "100%", "100%",printContent); + //re=/^' @@ -105,11 +108,14 @@ int pageIndex = 0; int lastPageIndex = 0; String timeStamp = request.getParameter("currentTime"); + String reportName = ""; //报表的名称 try{ if(timeStamp == null ){ timeStamp = ""; } JasperPrint jasperPrint = (JasperPrint)session.getAttribute("JasperPrint"+timeStamp); + reportName = jasperPrint.getName(); + if(jasperPrint != null){ session.setAttribute(ImageServlet.DEFAULT_JASPER_PRINT_SESSION_ATTRIBUTE,jasperPrint); String currentTime = new Date().toString(); @@ -122,9 +128,11 @@ } String pageStr = request.getParameter("pageIndex"); + try{ if( pageStr != null) pageIndex = Integer.parseInt(pageStr); + session.setAttribute("pageIndex", pageIndex); }catch(Exception e){ } @@ -165,9 +173,16 @@
- "; + printContent = StringTools.replaceLast(printContent, regex, ""); + } + pageCodeArray.add(printContent); + } catch (JRException e) { + e.printStackTrace(); + } + } + } else { //打印当前页 StringBuffer sbuffer = new StringBuffer(); exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint); exporter.setParameter(JRExporterParameter.OUTPUT_STRING_BUFFER, sbuffer); exporter.setParameter(JRHtmlExporterParameter.IMAGES_URI, "../servlets/image?image="); exporter.setParameter(JRHtmlExporterParameter.BETWEEN_PAGES_HTML, ""); - exporter.setParameter(JRExporterParameter.PAGE_INDEX, new Integer(i)); + exporter.setParameter(JRExporterParameter.PAGE_INDEX, new Integer(pageIndex)); try { exporter.exportReport(); String printContent = sbuffer.toString(); - if(i == (pageSize-1)){//处理最后一页table无底线(因为表格数据不够,用图片代替时,图片将table的底线遮住了,现将图片去掉) + + if(pageIndex == (pageSize-1)){ //处理最后一页table无底线(因为表格数据不够,用图片代替时,图片将table的底线遮住了,现将图片去掉) String regex = ""; printContent = StringTools.replaceLast(printContent, regex, ""); } + pageCodeArray.add(printContent); } catch (JRException e) { e.printStackTrace(); } } return pageCodeArray; } + return null; }
- - + + + <% + if (!reportName.equals("apparatusInfusionisType")) { + %> + <%-- --%> + + <% + } + %> 第<%=pageIndex+1%>页,共<%=lastPageIndex+1%>页 Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/dwr/table/JasperreportsTableManager.java =================================================================== diff -u -r12331 -r15210 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/dwr/table/JasperreportsTableManager.java (.../JasperreportsTableManager.java) (revision 12331) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/dwr/table/JasperreportsTableManager.java (.../JasperreportsTableManager.java) (revision 15210) @@ -30,35 +30,69 @@ this.goodsOptionManager = goodsOptionManager; } - public List getReportFileContent(HttpServletRequest request) { + public List getReportFileContent(boolean printAll, HttpServletRequest request) { if(request != null){ HttpSession session = request.getSession(); + + // + int pageIndex = 0; + if (session.getAttribute("pageIndex") != null) { + pageIndex = Integer.parseInt(session.getAttribute("pageIndex").toString()); + } + + String attributeName = ImageServlet.DEFAULT_JASPER_PRINT_SESSION_ATTRIBUTE; JasperPrint jasperPrint = (JasperPrint)session.getAttribute(attributeName); JRHtmlExporter exporter = new JRHtmlExporter(); int pageSize = jasperPrint.getPages().size(); + List pageCodeArray = new ArrayList(); - for (int i = 0; i < pageSize; i++) {//遍历打印页 + + + if (printAll) { //打印全部 + for (int i = 0; i < pageSize; i++) {//遍历打印页 + StringBuffer sbuffer = new StringBuffer(); + exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint); + exporter.setParameter(JRExporterParameter.OUTPUT_STRING_BUFFER, sbuffer); + exporter.setParameter(JRHtmlExporterParameter.IMAGES_URI, "../servlets/image?image="); + exporter.setParameter(JRHtmlExporterParameter.BETWEEN_PAGES_HTML, ""); + exporter.setParameter(JRExporterParameter.PAGE_INDEX, new Integer(i)); + try { + exporter.exportReport(); + String printContent = sbuffer.toString(); + if(i == (pageSize-1)){//处理最后一页table无底线(因为表格数据不够,用图片代替时,图片将table的底线遮住了,现将图片去掉) + String regex = "\"\"\"\"