| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 
 |  
 
 public String exportCSV( HttpServletRequest request,  HttpServletResponse response){
      try {
         String type = (String) request.getAttribute("type");
         String dateDebut = (String) request.getAttribute("dateDebut");
         String dateFin = (String) request.getAttribute("dateFin");
 
         if (type == null || type.equals("0")) {
            return null;
         }
         File fileRep = new File(Contexte.getInstance().getCheminApplication() + "log");
         // Créer le répertoire de log si inexistant
         if (!fileRep.exists()) {
            fileRep.mkdir();
         }
         File fileLog = new File(fileRep, "journal.log");
         String nomRapport = fileLog.getName();
         nomRapport = nomRapport.substring(0, nomRapport.indexOf("."));
 
         PrintWriter pt = response.getWriter();
         FileInputStream fr = new FileInputStream(fileLog);
         BufferedReader br = new BufferedReader(new InputStreamReader(fr, Encodage.UTF8));
 
         String lignelu = br.readLine(); // lire une 1ere ligne
         while (lignelu != null) { // tant qu'il ya des lignes
            // System.out.println("lignelu"+lignelu);
            StringTokenizer strt = new StringTokenizer(lignelu, ";"); //recuperer la ligne sous forme de token separer par un ; 
            String typeLigne = strt.nextToken(); // on prend le type sous forme de code
            System.out.println("typeLigne"+typeLigne);
            String typeAction = strt.nextToken();
            String dateRecup = strt.nextToken(); // on récupère la date de la ligne
            dateRecup = dateRecup.substring(7,11) + dateRecup.substring(3, 7) + dateRecup.substring(1, 3); // on la convertie en  yyyy/MM/dd   
            System.out.println("daterecup: " + dateRecup);
 
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
            Date dd = null, df = null, dr;
            dr = sdf.parse(dateRecup);
            if(dateDebut.length()>0){
               dd = sdf.parse(dateDebut);   
            }
            if(dateFin.length()>0){
               df = sdf.parse(dateFin);
            }
            System.out.println("dateDebut converti: "+dd); 
            System.out.println("dateDebut converti: "+df);
            if ( (type.equals("4") || typeLigne.equals(type)) && ((dateDebut.equals("")||!dr.before(dd)) && (dateFin.equals("")||!dr.after(df))) ){ //si le type de la ligne du fichier correspond au type rechercher
                                                                                                                                 // et si la date de debut contient rien ou date debut est <= dateDebut                                                                                                                  // et si la date fin contient rien  ou la date fin est >= dateFin
               dateRecup = dateRecup.substring(8) + dateRecup.substring(4, 8) + dateRecup.substring(0, 4);
               System.out.println("dateRecup"+dateRecup);
               pt.print("<tr class='texte_liste'>"); //imprimer la balise d'ouverture d'une ligne dans un tableau
               pt.print("<td class='entetelisteb'><div align='center'>"+ typeAction +"</div></td>");
               pt.print("<td class='entetelisteb'><div align='center'>"+ dateRecup +"</div></td>");
 
               System.out.println("un type trouvée compris dans la periode");
 
               while (strt.hasMoreTokens()) { // tant qu'il ya des tokens
                  pt.print("<td class='entetelisteb'><div align='center'>" + strt.nextToken() + "</div></td>");
 
               }
               pt.print("</tr>");
            }
            lignelu = br.readLine();// relire une nouvelle ligne
         }
         fr.close();
 
 
         if (type.equals("csv")) {
            ecrireFichierDansFluxReponse(response, nomRapport, fileLog, "text/csv", true);
         }
      }
      catch (Exception e) {
         traiterErreur(request, response, e);
      }
      return null;
   } | 
Partager