# HG changeset patch # User Andre Heinecke # Date 1426869066 -3600 # Node ID 958342db7a157fe66c3aa48e03800e7ddbf8dc46 # Parent eed4e31ca1b3358f9dcfbbb56228e119ea9ca5a3 (issue1750) Check for stations according to measurement station range logic diff -r eed4e31ca1b3 -r 958342db7a15 artifacts/src/main/java/org/dive4elements/river/artifacts/model/sq/StaticSQFactory.java --- a/artifacts/src/main/java/org/dive4elements/river/artifacts/model/sq/StaticSQFactory.java Fri Mar 20 16:36:37 2015 +0100 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/model/sq/StaticSQFactory.java Fri Mar 20 17:31:06 2015 +0100 @@ -35,9 +35,19 @@ "JOIN ranges ra ON ra.id = ms.range_id " + "JOIN rivers r ON r.id = ra.river_id " + "WHERE r.name = :river AND " + - "ms.range_id = (SELECT range_id " + - "FROM measurement_station " + - "WHERE id = :ms_id)"; + "CASE WHEN r.km_up = 1 AND ra.b IS NOT NULL " + + "THEN ra.b " + + "ELSE ra.a " + + "END = (SELECT " + + "CASE WHEN r.km_up = 1 AND ra.b IS NOT NULL " + + "THEN ra.b " + + "ELSE ra.a " + + "END " + + "FROM measurement_station ms " + + "JOIN ranges ra ON ra.id = ms.range_id " + + "JOIN rivers r ON r.id = ra.river_id " + + "WHERE r.name = :river AND " + + "ms.id = :ms_id)"; public static final String SQL_SQ = "SELECT " + @@ -93,6 +103,8 @@ List list = query.list(); if (list == null || list.isEmpty()) { log.error("Did not even find one measurement station. Broken Query?"); + log.debug("River: " + river); + log.debug("Mesurement station id: " + measurementStation); return retval; }