"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.cast_de_nrw_schule_svws_core_abschluss_bk_a_BKAnlageA01Abschluss = exports.BKAnlageA01Abschluss = void 0; const AbschlussManagerBerufsbildend_1 = require("../../../../core/abschluss/AbschlussManagerBerufsbildend"); const Service_1 = require("../../../../core/Service"); const Abschluss_1 = require("../../../../core/types/Abschluss"); const Sprachreferenzniveau_1 = require("../../../../core/types/Sprachreferenzniveau"); const LogLevel_1 = require("../../../../logger/LogLevel"); class BKAnlageA01Abschluss extends Service_1.Service { constructor() { super(); } handle(input) { this.logger.log(LogLevel_1.LogLevel.INFO, "Prüfe BSA:"); if (AbschlussManagerBerufsbildend_1.AbschlussManagerBerufsbildend.getAnzahlUngenuegend(input) > 0) { this.logger.logLn(LogLevel_1.LogLevel.INFO, " nicht erreicht (kein ungenügend erlaubt, insgesamt " + AbschlussManagerBerufsbildend_1.AbschlussManagerBerufsbildend.getAnzahlUngenuegend(input) + ")."); return AbschlussManagerBerufsbildend_1.AbschlussManagerBerufsbildend.getErgebnis(false, AbschlussManagerBerufsbildend_1.AbschlussManagerBerufsbildend.getDurchschnitt(input), false, Abschluss_1.Abschluss.OHNE_ABSCHLUSS); } else if (AbschlussManagerBerufsbildend_1.AbschlussManagerBerufsbildend.getAnzahlDefizite(input) > 1) { this.logger.logLn(LogLevel_1.LogLevel.INFO, " nicht erreicht (mehr als 1 Defizit, insgesamt " + AbschlussManagerBerufsbildend_1.AbschlussManagerBerufsbildend.getAnzahlDefizite(input) + ")."); return AbschlussManagerBerufsbildend_1.AbschlussManagerBerufsbildend.getErgebnis(false, AbschlussManagerBerufsbildend_1.AbschlussManagerBerufsbildend.getDurchschnitt(input), false, Abschluss_1.Abschluss.OHNE_ABSCHLUSS); } this.logger.logLn(LogLevel_1.LogLevel.INFO, " erreicht."); if ((input.englischGeR === null) || (Sprachreferenzniveau_1.Sprachreferenzniveau.B1.compareTo(input.englischGeR) < 0)) { if (input.englischGeR === null) { this.logger.logLn(LogLevel_1.LogLevel.INFO, "Das Sprachreferenzniveau in Englisch wurde nicht angegeben. Eine Prüfung auf MSA ist daher nicht möglich."); } else { this.logger.logLn(LogLevel_1.LogLevel.INFO, "Das Sprachreferenzniveau in Englisch ist für den MSA nicht ausreichend."); } this.logger.logLn(LogLevel_1.LogLevel.INFO, "HSA10 wurde erreicht."); return AbschlussManagerBerufsbildend_1.AbschlussManagerBerufsbildend.getErgebnis(true, AbschlussManagerBerufsbildend_1.AbschlussManagerBerufsbildend.getDurchschnitt(input), input.hatBestandenBerufsAbschlussPruefung, Abschluss_1.Abschluss.HA10); } if (AbschlussManagerBerufsbildend_1.AbschlussManagerBerufsbildend.getDurchschnitt(input) <= 2.5) { this.logger.logLn(LogLevel_1.LogLevel.INFO, "Die Durschnittsnote ist besser als oder gleich 2,5."); this.logger.logLn(LogLevel_1.LogLevel.INFO, "MSA-Q wurde erreicht."); return AbschlussManagerBerufsbildend_1.AbschlussManagerBerufsbildend.getErgebnis(false, AbschlussManagerBerufsbildend_1.AbschlussManagerBerufsbildend.getDurchschnitt(input), input.hatBestandenBerufsAbschlussPruefung, Abschluss_1.Abschluss.MSA_Q); } else if (AbschlussManagerBerufsbildend_1.AbschlussManagerBerufsbildend.getDurchschnitt(input) <= 3.5) { this.logger.logLn(LogLevel_1.LogLevel.INFO, "Die Durschnittsnote ist besser als oder gleich 3,5, aber schlechter als 2,5."); this.logger.logLn(LogLevel_1.LogLevel.INFO, "MSA wurde erreicht."); return AbschlussManagerBerufsbildend_1.AbschlussManagerBerufsbildend.getErgebnis(false, AbschlussManagerBerufsbildend_1.AbschlussManagerBerufsbildend.getDurchschnitt(input), input.hatBestandenBerufsAbschlussPruefung, Abschluss_1.Abschluss.MSA); } this.logger.logLn(LogLevel_1.LogLevel.INFO, "Die Durschnittsnote ist schlechter als 3,5."); this.logger.logLn(LogLevel_1.LogLevel.INFO, "HSA10 wurde erreicht."); return AbschlussManagerBerufsbildend_1.AbschlussManagerBerufsbildend.getErgebnis(false, AbschlussManagerBerufsbildend_1.AbschlussManagerBerufsbildend.getDurchschnitt(input), input.hatBestandenBerufsAbschlussPruefung, Abschluss_1.Abschluss.HA10); } isTranspiledInstanceOf(name) { return ['de.nrw.schule.svws.core.Service', 'de.nrw.schule.svws.core.abschluss.bk.a.BKAnlageA01Abschluss'].includes(name); } } exports.BKAnlageA01Abschluss = BKAnlageA01Abschluss; function cast_de_nrw_schule_svws_core_abschluss_bk_a_BKAnlageA01Abschluss(obj) { return obj; } exports.cast_de_nrw_schule_svws_core_abschluss_bk_a_BKAnlageA01Abschluss = cast_de_nrw_schule_svws_core_abschluss_bk_a_BKAnlageA01Abschluss; //# sourceMappingURL=BKAnlageA01Abschluss.js.map