IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Application de gestion de dettes


Sujet :

avec Java

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2013
    Messages : 6
    Points : 5
    Points
    5
    Par défaut Application de gestion de dettes
    Bonjour,

    Je travaille sur un projet où je dois gérer les échéances des emprunts, le tout en Java/J2EE avec Eclipse.

    Lorsque les emprunts sont effectués je les enregistre dans la table emprunt. Pour chaque emprunt j'ai un taux, l’intérêt, la dette, date d'emprunt (date du jour ou l'emprunt a été effectué ici c'est la date système), la date d'échéance (date_fin), mois de remboursement).

    J'ai fait une requête qui me permet d'afficher uniquement les personnes endettées.

    A partir de là, je souhaiterais qu'à partir de ces enregistrements (gestion automatique), vérifier les personnes endettées, vérifier si la date d'échéance est dépassée et si la dette n'est pas réglée. Si oui, le taux double.

    Voici le code pour vérifier et doubler le taux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    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
    public ModelAndView creancead (HttpServletRequest request, HttpServletResponse response) throws Exception {
     
                Utilisateur user = (Utilisateur) request.getSession().getAttribute("user"); 
     
                if (user != null) {
     
                    Map<String, Object> myModel = new HashMap<String, Object>();
                    String excel = request.getParameter("excel");
                    // Afficher la liste des personnes endettées
                    List<Creance> listeCreance = empruntmanager.creance();
     
                    // parcourir la liste des personnes endettées
                    for (Iterator iterator = listeCreance.iterator(); iterator.hasNext();) {
                        Creance creance = (Creance) iterator.next();
     
                        // recuperons la dette
                        for (int i = 0; i < listeCreance.size(); i++) {
     
                            listeCreance.get(i).getDette();
     
                            SimpleDateFormat sdf1  = new SimpleDateFormat("yyyy-MM-dd");
     
                            Date date1  = new Date();
                            Date date2= sdf1.parse(listeCreance.get(i).getDate_fin());
     
                           //Verifions si la date actuelle > date_fin
                           if(date1.getTime() > date2.getTime()) {
     
                                                      // verifions si le mois de la date actuelle > mois de la date fin*
                              if (date1.getMonth()> date2.getMonth()) {
     
                                                          // doublons le taux et recalculons l'interet et la dette
     
                                  Emprunt emprunt = new Emprunt();
     
                                  emprunt.setMontant(emprunt.getMontant());
                                  emprunt.setTaux(emprunt.getTaux() * 2);
                                  emprunt.setInteret((emprunt.getTaux() * 2)*emprunt.getMontant());
                                       emprunt.setDette(emprunt.getMontant()+(emprunt.getTaux() * 2)*emprunt.getMontant());
                                  empruntmanager.modifieEmprunt(emprunt);
     
                                   }
                               }
                           }
                       }
     
                       myModel.put("user", user);
                       myModel.put("listeCreance", listeCreance);
                       if (excel != null && !excel.equals("")) {
                                         return new ModelAndView("CreanceExcel", "model", myModel);
                               } 
                    else
                               {
                        return new ModelAndView("creance", "model", myModel);
                    } 
                }
                else {
                    return new ModelAndView(new RedirectView("authen.html"));
                }
            }
    Quelqu'un saurait-il m'aider un peu à corriger ce programme ?

    Merci d'avance pour votre aide.

  2. #2
    Membre du Club
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Novembre 2013
    Messages : 49
    Points : 68
    Points
    68
    Par défaut
    Bonjour,

    Déjà il faudrait nous expliquer ton problème si t'en as un

    ensuite je remarque une chose :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    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
     // parcourir la liste des personnes endettées
                    for (Iterator iterator = listeCreance.iterator(); iterator.hasNext();) {
                        Creance creance = (Creance) iterator.next();
     
                        // recuperons la dette
                        for (int i = 0; i < listeCreance.size(); i++) {
     
                            listeCreance.get(i).getDette();
     
                            SimpleDateFormat sdf1  = new SimpleDateFormat("yyyy-MM-dd");
     
                            Date date1  = new Date();
                            Date date2= sdf1.parse(listeCreance.get(i).getDate_fin());
     
                           //Verifions si la date actuelle > date_fin
                           if(date1.getTime() > date2.getTime()) {
     
                                                      // verifions si le mois de la date actuelle > mois de la date fin*
                              if (date1.getMonth()> date2.getMonth()) {
     
                                                          // doublons le taux et recalculons l'interet et la dette
     
                                  Emprunt emprunt = new Emprunt();
     
                                  emprunt.setMontant(emprunt.getMontant());
                                  emprunt.setTaux(emprunt.getTaux() * 2);
                                  emprunt.setInteret((emprunt.getTaux() * 2)*emprunt.getMontant());
                                       emprunt.setDette(emprunt.getMontant()+(emprunt.getTaux() * 2)*emprunt.getMontant());
                                  empruntmanager.modifieEmprunt(emprunt);
     
                                   }
                               }
                           }
                       }
    ça c'est pas bon (a moins que j'ai pas bien vu les détails). Je m'explique :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for (Iterator iterator = listeCreance.iterator(); iterator.hasNext();) {
                        Creance creance = (Creance) iterator.next();
    Je ne te vois jamais utiliser creance... Mais bon pourquoi pas la tu vas parcourir toute ta listeCreance on est d'accord

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    // recuperons la dette
                        for (int i = 0; i < listeCreance.size(); i++) {
    Et ici tu REparcours toute ta listeCreance... donc imaginons que ta listeCreance a n éléments tu vas la parcourir n fois et pour chaque éléments tu fais n fois ton calculs de la dettes rien que la tu as donc une complexité de O(n²)... Ce qui est pas terrible surtout qu'en remaniant légèrement ton code tu peux passer à O(n) (je te jure ça change tout quand t'as des listes très grande)

    Donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for (Iterator iterator = listeCreance.iterator(); iterator.hasNext();) {
                        Creance creance = (Creance) iterator.next();
    Ca, ça tu l'enlèves car listeCreance.get(i) correspond à iterator.next() donc tu as toujours accès a ton client dans ta boucle imbriquée même si tu ne l'utilises jamais ce qui veut dire que ton premier for ne sert à rien

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2013
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Merci pour tous mon probleme est résolut

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. mysql et les application de gestion venez en discussion
    Par hama dans le forum Administration
    Réponses: 1
    Dernier message: 05/12/2005, 13h19
  2. Application de gestion des sms sur PC
    Par andyvo dans le forum Langage
    Réponses: 9
    Dernier message: 20/10/2005, 23h49
  3. [Choix du langage] Application de gestion
    Par Topla dans le forum Langages de programmation
    Réponses: 15
    Dernier message: 14/10/2005, 17h40
  4. Application international (Gestion des dates)
    Par vsavoir dans le forum C++Builder
    Réponses: 2
    Dernier message: 01/08/2005, 10h22
  5. application de gestion documentaire
    Par hanane28 dans le forum Général Conception Web
    Réponses: 2
    Dernier message: 10/06/2005, 16h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo