From d24f149d3ec2060ab43649d92291d1aa56da2f21 Mon Sep 17 00:00:00 2001 From: Paul-Christian Volkmer Date: Sat, 25 Mar 2023 22:54:46 +0100 Subject: Prüfung ob ProzedurID übergeben wurde hinzugefügt --- src/main/java/DNPM/DNPMHelper.java | 47 +++++++++++++++++++------------------- 1 file changed, 24 insertions(+), 23 deletions(-) (limited to 'src/main/java/DNPM/DNPMHelper.java') 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"; - - 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; - } + 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 rows = query.list(); + return rows; } catch (Exception e) { + logger.error("Fehler bei Abfrage von Empfehlungen", e); return null; } } -- cgit v1.2.3 From 26041475f80f2288474d7c5d08bd7fdc941d90f2 Mon Sep 17 00:00:00 2001 From: Paul-Christian Volkmer Date: Sat, 25 Mar 2023 23:05:27 +0000 Subject: Issue #18: Verwende keine fest codierte Formular ID closes #18 --- src/main/java/DNPM/DNPMHelper.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/main/java/DNPM/DNPMHelper.java') diff --git a/src/main/java/DNPM/DNPMHelper.java b/src/main/java/DNPM/DNPMHelper.java index 6e34a33..828546f 100644 --- a/src/main/java/DNPM/DNPMHelper.java +++ b/src/main/java/DNPM/DNPMHelper.java @@ -199,10 +199,10 @@ public class DNPMHelper implements IProcedureAnalyzer { try { SessionFactory sessionFactory = onkostarApi.getSessionFactory(); Session session = sessionFactory.getCurrentSession(); - var sql = "SELECT * FROM prozedur " + var sql = "SELECT prozedur.id, genname, geneid, geneidlink, empfehlung, beginndatum 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 " + + "JOIN data_form df ON prozedur.data_form_id = df.id AND df.name = 'MR.MTB_Einzelempfehlung' " + + "WHERE prozedur.hauptprozedur_id = " + Integer.parseInt(procedureID.toString()) + " AND prozedur.geloescht = 0 " + "ORDER BY beginndatum"; SQLQuery query = session.createSQLQuery(sql) -- cgit v1.2.3