java/HrisniciSpameri/src/java/cz/frantovo/hrisniciSpameri/dao/GeneratorSouhrnuDAO.java
changeset 28 dbb434bd4b99
parent 23 b22c06c8a55c
child 32 3bc16e43872b
     1.1 --- a/java/HrisniciSpameri/src/java/cz/frantovo/hrisniciSpameri/dao/GeneratorSouhrnuDAO.java	Sat Feb 14 23:03:13 2009 +0100
     1.2 +++ b/java/HrisniciSpameri/src/java/cz/frantovo/hrisniciSpameri/dao/GeneratorSouhrnuDAO.java	Sun Feb 15 00:32:53 2009 +0100
     1.3 @@ -26,10 +26,14 @@
     1.4       * @param cil cíl, pro který generujeme souhrn
     1.5       * @param den den, pro který souhrn generujeme.
     1.6       */
     1.7 -    public void generujSouhrn(Cil cil, Date den) {
     1.8 +    public void generujSouhrn(Cil cil, Date zacatek, Date konec) {
     1.9          Connection dbZdroj = getSpojeni(cil.getDatabaze());
    1.10          Connection dbSouhrn = getSpojeni(null);
    1.11  
    1.12 +        if (konec == null) {
    1.13 +            konec = zacatek;
    1.14 +        }
    1.15 +
    1.16          if (dbZdroj == null || dbSouhrn == null) {
    1.17              /** TODO: Chyba spojení */
    1.18          } else {
    1.19 @@ -37,17 +41,16 @@
    1.20              PreparedStatement psSmazat = null;
    1.21              ResultSet rs = null;
    1.22              try {
    1.23 -                log.log(Level.SEVERE, "AUTOCOMIT: " + dbSouhrn.getAutoCommit());
    1.24 -                dbSouhrn.setAutoCommit(false);
    1.25 -
    1.26                  /** pokud už něco vygenerovaného pro daný den a cíl máme, smažeme to */
    1.27                  psSmazat = dbSouhrn.prepareStatement(getSQL(SQL.SMAZ_SOUHRNY));
    1.28                  psSmazat.setInt(1, cil.getId());
    1.29 -                psSmazat.setDate(2, den);
    1.30 +                psSmazat.setDate(2, zacatek);
    1.31 +                psSmazat.setDate(3, konec);
    1.32                  psSmazat.executeUpdate();
    1.33  
    1.34                  ps = dbZdroj.prepareStatement(cil.getSelekt());
    1.35 -                ps.setDate(1, den);
    1.36 +                ps.setDate(1, zacatek);
    1.37 +                ps.setDate(2, konec);
    1.38                  rs = ps.executeQuery();
    1.39                  PreparedStatement psSouhrn = dbSouhrn.prepareStatement(getSQL(SQL.VLOZ_SOUHRN));
    1.40                  while (rs.next()) {
    1.41 @@ -56,7 +59,7 @@
    1.42                       * ale z výkonnostních důvodů to budeme dělat tady
    1.43                       * (jedno spojení a jeden předpřipravený příkaz).
    1.44                       */
    1.45 -                    psSouhrn.setDate(1, den);
    1.46 +                    psSouhrn.setDate(1, rs.getDate("den"));
    1.47                      psSouhrn.setString(2, rs.getString("ip"));
    1.48                      psSouhrn.setString(3, prelozIP(rs.getString("ip")));
    1.49                      psSouhrn.setInt(4, rs.getInt("pocet"));
    1.50 @@ -75,17 +78,14 @@
    1.51      }
    1.52  
    1.53      /**
    1.54 -     * Vygeneruje denní souhrny pro všechny cíle.
    1.55 -     * @param den den, pro který souhrny generujeme.
    1.56 +     * Vygeneruje denní souhrny pro všechny cíle za dané období.
    1.57 +     * @param zacatek začátek období – včetně
    1.58 +     * @param konec konec období – včetně
    1.59       */
    1.60 -    public void generujSouhrny(Date den) {
    1.61 -        if (den == null) {
    1.62 -            den = SouhrnDAO.getVychoziDen();
    1.63 -        }
    1.64 -
    1.65 +    public void generujSouhrny(Date zacatek, Date konec) {
    1.66          Collection<Cil> cile = new CilDAO().getCile();
    1.67          for (Cil c : cile) {
    1.68 -            generujSouhrn(c, den);
    1.69 +            generujSouhrn(c, zacatek, konec);
    1.70          }
    1.71      }
    1.72