Klasse ENMDatenManager

java.lang.Object
de.svws_nrw.core.utils.enm.ENMDatenManager

public class ENMDatenManager extends Object
Diese Klasse dien dem Verwalten von ENM-Daten (siehe auch ENMDaten).
  • Felddetails

    • daten

      @NotNull public final @NotNull ENMDaten daten
      Die ENM-Daten, die von diesem Daten-Manager verwaltet werden.
  • Konstruktordetails

    • ENMDatenManager

      public ENMDatenManager(Long lehrerID)
      Erzeugt einen neuen ENM-Daten-Manager mit leeren ENM-Daten.
      Parameter:
      lehrerID - die ID des Lehrers für welchen die ENM-Daten erzeugt werden oder null für alle Lehrer
    • ENMDatenManager

      public ENMDatenManager(@NotNull @NotNull ENMDaten daten)
      Erzeugt einen neuen ENM-Daten-Manager für die übergebenen Daten.
      Parameter:
      daten - die ENM-Daten
  • Methodendetails

    • setSchuldaten

      public void setSchuldaten(int schulnummer, int schuljahr, int anzahlAbschnitte, int abschnitt, String publicKey, boolean fehlstundenEingabe, boolean fehlstundenSIFachbezogen, boolean fehlstundenSIIFachbezogen, @NotNull @NotNull String schulform, String mailadresse)
      Setzt die grundlegenden Daten zur Schule und zu dem Schuljahresabschnitts für welchen die ENM-Daten generiert wurden.
      Parameter:
      schulnummer - die Schulnummer
      schuljahr - das Schuljahr
      anzahlAbschnitte - die Anzahl der Abschnitte an der Schule (2: Halbjahrsmodus, 4: Quartalsmodus)
      abschnitt - die Nummer des Abschnittes im Schuljahr
      publicKey - der öffentlichen Schlüssel, welcher für die Verschlüsselung und den Rückversand der Datei genutzt werden soll
      fehlstundenEingabe - gibt an, ob die Fehlstunden-Eingabe durch das externe Notenmodul erlaubt ist oder nicht
      fehlstundenSIFachbezogen - gibt an, ob die Fehlstunden für die Sekundarstufe I fachbezogen eingetragen werden oder nicht
      fehlstundenSIIFachbezogen - gibt an, ob die Fehlstunden für die Sekundarstufe II fachbezogen eingetragen werden oder nicht
      schulform - das Kürzel der Schulform der Schule
      mailadresse - gibt die Mailadresse an, an welche die verschlüsselte Datei zurückgesendet werden soll (z.B. mail@schule.nrw.de)
    • setAnkreuzkompetenzenStufen

      public void setAnkreuzkompetenzenStufen(String stufe1, String stufe2, String stufe3, String stufe4, String stufe5, String sonstige)
      Setzt die Informationen zu den Texten der einzelnen Kompetenzstufen für Ankreuzkompetenzen.
      Parameter:
      stufe1 - der Text für die Stufe 1
      stufe2 - der Text für die Stufe 2
      stufe3 - der Text für die Stufe 3
      stufe4 - der Text für die Stufe 4
      stufe5 - der Text für die Stufe 5
      sonstige - der Text für die frei definierbare Zeugnisrubrik "Sonstiges"
    • addNoten

      public void addNoten(int schuljahr)
      Fügt alle Noten des Core-Type Note zu dem Noten-Katalog der ENM-Datei hinzu.
      Parameter:
      schuljahr - das Schuljahr, für welches die ENM-Datei erzeugt wird
    • addFoerderschwerpunkte

      public void addFoerderschwerpunkte(int schuljahr, @NotNull @NotNull Schulform schulform)
      Fügt alle Förderschwerpunkte des Core-Type Foerderschwerpunkt zu dem Förderschwerpunkt-Katalog der ENM-Datei hinzu.
      Parameter:
      schuljahr - das Schuljahr, für welches die ENM-Datei erzeugt wird
      schulform - die Schulform, für welche die zulässigen Förderschwerpunkte zurückgegeben werden
    • addLehrer

      public boolean addLehrer(long id, String kuerzel, String nachname, String vorname, @NotNull @NotNull Geschlecht geschlecht, String eMailDienstlich, @NotNull @NotNull String passwordHash, String tsPasswordHash)
      Fügt einen Lehrer hinzu und überprüft dabei, ob der Lehrer schon in der Liste vorhanden ist.
      Parameter:
      id - die eindeutige ID des Lehrers
      kuerzel - das Kürzel des Lehrers
      nachname - der Nachname des Lehrers
      vorname - der Vorname des Lehrers
      geschlecht - das Geschlecht des Lehrers
      eMailDienstlich - die Dienst-Email-Adresse des Lehrers
      passwordHash - der Password-Hash des Lehrer-Kennwortes für das Notenmodul
      tsPasswordHash - der Zeitstempel, wann der Password-Hash zuletzt geändert wurde
      Gibt zurück:
      true, falls der Lehrer hinzugefügt wurde, ansonsten false
    • addSchueler

      public boolean addSchueler(long id, long jahrgangID, long klasseID, String nachname, String vorname, @NotNull @NotNull Geschlecht geschlecht, String bilingualeSprache, boolean istZieldifferent, boolean istDaZFoerderung)
      Fügt einen Schueler hinzu und überprüft dabei, ob der Schueler schon in der Liste vorhanden ist.
      Parameter:
      id - die ID des Schülers in der SVWS-DB
      jahrgangID - die ID des aktuellen Jahrgangs, in dem sich der Schüler befindet
      klasseID - die ID der aktuellen Klasse, in der sich der Schüler befindet
      nachname - der Nachname des Schülers (z.B. Mustermann)
      vorname - der Vorname des Schülers (z.B. Max)
      geschlecht - das Geschlecht des Schülers
      bilingualeSprache - gibt an, ob sich der Schüler aktuell im bilingualen Bildungsgang befindet (wenn ja, z.B. F) oder nicht (null)
      istZieldifferent - gibt an, ob der Schüler Ziel-different unterrichtet wird
      istDaZFoerderung - gibt an, ob der Schüler Deutsch-Förderung mit Deutsch als Zweitsprache (DaZ) bekommt (Seiteneinsteiger, z.B. Flüchtlingskinder)
      Gibt zurück:
      true, falls der Schueler hinzugefügt wurde, ansonsten false
    • addFach

      public boolean addFach(long id, @NotNull @NotNull String kuerzel, @NotNull @NotNull String kuerzelAnzeige, int sortierung, boolean istFremdsprache)
      Fügt ein Fach hinzu und überprüft dabei, ob das Fach schon in der Liste vorhanden ist.
      Parameter:
      id - die eindeutige ID des Faches
      kuerzel - das Kürzel des Faches, wie es im Rahmen der amtlichen Schulstatistik verwendet wird. (z.B. D)
      kuerzelAnzeige - das Kürzel des Faches, wie es im Rahmen der Schule benannt wird und angezeigt werden soll. (z.B. D)
      sortierung - die Reihenfolge des Faches bei der Sortierung der Fächer. (z.B. 37)
      istFremdsprache - gibt an, ob es sich bei dem Fach um eine Fremdsprache handelt oder nicht
      Gibt zurück:
      true, falls das Fach hinzugefügt wurde, ansonsten false
    • addJahrgang

      public boolean addJahrgang(long id, String kuerzel, String kuerzelAnzeige, String beschreibung, String stufe, int sortierung)
      Fügt einen Jahrgang hinzu und überprüft dabei, ob der Jahrgang schon in der Liste vorhanden ist.
      Parameter:
      id - die eindeutige ID des Jahrganges
      kuerzel - das Kürzel des Jahrgangs, wie es im Rahmen der amtlichen Schulstatistik verwendet wird. (z.B. EF)
      kuerzelAnzeige - das Kürzel des Jahrgangs, wie es im Rahmen der Schule benannt wird und angezeigt werden soll. (z.B. EF)
      beschreibung - die textuelle Bezeichnung des Jahrgangs. (z.B. Einführungsphase)
      stufe - die Stufe des Jahrgangs. (z.B. PR, SI, nur Berufskolleg: SII, Berufskolleg Anlage D und GOSt: SII-1, SII-2, SII-3)
      sortierung - die Reihenfolge des Jahrgangs bei der Sortierung der Jahrgänge. (z.B. 8)
      Gibt zurück:
      true, falls der Jahrgang hinzugefügt wurde, ansonsten false
    • addKlasse

      public boolean addKlasse(long id, String kuerzel, String kuerzelAnzeige, Long idJahrgang, int sortierung)
      Fügt eine Klasse hinzu und überprüft dabei, ob die Klasse schon in der Liste vorhanden ist.
      Parameter:
      id - die eindeutige ID der Klasse
      kuerzel - das Kürzel der Klasse, wie es im Rahmen der amtlichen Schulstatistik verwendet wird. (z.B. EF)
      kuerzelAnzeige - das Kürzel der Klasse, wie es im Rahmen der Schule benannt wird und angezeigt werden soll. (z.B. EF)
      idJahrgang - die ID des Jahrgangs oder null bei jahrgangsübergreifenden Klassen
      sortierung - die Reihenfolge der Klasse bei der Sortierung der Klassen. (z.B. 8)
      Gibt zurück:
      true, falls die Klasse hinzugefügt wurde, ansonsten false
    • addTeilleistungsart

      public boolean addTeilleistungsart(long id, String bezeichnung, int sortierung, double gewichtung)
      Fügt eine Teilleistungsart hinzu und überprüft dabei, ob die Art schon in der Liste vorhanden ist.
      Parameter:
      id - die eindeutige ID der Teilleistungsart
      bezeichnung - die Bezeichnung der Teilleistungsart
      sortierung - die Reihenfolge der Art bei der Sortierung der Arten. (z.B. 8)
      gewichtung - die Gewichtung der Art
      Gibt zurück:
      true, falls der Jahrgang hinzugefügt wurde, ansonsten false
    • addAnkreuzkompetenz

      public boolean addAnkreuzkompetenz(long id, boolean istFachkompetenz, Long fachID, @NotNull @NotNull String jahrgang, @NotNull @NotNull String text, int sortierung)
      Fügt eine Ankreuzkompetenz zum Katalog hinzu und überprüft dabei, ob sie schon in der Liste vorhanden ist.
      Parameter:
      id - die eindeutige ID der Ankreuzkompetenz
      istFachkompetenz - gibt an, on es sich um eine Fach-bezogene Ankreuzkompetenz handelt oder nicht
      fachID - die ID des Faches
      jahrgang - der ASD-Jahrgang, dem die Ankreuzkompetenz zugeordnet ist
      text - der Text der Ankreuzkompetenz
      sortierung - die Reihenfolge der Ankreuzkompetenzen
      Gibt zurück:
      true, falls die Ankreuzkompetenz hinzugefügt wurde, ansonsten false
    • getLehrer

      public ENMLehrer getLehrer(long id)
      Liefert das ENM-Lehrer-Objekt für die angegebene Lehrer-ID zurück, sofern die Lehrer über die Methode addLehrer(long, String, String, String, Geschlecht, String, String, String) hinzugefügt wurden.
      Parameter:
      id - die ID des Lehrers
      Gibt zurück:
      das ENM-Lehrer-Objekt
    • getSchueler

      public ENMSchueler getSchueler(long id)
      Liefert das ENM-Schüler-Objekt für die angegebene Schüler-ID zurück, sofern die Schüler über die Methode addSchueler(long, long, long, String, String, Geschlecht, String, boolean, boolean) hinzugefügt wurden.
      Parameter:
      id - die ID des Schülers
      Gibt zurück:
      das ENM-Schüler-Objekt
    • getFach

      public ENMFach getFach(long id)
      Liefert das ENM-Fächer-Objekt für die angegebene Fächer-ID zurück, sofern die Fächer über die Methode addFach(long, String, String, int, boolean) hinzugefügt wurden.
      Parameter:
      id - die ID des Faches
      Gibt zurück:
      das ENM-Fächer-Objekt
    • getFachByKuerzel

      public ENMFach getFachByKuerzel(@NotNull @NotNull String kuerzel)
      Liefert das ENM-Fächer-Objekt für das angegebene Fächer-Kürzel zurück, sofern die Fächer über die Methode addFach(long, String, String, int, boolean) hinzugefügt wurden.
      Parameter:
      kuerzel - das Kürzel des Faches
      Gibt zurück:
      das ENM-Fächer-Objekt
    • getJahrgang

      public ENMJahrgang getJahrgang(long id)
      Liefert das ENM-Jahrgänge-Objekt für die angegebene Jahrgangs-ID zurück, sofern die Jahrgänge über die Methode addJahrgang(long, String, String, String, String, int) hinzugefügt wurden.
      Parameter:
      id - die ID des Jahrgangs
      Gibt zurück:
      das ENM-Jahrgänge-Objekt
    • getKlasse

      public ENMKlasse getKlasse(long id)
      Liefert das ENM-Klassen-Objekt für die angegebene Klassen-ID zurück, sofern die Klassen über die Methode addKlasse(long, String, String, Long, int) hinzugefügt wurden.
      Parameter:
      id - die ID der Klasse
      Gibt zurück:
      das ENM-Klassen-Objekt
    • getTeilleistungsart

      public ENMTeilleistungsart getTeilleistungsart(long id)
      Liefert das ENM-Teilleistungsart-Objekt für die angegebene Teilleistungsart-ID zurück, sofern die Teilleistungsart hinzugefügt wurde.
      Parameter:
      id - die ID der Teilleistungsart
      Gibt zurück:
      das ENM-Teilleistungsart-Objekt
    • getAnkreuzkompetenz

      public ENMAnkreuzkompetenz getAnkreuzkompetenz(long id)
      Liefert das ENMAnkreuzkompetenz-Objekt für die angegebene Ankreuzkompetenz-ID zurück, sofern die Ankreuzkompetenz hinzugefügt wurde.
      Parameter:
      id - die ID der Ankreuzkompetenz
      Gibt zurück:
      das ENMAnkreuzkompetenz-Objekt
    • addLerngruppe

      public void addLerngruppe(@NotNull @NotNull String strID, long kID, long fachID, Integer kursartID, String bezeichnung, String kursartKuerzel, String bilingualeSprache, int wochenstunden)
      Fügt eine neue Lerngruppe mit den angegebenen Parametern hinzu, falls sie noch nicht existiert. Die strID ist dabei eine temporäre ID, die nur bei der Erstellung von ENMLerngruppen auf Serverseite genutzt wird.
      Parameter:
      strID - die temporäre ID der Lerngruppe, um festzustellen, ob es diese Lerngruppe bereits gibt.
      kID - die ID der Lerngruppe (Klasse oder Kurs) in der SVWS-DB
      fachID - die ID des Faches der Lerngruppe.
      kursartID - gibt die ID der Kursart an. Ist dieser Wert null, so handelt es sich um Klassen-Unterricht
      bezeichnung - die Bezeichnung der Lerngruppe (z.B. D-GK4)
      kursartKuerzel - das Kürzel der (allgemeinen) Kursart (z.B. GK)
      bilingualeSprache - das einstellige Kürzel der bilingualen Sprache, sofern es sich um eine bilinguale Lerngruppe handelt. (z.B. F)
      wochenstunden - die Anzahl der Wochenstunden, falls es sich um einen Kurs handelt.
    • getLerngruppe

      public ENMLerngruppe getLerngruppe(@NotNull @NotNull String strID)
      Liefert die Lerngruppe mit der übergebenen (temporären) ID zurück.
      Parameter:
      strID - die temporäre ID der Lerngruppe, um festzustellen, ob es diese Lerngruppe bereits gibt.
      Gibt zurück:
      die Lerngruppe
    • addSchuelerKlassenlehrer

      public void addSchuelerKlassenlehrer(@NotNull @NotNull ENMSchueler schueler, long... klassenlehrerIDs)
      Fügt die Klassenlehrer zu der List der Klassenlehrer bei einem Schüler hinzu
      Parameter:
      schueler - der Schüler
      klassenlehrerIDs - die IDs der Klassenlehrer
    • addSchuelerSprachenfolge

      public void addSchuelerSprachenfolge(@NotNull @NotNull ENMSchueler schueler, String sprache, long fachID, String fachKuerzel, int reihenfolge, int belegungVonJahrgang, int belegungVonAbschnitt, Integer belegungBisJahrgang, Integer belegungBisAbschnitt, String referenzniveau, Integer belegungSekI)
      Fügt eine Sprache mit den übergebenen Informationen zu der Sprachenfolge eines Schülers hinzu.
      Parameter:
      schueler - der Schüler
      sprache - das Kürzel der Sprache, bereinigt von dem Jahrgang, in dem die Sprache eingesetzt hat
      fachID - die ID des Faches
      fachKuerzel - das Kürzel des Faches
      reihenfolge - die Reihenfolge des Faches in der Sprachenfolge (Beispiel 1)
      belegungVonJahrgang - die Information, ab welchem Jahrgang die Sprache belegt wurde (Beispiel 5)
      belegungVonAbschnitt - die Information, ab welchem Abschnitt in dem Jahrgang die Sprache belegt wurde (Beispiel 1)
      belegungBisJahrgang - die Information, bis zu welchem Jahrgang die Sprache belegt wurde (Beispiel 12), sofern die Sprache bereits abgeschlossen ist
      belegungBisAbschnitt - die Information, bis zu welchem Abschnitt in dem Jahrgang die Sprache belegt wurde (Beispiel 2), sofern die Sprache bereits abgeschlossen ist
      referenzniveau - die Bezeichnung des Sprachreferenzniveaus, welches bisher erreicht wurde (z.B. B2/C1)
      belegungSekI - die Mindest-Dauer der Belegung in der Sekundarstufe I gemäß den Stufen im Core-Type SprachBelegungSekI (z.B. 0, 2, 4, 6)
    • addSchuelerAnkreuzkompetenz

      @NotNull public @NotNull ENMSchuelerAnkreuzkompetenz addSchuelerAnkreuzkompetenz(@NotNull @NotNull ENMSchueler schueler, long id, Long kompetenzID, @NotNull @jakarta.validation.constraints.NotNull boolean[] stufen, String tsStufe)
      Fügt die Leistungsdaten mit den übergebenen Informationen zu den Leistungsdaten eines Schülers hinzu
      Parameter:
      schueler - der Schüler
      id - die ID der Schüler-Ankreuzkompetenz in der SVWS-DB (z.B. 307956)
      kompetenzID - die Katalog-ID der Ankreuzkompetenz
      stufen - die Information der Zuweisung zu den einzelnen Kompetenzstufen (Ein boolean-Array mit genau 5 Elementen)
      tsStufe - der Zeitstempel der letzten Änderung an der Zuweisung der Kompetenzstufen
      Gibt zurück:
      die neue ENM-Leistung
    • addSchuelerLeistungsdaten

      @NotNull public @NotNull ENMLeistung addSchuelerLeistungsdaten(@NotNull @NotNull ENMSchueler schueler, long leistungID, long lerngruppenID, String note, String tsNoteQuartal, String noteQuartal, String tsNote, boolean istSchriftlich, Integer abiturfach, Integer fehlstundenFach, String tsFehlstundenFach, Integer fehlstundenUnentschuldigtFach, String tsFehlstundenUnentschuldigtFach, String fachbezogeneBemerkungen, String tsFachbezogeneBemerkungen, String neueZuweisungKursart, boolean istGemahnt, String tsIstGemahnt, String mahndatum)
      Fügt die Leistungsdaten mit den übergebenen Informationen zu den Leistungsdaten eines Schülers hinzu
      Parameter:
      schueler - der Schüler
      leistungID - die ID der Leistungsdaten des Schülers in der SVWS-DB (z.B. 307956)
      lerngruppenID - die eindeutige ID der Lerngruppe, der der Schüler zugeordnet ist. (Klasse oder Kurs wird erst in der Lerngruppe unterschieden!)
      note - das Kürzel der Note, die vergeben wurde
      tsNoteQuartal - der Zeitstempe der letzten Änderung an der Quartal-Note
      noteQuartal - das Kürzel der Quartal-Note, die vergeben wurde
      tsNote - der Zeitstempe der letzten Änderung an der Note
      istSchriftlich - gibt an, ob das Fach schriftlich belegt wurde oder nicht
      abiturfach - gibt an, ob es sich um ein Abitufach handelt (1,2,3 oder 4) oder nicht (null)
      fehlstundenFach - gibt die Anzahl der gesamten Fehlstunden an, sofern diese fachbezogen ermittel werden
      tsFehlstundenFach - der Zeitstempel der letzten Änderung an den gesamten Fehlstunden, sofern diese fachbezogen ermittel werden
      fehlstundenUnentschuldigtFach - gibt die Anzahl der unentschuldigten Fehlstunden an, sofern diese fachbezogen ermittel werden
      tsFehlstundenUnentschuldigtFach - der Zeitstempel der letzten Änderung an den unentschuldigten Fehlstunden, sofern diese fachbezogen ermittel werden
      fachbezogeneBemerkungen - die fachbezogenen Bemerkungen bzw. das Thema bei Projektkursen
      tsFachbezogeneBemerkungen - der Zeitstempel der letzten Änderung an den fachbezogenen Bemerkungen
      neueZuweisungKursart - die Kurszuweisung, die auf dem Zeugnis erscheinen soll für den nächsten Kursabschnitt (z.B. E oder G-Kurs, z.B. an der Gesamtschule)
      istGemahnt - gibt an, ob ein Fach gemahnt wurde oder nicht
      tsIstGemahnt - der Zeitstempel der letzten Änderung an der Angabe, ob ein Fach gemahnt wurde oder nicht
      mahndatum - das Mahndatum bei erfolgter Mahnung
      Gibt zurück:
      die neue ENM-Leistung
    • addSchuelerTeilleistung

      public void addSchuelerTeilleistung(@NotNull @NotNull ENMLeistung leistung, long id, long artID, String tsArtID, String datum, String tsDatum, String bemerkung, String tsBemerkung, String note, String tsNote)
      Fügt die Teilleistung mit den übergebenen Angaben zu übergebenen Leistungsdaten eines Schülers hinzu.
      Parameter:
      leistung - die Leistungsdaten eines Schülers
      id - die ID der Teilleistung
      artID - die ID der Art von Teileistungen
      tsArtID - der Zeitstempel der letzten Änderung an der Teilleistungsart
      datum - das Datum, welches dem Erbringen der Teilleistung zuzuordnen ist (z.B. Klausurdatum)
      tsDatum - der Zeitstempel der letzten Änderung an dem Datum
      bemerkung - ggf. eine Bemerkung zu der Teilleistung
      tsBemerkung - der Zeitstempel der letzten Änderung an der Bemerkung
      note - das Notenkürzel, welches der Teilleistung zuzuordnen ist.
      tsNote - der Zeitstempel der letzten Änderung an der Note