java/HrisniciSpameri/src/java/cz/frantovo/hrisniciSpameri/dao/GeneratorSouhrnuDAO.java
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