# HG changeset patch # User Sascha L. Teichmann # Date 1325590567 0 # Node ID 52cde7fe742addc94e7f99138ab62f970dd3bf5a # Parent aad1886ea226f202f3e24fa7e7bf21dfb82eac72 Fetch discharge table infos from AFT. flys-aft/trunk@3573 c6561f87-3c4e-4783-a992-168aeb5c3f6f diff -r aad1886ea226 -r 52cde7fe742a flys-aft/ChangeLog --- a/flys-aft/ChangeLog Mon Jan 02 17:45:25 2012 +0000 +++ b/flys-aft/ChangeLog Tue Jan 03 11:36:07 2012 +0000 @@ -1,3 +1,11 @@ +2012-01-03 Sascha L. Teichmann + + * src/main/java/de/intevation/aft/River.java: Fetch discharge table + infos from AFT. + + * src/main/resources/sql/aft-common.properties: Added statement to fetch + infos from ABFLUSSTAFEL. + 2012-01-02 Sascha L. Teichmann * src/main/resources/sql/flys-common.properties: Added statements diff -r aad1886ea226 -r 52cde7fe742a flys-aft/src/main/java/de/intevation/aft/River.java --- a/flys-aft/src/main/java/de/intevation/aft/River.java Mon Jan 02 17:45:25 2012 +0000 +++ b/flys-aft/src/main/java/de/intevation/aft/River.java Tue Jan 03 11:36:07 2012 +0000 @@ -4,6 +4,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.Map; +import java.util.Date; import java.sql.ResultSet; import java.sql.SQLException; @@ -163,6 +164,9 @@ log.info("FLYS: Created gauge '" + gauge.getAftName() + "' with id " + gaugeId + "."); + gauge.setFlysId(gaugeId); + createDischargeTables(context, officialNumber, gauge); + flysStatements.commitTransaction(); } catch (SQLException sqle) { @@ -177,6 +181,50 @@ } } + protected void createDischargeTables( + SyncContext context, + Long officialNumber, + DIPSGauge gauge + ) + throws SQLException + { + log.info("create discharge tables"); + + boolean debug = log.isDebugEnabled(); + + ConnectedStatements flysStatements = context.getFlysStatements(); + ConnectedStatements aftStatements = context.getAftStatements(); + + ResultSet rs = null; + try { + rs = aftStatements.getStatement("select.abflusstafel") + .clearParameters() + .setString("number", "%" + officialNumber). + executeQuery(); + + while (rs.next()) { + int dtId = rs.getInt("ABFLUSSTAFEL_NR"); + Date from = rs.getDate("GUELTIG_VON"); + Date to = rs.getDate("GUELTIG_BIS"); + + double datumValue = rs.getDouble("PEGELNULLPUNKT"); + Double datum = rs.wasNull() ? null : datumValue; + + if (debug) { + log.debug("id: " + dtId); + log.debug("valid from: " + from); + log.debug("valid to: " + to); + log.debug("datum: " + datum); + } + } + } + finally { + if (rs != null) { + rs.close(); + } + } + } + public String toString() { return "[River: name=" + name + ", " + super.toString() + "]"; } diff -r aad1886ea226 -r 52cde7fe742a flys-aft/src/main/resources/sql/aft-common.properties --- a/flys-aft/src/main/resources/sql/aft-common.properties Mon Jan 02 17:45:25 2012 +0000 +++ b/flys-aft/src/main/resources/sql/aft-common.properties Tue Jan 03 11:36:07 2012 +0000 @@ -1,3 +1,7 @@ select.gewaesser = SELECT GEWAESSER_NR, NAME FROM SL_GEWAESSER select.messstelle = SELECT NAME, MESSSTELLE_NR FROM MESSSTELLE WHERE GEWAESSER_NR = :GEWAESSER_NR +select.abflusstafel = SELECT ABFLUSSTAFEL_NR, \ + strftime('%s', GUELTIG_VON) * 1000 AS GUELTIG_VON, \ + strftime('%s', GUELTIG_BIS) * 1000 AS GUELTIG_BIS, \ + PEGELNULLPUNKT FROM ABFLUSSTAFEL WHERE MESSSTELLE_NR LIKE :number