ENMDatenManager.d.ts 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236
  1. import { JavaObject } from '../../../java/lang/JavaObject';
  2. import { ENMKlasse } from '../../../core/data/enm/ENMKlasse';
  3. import { ENMLeistung } from '../../../core/data/enm/ENMLeistung';
  4. import { ENMFach } from '../../../core/data/enm/ENMFach';
  5. import { ENMJahrgang } from '../../../core/data/enm/ENMJahrgang';
  6. import { Schulform } from '../../../core/types/statkue/Schulform';
  7. import { ENMLerngruppe } from '../../../core/data/enm/ENMLerngruppe';
  8. import { ENMLehrer } from '../../../core/data/enm/ENMLehrer';
  9. import { ENMSchueler } from '../../../core/data/enm/ENMSchueler';
  10. import { ENMDaten } from '../../../core/data/enm/ENMDaten';
  11. import { Geschlecht } from '../../../core/types/Geschlecht';
  12. export declare class ENMDatenManager extends JavaObject {
  13. readonly daten: ENMDaten;
  14. private mapLehrer;
  15. private mapSchueler;
  16. private mapFaecher;
  17. private mapJahrgaenge;
  18. private mapKlassen;
  19. private lerngruppenIDZaehler;
  20. private mapLerngruppen;
  21. /**
  22. * Erzeugt einen neuen ENM-Daten-Manager mit leeren ENM-Daten.
  23. */
  24. constructor();
  25. /**
  26. * Erzeugt einen neuen ENM-Daten-Manager für die übergebenen Daten.
  27. *
  28. * @param daten die ENM-Daten
  29. */
  30. constructor(daten: ENMDaten);
  31. /**
  32. * Fügt alle Noten des Core-Type {@link Note} zu dem Noten-Katalog der ENM-Datei hinzu.
  33. */
  34. addNoten(): void;
  35. /**
  36. * Fügt alle Förderschwerpunkte des Core-Type {@link Foerderschwerpunkt} zu dem
  37. * Förderschwerpunkt-Katalog der ENM-Datei hinzu.
  38. *
  39. * @param schulform die Schulform, für welche die zulässigen Förderschwerpunkte
  40. * zurückgegeben werden
  41. */
  42. addFoerderschwerpunkte(schulform: Schulform): void;
  43. /**
  44. * Fügt einen Lehrer hinzu und überprüft dabei, ob der Lehrer schon in der Liste vorhanden ist.
  45. *
  46. * @param id die eindeutige ID des Lehrers
  47. * @param kuerzel das Kürzel des Lehrers
  48. * @param nachname der Nachname des Lehrers
  49. * @param vorname der Vorname des Lehrers
  50. * @param eMailDienstlich die Dienst-Email-Adresse des Lehrers
  51. *
  52. * @return true, falls der Lehrer hinzugefügt wurde, ansonsten false
  53. */
  54. addLehrer(id: number, kuerzel: String | null, nachname: String | null, vorname: String | null, eMailDienstlich: String | null): boolean;
  55. /**
  56. * Fügt einen Schueler hinzu und überprüft dabei, ob der Schueler schon in der Liste vorhanden ist.
  57. *
  58. * @param id die ID des Schülers in der SVWS-DB
  59. * @param jahrgangID die ID des aktuellen Jahrgangs, in dem sich der Schüler befindet
  60. * @param klasseID die ID der aktuellen Klasse, in der sich der Schüler befindet
  61. * @param nachname der Nachname des Schülers (z.B. Mustermann)
  62. * @param vorname der Vorname des Schülers (z.B. Max)
  63. * @param geschlecht das Geschlecht des Schülers
  64. * @param bilingualeSprache gibt an, ob sich der Schüler aktuell im bilingualen Bildungsgang befindet
  65. * (wenn ja, z.B. F) oder nicht (null)
  66. * @param istZieldifferent gibt an, ob der Schüler Ziel-different unterrichtet wird
  67. * @param istDaZFoerderung gibt an, ob der Schüler Deutsch-Förderung mit Deutsch als Zweitsprache (DaZ)
  68. * bekommt (Seiteneinsteiger, z.B. Flüchtlingskinder)
  69. *
  70. * @return true, falls der Schueler hinzugefügt wurde, ansonsten false
  71. */
  72. addSchueler(id: number, jahrgangID: number, klasseID: number, nachname: String | null, vorname: String | null, geschlecht: Geschlecht, bilingualeSprache: String | null, istZieldifferent: boolean, istDaZFoerderung: boolean): boolean;
  73. /**
  74. * Fügt ein Fach hinzu und überprüft dabei, ob das Fach schon in der Liste vorhanden ist.
  75. *
  76. * @param id die eindeutige ID des Faches
  77. * @param kuerzel das Kürzel des Faches, wie es im Rahmen der amtlichen Schulstatistik verwendet wird. (z.B. D)
  78. * @param kuerzelAnzeige das Kürzel des Faches, wie es im Rahmen der Schule benannt wird und angezeigt werden soll. (z.B. D)
  79. * @param sortierung die Reihenfolge des Faches bei der Sortierung der Fächer. (z.B. 37)
  80. * @param istFremdsprache gibt an, ob es sich bei dem Fach um eine Fremdsprache handelt oder nicht
  81. *
  82. * @return true, falls das Fach hinzugefügt wurde, ansonsten false
  83. */
  84. addFach(id: number, kuerzel: String | null, kuerzelAnzeige: String | null, sortierung: number, istFremdsprache: boolean): boolean;
  85. /**
  86. * Fügt einen Jahrgang hinzu und überprüft dabei, ob der Jahrgang schon in der Liste vorhanden ist.
  87. *
  88. * @param id die eindeutige ID des Jahrganges
  89. * @param kuerzel das Kürzel des Jahrgangs, wie es im Rahmen der amtlichen Schulstatistik verwendet wird. (z.B. EF)
  90. * @param kuerzelAnzeige das Kürzel des Jahrgangs, wie es im Rahmen der Schule benannt wird und angezeigt werden soll. (z.B. EF)
  91. * @param beschreibung die textuelle Bezeichnung des Jahrgangs. (z.B. Einführungsphase)
  92. * @param stufe die Stufe des Jahrgangs. (z.B. PR, SI, nur Berufskolleg: SII, Berufskolleg Anlage D und GOSt: SII-1, SII-2, SII-3)
  93. * @param sortierung die Reihenfolge des Jahrgangs bei der Sortierung der Jahrgänge. (z.B. 8)
  94. *
  95. * @return true, falls der Jahrgang hinzugefügt wurde, ansonsten false
  96. */
  97. addJahrgang(id: number, kuerzel: String | null, kuerzelAnzeige: String | null, beschreibung: String | null, stufe: String | null, sortierung: number): boolean;
  98. /**
  99. * Fügt eine Klasse hinzu und überprüft dabei, ob die Klasse schon in der Liste vorhanden ist.
  100. *
  101. * @param id die eindeutige ID der Klasse
  102. * @param kuerzel das Kürzel der Klasse, wie es im Rahmen der amtlichen Schulstatistik verwendet wird. (z.B. EF)
  103. * @param kuerzelAnzeige das Kürzel der Klasse, wie es im Rahmen der Schule benannt wird und angezeigt werden soll. (z.B. EF)
  104. * @param sortierung die Reihenfolge der Klasse bei der Sortierung der Klassen. (z.B. 8)
  105. *
  106. * @return true, falls die Klasse hinzugefügt wurde, ansonsten false
  107. */
  108. addKlasse(id: number, kuerzel: String | null, kuerzelAnzeige: String | null, sortierung: number): boolean;
  109. /**
  110. * Liefert das ENM-Lehrer-Objekt für die angegebene Lehrer-ID zurück,
  111. * sofern die Lehrer über die Methode {@link ENMDatenManager#addLehrer(long, String, String, String, String)}
  112. * hinzugefügt wurden.
  113. *
  114. * @param id die ID des Lehrers
  115. *
  116. * @return das ENM-Lehrer-Objekt
  117. */
  118. getLehrer(id: number): ENMLehrer | null;
  119. /**
  120. * Liefert das ENM-Schüler-Objekt für die angegebene Schüler-ID zurück,
  121. * sofern die Schüler über die Methode {@link ENMDatenManager#addSchueler(long, long, long, String, String, Geschlecht, String, boolean, boolean)}
  122. * hinzugefügt wurden.
  123. *
  124. * @param id die ID des Schülers
  125. *
  126. * @return das ENM-Schüler-Objekt
  127. */
  128. getSchueler(id: number): ENMSchueler | null;
  129. /**
  130. * Liefert das ENM-Fächer-Objekt für die angegebene Fächer-ID zurück,
  131. * sofern die Fächer über die Methode {@link ENMDatenManager#addFach(long, String, String, int, boolean)}
  132. * hinzugefügt wurden.
  133. *
  134. * @param id die ID des Faches
  135. *
  136. * @return das ENM-Fächer-Objekt
  137. */
  138. getFach(id: number): ENMFach | null;
  139. /**
  140. * Liefert das ENM-Jahrgänge-Objekt für die angegebene Jahrgangs-ID zurück,
  141. * sofern die Jahrgänge über die Methode {@link ENMDatenManager#addJahrgang(long, String, String, String, String, int)}
  142. * hinzugefügt wurden.
  143. *
  144. * @param id die ID des Jahrgangs
  145. *
  146. * @return das ENM-Jahrgänge-Objekt
  147. */
  148. getJahrgang(id: number): ENMJahrgang | null;
  149. /**
  150. * Liefert das ENM-Klassen-Objekt für die angegebene Klassen-ID zurück,
  151. * sofern die Klassen über die Methode {@link ENMDatenManager#addKlasse(long, String, String, int)}
  152. * hinzugefügt wurden.
  153. *
  154. * @param id die ID der Klasse
  155. *
  156. * @return das ENM-Klassen-Objekt
  157. */
  158. getKlasse(id: number): ENMKlasse | null;
  159. /**
  160. * Fügt eine neue Lerngruppe mit den angegebenen Parametern hinzu, falls sie noch nicht existiert. Die strID ist dabei
  161. * eine temporäre ID, die nur bei der Erstellung von ENMLerngruppen auf Serverseite genutzt wird.
  162. *
  163. * @param strID die temporäre ID der Lerngruppe, um festzustellen, ob es diese Lerngruppe bereits gibt.
  164. * @param kID die ID der Lerngruppe (Klasse oder Kurs) in der SVWS-DB
  165. * @param fachID die ID des Faches der Lerngruppe.
  166. * @param kursartID gibt die ID der Kursart an. Ist dieser Wert null, so handelt es sich um Klassen-Unterricht
  167. * @param bezeichnung die Bezeichnung der Lerngruppe (z.B. D-GK4)
  168. * @param kursartKuerzel das Kürzel der (allgemeinen) Kursart (z.B. GK)
  169. * @param bilingualeSprache das einstellige Kürzel der bilingualen Sprache, sofern es sich um eine bilinguale
  170. * Lerngruppe handelt. (z.B. F)
  171. * @param wochenstunden die Anzahl der Wochenstunden, falls es sich um einen Kurs handelt.
  172. */
  173. addLerngruppe(strID: String, kID: number, fachID: number, kursartID: Number | null, bezeichnung: String | null, kursartKuerzel: String | null, bilingualeSprache: String | null, wochenstunden: number): void;
  174. /**
  175. * Liefert die Lerngruppe mit der übergebenen (temporären) ID zurück.
  176. *
  177. * @param strID die temporäre ID der Lerngruppe, um festzustellen, ob es diese Lerngruppe bereits gibt.
  178. *
  179. * @return die Lerngruppe
  180. */
  181. getLerngruppe(strID: String): ENMLerngruppe | null;
  182. /**
  183. * Fügt die Klassenlehrer zu der List der Klassenlehrer bei einem Schüler hinzu
  184. *
  185. * @param schueler der Schüler
  186. * @param klassenlehrerIDs die IDs der Klassenlehrer
  187. */
  188. addSchuelerKlassenlehrer(schueler: ENMSchueler, ...klassenlehrerIDs: Array<number>): void;
  189. /**
  190. * Fügt eine Sprache mit den übergebenen Informationen zu der Sprachenfolge eines Schülers hinzu.
  191. *
  192. * @param schueler der Schüler
  193. * @param sprache das Kürzel der Sprache, bereinigt von dem Jahrgang, in dem die Sprache eingesetzt hat
  194. * @param fachID die ID des Faches
  195. * @param fachKuerzel das Kürzel des Faches
  196. * @param reihenfolge die Reihenfolge des Faches in der Sprachenfolge (Beispiel 1)
  197. * @param belegungVonJahrgang die Information, ab welchem Jahrgang die Sprache belegt wurde (Beispiel 5)
  198. * @param belegungVonAbschnitt die Information, ab welchem Abschnitt in dem Jahrgang die Sprache belegt wurde (Beispiel 1)
  199. * @param belegungBisJahrgang die Information, bis zu welchem Jahrgang die Sprache belegt wurde (Beispiel 12), sofern die Sprache bereits abgeschlossen ist
  200. * @param belegungBisAbschnitt die Information, bis zu welchem Abschnitt in dem Jahrgang die Sprache belegt wurde (Beispiel 2), sofern die Sprache bereits abgeschlossen ist
  201. * @param referenzniveau die Bezeichnung des Sprachreferenzniveaus, welches bisher erreicht wurde (z.B. B2/C1)
  202. * @param belegungSekI die Mindest-Dauer der Belegung in der Sekundarstufe I gemäß den Stufen im Core-Type SprachBelegungSekI (z.B. 0, 2, 4, 6)
  203. */
  204. addSchuelerSprachenfolge(schueler: ENMSchueler, sprache: String | null, fachID: number, fachKuerzel: String | null, reihenfolge: number, belegungVonJahrgang: number, belegungVonAbschnitt: number, belegungBisJahrgang: Number | null, belegungBisAbschnitt: Number | null, referenzniveau: String | null, belegungSekI: Number | null): void;
  205. /**
  206. * Fügt die Leistungsdaten mit den übergebenen Informationen zu den Leistungsdaten eines Schülers hinzu
  207. *
  208. * @param schueler der Schüler
  209. * @param leistungID die ID der Leistungsdaten des Schülers in der SVWS-DB (z.B. 307956)
  210. * @param lerngruppenID die eindeutige ID der Lerngruppe, der der Schüler zugeordnet ist.
  211. * (Klasse oder Kurs wird erst in der Lerngruppe unterschieden!)
  212. * @param note das Kürzel der Note, die vergeben wurde
  213. * @param istSchriftlich gibt an, ob das Fach schriftlich belegt wurde oder nicht
  214. * @param abiturfach gibt an, ob es sich um ein Abitufach handelt (1,2,3 oder 4) oder nicht (null)
  215. * @param fehlstundenGesamt gibt die Anzahl der gesamten Fehlstunden an, sofern diese fachbezogen ermittel werden
  216. * @param fehlstundenUnentschuldigt gibt die Anzahl der unentschuldigten Fehlstunden an, sofern diese fachbezogen ermittel werden
  217. * @param fachbezogeneBemerkungen die fachbezogenen Bemerkungen bzw. das Thema bei Projektkursen
  218. * @param neueZuweisungKursart die Kurszuweisung, die auf dem Zeugnis erscheinen soll für den nächsten Kursabschnitt
  219. * (z.B. E oder G-Kurs, z.B. an der Gesamtschule)
  220. */
  221. addSchuelerLeistungsdaten(schueler: ENMSchueler, leistungID: number, lerngruppenID: number, note: String | null, istSchriftlich: boolean, abiturfach: Number | null, fehlstundenGesamt: Number | null, fehlstundenUnentschuldigt: Number | null, fachbezogeneBemerkungen: String | null, neueZuweisungKursart: String | null): void;
  222. /**
  223. * Fügt die Teilleistung mit den übergebenen Angaben zu übergebenen Leistungsdaten
  224. * eines Schülers hinzu.
  225. *
  226. * @param leistung die Leistungsdaten eines Schülers
  227. * @param id die ID der Teilleistung
  228. * @param artID die ID der Art von Teileistungen
  229. * @param datum das Datum, welches dem Erbringen der Teilleistung zuzuordnen ist (z.B. Klausurdatum)
  230. * @param bemerkung ggf. eine Bemerkung zu der Teilleistung
  231. * @param notenKuerzel das Notenkürzel, welches der Teilleistung zuzuordnen ist.
  232. */
  233. addSchuelerTeilleistung(leistung: ENMLeistung, id: number, artID: number, datum: String | null, bemerkung: String | null, notenKuerzel: String | null): void;
  234. isTranspiledInstanceOf(name: string): boolean;
  235. }
  236. export declare function cast_de_nrw_schule_svws_core_utils_enm_ENMDatenManager(obj: unknown): ENMDatenManager;