ENMDatenManager.ts 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422
  1. import { JavaObject, cast_java_lang_Object } from '../../../java/lang/JavaObject';
  2. import { ENMKlasse, cast_de_nrw_schule_svws_core_data_enm_ENMKlasse } from '../../../core/data/enm/ENMKlasse';
  3. import { ENMLeistung, cast_de_nrw_schule_svws_core_data_enm_ENMLeistung } from '../../../core/data/enm/ENMLeistung';
  4. import { ENMFach, cast_de_nrw_schule_svws_core_data_enm_ENMFach } from '../../../core/data/enm/ENMFach';
  5. import { ENMJahrgang, cast_de_nrw_schule_svws_core_data_enm_ENMJahrgang } from '../../../core/data/enm/ENMJahrgang';
  6. import { HashMap, cast_java_util_HashMap } from '../../../java/util/HashMap';
  7. import { Schulform, cast_de_nrw_schule_svws_core_types_statkue_Schulform } from '../../../core/types/statkue/Schulform';
  8. import { ENMLerngruppe, cast_de_nrw_schule_svws_core_data_enm_ENMLerngruppe } from '../../../core/data/enm/ENMLerngruppe';
  9. import { ENMLehrer, cast_de_nrw_schule_svws_core_data_enm_ENMLehrer } from '../../../core/data/enm/ENMLehrer';
  10. import { ENMSchueler, cast_de_nrw_schule_svws_core_data_enm_ENMSchueler } from '../../../core/data/enm/ENMSchueler';
  11. import { JavaString, cast_java_lang_String } from '../../../java/lang/JavaString';
  12. import { ENMFoerderschwerpunkt, cast_de_nrw_schule_svws_core_data_enm_ENMFoerderschwerpunkt } from '../../../core/data/enm/ENMFoerderschwerpunkt';
  13. import { JavaInteger, cast_java_lang_Integer } from '../../../java/lang/JavaInteger';
  14. import { ENMDaten, cast_de_nrw_schule_svws_core_data_enm_ENMDaten } from '../../../core/data/enm/ENMDaten';
  15. import { Note, cast_de_nrw_schule_svws_core_types_Note } from '../../../core/types/Note';
  16. import { JavaLong, cast_java_lang_Long } from '../../../java/lang/JavaLong';
  17. import { List, cast_java_util_List } from '../../../java/util/List';
  18. import { Geschlecht, cast_de_nrw_schule_svws_core_types_Geschlecht } from '../../../core/types/Geschlecht';
  19. import { ENMNote, cast_de_nrw_schule_svws_core_data_enm_ENMNote } from '../../../core/data/enm/ENMNote';
  20. import { Foerderschwerpunkt, cast_de_nrw_schule_svws_core_types_statkue_Foerderschwerpunkt } from '../../../core/types/statkue/Foerderschwerpunkt';
  21. export class ENMDatenManager extends JavaObject {
  22. public readonly daten : ENMDaten;
  23. private mapLehrer : HashMap<Number, ENMLehrer> = new HashMap();
  24. private mapSchueler : HashMap<Number, ENMSchueler> = new HashMap();
  25. private mapFaecher : HashMap<Number, ENMFach> = new HashMap();
  26. private mapJahrgaenge : HashMap<Number, ENMJahrgang> = new HashMap();
  27. private mapKlassen : HashMap<Number, ENMKlasse> = new HashMap();
  28. private lerngruppenIDZaehler : number = 1;
  29. private mapLerngruppen : HashMap<String, ENMLerngruppe> = new HashMap();
  30. /**
  31. * Erzeugt einen neuen ENM-Daten-Manager mit leeren ENM-Daten.
  32. */
  33. public constructor();
  34. /**
  35. * Erzeugt einen neuen ENM-Daten-Manager für die übergebenen Daten.
  36. *
  37. * @param daten die ENM-Daten
  38. */
  39. public constructor(daten : ENMDaten);
  40. /**
  41. * Implementation for method overloads of 'constructor'
  42. */
  43. public constructor(__param0? : ENMDaten) {
  44. super();
  45. if ((typeof __param0 === "undefined")) {
  46. this.daten = new ENMDaten();
  47. } else if (((typeof __param0 !== "undefined") && ((__param0 instanceof JavaObject) && (__param0.isTranspiledInstanceOf('de.nrw.schule.svws.core.data.enm.ENMDaten'))))) {
  48. let daten : ENMDaten = cast_de_nrw_schule_svws_core_data_enm_ENMDaten(__param0);
  49. this.daten = daten;
  50. } else throw new Error('invalid method overload');
  51. }
  52. /**
  53. * Fügt alle Noten des Core-Type {@link Note} zu dem Noten-Katalog der ENM-Datei hinzu.
  54. */
  55. public addNoten() : void {
  56. if (this.daten.noten.size() > 0)
  57. return;
  58. let noten : Array<Note> = Note.values();
  59. for (let i : number = 0; i < noten.length; i++){
  60. let note : Note = noten[i];
  61. let enmNote : ENMNote = new ENMNote();
  62. enmNote.kuerzel = note.kuerzel;
  63. enmNote.notenpunkte = note.notenpunkte;
  64. enmNote.text = note.text;
  65. this.daten.noten.add(enmNote);
  66. }
  67. }
  68. /**
  69. * Fügt alle Förderschwerpunkte des Core-Type {@link Foerderschwerpunkt} zu dem
  70. * Förderschwerpunkt-Katalog der ENM-Datei hinzu.
  71. *
  72. * @param schulform die Schulform, für welche die zulässigen Förderschwerpunkte
  73. * zurückgegeben werden
  74. */
  75. public addFoerderschwerpunkte(schulform : Schulform) : void {
  76. if (this.daten.foerderschwerpunkte.size() > 0)
  77. return;
  78. let foerderschwerpunkte : List<Foerderschwerpunkt> = Foerderschwerpunkt.get(schulform);
  79. for (let i : number = 0; i < foerderschwerpunkte.size(); i++){
  80. let foerderschwerpunkt : Foerderschwerpunkt | null = foerderschwerpunkte.get(i);
  81. let enmFoerderschwerpunkt : ENMFoerderschwerpunkt | null = new ENMFoerderschwerpunkt();
  82. enmFoerderschwerpunkt.kuerzel = foerderschwerpunkt.kuerzel;
  83. enmFoerderschwerpunkt.beschreibung = foerderschwerpunkt.beschreibung;
  84. this.daten.foerderschwerpunkte.add(enmFoerderschwerpunkt);
  85. }
  86. }
  87. /**
  88. * Fügt einen Lehrer hinzu und überprüft dabei, ob der Lehrer schon in der Liste vorhanden ist.
  89. *
  90. * @param id die eindeutige ID des Lehrers
  91. * @param kuerzel das Kürzel des Lehrers
  92. * @param nachname der Nachname des Lehrers
  93. * @param vorname der Vorname des Lehrers
  94. * @param eMailDienstlich die Dienst-Email-Adresse des Lehrers
  95. *
  96. * @return true, falls der Lehrer hinzugefügt wurde, ansonsten false
  97. */
  98. public addLehrer(id : number, kuerzel : String | null, nachname : String | null, vorname : String | null, eMailDienstlich : String | null) : boolean {
  99. if (this.mapLehrer.get(id) !== null)
  100. return false;
  101. let enmLehrer : ENMLehrer = new ENMLehrer();
  102. enmLehrer.id = id;
  103. enmLehrer.kuerzel = kuerzel;
  104. enmLehrer.nachname = nachname;
  105. enmLehrer.vorname = vorname;
  106. enmLehrer.eMailDienstlich = eMailDienstlich;
  107. this.daten.lehrer.add(enmLehrer);
  108. this.mapLehrer.put(id, enmLehrer);
  109. return true;
  110. }
  111. /**
  112. * Fügt einen Schueler hinzu und überprüft dabei, ob der Schueler schon in der Liste vorhanden ist.
  113. *
  114. * @param id die ID des Schülers in der SVWS-DB
  115. * @param jahrgangID die ID des aktuellen Jahrgangs, in dem sich der Schüler befindet
  116. * @param klasseID die ID der aktuellen Klasse, in der sich der Schüler befindet
  117. * @param nachname der Nachname des Schülers (z.B. Mustermann)
  118. * @param vorname der Vorname des Schülers (z.B. Max)
  119. * @param geschlecht das Geschlecht des Schülers
  120. * @param bilingualeSprache gibt an, ob sich der Schüler aktuell im bilingualen Bildungsgang befindet
  121. * (wenn ja, z.B. F) oder nicht (null)
  122. * @param istZieldifferent gibt an, ob der Schüler Ziel-different unterrichtet wird
  123. * @param istDaZFoerderung gibt an, ob der Schüler Deutsch-Förderung mit Deutsch als Zweitsprache (DaZ)
  124. * bekommt (Seiteneinsteiger, z.B. Flüchtlingskinder)
  125. *
  126. * @return true, falls der Schueler hinzugefügt wurde, ansonsten false
  127. */
  128. public addSchueler(id : number, jahrgangID : number, klasseID : number, nachname : String | null, vorname : String | null, geschlecht : Geschlecht, bilingualeSprache : String | null, istZieldifferent : boolean, istDaZFoerderung : boolean) : boolean {
  129. if (this.mapSchueler.get(id) !== null)
  130. return false;
  131. let enmSchueler : ENMSchueler = new ENMSchueler();
  132. enmSchueler.id = id;
  133. enmSchueler.jahrgangID = jahrgangID;
  134. enmSchueler.nachname = nachname;
  135. enmSchueler.vorname = vorname;
  136. enmSchueler.geschlecht = geschlecht.kuerzel;
  137. enmSchueler.bilingualeSprache = bilingualeSprache;
  138. enmSchueler.istZieldifferent = istZieldifferent;
  139. enmSchueler.istDaZFoerderung = istDaZFoerderung;
  140. this.daten.schueler.add(enmSchueler);
  141. this.mapSchueler.put(id, enmSchueler);
  142. return true;
  143. }
  144. /**
  145. * Fügt ein Fach hinzu und überprüft dabei, ob das Fach schon in der Liste vorhanden ist.
  146. *
  147. * @param id die eindeutige ID des Faches
  148. * @param kuerzel das Kürzel des Faches, wie es im Rahmen der amtlichen Schulstatistik verwendet wird. (z.B. D)
  149. * @param kuerzelAnzeige das Kürzel des Faches, wie es im Rahmen der Schule benannt wird und angezeigt werden soll. (z.B. D)
  150. * @param sortierung die Reihenfolge des Faches bei der Sortierung der Fächer. (z.B. 37)
  151. * @param istFremdsprache gibt an, ob es sich bei dem Fach um eine Fremdsprache handelt oder nicht
  152. *
  153. * @return true, falls das Fach hinzugefügt wurde, ansonsten false
  154. */
  155. public addFach(id : number, kuerzel : String | null, kuerzelAnzeige : String | null, sortierung : number, istFremdsprache : boolean) : boolean {
  156. if (this.mapFaecher.get(id) !== null)
  157. return false;
  158. let enmFach : ENMFach = new ENMFach();
  159. enmFach.id = id;
  160. enmFach.kuerzel = kuerzel;
  161. enmFach.kuerzelAnzeige = kuerzelAnzeige;
  162. enmFach.sortierung = sortierung;
  163. enmFach.istFremdsprache = istFremdsprache;
  164. this.daten.faecher.add(enmFach);
  165. this.mapFaecher.put(id, enmFach);
  166. return true;
  167. }
  168. /**
  169. * Fügt einen Jahrgang hinzu und überprüft dabei, ob der Jahrgang schon in der Liste vorhanden ist.
  170. *
  171. * @param id die eindeutige ID des Jahrganges
  172. * @param kuerzel das Kürzel des Jahrgangs, wie es im Rahmen der amtlichen Schulstatistik verwendet wird. (z.B. EF)
  173. * @param kuerzelAnzeige das Kürzel des Jahrgangs, wie es im Rahmen der Schule benannt wird und angezeigt werden soll. (z.B. EF)
  174. * @param beschreibung die textuelle Bezeichnung des Jahrgangs. (z.B. Einführungsphase)
  175. * @param stufe die Stufe des Jahrgangs. (z.B. PR, SI, nur Berufskolleg: SII, Berufskolleg Anlage D und GOSt: SII-1, SII-2, SII-3)
  176. * @param sortierung die Reihenfolge des Jahrgangs bei der Sortierung der Jahrgänge. (z.B. 8)
  177. *
  178. * @return true, falls der Jahrgang hinzugefügt wurde, ansonsten false
  179. */
  180. public addJahrgang(id : number, kuerzel : String | null, kuerzelAnzeige : String | null, beschreibung : String | null, stufe : String | null, sortierung : number) : boolean {
  181. if (this.mapJahrgaenge.get(id) !== null)
  182. return false;
  183. let enmJahrgang : ENMJahrgang = new ENMJahrgang();
  184. enmJahrgang.id = id;
  185. enmJahrgang.kuerzel = kuerzel;
  186. enmJahrgang.kuerzelAnzeige = kuerzelAnzeige;
  187. enmJahrgang.beschreibung = beschreibung;
  188. enmJahrgang.stufe = stufe;
  189. enmJahrgang.sortierung = sortierung;
  190. this.daten.jahrgaenge.add(enmJahrgang);
  191. this.mapJahrgaenge.put(id, enmJahrgang);
  192. return true;
  193. }
  194. /**
  195. * Fügt eine Klasse hinzu und überprüft dabei, ob die Klasse schon in der Liste vorhanden ist.
  196. *
  197. * @param id die eindeutige ID der Klasse
  198. * @param kuerzel das Kürzel der Klasse, wie es im Rahmen der amtlichen Schulstatistik verwendet wird. (z.B. EF)
  199. * @param kuerzelAnzeige das Kürzel der Klasse, wie es im Rahmen der Schule benannt wird und angezeigt werden soll. (z.B. EF)
  200. * @param sortierung die Reihenfolge der Klasse bei der Sortierung der Klassen. (z.B. 8)
  201. *
  202. * @return true, falls die Klasse hinzugefügt wurde, ansonsten false
  203. */
  204. public addKlasse(id : number, kuerzel : String | null, kuerzelAnzeige : String | null, sortierung : number) : boolean {
  205. if (this.mapKlassen.get(id) !== null)
  206. return false;
  207. let enmKlasse : ENMKlasse = new ENMKlasse();
  208. enmKlasse.id = id;
  209. enmKlasse.kuerzel = kuerzel;
  210. enmKlasse.kuerzelAnzeige = kuerzelAnzeige;
  211. enmKlasse.sortierung = sortierung;
  212. this.daten.klassen.add(enmKlasse);
  213. this.mapKlassen.put(id, enmKlasse);
  214. return true;
  215. }
  216. /**
  217. * Liefert das ENM-Lehrer-Objekt für die angegebene Lehrer-ID zurück,
  218. * sofern die Lehrer über die Methode {@link ENMDatenManager#addLehrer(long, String, String, String, String)}
  219. * hinzugefügt wurden.
  220. *
  221. * @param id die ID des Lehrers
  222. *
  223. * @return das ENM-Lehrer-Objekt
  224. */
  225. public getLehrer(id : number) : ENMLehrer | null {
  226. return this.mapLehrer.get(id);
  227. }
  228. /**
  229. * Liefert das ENM-Schüler-Objekt für die angegebene Schüler-ID zurück,
  230. * sofern die Schüler über die Methode {@link ENMDatenManager#addSchueler(long, long, long, String, String, Geschlecht, String, boolean, boolean)}
  231. * hinzugefügt wurden.
  232. *
  233. * @param id die ID des Schülers
  234. *
  235. * @return das ENM-Schüler-Objekt
  236. */
  237. public getSchueler(id : number) : ENMSchueler | null {
  238. return this.mapSchueler.get(id);
  239. }
  240. /**
  241. * Liefert das ENM-Fächer-Objekt für die angegebene Fächer-ID zurück,
  242. * sofern die Fächer über die Methode {@link ENMDatenManager#addFach(long, String, String, int, boolean)}
  243. * hinzugefügt wurden.
  244. *
  245. * @param id die ID des Faches
  246. *
  247. * @return das ENM-Fächer-Objekt
  248. */
  249. public getFach(id : number) : ENMFach | null {
  250. return this.mapFaecher.get(id);
  251. }
  252. /**
  253. * Liefert das ENM-Jahrgänge-Objekt für die angegebene Jahrgangs-ID zurück,
  254. * sofern die Jahrgänge über die Methode {@link ENMDatenManager#addJahrgang(long, String, String, String, String, int)}
  255. * hinzugefügt wurden.
  256. *
  257. * @param id die ID des Jahrgangs
  258. *
  259. * @return das ENM-Jahrgänge-Objekt
  260. */
  261. public getJahrgang(id : number) : ENMJahrgang | null {
  262. return this.mapJahrgaenge.get(id);
  263. }
  264. /**
  265. * Liefert das ENM-Klassen-Objekt für die angegebene Klassen-ID zurück,
  266. * sofern die Klassen über die Methode {@link ENMDatenManager#addKlasse(long, String, String, int)}
  267. * hinzugefügt wurden.
  268. *
  269. * @param id die ID der Klasse
  270. *
  271. * @return das ENM-Klassen-Objekt
  272. */
  273. public getKlasse(id : number) : ENMKlasse | null {
  274. return this.mapKlassen.get(id);
  275. }
  276. /**
  277. * Fügt eine neue Lerngruppe mit den angegebenen Parametern hinzu, falls sie noch nicht existiert. Die strID ist dabei
  278. * eine temporäre ID, die nur bei der Erstellung von ENMLerngruppen auf Serverseite genutzt wird.
  279. *
  280. * @param strID die temporäre ID der Lerngruppe, um festzustellen, ob es diese Lerngruppe bereits gibt.
  281. * @param kID die ID der Lerngruppe (Klasse oder Kurs) in der SVWS-DB
  282. * @param fachID die ID des Faches der Lerngruppe.
  283. * @param kursartID gibt die ID der Kursart an. Ist dieser Wert null, so handelt es sich um Klassen-Unterricht
  284. * @param bezeichnung die Bezeichnung der Lerngruppe (z.B. D-GK4)
  285. * @param kursartKuerzel das Kürzel der (allgemeinen) Kursart (z.B. GK)
  286. * @param bilingualeSprache das einstellige Kürzel der bilingualen Sprache, sofern es sich um eine bilinguale
  287. * Lerngruppe handelt. (z.B. F)
  288. * @param wochenstunden die Anzahl der Wochenstunden, falls es sich um einen Kurs handelt.
  289. */
  290. public addLerngruppe(strID : String, kID : number, fachID : number, kursartID : Number | null, bezeichnung : String | null, kursartKuerzel : String | null, bilingualeSprache : String | null, wochenstunden : number) : void {
  291. if (this.mapLerngruppen.get(strID) !== null)
  292. return;
  293. let lerngruppe : ENMLerngruppe = new ENMLerngruppe();
  294. lerngruppe.id = this.lerngruppenIDZaehler++;
  295. lerngruppe.kID = kID;
  296. lerngruppe.fachID = fachID;
  297. lerngruppe.kursartID = kursartID;
  298. lerngruppe.bezeichnung = bezeichnung;
  299. lerngruppe.kursartKuerzel = kursartKuerzel;
  300. lerngruppe.bilingualeSprache = bilingualeSprache;
  301. lerngruppe.wochenstunden = wochenstunden;
  302. this.mapLerngruppen.put(strID, lerngruppe);
  303. this.daten.lerngruppen.add(lerngruppe);
  304. }
  305. /**
  306. * Liefert die Lerngruppe mit der übergebenen (temporären) ID zurück.
  307. *
  308. * @param strID die temporäre ID der Lerngruppe, um festzustellen, ob es diese Lerngruppe bereits gibt.
  309. *
  310. * @return die Lerngruppe
  311. */
  312. public getLerngruppe(strID : String) : ENMLerngruppe | null {
  313. return this.mapLerngruppen.get(strID);
  314. }
  315. /**
  316. * Fügt die Klassenlehrer zu der List der Klassenlehrer bei einem Schüler hinzu
  317. *
  318. * @param schueler der Schüler
  319. * @param klassenlehrerIDs die IDs der Klassenlehrer
  320. */
  321. public addSchuelerKlassenlehrer(schueler : ENMSchueler, ...klassenlehrerIDs : Array<number>) : void {
  322. }
  323. /**
  324. * Fügt eine Sprache mit den übergebenen Informationen zu der Sprachenfolge eines Schülers hinzu.
  325. *
  326. * @param schueler der Schüler
  327. * @param sprache das Kürzel der Sprache, bereinigt von dem Jahrgang, in dem die Sprache eingesetzt hat
  328. * @param fachID die ID des Faches
  329. * @param fachKuerzel das Kürzel des Faches
  330. * @param reihenfolge die Reihenfolge des Faches in der Sprachenfolge (Beispiel 1)
  331. * @param belegungVonJahrgang die Information, ab welchem Jahrgang die Sprache belegt wurde (Beispiel 5)
  332. * @param belegungVonAbschnitt die Information, ab welchem Abschnitt in dem Jahrgang die Sprache belegt wurde (Beispiel 1)
  333. * @param belegungBisJahrgang die Information, bis zu welchem Jahrgang die Sprache belegt wurde (Beispiel 12), sofern die Sprache bereits abgeschlossen ist
  334. * @param belegungBisAbschnitt die Information, bis zu welchem Abschnitt in dem Jahrgang die Sprache belegt wurde (Beispiel 2), sofern die Sprache bereits abgeschlossen ist
  335. * @param referenzniveau die Bezeichnung des Sprachreferenzniveaus, welches bisher erreicht wurde (z.B. B2/C1)
  336. * @param belegungSekI die Mindest-Dauer der Belegung in der Sekundarstufe I gemäß den Stufen im Core-Type SprachBelegungSekI (z.B. 0, 2, 4, 6)
  337. */
  338. public 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 {
  339. }
  340. /**
  341. * Fügt die Leistungsdaten mit den übergebenen Informationen zu den Leistungsdaten eines Schülers hinzu
  342. *
  343. * @param schueler der Schüler
  344. * @param leistungID die ID der Leistungsdaten des Schülers in der SVWS-DB (z.B. 307956)
  345. * @param lerngruppenID die eindeutige ID der Lerngruppe, der der Schüler zugeordnet ist.
  346. * (Klasse oder Kurs wird erst in der Lerngruppe unterschieden!)
  347. * @param note das Kürzel der Note, die vergeben wurde
  348. * @param istSchriftlich gibt an, ob das Fach schriftlich belegt wurde oder nicht
  349. * @param abiturfach gibt an, ob es sich um ein Abitufach handelt (1,2,3 oder 4) oder nicht (null)
  350. * @param fehlstundenGesamt gibt die Anzahl der gesamten Fehlstunden an, sofern diese fachbezogen ermittel werden
  351. * @param fehlstundenUnentschuldigt gibt die Anzahl der unentschuldigten Fehlstunden an, sofern diese fachbezogen ermittel werden
  352. * @param fachbezogeneBemerkungen die fachbezogenen Bemerkungen bzw. das Thema bei Projektkursen
  353. * @param neueZuweisungKursart die Kurszuweisung, die auf dem Zeugnis erscheinen soll für den nächsten Kursabschnitt
  354. * (z.B. E oder G-Kurs, z.B. an der Gesamtschule)
  355. */
  356. public 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 {
  357. let enmLeistung : ENMLeistung = new ENMLeistung();
  358. enmLeistung.id = leistungID;
  359. enmLeistung.lerngruppenID = lerngruppenID;
  360. enmLeistung.note = note;
  361. enmLeistung.istSchriftlich = istSchriftlich;
  362. enmLeistung.abiturfach = abiturfach;
  363. enmLeistung.fehlstundenGesamt = fehlstundenGesamt;
  364. enmLeistung.fehlstundenUnentschuldigt = fehlstundenUnentschuldigt;
  365. enmLeistung.fachbezogeneBemerkungen = fachbezogeneBemerkungen;
  366. enmLeistung.neueZuweisungKursart = neueZuweisungKursart;
  367. schueler.leistungsdaten.add(enmLeistung);
  368. }
  369. /**
  370. * Fügt die Teilleistung mit den übergebenen Angaben zu übergebenen Leistungsdaten
  371. * eines Schülers hinzu.
  372. *
  373. * @param leistung die Leistungsdaten eines Schülers
  374. * @param id die ID der Teilleistung
  375. * @param artID die ID der Art von Teileistungen
  376. * @param datum das Datum, welches dem Erbringen der Teilleistung zuzuordnen ist (z.B. Klausurdatum)
  377. * @param bemerkung ggf. eine Bemerkung zu der Teilleistung
  378. * @param notenKuerzel das Notenkürzel, welches der Teilleistung zuzuordnen ist.
  379. */
  380. public addSchuelerTeilleistung(leistung : ENMLeistung, id : number, artID : number, datum : String | null, bemerkung : String | null, notenKuerzel : String | null) : void {
  381. }
  382. isTranspiledInstanceOf(name : string): boolean {
  383. return ['de.nrw.schule.svws.core.utils.enm.ENMDatenManager'].includes(name);
  384. }
  385. }
  386. export function cast_de_nrw_schule_svws_core_utils_enm_ENMDatenManager(obj : unknown) : ENMDatenManager {
  387. return obj as ENMDatenManager;
  388. }