Mercurial > dive4elements > river
diff backend/src/main/java/org/dive4elements/river/model/sinfo/DepthEvolutionValue.java @ 9032:1f63e9d3b0ec
New columns for bed_height, tkh and depth_evolution, a few syntactic corrections for Oracle
author | mschaefer |
---|---|
date | Fri, 27 Apr 2018 17:35:12 +0200 |
parents | 50416a0df385 |
children |
line wrap: on
line diff
--- a/backend/src/main/java/org/dive4elements/river/model/sinfo/DepthEvolutionValue.java Fri Apr 27 11:34:04 2018 +0200 +++ b/backend/src/main/java/org/dive4elements/river/model/sinfo/DepthEvolutionValue.java Fri Apr 27 17:35:12 2018 +0200 @@ -11,6 +11,7 @@ package org.dive4elements.river.model.sinfo; import java.io.Serializable; +import java.util.List; import javax.persistence.Column; import javax.persistence.Entity; @@ -21,6 +22,11 @@ import javax.persistence.OneToOne; import javax.persistence.SequenceGenerator; import javax.persistence.Table; +import javax.persistence.Transient; + +import org.dive4elements.river.backend.SessionHolder; +import org.hibernate.Query; +import org.hibernate.Session; /** @@ -110,6 +116,14 @@ this.total_change = total_change; } + @Transient + public Double getTotalChangeCm() { + if (getTotal_change() != null) + return getTotal_change() * 100; + else + return null; + } + @Column(name = "change_per_year") public Double getChange_per_year() { return this.change_per_year; @@ -118,4 +132,25 @@ public void setChange_per_year(final Double change_per_year) { this.change_per_year = change_per_year; } + + @Transient + public Double getPerYearChangeCm() { + if (getChange_per_year() != null) + return getChange_per_year() * 100; + else + return null; + } + + /** + * Selects the depth evolution values of a data series in a km range from the database + */ + public static List<DepthEvolutionValue> getValues(final DepthEvolution parent, final double kmLo, final double kmHi) { + final Session session = SessionHolder.HOLDER.get(); + final Query query = session.createQuery("FROM DepthEvolutionValue WHERE (depthEvolution=:parent)" + + " AND (station >= :kmLo - 0.0001) AND (station <= :kmHi + 0.0001)"); + query.setParameter("parent", parent); + query.setParameter("kmLo", new Double(kmLo)); + query.setParameter("kmHi", new Double(kmHi)); + return query.list(); + } }