LiterarischKuenstlerisch.ts 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. import { JavaObject, cast_java_lang_Object } from '../../../../java/lang/JavaObject';
  2. import { GostFachbereich, cast_de_nrw_schule_svws_core_types_gost_GostFachbereich } from '../../../../core/types/gost/GostFachbereich';
  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 { List, cast_java_util_List } from '../../../../java/util/List';
  7. import { GostBelegpruefung, cast_de_nrw_schule_svws_core_abschluss_gost_GostBelegpruefung } from '../../../../core/abschluss/gost/GostBelegpruefung';
  8. import { AbiturdatenManager, cast_de_nrw_schule_svws_core_abschluss_gost_AbiturdatenManager } from '../../../../core/abschluss/gost/AbiturdatenManager';
  9. import { GostBelegungsfehler, cast_de_nrw_schule_svws_core_abschluss_gost_GostBelegungsfehler } from '../../../../core/abschluss/gost/GostBelegungsfehler';
  10. export class LiterarischKuenstlerisch extends GostBelegpruefung {
  11. private kunst_musik : List<AbiturFachbelegung> | null = null;
  12. private kunst_musik_ersatz : List<AbiturFachbelegung> | null = null;
  13. /**
  14. * Erstellt eine neue Belegprüfung für den literarisch-künstlerischen Bereich.
  15. *
  16. * @param manager der Daten-Manager für die Abiturdaten
  17. * @param pruefungs_art die Art der durchzuführenden Prüfung (z.B. EF.1 oder GESAMT)
  18. */
  19. public constructor(manager : AbiturdatenManager, pruefungs_art : GostBelegpruefungsArt) {
  20. super(manager, pruefungs_art);
  21. }
  22. protected init() : void {
  23. this.kunst_musik = this.manager.getFachbelegungen(GostFachbereich.KUNST_MUSIK);
  24. this.kunst_musik_ersatz = this.manager.getFachbelegungen(GostFachbereich.LITERARISCH_KUENSTLERISCH_ERSATZ);
  25. }
  26. protected pruefeEF1() : void {
  27. if (this.manager.zaehleBelegungInHalbjahren(this.kunst_musik, GostHalbjahr.EF1) === 0)
  28. this.addFehler(GostBelegungsfehler.KU_MU_10);
  29. }
  30. /**
  31. * Gesamtprüfung Punkte 26-28:
  32. * Prüfe, ob ein Kurs in Kunst oder Musik mindestens von EF.1 bis Q1.2 belegt wurde
  33. * oder ob ein Ersatzfach (Literatur, vokal- oder instrumentalpraktischer Grundkurs) in der
  34. * Qualifikationsphase gültig belegt wurde
  35. */
  36. protected pruefeGesamt() : void {
  37. let hatKuMuErsatz : boolean = false;
  38. if (this.kunst_musik_ersatz !== null) {
  39. for (let fach of this.kunst_musik_ersatz) {
  40. if ((this.manager.zaehleBelegung(fach) === 2) && (this.manager.pruefeBelegung(fach, GostHalbjahr.Q11, GostHalbjahr.Q12) || this.manager.pruefeBelegung(fach, GostHalbjahr.Q12, GostHalbjahr.Q21) || this.manager.pruefeBelegung(fach, GostHalbjahr.Q21, GostHalbjahr.Q22))) {
  41. hatKuMuErsatz = true;
  42. } else
  43. if (this.manager.zaehleBelegung(fach) > 0) {
  44. this.addFehler(GostBelegungsfehler.LI_IV_10);
  45. }
  46. }
  47. if (this.kunst_musik_ersatz.size() > 1)
  48. this.addFehler(GostBelegungsfehler.LI_IV_11);
  49. }
  50. let hatKuMuBisQ12 : boolean = this.manager.pruefeBelegungExistiert(this.kunst_musik, GostHalbjahr.EF1, GostHalbjahr.EF2, GostHalbjahr.Q11, GostHalbjahr.Q12);
  51. let hatKuMuBisEF2 : boolean = this.manager.pruefeBelegungExistiert(this.kunst_musik, GostHalbjahr.EF1, GostHalbjahr.EF2);
  52. if ((!hatKuMuBisEF2) || (hatKuMuBisEF2 && (!hatKuMuBisQ12) && (!hatKuMuErsatz)))
  53. this.addFehler(GostBelegungsfehler.KU_MU_10);
  54. }
  55. isTranspiledInstanceOf(name : string): boolean {
  56. return ['de.nrw.schule.svws.core.abschluss.gost.GostBelegpruefung', 'de.nrw.schule.svws.core.abschluss.gost.belegpruefung.LiterarischKuenstlerisch'].includes(name);
  57. }
  58. }
  59. export function cast_de_nrw_schule_svws_core_abschluss_gost_belegpruefung_LiterarischKuenstlerisch(obj : unknown) : LiterarischKuenstlerisch {
  60. return obj as LiterarischKuenstlerisch;
  61. }