123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.cast_de_nrw_schule_svws_core_abschluss_gost_belegpruefung_AbiFaecher = exports.AbiFaecher = void 0;
- const GostAbiturFach_1 = require("../../../../core/types/gost/GostAbiturFach");
- const HashMap_1 = require("../../../../java/util/HashMap");
- const GostBelegpruefung_1 = require("../../../../core/abschluss/gost/GostBelegpruefung");
- 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 GostBelegungsfehler_1 = require("../../../../core/abschluss/gost/GostBelegungsfehler");
- const HashSet_1 = require("../../../../java/util/HashSet");
- class AbiFaecher extends GostBelegpruefung_1.GostBelegpruefung {
- mapAbiturFachbelegungen = null;
- anzahlAbiFaecher = 0;
- anzahlDeutschMatheFremdsprache = 0;
- anzahlFremdsprachen = 0;
- anzahlSportReligion = 0;
- hatAufgabenfeldI = false;
- hatAufgabenfeldII = false;
- hatAufgabenfeldIII = false;
- /**
- * Erstellt eine neue Belegprüfung für die Projektkurse.
- *
- * @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.mapAbiturFachbelegungen = new HashMap_1.HashMap();
- this.anzahlAbiFaecher = 0;
- this.anzahlDeutschMatheFremdsprache = 0;
- this.anzahlFremdsprachen = 0;
- this.anzahlSportReligion = 0;
- this.hatAufgabenfeldI = false;
- this.hatAufgabenfeldII = false;
- this.hatAufgabenfeldIII = false;
- let alleFachbelegungen = this.manager.getFachbelegungen();
- 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;
- this.mapAbiturFachbelegungen.put(abiturFach, fachbelegung);
- this.anzahlAbiFaecher++;
- let fach = this.manager.getFach(fachbelegung);
- if (fach === null)
- continue;
- if (GostFachbereich_1.GostFachbereich.FREMDSPRACHE.hat(fach) || GostFachbereich_1.GostFachbereich.DEUTSCH.hat(fach))
- this.hatAufgabenfeldI = true;
- if (GostFachbereich_1.GostFachbereich.GESELLSCHAFTSWISSENSCHAFTLICH_MIT_RELIGION.hat(fach))
- this.hatAufgabenfeldII = true;
- if (GostFachbereich_1.GostFachbereich.MATHEMATISCH_NATURWISSENSCHAFTLICH.hat(fach))
- this.hatAufgabenfeldIII = true;
- if (GostFachbereich_1.GostFachbereich.FREMDSPRACHE.hat(fach) || GostFachbereich_1.GostFachbereich.DEUTSCH.hat(fach) || GostFachbereich_1.GostFachbereich.MATHEMATIK.hat(fach))
- this.anzahlDeutschMatheFremdsprache++;
- if (GostFachbereich_1.GostFachbereich.FREMDSPRACHE.hat(fach))
- this.anzahlFremdsprachen++;
- if (GostFachbereich_1.GostFachbereich.SPORT.hat(fach) || GostFachbereich_1.GostFachbereich.RELIGION.hat(fach))
- this.anzahlSportReligion++;
- }
- }
- pruefeEF1() {
- }
- pruefeGesamt() {
- this.pruefeLK1();
- this.pruefeAnzahlUndAufgabenfelderAbiFaecher();
- this.pruefeMehrfacheAbiturfaecher();
- this.pruefeSchriftlichkeitAB3undAB4();
- }
- /**
- * Gesamtprüfung Punkt 70:
- * Prüfe, ob der erste LK eine fortgeführte Fremdsprache, eine klassische Naturwissenschaft, Mathematik oder Deutsch ist
- */
- pruefeLK1() {
- let lk1 = this.mapAbiturFachbelegungen === null ? null : this.mapAbiturFachbelegungen.get(GostAbiturFach_1.GostAbiturFach.LK1);
- let lk1fach = this.manager.getFach(lk1);
- if ((lk1 === null) || (lk1fach === null) || !((GostFachbereich_1.GostFachbereich.DEUTSCH.hat(lk1fach)) || (GostFachbereich_1.GostFachbereich.FREMDSPRACHE.hat(lk1fach) && !lk1.istFSNeu) || (GostFachbereich_1.GostFachbereich.MATHEMATIK.hat(lk1fach)) || (GostFachbereich_1.GostFachbereich.NATURWISSENSCHAFTLICH_KLASSISCH.hat(lk1fach))))
- this.addFehler(GostBelegungsfehler_1.GostBelegungsfehler.LK1_11);
- }
- /**
- * Gesamtprüfung Punkt 71-74:
- * Prüfe, ob die Zahl der Abiturfächer 4 ist und diese alle Aufgabenfelder abdecken
- * und ob mindestens 2 Fächer im Bereich Deutsch, Fremdsprache, Mathematik liegen
- * und ob maximale 1 Fach im Bereich Sport und Religion liegt
- * und ob Sport nicht als erstes oder drittes Abiturfach gewählt wurde
- */
- pruefeAnzahlUndAufgabenfelderAbiFaecher() {
- if ((this.anzahlAbiFaecher !== 4) || (!this.hatAufgabenfeldI) || (!this.hatAufgabenfeldII) || (!this.hatAufgabenfeldIII))
- this.addFehler(GostBelegungsfehler_1.GostBelegungsfehler.LK1_13);
- if (this.anzahlDeutschMatheFremdsprache < 2)
- this.addFehler(GostBelegungsfehler_1.GostBelegungsfehler.ABI_10);
- if ((this.anzahlDeutschMatheFremdsprache < 3) && (this.anzahlFremdsprachen > 1))
- this.addFehler(GostBelegungsfehler_1.GostBelegungsfehler.ABI_19);
- if (this.anzahlSportReligion > 1)
- this.addFehler(GostBelegungsfehler_1.GostBelegungsfehler.ABI_11);
- let lk1 = this.mapAbiturFachbelegungen === null ? null : this.mapAbiturFachbelegungen.get(GostAbiturFach_1.GostAbiturFach.LK1);
- let lk1fach = this.manager.getFach(lk1);
- let ab3 = this.mapAbiturFachbelegungen === null ? null : this.mapAbiturFachbelegungen.get(GostAbiturFach_1.GostAbiturFach.AB3);
- let ab3fach = this.manager.getFach(ab3);
- if (((lk1fach !== null) && (GostFachbereich_1.GostFachbereich.SPORT.hat(lk1fach.kuerzel))) || ((ab3fach !== null) && (GostFachbereich_1.GostFachbereich.SPORT.hat(ab3fach.kuerzel))))
- this.addFehler(GostBelegungsfehler_1.GostBelegungsfehler.ABI_15);
- }
- /**
- * Gesamtprüfung: Prüfe, ob eines der Abiturfächer mehrfach belegt wurde. Es ist nicht zulässig
- * Abiturfächer mehrfach belegt zu haben.
- */
- pruefeMehrfacheAbiturfaecher() {
- let abiFaecher = new HashSet_1.HashSet();
- let alleFachbelegungen = this.manager.getFachbelegungen();
- 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 (!abiFaecher.contains(abiturFach)) {
- abiFaecher.add(abiturFach);
- continue;
- }
- switch (abiturFach) {
- case GostAbiturFach_1.GostAbiturFach.LK1:
- this.addFehler(GostBelegungsfehler_1.GostBelegungsfehler.ABI_21);
- break;
- case GostAbiturFach_1.GostAbiturFach.LK2:
- this.addFehler(GostBelegungsfehler_1.GostBelegungsfehler.ABI_22);
- break;
- case GostAbiturFach_1.GostAbiturFach.AB3:
- this.addFehler(GostBelegungsfehler_1.GostBelegungsfehler.ABI_23);
- break;
- case GostAbiturFach_1.GostAbiturFach.AB4:
- this.addFehler(GostBelegungsfehler_1.GostBelegungsfehler.ABI_24);
- break;
- }
- }
- }
- /**
- * Gesamtprüfung Punkte 76 und 77:
- * Prüfe ob das 3. Abiturfach von Q1.1 bis Q2.2 schriftlich belegt wurde
- * und on das 4. Abiturfach von Q1.1 bis Q2.1 schritlich und in Q2.2 mündlich belegt wurde
- *
- */
- pruefeSchriftlichkeitAB3undAB4() {
- let ab3 = this.mapAbiturFachbelegungen === null ? null : this.mapAbiturFachbelegungen.get(GostAbiturFach_1.GostAbiturFach.AB3);
- if (ab3 !== null) {
- if (!this.manager.pruefeBelegungMitSchriftlichkeit(ab3, GostSchriftlichkeit_1.GostSchriftlichkeit.SCHRIFTLICH, GostHalbjahr_1.GostHalbjahr.Q11, GostHalbjahr_1.GostHalbjahr.Q12, GostHalbjahr_1.GostHalbjahr.Q21))
- this.addFehler(GostBelegungsfehler_1.GostBelegungsfehler.ABI_17);
- if (!this.manager.pruefeBelegungMitSchriftlichkeitEinzeln(ab3, GostSchriftlichkeit_1.GostSchriftlichkeit.SCHRIFTLICH, GostHalbjahr_1.GostHalbjahr.Q22))
- this.addFehler(GostBelegungsfehler_1.GostBelegungsfehler.ABI_12);
- }
- let ab4 = this.mapAbiturFachbelegungen === null ? null : this.mapAbiturFachbelegungen.get(GostAbiturFach_1.GostAbiturFach.AB4);
- if (ab4 !== null) {
- if (!this.manager.pruefeBelegungMitSchriftlichkeit(ab4, GostSchriftlichkeit_1.GostSchriftlichkeit.SCHRIFTLICH, GostHalbjahr_1.GostHalbjahr.Q11, GostHalbjahr_1.GostHalbjahr.Q12, GostHalbjahr_1.GostHalbjahr.Q21))
- this.addFehler(GostBelegungsfehler_1.GostBelegungsfehler.ABI_18);
- if (!this.manager.pruefeBelegungMitSchriftlichkeitEinzeln(ab4, GostSchriftlichkeit_1.GostSchriftlichkeit.MUENDLICH, GostHalbjahr_1.GostHalbjahr.Q22))
- this.addFehler(GostBelegungsfehler_1.GostBelegungsfehler.ABI_13);
- }
- }
- /**
- * Liefert die zugehörige Abitur-Fachbelegung zurück.
- *
- * @param abifach die Art des Abifachs (1., 2., 3. oder 4. Fach)
- *
- * @return die Abitur-Fachbelegung oder null, falls es (noch) nicht festgelegt wurde
- */
- getAbiturfach(abifach) {
- return this.mapAbiturFachbelegungen === null ? null : this.mapAbiturFachbelegungen.get(abifach);
- }
- isTranspiledInstanceOf(name) {
- return ['de.nrw.schule.svws.core.abschluss.gost.belegpruefung.AbiFaecher', 'de.nrw.schule.svws.core.abschluss.gost.GostBelegpruefung'].includes(name);
- }
- }
- exports.AbiFaecher = AbiFaecher;
- function cast_de_nrw_schule_svws_core_abschluss_gost_belegpruefung_AbiFaecher(obj) {
- return obj;
- }
- exports.cast_de_nrw_schule_svws_core_abschluss_gost_belegpruefung_AbiFaecher = cast_de_nrw_schule_svws_core_abschluss_gost_belegpruefung_AbiFaecher;
- //# sourceMappingURL=AbiFaecher.js.map
|