Výchozí zobrazení: souhrn za poslední měsíc
authorFrantišek Kučera <franta-hg@frantovo.cz>
Sun, 15 Feb 2009 22:24:37 +0100
changeset 300ffc8c1b2b9c
parent 29 f8d3d7914d9a
child 31 001db3cb0912
Výchozí zobrazení: souhrn za poslední měsíc
chybný nebo nulový začátek z webu → o měsíc zpátky
chybný nebo nulový konec z webu → dnešek
java/HrisniciSpameri/src/java/cz/frantovo/hrisniciSpameri/DenniSouhrn.java
java/HrisniciSpameri/src/java/cz/frantovo/hrisniciSpameri/dao/SouhrnDAO.java
     1.1 --- a/java/HrisniciSpameri/src/java/cz/frantovo/hrisniciSpameri/DenniSouhrn.java	Sun Feb 15 12:46:40 2009 +0100
     1.2 +++ b/java/HrisniciSpameri/src/java/cz/frantovo/hrisniciSpameri/DenniSouhrn.java	Sun Feb 15 22:24:37 2009 +0100
     1.3 @@ -9,6 +9,7 @@
     1.4  import java.text.DateFormat;
     1.5  import java.text.ParseException;
     1.6  import java.text.SimpleDateFormat;
     1.7 +import java.util.Calendar;
     1.8  import java.util.Collection;
     1.9  import java.util.logging.Level;
    1.10  import java.util.logging.Logger;
    1.11 @@ -50,29 +51,41 @@
    1.12      public void setZacatekString(String zacatek) {
    1.13          if (zacatek == null) {
    1.14              nastavVychoziZacatek();
    1.15 -        }
    1.16 -
    1.17 -        try {
    1.18 -            this.zacatek = new Date(formatData.parse(zacatek).getTime());
    1.19 -        } catch (ParseException e) {
    1.20 -            log.log(Level.FINE, "Chybně zadané datum – začátek: " + zacatek, e);
    1.21 -            nastavVychoziZacatek();
    1.22 +        } else {
    1.23 +            try {
    1.24 +                this.zacatek = new Date(formatData.parse(zacatek).getTime());
    1.25 +            } catch (ParseException e) {
    1.26 +                log.log(Level.FINE, "Chybně zadané datum – začátek: " + zacatek, e);
    1.27 +                nastavVychoziZacatek();
    1.28 +            }
    1.29          }
    1.30      }
    1.31  
    1.32      public Date getKonec() {
    1.33 +        if (konec == null) {
    1.34 +            nastavVychoziKonec();
    1.35 +        }
    1.36          return konec;
    1.37      }
    1.38  
    1.39      public void setKonec(Date konec) {
    1.40 -        this.konec = konec;
    1.41 +        if (konec == null) {
    1.42 +            nastavVychoziKonec();
    1.43 +        } else {
    1.44 +            this.konec = konec;
    1.45 +        }
    1.46 +        log.log(Level.FINE, "Konec nastaven na: " + formatData.format(zacatek));
    1.47      }
    1.48  
    1.49      public void setKonecString(String konec) {
    1.50 -        try {
    1.51 -            this.konec = new Date(formatData.parse(konec).getTime());
    1.52 -        } catch (Exception e) {
    1.53 -            /** konec může být null */
    1.54 +        if (konec == null) {
    1.55 +            nastavVychoziKonec();
    1.56 +        } else {
    1.57 +            try {
    1.58 +                this.konec = new Date(formatData.parse(konec).getTime());
    1.59 +            } catch (Exception e) {
    1.60 +                nastavVychoziKonec();
    1.61 +            }
    1.62          }
    1.63      }
    1.64  
    1.65 @@ -98,7 +111,12 @@
    1.66  
    1.67      private void nastavVychoziZacatek() {
    1.68          log.log(Level.FINE, "Nastavuji začátek na výchozí hodnotu.");
    1.69 -        setZacatek(SouhrnDAO.getVychoziDen());
    1.70 +        setZacatek(getVychoziZacatek());
    1.71 +    }
    1.72 +
    1.73 +    private void nastavVychoziKonec() {
    1.74 +        log.log(Level.FINE, "Nastavuji konec na výchozí hodnotu.");
    1.75 +        setKonec(getVychoziKonec());
    1.76      }
    1.77  
    1.78      public Collection<Souhrn> getSouhrn() {
    1.79 @@ -127,4 +145,20 @@
    1.80  
    1.81          return cile;
    1.82      }
    1.83 +
    1.84 +    /**
    1.85 +     * @return Výchozí začátek je před měsícem
    1.86 +     */
    1.87 +    private static Date getVychoziZacatek() {
    1.88 +        Calendar c = Calendar.getInstance();
    1.89 +        c.add(Calendar.MONTH, -1);
    1.90 +        return new Date(c.getTimeInMillis());
    1.91 +    }
    1.92 +
    1.93 +    /**
    1.94 +     * @return  Výchozí konec je současnost
    1.95 +     */
    1.96 +    private static Date getVychoziKonec() {
    1.97 +        return new Date(System.currentTimeMillis());
    1.98 +    }
    1.99  }
     2.1 --- a/java/HrisniciSpameri/src/java/cz/frantovo/hrisniciSpameri/dao/SouhrnDAO.java	Sun Feb 15 12:46:40 2009 +0100
     2.2 +++ b/java/HrisniciSpameri/src/java/cz/frantovo/hrisniciSpameri/dao/SouhrnDAO.java	Sun Feb 15 22:24:37 2009 +0100
     2.3 @@ -44,7 +44,7 @@
     2.4                  if (konec == null) {
     2.5                      konec = zacatek;
     2.6                  }
     2.7 -                
     2.8 +
     2.9                  if (cil == 0) {
    2.10                      ps = db.prepareStatement(getSQL(SQL.DENNI_SOUHRN));
    2.11                      ps.setDate(1, zacatek);
    2.12 @@ -81,12 +81,4 @@
    2.13  
    2.14          return souhrn;
    2.15      }
    2.16 -
    2.17 -    /**
    2.18 -     * Ve výchozím stavu zobrazujeme souhrn za předešlý den.
    2.19 -     * @return včerejšek
    2.20 -     */
    2.21 -    public static Date getVychoziDen() {
    2.22 -        return new Date(System.currentTimeMillis() - DEN);
    2.23 -    }
    2.24 -}
    2.25 +}
    2.26 \ No newline at end of file