diff artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/SedimentLoadDataFactory.java @ 8412:17db08570637

SCHEMA CHANGE: removed superfluous columns station and river_id from measurement_stations and adapted other components accordingly.
author Tom Gottfried <tom@intevation.de>
date Wed, 15 Oct 2014 19:20:26 +0200
parents 1fc453fbc5df
children 665c8326b1a6
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/SedimentLoadDataFactory.java	Wed Oct 15 14:58:46 2014 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/SedimentLoadDataFactory.java	Wed Oct 15 19:20:26 2014 +0200
@@ -41,7 +41,8 @@
           "FROM sediment_load sl " +
             "JOIN sediment_load_values slv ON sl.id = slv.sediment_load_id " +
             "JOIN measurement_station ms ON ms.id = slv.measurement_station_id " +
-            "JOIN rivers r ON r.id = ms.river_id " +
+            "JOIN ranges rs ON rs.id = ms.range_id " +
+            "JOIN rivers r ON r.id = rs.river_id " +
           "WHERE r.name = :river) " +
         "SELECT " +
           "sl.id AS sl_id, " +
@@ -55,15 +56,18 @@
           "slv.value AS slv_value, " +
           "gf.name AS gf_name, " +
           "ms.id AS ms_id, " +
-          "rs.a AS ms_station, " +
+          "CASE WHEN r.km_up = 1 AND rs.b IS NOT NULL " +
+              "THEN rs.b " +
+              "ELSE rs.a " +
+          "END AS ms_station, " +
           "ms.measurement_type AS ms_type " +
         "FROM load_at_river sl " +
           "CROSS JOIN measurement_station ms " +
           "JOIN ranges rs ON ms.range_id = rs.id " +
+          "JOIN rivers r ON rs.river_id = r.id " +
           "JOIN time_intervals ti ON sl.time_interval_id = ti.id " +
           "LEFT JOIN time_intervals sqti ON sl.sq_time_interval_id = sqti.id " +
           "JOIN grain_fraction gf ON sl.grain_fraction_id = gf.id " +
-          "JOIN rivers r ON ms.river_id = r.id " +
           "LEFT JOIN sediment_load_values slv " +
              "ON ms.id=slv.measurement_station_id AND sl.id=slv.sediment_load_id " +
         "WHERE (" +

http://dive4elements.wald.intevation.org