youssefboukir5 Posted February 13 Share Posted February 13 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 More sharing options...
anish.rai Posted April 24 Share Posted April 24 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 More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now