Search in sources :

Example 1 with TbSysJreport

use of com.netsteadfast.greenstep.po.hbm.TbSysJreport in project bamboobsc by billchen198318.

the class JReportUtils method fillReportToResponse.

public static void fillReportToResponse(String reportId, Map<String, Object> paramMap, HttpServletResponse response) throws ServiceException, Exception {
    if (StringUtils.isBlank(reportId)) {
        throw new java.lang.IllegalArgumentException("error, reportId is blank");
    }
    TbSysJreport sysJreport = new TbSysJreport();
    sysJreport.setReportId(reportId);
    DefaultResult<TbSysJreport> result = sysJreportService.findEntityByUK(sysJreport);
    if (result.getValue() == null) {
        throw new ServiceException(result.getSystemMessage().getValue());
    }
    sysJreport = result.getValue();
    String jasperFileFullPath = Constants.getDeployJasperReportDir() + "/" + sysJreport.getReportId() + "/" + sysJreport.getReportId() + ".jasper";
    File jasperFile = new File(jasperFileFullPath);
    if (!jasperFile.exists()) {
        jasperFile = null;
        throw new Exception("error, Files are missing : " + jasperFileFullPath);
    }
    InputStream reportSource = new FileInputStream(jasperFile);
    Connection conn = null;
    try {
        conn = DataUtils.getConnection();
        ServletOutputStream ouputStream = response.getOutputStream();
        JasperPrint jasperPrint = JasperFillManager.fillReport(reportSource, paramMap, conn);
        response.setContentType("application/pdf");
        response.setHeader("Content-disposition", "inline; filename=" + sysJreport.getReportId() + ".pdf");
        JRPdfExporter jrPdfExporter = new JRPdfExporter();
        jrPdfExporter.setExporterInput(new SimpleExporterInput(jasperPrint));
        jrPdfExporter.setExporterOutput(new SimpleOutputStreamExporterOutput(ouputStream));
        SimplePdfExporterConfiguration configuration = new SimplePdfExporterConfiguration();
        jrPdfExporter.setConfiguration(configuration);
        configuration.setOwnerPassword(Constants.getEncryptorKey1());
        jrPdfExporter.exportReport();
        ouputStream.flush();
        ouputStream.close();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        DataUtils.doReleaseConnection(conn);
        if (null != reportSource) {
            try {
                reportSource.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        reportSource = null;
        jasperFile = null;
    }
}
Also used : TbSysJreport(com.netsteadfast.greenstep.po.hbm.TbSysJreport) ServletOutputStream(javax.servlet.ServletOutputStream) FileInputStream(java.io.FileInputStream) InputStream(java.io.InputStream) SimpleOutputStreamExporterOutput(net.sf.jasperreports.export.SimpleOutputStreamExporterOutput) JasperPrint(net.sf.jasperreports.engine.JasperPrint) Connection(java.sql.Connection) SimpleExporterInput(net.sf.jasperreports.export.SimpleExporterInput) JRPdfExporter(net.sf.jasperreports.engine.export.JRPdfExporter) IOException(java.io.IOException) JRException(net.sf.jasperreports.engine.JRException) IOException(java.io.IOException) ServiceException(com.netsteadfast.greenstep.base.exception.ServiceException) FileInputStream(java.io.FileInputStream) ServiceException(com.netsteadfast.greenstep.base.exception.ServiceException) SimplePdfExporterConfiguration(net.sf.jasperreports.export.SimplePdfExporterConfiguration) ZipFile(net.lingala.zip4j.core.ZipFile) File(java.io.File)

Example 2 with TbSysJreport

use of com.netsteadfast.greenstep.po.hbm.TbSysJreport in project bamboobsc by billchen198318.

the class JReportUtils method deployReport.

public static void deployReport(SysJreportVO report) throws Exception {
    TbSysJreport destReportObj = new TbSysJreport();
    BeanUtils.copyProperties(destReportObj, report);
    deployReport(destReportObj);
}
Also used : TbSysJreport(com.netsteadfast.greenstep.po.hbm.TbSysJreport)

Example 3 with TbSysJreport

use of com.netsteadfast.greenstep.po.hbm.TbSysJreport in project bamboobsc by billchen198318.

the class JReportUtils method deploy.

public static void deploy() throws ServiceException, Exception {
    logger.info("begin deploy...");
    List<TbSysJreport> reports = sysJreportService.findListByParams(null);
    String reportDeployDirName = Constants.getDeployJasperReportDir() + "/";
    File reportDeployDir = new File(reportDeployDirName);
    try {
        if (reportDeployDir.exists()) {
            logger.warn("delete " + reportDeployDirName);
            FileUtils.forceDelete(reportDeployDir);
        }
        logger.warn("mkdir " + reportDeployDirName);
        FileUtils.forceMkdir(reportDeployDir);
        for (TbSysJreport report : reports) {
            deployReport(report);
        }
    } catch (IOException e) {
        e.printStackTrace();
        logger.error(e.getMessage().toString());
    }
    reportDeployDir = null;
    logger.info("end deploy...");
}
Also used : TbSysJreport(com.netsteadfast.greenstep.po.hbm.TbSysJreport) IOException(java.io.IOException) ZipFile(net.lingala.zip4j.core.ZipFile) File(java.io.File)

Aggregations

TbSysJreport (com.netsteadfast.greenstep.po.hbm.TbSysJreport)3 File (java.io.File)2 IOException (java.io.IOException)2 ZipFile (net.lingala.zip4j.core.ZipFile)2 ServiceException (com.netsteadfast.greenstep.base.exception.ServiceException)1 FileInputStream (java.io.FileInputStream)1 InputStream (java.io.InputStream)1 Connection (java.sql.Connection)1 ServletOutputStream (javax.servlet.ServletOutputStream)1 JRException (net.sf.jasperreports.engine.JRException)1 JasperPrint (net.sf.jasperreports.engine.JasperPrint)1 JRPdfExporter (net.sf.jasperreports.engine.export.JRPdfExporter)1 SimpleExporterInput (net.sf.jasperreports.export.SimpleExporterInput)1 SimpleOutputStreamExporterOutput (net.sf.jasperreports.export.SimpleOutputStreamExporterOutput)1 SimplePdfExporterConfiguration (net.sf.jasperreports.export.SimplePdfExporterConfiguration)1