Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/minfo/SedimentLoadFactory.java @ 4517:a5e4fae31089
Fixed SQL statements and parameters.
author | Raimund Renkert <rrenkert@intevation.de> |
---|---|
date | Wed, 14 Nov 2012 17:06:51 +0100 |
parents | 60c728e557f4 |
children | af1938d4e957 |
comparison
equal
deleted
inserted
replaced
4516:de4832ffde2a | 4517:a5e4fae31089 |
---|---|
72 " AND syv.station BETWEEN :startKm AND :endKm"; | 72 " AND syv.station BETWEEN :startKm AND :endKm"; |
73 | 73 |
74 public static final String SQL_SELECT_EPOCHS_DATA = | 74 public static final String SQL_SELECT_EPOCHS_DATA = |
75 "SELECT" + | 75 "SELECT" + |
76 " sy.description AS description, " + | 76 " sy.description AS description, " + |
77 " ti.start_time AS year, " + | 77 " ti.start_time AS startYear, " + |
78 " ti.stop_time AS endYear, " + | |
78 " syv.value AS load, " + | 79 " syv.value AS load, " + |
79 " syv.station AS km " + | 80 " syv.station AS km " + |
80 " FROM sediment_yield sy" + | 81 " FROM sediment_yield sy" + |
81 " JOIN rivers r ON sy.river_id = r.id " + | 82 " JOIN rivers r ON sy.river_id = r.id " + |
82 " JOIN time_intervals ti ON sy.time_interval_id = ti.id" + | 83 " JOIN time_intervals ti ON sy.time_interval_id = ti.id" + |
192 ) { | 193 ) { |
193 log.debug("SedimentLoadFactory.getSedimentLoadsUncached"); | 194 log.debug("SedimentLoadFactory.getSedimentLoadsUncached"); |
194 | 195 |
195 Session session = SessionHolder.HOLDER.get(); | 196 Session session = SessionHolder.HOLDER.get(); |
196 SQLQuery sqlQuery = null; | 197 SQLQuery sqlQuery = null; |
197 | |
198 | 198 |
199 if (type.equals("single")) { | 199 if (type.equals("single")) { |
200 sqlQuery = session.createSQLQuery(SQL_SELECT_SINGLES) | 200 sqlQuery = session.createSQLQuery(SQL_SELECT_SINGLES) |
201 .addScalar("description", StandardBasicTypes.STRING) | 201 .addScalar("description", StandardBasicTypes.STRING) |
202 .addScalar("year", StandardBasicTypes.DATE); | 202 .addScalar("year", StandardBasicTypes.DATE); |
252 double endKm, | 252 double endKm, |
253 int syear, | 253 int syear, |
254 int eyear | 254 int eyear |
255 ) { | 255 ) { |
256 log.debug("SedimentLoadFactory.getSedimentLoadWithDataUncached"); | 256 log.debug("SedimentLoadFactory.getSedimentLoadWithDataUncached"); |
257 | |
258 Session session = SessionHolder.HOLDER.get(); | 257 Session session = SessionHolder.HOLDER.get(); |
259 SQLQuery sqlQuery = null; | 258 SQLQuery sqlQuery = null; |
260 | 259 |
261 Calendar start = Calendar.getInstance(); | 260 Calendar start = Calendar.getInstance(); |
262 start.set(syear, 1, 1); | 261 start.set(syear, 1, 1); |
287 getValues("fine_middle", sqlQuery, load); | 286 getValues("fine_middle", sqlQuery, load); |
288 getValues("sand", sqlQuery, load); | 287 getValues("sand", sqlQuery, load); |
289 getValues("suspended_sediment", sqlQuery, load); | 288 getValues("suspended_sediment", sqlQuery, load); |
290 getValues("susp_sand_bed", sqlQuery, load); | 289 getValues("susp_sand_bed", sqlQuery, load); |
291 getValues("susp_sand", sqlQuery, load); | 290 getValues("susp_sand", sqlQuery, load); |
291 | |
292 return load; | 292 return load; |
293 } | 293 } |
294 else if (type.equals("off_epoch")) { | 294 else if (type.equals("off_epoch")) { |
295 Calendar toStart = Calendar.getInstance(); | 295 Calendar toStart = Calendar.getInstance(); |
296 toStart.set(eyear, 1, 1); | 296 toStart.set(eyear, 1, 1); |
297 Calendar toEnd = Calendar.getInstance(); | 297 Calendar toEnd = Calendar.getInstance(); |
298 toEnd.set(eyear, 12, 31); | 298 toEnd.set(eyear, 12, 31); |
299 | 299 |
300 sqlQuery = session.createSQLQuery(SQL_SELECT_EPOCHS) | 300 sqlQuery = session.createSQLQuery(SQL_SELECT_EPOCHS_DATA) |
301 .addScalar("description", StandardBasicTypes.STRING) | 301 .addScalar("description", StandardBasicTypes.STRING) |
302 .addScalar("start_time", StandardBasicTypes.DATE) | 302 .addScalar("startYear", StandardBasicTypes.DATE) |
303 .addScalar("stop_time", StandardBasicTypes.DATE) | 303 .addScalar("stopYear", StandardBasicTypes.DATE) |
304 .addScalar("load", StandardBasicTypes.DOUBLE); | 304 .addScalar("load", StandardBasicTypes.DOUBLE) |
305 .addScalar("km", StandardBasicTypes.DOUBLE); | |
305 sqlQuery.setString("name", river); | 306 sqlQuery.setString("name", river); |
306 sqlQuery.setDouble("startKm", startKm); | 307 sqlQuery.setDouble("startKm", startKm); |
307 sqlQuery.setDouble("endKm", endKm); | 308 sqlQuery.setDouble("endKm", endKm); |
308 sqlQuery.setDate("sbegin", start.getTime()); | 309 sqlQuery.setDate("sbegin", start.getTime()); |
309 sqlQuery.setDate("sbegin", end.getTime()); | 310 sqlQuery.setDate("send", end.getTime()); |
310 sqlQuery.setDate("ebegin",toStart.getTime()); | 311 sqlQuery.setDate("ebegin",toStart.getTime()); |
311 sqlQuery.setDate("eend", toEnd.getTime()); | 312 sqlQuery.setDate("eend", toEnd.getTime()); |
312 sqlQuery.setString("grain", "total"); | 313 sqlQuery.setString("grain", "total"); |
313 | 314 |
314 List<Object []> results = sqlQuery.list(); | 315 List<Object []> results = sqlQuery.list(); |
363 load.setFineMiddle(km, v); | 364 load.setFineMiddle(km, v); |
364 } | 365 } |
365 else if (fraction.equals("suspended_sediment")) { | 366 else if (fraction.equals("suspended_sediment")) { |
366 load.setSuspSediment(km, v); | 367 load.setSuspSediment(km, v); |
367 } | 368 } |
368 else if (fraction.equals("sups_sand")) { | 369 else if (fraction.equals("susp_sand")) { |
369 load.setSuspSand(km, v); | 370 load.setSuspSand(km, v); |
370 } | 371 } |
371 else if (fraction.equals("susp_sand_bed")) { | 372 else if (fraction.equals("susp_sand_bed")) { |
372 load.setSuspSandBed(km, v); | 373 load.setSuspSandBed(km, v); |
373 } | 374 } |