From 9e56a52ac8b0a6a0d3338dc883b93c3d670bd39c Mon Sep 17 00:00:00 2001 From: Paul-Christian Volkmer Date: Sat, 25 Mar 2023 22:54:46 +0100 Subject: [PATCH] =?UTF-8?q?Pr=C3=BCfung=20ob=20ProzedurID=20=C3=BCbergeben?= =?UTF-8?q?=20wurde=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- src/main/java/DNPM/DNPMHelper.java | 43 +++++++++++++------------- src/test/java/DNPM/DNPMHelperTest.java | 11 +++++-- 3 files changed, 32 insertions(+), 24 deletions(-) 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(); + } + }