mirror of
https://github.com/pcvolkmer/onkostar-plugin-dnpm.git
synced 2025-07-03 09:42:54 +00:00
Issue #37: Methoden um nur aktive Studien zu erhalten
This commit is contained in:
@ -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());
|
||||
}
|
||||
}
|
||||
|
@ -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);
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user