Jump to content

SubReports jasper does not shown up from jar files


youssefboukir5

Recommended Posts

when i run my jar file i get this error : net.sf.jasperreports.engine.JRRuntimeException: net.sf.jasperreports.engine.JRException: Error opening input stream from URL: file:/C:/Users/DEV/OneDrive/Bureau/KPIXO-APP/backend-Kpixo-Siannna/target/kpixo-0.0.1-SNAPSHOT.war!/WEB-INF/classes!/jasperReport/informationsqlt/8DInformation.jasper.public byte[] generateReport(Long id) throws FileNotFoundException, JRException {    JasperPrint empReport = new JasperPrint();    try {        CLassHuitD huitD = getHuitDById(id);        Map<String, Object> parameters = new HashMap<>();        ArrayList<Map<String, Object>> informationQeneral = new ArrayList<Map<String, Object>>();        if(huitD.getClass().getName().equalsIgnoreCase("com.absixo.kpixo.entities.analyseHuitD.QualiteHuitD")){            log.info("entred 1");            getInformationQLT(huitD,informationQeneral);            parameters.put("NameReportInformation", getClass().getResource("/jasperReport/informationsqlt/").getPath());            parameters.put("type8D", "Qualité");        }else{            log.info("entred 2");            getInformationHSE(huitD,informationQeneral);            parameters.put("type8D", "HSE");            parameters.put("NameReportInformation",  getClass().getResource("/jasperReport/informationshse/").getPath());        }        log.info("entred 3");        //Add general information of 8D to the list        DateFormat dateFormat = new SimpleDateFormat("yyyy-mm-dd");        parameters.put("title", huitD.getTitre());        if(huitD.getTypeReclamation().equals(true)){            parameters.put("typeReclamation", "Interne");        }else{            parameters.put("typeReclamation", "Externe");        }        parameters.put("zoneConcerne", huitD.getZoneConcerne()==null?"":huitD.getZoneConcerne().getNom());        parameters.put("nomClient", huitD.getNomClient()==null ? "" : huitD.getNomClient());        parameters.put("dateOuverture",dateFormat.format(Date.from(huitD.getDateOuverture().atStartOfDay(defaultZoneId).toInstant())));        if(huitD.getEquipeHuitD()!=null){            parameters.put("responsable", huitD.getEquipeHuitD().getResponsable().getFullName());        }        log.info("entred 3");        //Add problem to the list        if(huitD.getProbleme()!=null){            parameters.put("qui", huitD.getProbleme().getQui());            parameters.put("comment", huitD.getProbleme().getComment());            parameters.put("quoi", huitD.getProbleme().getQuoi());            parameters.put("quand", Date.from(huitD.getProbleme().getQuand().atZone(ZoneId.systemDefault()).toInstant()));            parameters.put("prblmOu", huitD.getProbleme().getLieu());            parameters.put("zone", huitD.getProbleme().getZone().getNom());        }        log.info("entred 4");        parameters.put("SUBREPORT3", getClass().getResource("/jasperReport/").getPath());        parameters.put("iconsPath", getClass().getResource("/jasperReport/icons/").getPath());        log.info("entred 41");        //Get 8D Team        ArrayList<Map<String, Object>> d1Team = new ArrayList<Map<String, Object>>();        if(huitD.getEquipeHuitD()!=null){            get8DTeam(huitD,d1Team);        }        log.info("entred 42");        // Get data of closing 8D        ArrayList<Map<String, Object>> d8cmtList = new ArrayList<Map<String, Object>>();        if(huitD.getCloture()!=null){            getHuitDCloture(huitD.getCloture(),parameters,d8cmtList);        }        log.info("entred 5");        //initialization of the ishikawa list        ArrayList<Map<String, Object>> ishikawaList1 = new ArrayList<Map<String, Object>>();        ArrayList<Map<String, Object>> ishikawaList2 = new ArrayList<Map<String, Object>>();        ArrayList<Map<String, Object>> ishikawaList3 = new ArrayList<Map<String, Object>>();        ArrayList<Map<String, Object>> ishikawaList4 = new ArrayList<Map<String, Object>>();        ArrayList<Map<String, Object>> ishikawaList5 = new ArrayList<Map<String, Object>>();        ArrayList<Map<String, Object>> ishikawaList6 = new ArrayList<Map<String, Object>>();        //initialization of the prq list        ArrayList<Map<String, Object>> prq1List = new ArrayList<Map<String, Object>>();        ArrayList<Map<String, Object>> prq2List = new ArrayList<Map<String, Object>>();        ArrayList<Map<String, Object>> prq3List = new ArrayList<Map<String, Object>>();        ArrayList<Map<String, Object>> prq4List = new ArrayList<Map<String, Object>>();        ArrayList<Map<String, Object>> prq5List = new ArrayList<Map<String, Object>>();        if(huitD.getCauseRacine()!=null){            if(huitD.getCauseRacine().getIshikawas()!=null){                getIshikawaCause(ishikawaList1,ishikawaList2,ishikawaList3,ishikawaList4,ishikawaList5,ishikawaList6,huitD.getCauseRacine().getIshikawas());            }            getCinqPCause(prq1List,prq2List,prq3List, prq4List,prq5List,huitD.getCauseRacine().getCinqPs());        }        log.info("entred 6");        //Get list action securise        List<PlanActionView> listActionSecurise = actionRepository.fetchActionsByTypeAndIdHuitd(id, "Securisation8D");        //Get list action corrective        List<PlanActionView> listActionCorrective = actionRepository.fetchActionsByTypeAndIdHuitd(id, "Corrective8D");        //Get list action preventive        List<PlanActionView> listActionPreventive = actionRepository.fetchActionsByTypeAndIdHuitd(id, "Preventive8D");        ArrayList<Map<String, Object>> listD3 = new ArrayList<Map<String, Object>>();        ArrayList<Map<String, Object>> listD1 = new ArrayList<Map<String, Object>>();        ArrayList<Map<String, Object>> listD5 = new ArrayList<Map<String, Object>>();        ArrayList<Map<String, Object>> listD7 = new ArrayList<Map<String, Object>>();        List<reportClass> dtReports = new ArrayList<reportClass>();        //preparing list of action securise        listD3 = getDataD3(listActionSecurise);        //preparing list of action securise        listD5 = getDataD5(listActionCorrective);        //preparing list of action preventive        listD7 = getDataD7(listActionPreventive);        log.info("entred 7");        // add list into main list        dtReports.add(new reportClass());        dtReports.get(0).setD3List(listD3);        dtReports.get(0).setD5List(listD5);        dtReports.get(0).setD7List(listD7);        dtReports.get(0).setD8cmtList(d8cmtList);        dtReports.get(0).setD1Team(d1Team);        dtReports.get(0).setIshikawaList1(ishikawaList1);        dtReports.get(0).setIshikawaList2(ishikawaList2);        dtReports.get(0).setIshikawaList3(ishikawaList3);        dtReports.get(0).setIshikawaList4(ishikawaList4);        dtReports.get(0).setIshikawaList5(ishikawaList5);        dtReports.get(0).setIshikawaList6(ishikawaList6);        dtReports.get(0).setPrq1List(prq1List);        dtReports.get(0).setPrq2List(prq2List);        dtReports.get(0).setPrq3List(prq3List);        dtReports.get(0).setPrq4List(prq4List);        dtReports.get(0).setPrq5List(prq5List);        dtReports.get(0).setInformationQeneral(informationQeneral);        log.info("entred 6");        //String urlReport = "classpath:jasperreport/report8D.jrxml";        //URL url = getClass().getResource("/jasperReport/report8D.jrxml");        //String urlReport = url.getPath();        InputStream reportStream = getClass().getResourceAsStream("/jasperReport/report8D.jrxml");        final JRBeanCollectionDataSource dataSource = new JRBeanCollectionDataSource(dtReports);        empReport =                JasperFillManager.fillReport                        (                                JasperCompileManager.compileReport(reportStream) // path of the jasper report                                , parameters // dynamic parameters                                , dataSource                        );    }catch (Exception ex){        log.error("Error  :: "+ex);    }    return JasperExportManager.exportReportToPdf(empReport);}

 

jasper code : 

<parameter name="NameReportInformation" class="java.lang.String" isForPrompting="false"/>

 

                <subreport>

                    <reportElement x="2" y="114" width="551" height="81" uuid="053b8509-69e8-44ce-9031-abfa53fdc837"/>

                    <dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{informationQeneral})]]></dataSourceExpression>

                    <subreportExpression><![CDATA[$P{NameReportInformation}+"8DInformation.jasper"]]></subreportExpression>

                </subreport>

 

 

 

 

Link to comment
Share on other sites

  • 2 months later...
  • Replies 1
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic


Thank you for posting to the Jaspersoft Community. Our team of experts has read your question and we are working to get you an answer as quickly as we can. If you have a Jaspersoft Professional Subscription plan, please visit https://support.tibco.com/s/ for direct access to our technical support teams offering guaranteed response times.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...