diff --git a/pom.xml b/pom.xml
index b99530c..18cd771 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
4.0.0
DNPMHelper
DNPMHelper
- 0.1.0
+ 0.2.0-SNAPSHOT
DNPMHelper
diff --git a/src/main/java/DNPM/DNPMHelper.java b/src/main/java/DNPM/DNPMHelper.java
index 2a7307f..6e34a33 100644
--- a/src/main/java/DNPM/DNPMHelper.java
+++ b/src/main/java/DNPM/DNPMHelper.java
@@ -189,34 +189,35 @@ public class DNPMHelper implements IProcedureAnalyzer {
}
public Object getEmpfehlung(final Map input) {
- // Auslesen der Parameter aus 'input'
- int ProcedureID = (int) input.get("ProcedureID");
+ var procedureID = input.get("ProcedureID");
+
+ if (null == procedureID || Integer.parseInt(procedureID.toString()) == 0) {
+ logger.error("Kein Parameter 'ProcedureID' angegeben, gebe 'null' zurück");
+ return null;
+ }
- String sql;
try {
SessionFactory sessionFactory = onkostarApi.getSessionFactory();
Session session = sessionFactory.getCurrentSession();
- try {
- sql = "SELECT * FROM prozedur "
- + "LEFT JOIN dk_mtb_einzelempfehlung em ON em.id = prozedur.id "
- + "WHERE prozedur.hauptprozedur_id = " + ProcedureID + " AND prozedur.geloescht = 0 AND prozedur.data_form_id = 489 "
- + "ORDER BY beginndatum";
+ var sql = "SELECT * FROM prozedur "
+ + "LEFT JOIN dk_mtb_einzelempfehlung em ON em.id = prozedur.id "
+ // TODO data_form_id immer 489?
+ + "WHERE prozedur.hauptprozedur_id = " + Integer.parseInt(procedureID.toString()) + " AND prozedur.geloescht = 0 AND prozedur.data_form_id = 489 "
+ + "ORDER BY beginndatum";
- SQLQuery query = session.createSQLQuery(sql)
- .addScalar("id", StandardBasicTypes.STRING)
- .addScalar("genname", StandardBasicTypes.STRING)
- .addScalar("geneid", StandardBasicTypes.STRING)
- .addScalar("geneidlink", StandardBasicTypes.STRING)
- .addScalar("empfehlung", StandardBasicTypes.STRING)
- .addScalar("beginndatum", StandardBasicTypes.STRING);
+ SQLQuery query = session.createSQLQuery(sql)
+ .addScalar("id", StandardBasicTypes.STRING)
+ .addScalar("genname", StandardBasicTypes.STRING)
+ .addScalar("geneid", StandardBasicTypes.STRING)
+ .addScalar("geneidlink", StandardBasicTypes.STRING)
+ .addScalar("empfehlung", StandardBasicTypes.STRING)
+ .addScalar("beginndatum", StandardBasicTypes.STRING);
- @SuppressWarnings("unchecked")
- List rows = query.list();
- return rows;
- } catch (Exception e) {
- return null;
- }
+ @SuppressWarnings("unchecked")
+ List rows = query.list();
+ return rows;
} catch (Exception e) {
+ logger.error("Fehler bei Abfrage von Empfehlungen", e);
return null;
}
}
diff --git a/src/test/java/DNPM/DNPMHelperTest.java b/src/test/java/DNPM/DNPMHelperTest.java
index f9a03fb..41a80d6 100644
--- a/src/test/java/DNPM/DNPMHelperTest.java
+++ b/src/test/java/DNPM/DNPMHelperTest.java
@@ -17,7 +17,7 @@ import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
@ExtendWith(MockitoExtension.class)
-public class DNPMHelperTest {
+class DNPMHelperTest {
private SystemtherapieService systemtherapieService;
@@ -42,10 +42,17 @@ public class DNPMHelperTest {
}
@Test
- void testShouldReturnNullIfNoDiagnoseId() {
+ void testShouldReturnNullIfNoDiagnoseIdCallingGetSystemischeTherapienFromDiagnose() {
var actual = dnpmHelper.getSystemischeTherapienFromDiagnose(new HashMap<>());
assertThat(actual).isNull();
}
+ @Test
+ void testShouldReturnNullIfNoProcedureIdCallingGetEmpfehlung() {
+ var actual = dnpmHelper.getEmpfehlung(new HashMap<>());
+
+ assertThat(actual).isNull();
+ }
+
}