"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.cast_de_nrw_schule_svws_core_abschluss_gost_belegpruefung_Allgemeines = exports.Allgemeines = void 0; const GostFachbereich_1 = require("../../../../core/types/gost/GostFachbereich"); const GostAbiturFach_1 = require("../../../../core/types/gost/GostAbiturFach"); const GostHalbjahr_1 = require("../../../../core/types/gost/GostHalbjahr"); const GostSchriftlichkeit_1 = require("../../../../core/types/gost/GostSchriftlichkeit"); const GostBelegpruefung_1 = require("../../../../core/abschluss/gost/GostBelegpruefung"); const GostBelegungsfehler_1 = require("../../../../core/abschluss/gost/GostBelegungsfehler"); class Allgemeines extends GostBelegpruefung_1.GostBelegpruefung { /** * Erstellt eine neue allgemeine Belegprüfung. * * @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() { } pruefeEF1() { if (this.manager.zaehleBelegungInHalbjahren(this.manager.getFachbelegungen(GostFachbereich_1.GostFachbereich.RELIGION), GostHalbjahr_1.GostHalbjahr.EF1) > 1) this.addFehler(GostBelegungsfehler_1.GostBelegungsfehler.IGF_10); if (this.manager.hatDoppelteFachbelegungInHalbjahr(GostHalbjahr_1.GostHalbjahr.EF1)) this.addFehler(GostBelegungsfehler_1.GostBelegungsfehler.IGF_10); } pruefeGesamt() { let alleFachbelegungen = this.manager.getFachbelegungen(); for (let i = 0; i < alleFachbelegungen.size(); i++) { let fachbelegung = alleFachbelegungen.get(i); if (!this.manager.istBelegtSeitEF(fachbelegung)) this.addFehler(GostBelegungsfehler_1.GostBelegungsfehler.E1BEL_10); } for (let i = 0; i < alleFachbelegungen.size(); i++) { let fachbelegung = alleFachbelegungen.get(i); let abiturFach = GostAbiturFach_1.GostAbiturFach.fromID(fachbelegung.abiturFach); if (abiturFach !== null) continue; if (this.manager.pruefeBelegungMitSchriftlichkeitEinzeln(fachbelegung, GostSchriftlichkeit_1.GostSchriftlichkeit.SCHRIFTLICH, GostHalbjahr_1.GostHalbjahr.Q22)) { this.addFehler(GostBelegungsfehler_1.GostBelegungsfehler.ABI_16); break; } } for (let halbjahr of GostHalbjahr_1.GostHalbjahr.values()) { if (this.manager.zaehleBelegungInHalbjahren(this.manager.getFachbelegungen(GostFachbereich_1.GostFachbereich.RELIGION), halbjahr) > 1) this.addFehler(GostBelegungsfehler_1.GostBelegungsfehler.IGF_10); } if (this.manager.hatDoppelteFachbelegung(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.IGF_10); } isTranspiledInstanceOf(name) { return ['de.nrw.schule.svws.core.abschluss.gost.belegpruefung.Allgemeines', 'de.nrw.schule.svws.core.abschluss.gost.GostBelegpruefung'].includes(name); } } exports.Allgemeines = Allgemeines; function cast_de_nrw_schule_svws_core_abschluss_gost_belegpruefung_Allgemeines(obj) { return obj; } exports.cast_de_nrw_schule_svws_core_abschluss_gost_belegpruefung_Allgemeines = cast_de_nrw_schule_svws_core_abschluss_gost_belegpruefung_Allgemeines; //# sourceMappingURL=Allgemeines.js.map