Mercurial > dive4elements > river
comparison artifacts/src/main/java/org/dive4elements/river/artifacts/model/HYKFactory.java @ 8030:fac1aa67931b
Fix for flys/issue1735 (Versatz in den HYK-Dateien)
author | Sascha L. Teichmann <teichmann@intevation.de> |
---|---|
date | Fri, 11 Jul 2014 11:32:18 +0200 |
parents | af13ceeba52a |
children | e4606eae8ea5 |
comparison
equal
deleted
inserted
replaced
8029:cdb9f6d97f6a | 8030:fac1aa67931b |
---|---|
146 " e.km AS KM " + | 146 " e.km AS KM " + |
147 " FROM hyk_formations f INNER JOIN hyk_entries e " + | 147 " FROM hyk_formations f INNER JOIN hyk_entries e " + |
148 " ON e.id = f.hyk_entry_id " + | 148 " ON e.id = f.hyk_entry_id " + |
149 " WHERE e.hyk_id = :hykid " + | 149 " WHERE e.hyk_id = :hykid " + |
150 " AND :km between " + | 150 " AND :km between " + |
151 " LEAST(e.km, e.km + :flowDir*(f.distance_vl/1000.0+0.001)) " + | 151 " LEAST(e.km, e.km + :flowDir*(f.distance_vl/1000.0-0.001)) " + |
152 " AND " + | 152 " AND " + |
153 " GREATEST(e.km, e.km + :flowDir*(f.distance_vl/1000.0+0.001))"; | 153 " GREATEST(e.km, e.km + :flowDir*(f.distance_vl/1000.0-0.001))"; |
154 | 154 |
155 SQLQuery sqlQuery = session.createSQLQuery(SQL) | 155 SQLQuery sqlQuery = session.createSQLQuery(SQL) |
156 .addScalar("FID", StandardBasicTypes.INTEGER) | 156 .addScalar("FID", StandardBasicTypes.INTEGER) |
157 .addScalar("DIST", StandardBasicTypes.DOUBLE) | 157 .addScalar("DIST", StandardBasicTypes.DOUBLE) |
158 .addScalar("HID", StandardBasicTypes.INTEGER) | 158 .addScalar("HID", StandardBasicTypes.INTEGER) |
160 | 160 |
161 sqlQuery.setInteger("hykid", hykid); | 161 sqlQuery.setInteger("hykid", hykid); |
162 sqlQuery.setDouble("flowDir", flowDir); | 162 sqlQuery.setDouble("flowDir", flowDir); |
163 sqlQuery.setDouble("km", km); | 163 sqlQuery.setDouble("km", km); |
164 | 164 |
165 logger.debug("HYK SQL: " + sqlQuery.getQueryString()); | 165 boolean debug = logger.isDebugEnabled(); |
166 | |
167 if (debug) { | |
168 logger.debug("HYK SQL: " + sqlQuery.getQueryString()); | |
169 } | |
166 | 170 |
167 List<Object[]> results = sqlQuery.list(); | 171 List<Object[]> results = sqlQuery.list(); |
168 | 172 |
169 logger.debug("Found " + results.size() + " HYKFormation IDs in DB."); | 173 if (debug) { |
174 logger.debug("Found " + results.size() + " HYKFormation IDs in DB."); | |
175 } | |
170 | 176 |
171 if (results == null || results.isEmpty()) { | 177 if (results == null || results.isEmpty()) { |
172 logger.debug("No HYK found for ID " + hykid + " at km " + km); | 178 if (debug) { |
179 logger.debug("No HYK found for ID " + hykid + " at km " + km); | |
180 } | |
173 return new ArrayList<HYKFormation>(); | 181 return new ArrayList<HYKFormation>(); |
174 } | 182 } |
175 | 183 |
176 Object[] resultSet = results.get(0); | 184 Object[] resultSet = results.get(0); |
177 Integer hykFormationId = (Integer) resultSet[0]; | 185 Integer hykFormationId = (Integer) resultSet[0]; |