Latinum.ts 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. import { JavaObject, cast_java_lang_Object } from '../../../../java/lang/JavaObject';
  2. import { SprachendatenManager, cast_de_nrw_schule_svws_core_SprachendatenManager } from '../../../../core/SprachendatenManager';
  3. import { AbiturFachbelegung, cast_de_nrw_schule_svws_core_data_gost_AbiturFachbelegung } from '../../../../core/data/gost/AbiturFachbelegung';
  4. import { GostBelegpruefungsArt, cast_de_nrw_schule_svws_core_abschluss_gost_GostBelegpruefungsArt } from '../../../../core/abschluss/gost/GostBelegpruefungsArt';
  5. import { GostHalbjahr, cast_de_nrw_schule_svws_core_types_gost_GostHalbjahr } from '../../../../core/types/gost/GostHalbjahr';
  6. import { GostBelegpruefung, cast_de_nrw_schule_svws_core_abschluss_gost_GostBelegpruefung } from '../../../../core/abschluss/gost/GostBelegpruefung';
  7. import { AbiturdatenManager, cast_de_nrw_schule_svws_core_abschluss_gost_AbiturdatenManager } from '../../../../core/abschluss/gost/AbiturdatenManager';
  8. import { GostBelegungsfehler, cast_de_nrw_schule_svws_core_abschluss_gost_GostBelegungsfehler } from '../../../../core/abschluss/gost/GostBelegungsfehler';
  9. export class Latinum extends GostBelegpruefung {
  10. private latein : AbiturFachbelegung | null = null;
  11. /**
  12. * Erstellt eine neue Belegprüfung in Bezug auf den Erwerb des Latinums.
  13. *
  14. * @param manager der Daten-Manager für die Abiturdaten
  15. * @param pruefungs_art die Art der durchzuführenden Prüfung (z.B. EF.1 oder GESAMT)
  16. */
  17. public constructor(manager : AbiturdatenManager, pruefungs_art : GostBelegpruefungsArt) {
  18. super(manager, pruefungs_art);
  19. }
  20. protected init() : void {
  21. this.latein = this.manager.getSprachbelegung("L");
  22. }
  23. protected pruefeEF1() : void {
  24. if (SprachendatenManager.hatSprachbelegungInSekI(this.manager.getSprachendaten(), "L") && (!this.manager.pruefeBelegung(this.latein, GostHalbjahr.EF1)))
  25. this.addFehler(GostBelegungsfehler.L_10_INFO);
  26. }
  27. protected pruefeGesamt() : void {
  28. if (!SprachendatenManager.hatSprachbelegungInSekI(this.manager.getSprachendaten(), "L")) {
  29. return;
  30. }
  31. if (SprachendatenManager.hatSprachbelegungInSekIMitDauer(this.manager.getSprachendaten(), "L", 4)) {
  32. if (!this.manager.pruefeBelegung(this.latein, GostHalbjahr.EF1, GostHalbjahr.EF2)) {
  33. this.addFehler(GostBelegungsfehler.L_10_INFO);
  34. }
  35. return;
  36. }
  37. if (SprachendatenManager.hatSprachbelegungInSekIMitDauer(this.manager.getSprachendaten(), "L", 2)) {
  38. if (!this.manager.pruefeBelegung(this.latein, GostHalbjahr.EF1, GostHalbjahr.EF2, GostHalbjahr.Q11, GostHalbjahr.Q12, GostHalbjahr.Q21, GostHalbjahr.Q22))
  39. this.addFehler(GostBelegungsfehler.L_11_INFO);
  40. }
  41. }
  42. isTranspiledInstanceOf(name : string): boolean {
  43. return ['de.nrw.schule.svws.core.abschluss.gost.belegpruefung.Latinum', 'de.nrw.schule.svws.core.abschluss.gost.GostBelegpruefung'].includes(name);
  44. }
  45. }
  46. export function cast_de_nrw_schule_svws_core_abschluss_gost_belegpruefung_Latinum(obj : unknown) : Latinum {
  47. return obj as Latinum;
  48. }