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 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
   | 
private void majDuree(String heuredeb,String heurefin) {
        // Calcul de la duree de la vacation max 24h
        int duree,dureeJour,dureeNuit;
        duree = dureeJour = dureeNuit = 0;  (never used ca je comprend a peu pret ;) , sauf que je l'utilise !!)
        duree = this.calculDuree(heuredeb, heurefin);
        
        int dhdeb = this.calculNbSeconde(heuredeb);
        int dhfin = this.calculNbSeconde(heurefin);
        dhfin = dhfin<dhdeb?dhfin+86400:dhfin;
        int ddebutheurenuit = this.calculNbSeconde(debutheurenuit);
        int dfinheurenuit0,dfinheurenuit;
        dfinheurenuit0 = dfinheurenuit = this.calculNbSeconde(finheurenuit);
        if(dfinheurenuit<ddebutheurenuit) {
            dfinheurenuit = dfinheurenuit+86400;
        }
        
        //JOptionPane.showMessageDialog(this,"deb : "+dhdeb + "\nfin : "+dhfin+"\nNuit : "+ddebutheurenuit + " - " +dfinheurenuit,"Durees",JOptionPane.INFORMATION_MESSAGE);
        if (dfinheurenuit != dfinheurenuit0 && dhdeb < dfinheurenuit0) {
            if(dhfin<=dfinheurenuit0) {
                dureeJour = 0;
                dureeNuit = dhfin - dhdeb;
            } else if(dhfin > dfinheurenuit0 && dhfin <= ddebutheurenuit) {
                dureeJour = dhfin - dfinheurenuit0;
                dureeNuit = dfinheurenuit0 - dhdeb;
            } else if(dhfin > ddebutheurenuit && dhfin <= dfinheurenuit) {
                dureeJour = ddebutheurenuit - dfinheurenuit0;
                dureeNuit = (dfinheurenuit0 - dhdeb) + (dhfin - ddebutheurenuit);
            } else if(dhfin > dfinheurenuit) {
                dureeJour = (ddebutheurenuit - dfinheurenuit0) + (dhfin - dfinheurenuit);
                dureeNuit = (dfinheurenuit - ddebutheurenuit) + (dfinheurenuit0 - dhdeb);
            }else {
                dureeJour = dureeNuit = 0;
            }
            
        } else {
            if(dhdeb<ddebutheurenuit) {
                if(dhfin <= ddebutheurenuit) {
                    dureeJour = dhfin - dhdeb;
                    dureeNuit = 0;
                } else if(dhfin > ddebutheurenuit && dhfin <= dfinheurenuit) {
                    dureeJour = ddebutheurenuit - dhdeb;
                    dureeNuit = dhfin - ddebutheurenuit;
                } else if (dhfin > dfinheurenuit) {
                    dureeJour = (ddebutheurenuit - dhdeb) + (dhfin - dfinheurenuit);
                    dureeNuit = dfinheurenuit - ddebutheurenuit;
                } else {
                    dureeJour = dureeNuit = 0;
                }
                
            } else {
                if(dhfin <= dfinheurenuit)  {
                    dureeJour = 0;
                    dureeNuit = dhfin - dhdeb;
                } else if (dhfin > dfinheurenuit) {
                    dureeJour = dhfin - dfinheurenuit;
                    dureeNuit = dfinheurenuit - dhdeb;
                } else {
                    dureeJour = dureeNuit = 0;
                }
            }
        }
        String req = "UPDATE vacations SET totalheure="+transformSecond(duree);    (Local variable hides a field :  ?????)
        req += ",totaljour="+transformSecond(dureeJour);
        req += ",totalnuit="+transformSecond(dureeNuit);
        req += " WHERE idposte="+idposte+" AND idsite="+idsite+" AND idvacation="+idvacation;
        //JOptionPane.showMessageDialog(this,req,"",JOptionPane.INFORMATION_MESSAGE);
        //Mise a jour de la base de données
        try {
            int res = connection.updateSql(req);
            //JOptionPane.showMessageDialog(this,req,"",JOptionPane.INFORMATION_MESSAGE);
            if(!(res>=0))
                JOptionPane.showMessageDialog(this,this.connection.getErreurSql(),"erreur classe connection",JOptionPane.INFORMATION_MESSAGE);
        } catch (Exception e) {   The catch(java.lang.Exception) is too broad, the actually caught exception is java.awt.HeadlessException
            JOptionPane.showMessageDialog(this,e.toString(),"erreur",JOptionPane.INFORMATION_MESSAGE); }
        if (transformSecond(duree)>this.connection.getVacmax())
            JOptionPane.showMessageDialog(this,"La durée de la vacation est supérieure à la limite autorisée\nLimite : "+this.connection.getVacmax(),"Durée vacation trop longue",JOptionPane.WARNING_MESSAGE);
        
        this.initTableVacation();
        
    } | 
Partager