summaryrefslogtreecommitdiff
path: root/src/main/java/DNPM/services
diff options
context:
space:
mode:
authorPaul-Christian Volkmer2023-03-14 11:09:06 +0100
committerGitHub2023-03-14 11:09:06 +0100
commitdfd0bcead45259e8fe317d54e7eeaa8d1f3b79fe (patch)
tree9ec3dcc3f69b3510bc4f76996a36ef2e1079a53a /src/main/java/DNPM/services
parente89b31532b67cf2026f1b2b975176c950bfeaaa7 (diff)
parentc3e96d18fcd477519f09465ed27f55b1d8c64517 (diff)
Merge pull request #8 from CCC-MF/issue_7
Übernahme MTB mit Datum in Einzelempfehlung und Rebiopsie
Diffstat (limited to 'src/main/java/DNPM/services')
-rw-r--r--src/main/java/DNPM/services/DefaultFormService.java34
-rw-r--r--src/main/java/DNPM/services/FormService.java29
2 files changed, 63 insertions, 0 deletions
diff --git a/src/main/java/DNPM/services/DefaultFormService.java b/src/main/java/DNPM/services/DefaultFormService.java
new file mode 100644
index 0000000..c7fb042
--- /dev/null
+++ b/src/main/java/DNPM/services/DefaultFormService.java
@@ -0,0 +1,34 @@
+package DNPM.services;
+
+import DNPM.exceptions.FormException;
+import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.stereotype.Service;
+
+import javax.sql.DataSource;
+import java.util.List;
+
+@Service
+public class DefaultFormService implements FormService {
+
+ private final JdbcTemplate jdbcTemplate;
+
+ public DefaultFormService(final DataSource dataSource) {
+ this.jdbcTemplate = new JdbcTemplate(dataSource);
+ }
+
+ @Override
+ public int getMainFormProcedureId(int procedureId) throws FormException {
+ var sql = "SELECT hauptprozedur_id FROM prozedur WHERE id = ?";
+ try {
+ return jdbcTemplate.queryForObject(sql, (resultSet, i) -> resultSet.getInt("hauptprozedur_id"), procedureId);
+ } catch (Exception e) {
+ throw new FormException(String.format("No main form found for subform with ID '%d'", procedureId));
+ }
+ }
+
+ @Override
+ public List<Integer> getSubFormProcedureIds(int procedureId) {
+ var sql = "SELECT id FROM prozedur WHERE hauptprozedur_id = ?";
+ return jdbcTemplate.queryForList(sql, Integer.class, procedureId);
+ }
+}
diff --git a/src/main/java/DNPM/services/FormService.java b/src/main/java/DNPM/services/FormService.java
new file mode 100644
index 0000000..824d350
--- /dev/null
+++ b/src/main/java/DNPM/services/FormService.java
@@ -0,0 +1,29 @@
+package DNPM.services;
+
+import DNPM.exceptions.FormException;
+
+import java.util.List;
+
+public interface FormService {
+
+ /**
+ * Diese Methode übergibt die Prozedur-ID des zugehörigen Hauptformulars zu einem Unterformular
+ * Siehe auch: <a href="https://github.com/CCC-MF/onkostar-plugin-forminfo/blob/master/src/main/java/de/ukw/ccc/onkostar/forminfo/services/FormInfoService.java">FormInfoService.java</a>
+ *
+ * @param procedureId Die Prozedur-ID des Unterformulars
+ * @return Die Prozedur-ID des zugehörigen Hauptformulars
+ * @throws FormException
+ */
+ int getMainFormProcedureId(int procedureId) throws FormException;
+
+ /**
+ * Diese Methode übergibt die Prozedur-IDs von Unterformularen zu einem Formular
+ * Siehe auch: <a href="https://github.com/CCC-MF/onkostar-plugin-forminfo/blob/master/src/main/java/de/ukw/ccc/onkostar/forminfo/services/FormInfoService.java">FormInfoService.java</a>
+ *
+ * @param procedureId Die Prozedur-ID des Formulars
+ * @return Eine Liste mit Prozedur-IDs der Unterformulare
+ * @throws FormException
+ */
+ List<Integer> getSubFormProcedureIds(int procedureId);
+
+}