diff options
| author | Paul-Christian Volkmer | 2023-08-29 06:34:54 +0200 |
|---|---|---|
| committer | GitHub | 2023-08-29 06:34:54 +0200 |
| commit | 27f9baae2fec8e28eb66eb94c2762b843c264ef7 (patch) | |
| tree | 1610e5299fa5ba9c4273379393c8b01ab4640338 /src/main/java/DNPM/services | |
| parent | ef21c287f04640021387914af6307d014ea4a2db (diff) | |
| parent | 994889da4accee45e3460695db4d888db7054615 (diff) | |
Merge pull request #40 from CCC-MF/issue_37
Issue #37: Anzeige, ob Studie (technisch) in Onkostar aktiv ist
Diffstat (limited to 'src/main/java/DNPM/services')
| -rw-r--r-- | src/main/java/DNPM/services/DefaultStudienService.java | 21 | ||||
| -rw-r--r-- | src/main/java/DNPM/services/StudienService.java | 15 |
2 files changed, 32 insertions, 4 deletions
diff --git a/src/main/java/DNPM/services/DefaultStudienService.java b/src/main/java/DNPM/services/DefaultStudienService.java index 82be5e7..e172cc8 100644 --- a/src/main/java/DNPM/services/DefaultStudienService.java +++ b/src/main/java/DNPM/services/DefaultStudienService.java @@ -5,6 +5,7 @@ import org.springframework.jdbc.core.JdbcTemplate; import javax.sql.DataSource; import java.util.List; +import java.util.stream.Collectors; /** * Standardimplementierung zum Ermitteln von Studien @@ -21,7 +22,7 @@ public class DefaultStudienService implements StudienService { @Override public List<Studie> findAll() { - var sql = "SELECT pcc.name, pcv.version_number, TRIM(studie.studien_nummer) AS studien_nummer, studie.startdatum, studie.endedatum, pcve.code, pcve.shortdesc, pcve.description FROM studie " + var sql = "SELECT pcc.name, pcv.version_number, TRIM(studie.studien_nummer) AS studien_nummer, studie.startdatum, studie.endedatum, pcve.code, pcve.shortdesc, pcve.description, studie.aktiv FROM studie " + "LEFT JOIN category_entry ce ON ce.version_entry_id = studie.property_version_entry " + "LEFT JOIN property_catalogue_category pcc ON pcc.id = ce.category_id " + "JOIN property_catalogue_version_entry pcve ON pcve.id = studie.property_version_entry " @@ -36,13 +37,14 @@ public class DefaultStudienService implements StudienService { resultSet.getString("code"), resultSet.getString("studien_nummer"), resultSet.getString("shortdesc"), - resultSet.getString("description") + resultSet.getString("description"), + resultSet.getBoolean("aktiv") )); } @Override public List<Studie> findByQuery(String query) { - var sql = "SELECT pcc.name, pcv.version_number, TRIM(studie.studien_nummer) AS studien_nummer, studie.startdatum, studie.endedatum, pcve.code, pcve.shortdesc, pcve.description FROM studie " + var sql = "SELECT pcc.name, pcv.version_number, TRIM(studie.studien_nummer) AS studien_nummer, studie.startdatum, studie.endedatum, pcve.code, pcve.shortdesc, pcve.description, studie.aktiv FROM studie " + "LEFT JOIN category_entry ce ON ce.version_entry_id = studie.property_version_entry " + "LEFT JOIN property_catalogue_category pcc ON pcc.id = ce.category_id " + "JOIN property_catalogue_version_entry pcve ON pcve.id = studie.property_version_entry " @@ -59,7 +61,18 @@ public class DefaultStudienService implements StudienService { resultSet.getString("code"), resultSet.getString("studien_nummer"), resultSet.getString("shortdesc"), - resultSet.getString("description") + resultSet.getString("description"), + resultSet.getBoolean("aktiv") )); } + + @Override + public List<Studie> findActive() { + return findAll().stream().filter(Studie::isActive).collect(Collectors.toList()); + } + + @Override + public List<Studie> findActiveByQuery(String query) { + return findByQuery(query).stream().filter(Studie::isActive).collect(Collectors.toList()); + } } diff --git a/src/main/java/DNPM/services/StudienService.java b/src/main/java/DNPM/services/StudienService.java index dc0187e..c82947d 100644 --- a/src/main/java/DNPM/services/StudienService.java +++ b/src/main/java/DNPM/services/StudienService.java @@ -21,4 +21,19 @@ public interface StudienService { */ List<Studie> findByQuery(String query); + /** + * Übergibt eine Liste mit aktiven Studien + * + * @return Liste mit aktiven Studien + */ + List<Studie> findActive(); + + /** + * Übergibt eine Liste mit aktiven Studien, deren (Kurz-)Beschreibung oder Studiennummer den übergebenen Wert enthalten + * + * @param query Wert der enthalten sein muss + * @return Gefilterte Liste mit aktiven Studien + */ + List<Studie> findActiveByQuery(String query); + } |
