"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.cast_de_nrw_schule_svws_core_abschluss_gost_belegpruefung_Naturwissenschaften = exports.Naturwissenschaften = void 0; const GostFachbereich_1 = require("../../../../core/types/gost/GostFachbereich"); const GostSchriftlichkeit_1 = require("../../../../core/types/gost/GostSchriftlichkeit"); const GostHalbjahr_1 = require("../../../../core/types/gost/GostHalbjahr"); const GostBelegpruefung_1 = require("../../../../core/abschluss/gost/GostBelegpruefung"); const GostBelegungsfehler_1 = require("../../../../core/abschluss/gost/GostBelegungsfehler"); class Naturwissenschaften extends GostBelegpruefung_1.GostBelegpruefung { naturwissenschaften = null; naturwissenschaften_klassisch = null; anzahl_durchgehend = 0; anzahl_schriftlich_durchgehend = 0; /** * Erstellt eine neue Belegprüfung für das Fach Mathematik. * * @param manager der Daten-Manager für die Abiturdaten * @param pruefungs_art die Art der durchzuführenden Prüfung (z.B. EF.1 oder GESAMT) */ constructor(manager, pruefungs_art) { super(manager, pruefungs_art); } init() { this.naturwissenschaften = this.manager.getFachbelegungen(GostFachbereich_1.GostFachbereich.NATURWISSENSCHAFTLICH); this.naturwissenschaften_klassisch = this.manager.getFachbelegungen(GostFachbereich_1.GostFachbereich.NATURWISSENSCHAFTLICH_KLASSISCH); this.anzahl_durchgehend = 0; this.anzahl_schriftlich_durchgehend = 0; } pruefeEF1() { if (!this.manager.pruefeBelegungDurchgehendBelegbarExistiert(this.naturwissenschaften_klassisch, GostSchriftlichkeit_1.GostSchriftlichkeit.BELIEBIG, GostHalbjahr_1.GostHalbjahr.EF1)) this.addFehler(GostBelegungsfehler_1.GostBelegungsfehler.NW_10); if (!this.manager.pruefeBelegungExistiertMitSchriftlichkeitEinzeln(this.naturwissenschaften_klassisch, GostSchriftlichkeit_1.GostSchriftlichkeit.SCHRIFTLICH, GostHalbjahr_1.GostHalbjahr.EF1)) this.addFehler(GostBelegungsfehler_1.GostBelegungsfehler.NW_11); let fachbelegungen = this.manager.filterDurchgehendBelegbar(this.naturwissenschaften); fachbelegungen = this.manager.filterBelegungen(fachbelegungen, GostHalbjahr_1.GostHalbjahr.EF1); this.anzahl_durchgehend = fachbelegungen === null ? 0 : fachbelegungen.size(); fachbelegungen = this.manager.filterBelegungenMitSchriftlichkeit(fachbelegungen, GostSchriftlichkeit_1.GostSchriftlichkeit.SCHRIFTLICH, GostHalbjahr_1.GostHalbjahr.EF1); this.anzahl_schriftlich_durchgehend = fachbelegungen === null ? 0 : fachbelegungen.size(); } pruefeGesamt() { if (!this.manager.pruefeBelegungExistiert(this.naturwissenschaften_klassisch, GostHalbjahr_1.GostHalbjahr.EF1, GostHalbjahr_1.GostHalbjahr.EF2, GostHalbjahr_1.GostHalbjahr.Q11, GostHalbjahr_1.GostHalbjahr.Q12, GostHalbjahr_1.GostHalbjahr.Q21, GostHalbjahr_1.GostHalbjahr.Q22)) this.addFehler(GostBelegungsfehler_1.GostBelegungsfehler.NW_10); if ((!this.manager.pruefeBelegungExistiertMitSchriftlichkeitEinzeln(this.naturwissenschaften_klassisch, GostSchriftlichkeit_1.GostSchriftlichkeit.SCHRIFTLICH, GostHalbjahr_1.GostHalbjahr.EF1)) || (!this.manager.pruefeBelegungExistiertMitSchriftlichkeitEinzeln(this.naturwissenschaften_klassisch, GostSchriftlichkeit_1.GostSchriftlichkeit.SCHRIFTLICH, GostHalbjahr_1.GostHalbjahr.EF2))) this.addFehler(GostBelegungsfehler_1.GostBelegungsfehler.NW_11); this.anzahl_durchgehend = this.manager.zaehleBelegungenDurchgaengig(this.naturwissenschaften); this.anzahl_schriftlich_durchgehend = this.manager.zaehleBelegungenDurchgaengigSchriftlichInQPhase(this.naturwissenschaften); } /** * Gibt die Anzahl der durchgehend belegten bzw. belegbaren Naturwissenschaften zurück. * * @return die Anzahl der durchgehend belegten bzw. belegbaren Naturwissenschaften zurück. */ getAnzahlDurchgehendBelegt() { return this.anzahl_durchgehend; } /** * Gibt die Anzahl der durchgehend schriftlich belegten bzw. belegbaren Naturwissenschaften zurück. * Durchgehend schriftlich bedeutet, dass das Fach mind. von Q1.1 bus Q2.1 schriftlich belegt wurde. * * @return die Anzahl der durchgehend schriftlich belegten bzw. belegbaren Naturwissenschaften zurück. */ getAnzahlDurchgehendSchritflichBelegt() { return this.anzahl_schriftlich_durchgehend; } isTranspiledInstanceOf(name) { return ['de.nrw.schule.svws.core.abschluss.gost.GostBelegpruefung', 'de.nrw.schule.svws.core.abschluss.gost.belegpruefung.Naturwissenschaften'].includes(name); } } exports.Naturwissenschaften = Naturwissenschaften; function cast_de_nrw_schule_svws_core_abschluss_gost_belegpruefung_Naturwissenschaften(obj) { return obj; } exports.cast_de_nrw_schule_svws_core_abschluss_gost_belegpruefung_Naturwissenschaften = cast_de_nrw_schule_svws_core_abschluss_gost_belegpruefung_Naturwissenschaften; //# sourceMappingURL=Naturwissenschaften.js.map