123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.cast_de_nrw_schule_svws_core_abschluss_ge_ServicePrognose = exports.ServicePrognose = void 0;
- const JavaObject_1 = require("../../../java/lang/JavaObject");
- const ServiceAbschlussHA10_1 = require("../../../core/abschluss/ge/ServiceAbschlussHA10");
- const Service_1 = require("../../../core/Service");
- const ServiceBerechtigungMSAQ_1 = require("../../../core/abschluss/ge/ServiceBerechtigungMSAQ");
- const LogLevel_1 = require("../../../logger/LogLevel");
- const ServiceAbschlussMSA_1 = require("../../../core/abschluss/ge/ServiceAbschlussMSA");
- const Abschluss_1 = require("../../../core/types/Abschluss");
- const AbschlussManager_1 = require("../../../core/abschluss/AbschlussManager");
- const ServiceAbschlussHA9_1 = require("../../../core/abschluss/ge/ServiceAbschlussHA9");
- class ServicePrognose extends Service_1.Service {
- constructor() {
- super();
- }
- /**
- * Prüft, ob Lernbereichsnoten bei den Sbchlussfächern zur Verfügung stehen oder nicht.
- *
- * @param faecher die Abschlussfächer
- *
- * @return true, falls die Lernbereichsnoten vorhanden sind, ansonsten false
- */
- static hatLernbereichsnoten(faecher) {
- let hatLBNW = false;
- let hatLBAL = false;
- if (faecher.faecher === null)
- return false;
- let tmp = faecher.faecher;
- for (let fach of tmp) {
- if (fach === null)
- continue;
- hatLBNW = hatLBNW || JavaObject_1.JavaObject.equalsTranspiler("LBNW", (fach.kuerzel));
- hatLBAL = hatLBAL || JavaObject_1.JavaObject.equalsTranspiler("LBAL", (fach.kuerzel));
- }
- return hatLBNW && hatLBAL;
- }
- /**
- * Führt die Prognoseberechnung anhand der übergebenen Abschlussfächer durch
- * und gibt das Berechnungsergebnis zurück.
- *
- * @param input die Abschlussfächer
- *
- * @return das Ergebnis der Prognoseberechnung
- */
- handle(input) {
- if (!AbschlussManager_1.AbschlussManager.pruefeHat4LeistungsdifferenzierteFaecher(input)) {
- this.logger.logLn(LogLevel_1.LogLevel.DEBUG, "Fehler: Es wurden nicht genügend leistungsdiffernzierte Fächer gefunden.");
- let prognose = AbschlussManager_1.AbschlussManager.getErgebnis(null, false);
- prognose.log = this.log.getStrings();
- return prognose;
- }
- if (!AbschlussManager_1.AbschlussManager.pruefeKuerzelDuplikate(input)) {
- this.logger.logLn(LogLevel_1.LogLevel.DEBUG, "Fehler: Es wurden Fächer mit dem gleichen Kürzel zur Abschlussprüfung übergeben. Dies ist nicht zulässig.");
- let prognose = AbschlussManager_1.AbschlussManager.getErgebnis(null, false);
- prognose.log = this.log.getStrings();
- return prognose;
- }
- let abschluss = Abschluss_1.Abschluss.OHNE_ABSCHLUSS;
- let np_faecher = null;
- if (!JavaObject_1.JavaObject.equalsTranspiler("10", (input.jahrgang))) {
- let ha9 = new ServiceAbschlussHA9_1.ServiceAbschlussHA9();
- let ha9output = ha9.handle(input);
- np_faecher = ha9output.npFaecher;
- if (ha9output.erworben)
- abschluss = Abschluss_1.Abschluss.HA9;
- this.log.append(ha9.getLog());
- this.logger.logLn(LogLevel_1.LogLevel.INFO, "");
- }
- else if (JavaObject_1.JavaObject.equalsTranspiler("10", (input.jahrgang))) {
- abschluss = Abschluss_1.Abschluss.HA9;
- }
- let ha10 = new ServiceAbschlussHA10_1.ServiceAbschlussHA10();
- let ha10output = ha10.handle(input);
- if (ha10output.erworben)
- abschluss = Abschluss_1.Abschluss.HA10;
- else if (JavaObject_1.JavaObject.equalsTranspiler("10", (input.jahrgang)) || (JavaObject_1.JavaObject.equalsTranspiler(Abschluss_1.Abschluss.HA9, (abschluss))))
- np_faecher = ha10output.npFaecher;
- this.log.append(ha10.getLog());
- if ((!JavaObject_1.JavaObject.equalsTranspiler(Abschluss_1.Abschluss.OHNE_ABSCHLUSS, (abschluss))) || (!ServicePrognose.hatLernbereichsnoten(input))) {
- let msa = new ServiceAbschlussMSA_1.ServiceAbschlussMSA();
- let msaOutput = msa.handle(input);
- this.logger.logLn(LogLevel_1.LogLevel.INFO, "");
- this.log.append(msa.getLog());
- if (msaOutput.erworben) {
- abschluss = Abschluss_1.Abschluss.MSA;
- let msaq = new ServiceBerechtigungMSAQ_1.ServiceBerechtigungMSAQ();
- let msaqOutput = msaq.handle(input);
- if (msaqOutput.erworben) {
- abschluss = Abschluss_1.Abschluss.MSA_Q;
- }
- else {
- np_faecher = msaqOutput.npFaecher;
- }
- this.logger.logLn(LogLevel_1.LogLevel.INFO, "");
- this.log.append(msaq.getLog());
- }
- else {
- np_faecher = msaOutput.npFaecher;
- }
- }
- let prognose = AbschlussManager_1.AbschlussManager.getErgebnisNachpruefung(abschluss, np_faecher);
- prognose.erworben = (!JavaObject_1.JavaObject.equalsTranspiler(Abschluss_1.Abschluss.OHNE_ABSCHLUSS, (abschluss)));
- prognose.log = this.log.getStrings();
- return prognose;
- }
- isTranspiledInstanceOf(name) {
- return ['de.nrw.schule.svws.core.Service', 'de.nrw.schule.svws.core.abschluss.ge.ServicePrognose'].includes(name);
- }
- }
- exports.ServicePrognose = ServicePrognose;
- function cast_de_nrw_schule_svws_core_abschluss_ge_ServicePrognose(obj) {
- return obj;
- }
- exports.cast_de_nrw_schule_svws_core_abschluss_ge_ServicePrognose = cast_de_nrw_schule_svws_core_abschluss_ge_ServicePrognose;
- //# sourceMappingURL=ServicePrognose.js.map
|