123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.cast_de_nrw_schule_svws_core_utils_enm_ENMDatenManager = exports.ENMDatenManager = void 0;
- const JavaObject_1 = require("../../../java/lang/JavaObject");
- const ENMKlasse_1 = require("../../../core/data/enm/ENMKlasse");
- const ENMLeistung_1 = require("../../../core/data/enm/ENMLeistung");
- const ENMFach_1 = require("../../../core/data/enm/ENMFach");
- const ENMJahrgang_1 = require("../../../core/data/enm/ENMJahrgang");
- const HashMap_1 = require("../../../java/util/HashMap");
- const ENMLerngruppe_1 = require("../../../core/data/enm/ENMLerngruppe");
- const ENMLehrer_1 = require("../../../core/data/enm/ENMLehrer");
- const ENMSchueler_1 = require("../../../core/data/enm/ENMSchueler");
- const ENMFoerderschwerpunkt_1 = require("../../../core/data/enm/ENMFoerderschwerpunkt");
- const ENMDaten_1 = require("../../../core/data/enm/ENMDaten");
- const Note_1 = require("../../../core/types/Note");
- const ENMNote_1 = require("../../../core/data/enm/ENMNote");
- const Foerderschwerpunkt_1 = require("../../../core/types/statkue/Foerderschwerpunkt");
- class ENMDatenManager extends JavaObject_1.JavaObject {
- daten;
- mapLehrer = new HashMap_1.HashMap();
- mapSchueler = new HashMap_1.HashMap();
- mapFaecher = new HashMap_1.HashMap();
- mapJahrgaenge = new HashMap_1.HashMap();
- mapKlassen = new HashMap_1.HashMap();
- lerngruppenIDZaehler = 1;
- mapLerngruppen = new HashMap_1.HashMap();
- /**
- * Implementation for method overloads of 'constructor'
- */
- constructor(__param0) {
- super();
- if ((typeof __param0 === "undefined")) {
- this.daten = new ENMDaten_1.ENMDaten();
- }
- else if (((typeof __param0 !== "undefined") && ((__param0 instanceof JavaObject_1.JavaObject) && (__param0.isTranspiledInstanceOf('de.nrw.schule.svws.core.data.enm.ENMDaten'))))) {
- let daten = (0, ENMDaten_1.cast_de_nrw_schule_svws_core_data_enm_ENMDaten)(__param0);
- this.daten = daten;
- }
- else
- throw new Error('invalid method overload');
- }
- /**
- * Fügt alle Noten des Core-Type {@link Note} zu dem Noten-Katalog der ENM-Datei hinzu.
- */
- addNoten() {
- if (this.daten.noten.size() > 0)
- return;
- let noten = Note_1.Note.values();
- for (let i = 0; i < noten.length; i++) {
- let note = noten[i];
- let enmNote = new ENMNote_1.ENMNote();
- enmNote.kuerzel = note.kuerzel;
- enmNote.notenpunkte = note.notenpunkte;
- enmNote.text = note.text;
- this.daten.noten.add(enmNote);
- }
- }
- /**
- * Fügt alle Förderschwerpunkte des Core-Type {@link Foerderschwerpunkt} zu dem
- * Förderschwerpunkt-Katalog der ENM-Datei hinzu.
- *
- * @param schulform die Schulform, für welche die zulässigen Förderschwerpunkte
- * zurückgegeben werden
- */
- addFoerderschwerpunkte(schulform) {
- if (this.daten.foerderschwerpunkte.size() > 0)
- return;
- let foerderschwerpunkte = Foerderschwerpunkt_1.Foerderschwerpunkt.get(schulform);
- for (let i = 0; i < foerderschwerpunkte.size(); i++) {
- let foerderschwerpunkt = foerderschwerpunkte.get(i);
- let enmFoerderschwerpunkt = new ENMFoerderschwerpunkt_1.ENMFoerderschwerpunkt();
- enmFoerderschwerpunkt.kuerzel = foerderschwerpunkt.kuerzel;
- enmFoerderschwerpunkt.beschreibung = foerderschwerpunkt.beschreibung;
- this.daten.foerderschwerpunkte.add(enmFoerderschwerpunkt);
- }
- }
- /**
- * Fügt einen Lehrer hinzu und überprüft dabei, ob der Lehrer schon in der Liste vorhanden ist.
- *
- * @param id die eindeutige ID des Lehrers
- * @param kuerzel das Kürzel des Lehrers
- * @param nachname der Nachname des Lehrers
- * @param vorname der Vorname des Lehrers
- * @param eMailDienstlich die Dienst-Email-Adresse des Lehrers
- *
- * @return true, falls der Lehrer hinzugefügt wurde, ansonsten false
- */
- addLehrer(id, kuerzel, nachname, vorname, eMailDienstlich) {
- if (this.mapLehrer.get(id) !== null)
- return false;
- let enmLehrer = new ENMLehrer_1.ENMLehrer();
- enmLehrer.id = id;
- enmLehrer.kuerzel = kuerzel;
- enmLehrer.nachname = nachname;
- enmLehrer.vorname = vorname;
- enmLehrer.eMailDienstlich = eMailDienstlich;
- this.daten.lehrer.add(enmLehrer);
- this.mapLehrer.put(id, enmLehrer);
- return true;
- }
- /**
- * Fügt einen Schueler hinzu und überprüft dabei, ob der Schueler schon in der Liste vorhanden ist.
- *
- * @param id die ID des Schülers in der SVWS-DB
- * @param jahrgangID die ID des aktuellen Jahrgangs, in dem sich der Schüler befindet
- * @param klasseID die ID der aktuellen Klasse, in der sich der Schüler befindet
- * @param nachname der Nachname des Schülers (z.B. Mustermann)
- * @param vorname der Vorname des Schülers (z.B. Max)
- * @param geschlecht das Geschlecht des Schülers
- * @param bilingualeSprache gibt an, ob sich der Schüler aktuell im bilingualen Bildungsgang befindet
- * (wenn ja, z.B. F) oder nicht (null)
- * @param istZieldifferent gibt an, ob der Schüler Ziel-different unterrichtet wird
- * @param istDaZFoerderung gibt an, ob der Schüler Deutsch-Förderung mit Deutsch als Zweitsprache (DaZ)
- * bekommt (Seiteneinsteiger, z.B. Flüchtlingskinder)
- *
- * @return true, falls der Schueler hinzugefügt wurde, ansonsten false
- */
- addSchueler(id, jahrgangID, klasseID, nachname, vorname, geschlecht, bilingualeSprache, istZieldifferent, istDaZFoerderung) {
- if (this.mapSchueler.get(id) !== null)
- return false;
- let enmSchueler = new ENMSchueler_1.ENMSchueler();
- enmSchueler.id = id;
- enmSchueler.jahrgangID = jahrgangID;
- enmSchueler.nachname = nachname;
- enmSchueler.vorname = vorname;
- enmSchueler.geschlecht = geschlecht.kuerzel;
- enmSchueler.bilingualeSprache = bilingualeSprache;
- enmSchueler.istZieldifferent = istZieldifferent;
- enmSchueler.istDaZFoerderung = istDaZFoerderung;
- this.daten.schueler.add(enmSchueler);
- this.mapSchueler.put(id, enmSchueler);
- return true;
- }
- /**
- * Fügt ein Fach hinzu und überprüft dabei, ob das Fach schon in der Liste vorhanden ist.
- *
- * @param id die eindeutige ID des Faches
- * @param kuerzel das Kürzel des Faches, wie es im Rahmen der amtlichen Schulstatistik verwendet wird. (z.B. D)
- * @param kuerzelAnzeige das Kürzel des Faches, wie es im Rahmen der Schule benannt wird und angezeigt werden soll. (z.B. D)
- * @param sortierung die Reihenfolge des Faches bei der Sortierung der Fächer. (z.B. 37)
- * @param istFremdsprache gibt an, ob es sich bei dem Fach um eine Fremdsprache handelt oder nicht
- *
- * @return true, falls das Fach hinzugefügt wurde, ansonsten false
- */
- addFach(id, kuerzel, kuerzelAnzeige, sortierung, istFremdsprache) {
- if (this.mapFaecher.get(id) !== null)
- return false;
- let enmFach = new ENMFach_1.ENMFach();
- enmFach.id = id;
- enmFach.kuerzel = kuerzel;
- enmFach.kuerzelAnzeige = kuerzelAnzeige;
- enmFach.sortierung = sortierung;
- enmFach.istFremdsprache = istFremdsprache;
- this.daten.faecher.add(enmFach);
- this.mapFaecher.put(id, enmFach);
- return true;
- }
- /**
- * Fügt einen Jahrgang hinzu und überprüft dabei, ob der Jahrgang schon in der Liste vorhanden ist.
- *
- * @param id die eindeutige ID des Jahrganges
- * @param kuerzel das Kürzel des Jahrgangs, wie es im Rahmen der amtlichen Schulstatistik verwendet wird. (z.B. EF)
- * @param kuerzelAnzeige das Kürzel des Jahrgangs, wie es im Rahmen der Schule benannt wird und angezeigt werden soll. (z.B. EF)
- * @param beschreibung die textuelle Bezeichnung des Jahrgangs. (z.B. Einführungsphase)
- * @param stufe die Stufe des Jahrgangs. (z.B. PR, SI, nur Berufskolleg: SII, Berufskolleg Anlage D und GOSt: SII-1, SII-2, SII-3)
- * @param sortierung die Reihenfolge des Jahrgangs bei der Sortierung der Jahrgänge. (z.B. 8)
- *
- * @return true, falls der Jahrgang hinzugefügt wurde, ansonsten false
- */
- addJahrgang(id, kuerzel, kuerzelAnzeige, beschreibung, stufe, sortierung) {
- if (this.mapJahrgaenge.get(id) !== null)
- return false;
- let enmJahrgang = new ENMJahrgang_1.ENMJahrgang();
- enmJahrgang.id = id;
- enmJahrgang.kuerzel = kuerzel;
- enmJahrgang.kuerzelAnzeige = kuerzelAnzeige;
- enmJahrgang.beschreibung = beschreibung;
- enmJahrgang.stufe = stufe;
- enmJahrgang.sortierung = sortierung;
- this.daten.jahrgaenge.add(enmJahrgang);
- this.mapJahrgaenge.put(id, enmJahrgang);
- return true;
- }
- /**
- * Fügt eine Klasse hinzu und überprüft dabei, ob die Klasse schon in der Liste vorhanden ist.
- *
- * @param id die eindeutige ID der Klasse
- * @param kuerzel das Kürzel der Klasse, wie es im Rahmen der amtlichen Schulstatistik verwendet wird. (z.B. EF)
- * @param kuerzelAnzeige das Kürzel der Klasse, wie es im Rahmen der Schule benannt wird und angezeigt werden soll. (z.B. EF)
- * @param sortierung die Reihenfolge der Klasse bei der Sortierung der Klassen. (z.B. 8)
- *
- * @return true, falls die Klasse hinzugefügt wurde, ansonsten false
- */
- addKlasse(id, kuerzel, kuerzelAnzeige, sortierung) {
- if (this.mapKlassen.get(id) !== null)
- return false;
- let enmKlasse = new ENMKlasse_1.ENMKlasse();
- enmKlasse.id = id;
- enmKlasse.kuerzel = kuerzel;
- enmKlasse.kuerzelAnzeige = kuerzelAnzeige;
- enmKlasse.sortierung = sortierung;
- this.daten.klassen.add(enmKlasse);
- this.mapKlassen.put(id, enmKlasse);
- return true;
- }
- /**
- * Liefert das ENM-Lehrer-Objekt für die angegebene Lehrer-ID zurück,
- * sofern die Lehrer über die Methode {@link ENMDatenManager#addLehrer(long, String, String, String, String)}
- * hinzugefügt wurden.
- *
- * @param id die ID des Lehrers
- *
- * @return das ENM-Lehrer-Objekt
- */
- getLehrer(id) {
- return this.mapLehrer.get(id);
- }
- /**
- * Liefert das ENM-Schüler-Objekt für die angegebene Schüler-ID zurück,
- * sofern die Schüler über die Methode {@link ENMDatenManager#addSchueler(long, long, long, String, String, Geschlecht, String, boolean, boolean)}
- * hinzugefügt wurden.
- *
- * @param id die ID des Schülers
- *
- * @return das ENM-Schüler-Objekt
- */
- getSchueler(id) {
- return this.mapSchueler.get(id);
- }
- /**
- * Liefert das ENM-Fächer-Objekt für die angegebene Fächer-ID zurück,
- * sofern die Fächer über die Methode {@link ENMDatenManager#addFach(long, String, String, int, boolean)}
- * hinzugefügt wurden.
- *
- * @param id die ID des Faches
- *
- * @return das ENM-Fächer-Objekt
- */
- getFach(id) {
- return this.mapFaecher.get(id);
- }
- /**
- * Liefert das ENM-Jahrgänge-Objekt für die angegebene Jahrgangs-ID zurück,
- * sofern die Jahrgänge über die Methode {@link ENMDatenManager#addJahrgang(long, String, String, String, String, int)}
- * hinzugefügt wurden.
- *
- * @param id die ID des Jahrgangs
- *
- * @return das ENM-Jahrgänge-Objekt
- */
- getJahrgang(id) {
- return this.mapJahrgaenge.get(id);
- }
- /**
- * Liefert das ENM-Klassen-Objekt für die angegebene Klassen-ID zurück,
- * sofern die Klassen über die Methode {@link ENMDatenManager#addKlasse(long, String, String, int)}
- * hinzugefügt wurden.
- *
- * @param id die ID der Klasse
- *
- * @return das ENM-Klassen-Objekt
- */
- getKlasse(id) {
- return this.mapKlassen.get(id);
- }
- /**
- * 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.
- *
- * @param strID die temporäre ID der Lerngruppe, um festzustellen, ob es diese Lerngruppe bereits gibt.
- * @param kID die ID der Lerngruppe (Klasse oder Kurs) in der SVWS-DB
- * @param fachID die ID des Faches der Lerngruppe.
- * @param kursartID gibt die ID der Kursart an. Ist dieser Wert null, so handelt es sich um Klassen-Unterricht
- * @param bezeichnung die Bezeichnung der Lerngruppe (z.B. D-GK4)
- * @param kursartKuerzel das Kürzel der (allgemeinen) Kursart (z.B. GK)
- * @param bilingualeSprache das einstellige Kürzel der bilingualen Sprache, sofern es sich um eine bilinguale
- * Lerngruppe handelt. (z.B. F)
- * @param wochenstunden die Anzahl der Wochenstunden, falls es sich um einen Kurs handelt.
- */
- addLerngruppe(strID, kID, fachID, kursartID, bezeichnung, kursartKuerzel, bilingualeSprache, wochenstunden) {
- if (this.mapLerngruppen.get(strID) !== null)
- return;
- let lerngruppe = new ENMLerngruppe_1.ENMLerngruppe();
- lerngruppe.id = this.lerngruppenIDZaehler++;
- lerngruppe.kID = kID;
- lerngruppe.fachID = fachID;
- lerngruppe.kursartID = kursartID;
- lerngruppe.bezeichnung = bezeichnung;
- lerngruppe.kursartKuerzel = kursartKuerzel;
- lerngruppe.bilingualeSprache = bilingualeSprache;
- lerngruppe.wochenstunden = wochenstunden;
- this.mapLerngruppen.put(strID, lerngruppe);
- this.daten.lerngruppen.add(lerngruppe);
- }
- /**
- * Liefert die Lerngruppe mit der übergebenen (temporären) ID zurück.
- *
- * @param strID die temporäre ID der Lerngruppe, um festzustellen, ob es diese Lerngruppe bereits gibt.
- *
- * @return die Lerngruppe
- */
- getLerngruppe(strID) {
- return this.mapLerngruppen.get(strID);
- }
- /**
- * Fügt die Klassenlehrer zu der List der Klassenlehrer bei einem Schüler hinzu
- *
- * @param schueler der Schüler
- * @param klassenlehrerIDs die IDs der Klassenlehrer
- */
- addSchuelerKlassenlehrer(schueler, ...klassenlehrerIDs) {
- }
- /**
- * Fügt eine Sprache mit den übergebenen Informationen zu der Sprachenfolge eines Schülers hinzu.
- *
- * @param schueler der Schüler
- * @param sprache das Kürzel der Sprache, bereinigt von dem Jahrgang, in dem die Sprache eingesetzt hat
- * @param fachID die ID des Faches
- * @param fachKuerzel das Kürzel des Faches
- * @param reihenfolge die Reihenfolge des Faches in der Sprachenfolge (Beispiel 1)
- * @param belegungVonJahrgang die Information, ab welchem Jahrgang die Sprache belegt wurde (Beispiel 5)
- * @param belegungVonAbschnitt die Information, ab welchem Abschnitt in dem Jahrgang die Sprache belegt wurde (Beispiel 1)
- * @param belegungBisJahrgang die Information, bis zu welchem Jahrgang die Sprache belegt wurde (Beispiel 12), sofern die Sprache bereits abgeschlossen ist
- * @param belegungBisAbschnitt die Information, bis zu welchem Abschnitt in dem Jahrgang die Sprache belegt wurde (Beispiel 2), sofern die Sprache bereits abgeschlossen ist
- * @param referenzniveau die Bezeichnung des Sprachreferenzniveaus, welches bisher erreicht wurde (z.B. B2/C1)
- * @param belegungSekI die Mindest-Dauer der Belegung in der Sekundarstufe I gemäß den Stufen im Core-Type SprachBelegungSekI (z.B. 0, 2, 4, 6)
- */
- addSchuelerSprachenfolge(schueler, sprache, fachID, fachKuerzel, reihenfolge, belegungVonJahrgang, belegungVonAbschnitt, belegungBisJahrgang, belegungBisAbschnitt, referenzniveau, belegungSekI) {
- }
- /**
- * Fügt die Leistungsdaten mit den übergebenen Informationen zu den Leistungsdaten eines Schülers hinzu
- *
- * @param schueler der Schüler
- * @param leistungID die ID der Leistungsdaten des Schülers in der SVWS-DB (z.B. 307956)
- * @param lerngruppenID die eindeutige ID der Lerngruppe, der der Schüler zugeordnet ist.
- * (Klasse oder Kurs wird erst in der Lerngruppe unterschieden!)
- * @param note das Kürzel der Note, die vergeben wurde
- * @param istSchriftlich gibt an, ob das Fach schriftlich belegt wurde oder nicht
- * @param abiturfach gibt an, ob es sich um ein Abitufach handelt (1,2,3 oder 4) oder nicht (null)
- * @param fehlstundenGesamt gibt die Anzahl der gesamten Fehlstunden an, sofern diese fachbezogen ermittel werden
- * @param fehlstundenUnentschuldigt gibt die Anzahl der unentschuldigten Fehlstunden an, sofern diese fachbezogen ermittel werden
- * @param fachbezogeneBemerkungen die fachbezogenen Bemerkungen bzw. das Thema bei Projektkursen
- * @param 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)
- */
- addSchuelerLeistungsdaten(schueler, leistungID, lerngruppenID, note, istSchriftlich, abiturfach, fehlstundenGesamt, fehlstundenUnentschuldigt, fachbezogeneBemerkungen, neueZuweisungKursart) {
- let enmLeistung = new ENMLeistung_1.ENMLeistung();
- enmLeistung.id = leistungID;
- enmLeistung.lerngruppenID = lerngruppenID;
- enmLeistung.note = note;
- enmLeistung.istSchriftlich = istSchriftlich;
- enmLeistung.abiturfach = abiturfach;
- enmLeistung.fehlstundenGesamt = fehlstundenGesamt;
- enmLeistung.fehlstundenUnentschuldigt = fehlstundenUnentschuldigt;
- enmLeistung.fachbezogeneBemerkungen = fachbezogeneBemerkungen;
- enmLeistung.neueZuweisungKursart = neueZuweisungKursart;
- schueler.leistungsdaten.add(enmLeistung);
- }
- /**
- * Fügt die Teilleistung mit den übergebenen Angaben zu übergebenen Leistungsdaten
- * eines Schülers hinzu.
- *
- * @param leistung die Leistungsdaten eines Schülers
- * @param id die ID der Teilleistung
- * @param artID die ID der Art von Teileistungen
- * @param datum das Datum, welches dem Erbringen der Teilleistung zuzuordnen ist (z.B. Klausurdatum)
- * @param bemerkung ggf. eine Bemerkung zu der Teilleistung
- * @param notenKuerzel das Notenkürzel, welches der Teilleistung zuzuordnen ist.
- */
- addSchuelerTeilleistung(leistung, id, artID, datum, bemerkung, notenKuerzel) {
- }
- isTranspiledInstanceOf(name) {
- return ['de.nrw.schule.svws.core.utils.enm.ENMDatenManager'].includes(name);
- }
- }
- exports.ENMDatenManager = ENMDatenManager;
- function cast_de_nrw_schule_svws_core_utils_enm_ENMDatenManager(obj) {
- return obj;
- }
- exports.cast_de_nrw_schule_svws_core_utils_enm_ENMDatenManager = cast_de_nrw_schule_svws_core_utils_enm_ENMDatenManager;
- //# sourceMappingURL=ENMDatenManager.js.map
|