diff options
| -rw-r--r-- | pom.xml | 2 | ||||
| -rw-r--r-- | src/main/java/DNPM/DNPMHelper.java | 47 | ||||
| -rw-r--r-- | src/test/java/DNPM/DNPMHelperTest.java | 11 |
3 files changed, 34 insertions, 26 deletions
@@ -4,7 +4,7 @@ <modelVersion>4.0.0</modelVersion> <groupId>DNPMHelper</groupId> <artifactId>DNPMHelper</artifactId> - <version>0.1.0</version> + <version>0.1.1-SNAPSHOT</version> <name>DNPMHelper</name> <properties> 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<String, Object> 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"; - - 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<String[]> rows = query.list(); - return rows; - } catch (Exception e) { - return null; - } + 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); + + @SuppressWarnings("unchecked") + List<String[]> 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(); + } + } |
