BKAnlageA01Abschluss.ts 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. import { JavaObject, cast_java_lang_Object } from '../../../../java/lang/JavaObject';
  2. import { AbschlussManagerBerufsbildend, cast_de_nrw_schule_svws_core_abschluss_AbschlussManagerBerufsbildend } from '../../../../core/abschluss/AbschlussManagerBerufsbildend';
  3. import { Service, cast_de_nrw_schule_svws_core_Service } from '../../../../core/Service';
  4. import { Abschluss, cast_de_nrw_schule_svws_core_types_Abschluss } from '../../../../core/types/Abschluss';
  5. import { Sprachreferenzniveau, cast_de_nrw_schule_svws_core_types_Sprachreferenzniveau } from '../../../../core/types/Sprachreferenzniveau';
  6. import { AbschlussErgebnisBerufsbildend, cast_de_nrw_schule_svws_core_data_abschluss_AbschlussErgebnisBerufsbildend } from '../../../../core/data/abschluss/AbschlussErgebnisBerufsbildend';
  7. import { BKAnlageAFaecher, cast_de_nrw_schule_svws_core_abschluss_bk_a_BKAnlageAFaecher } from '../../../../core/abschluss/bk/a/BKAnlageAFaecher';
  8. import { LogLevel, cast_de_nrw_schule_svws_logger_LogLevel } from '../../../../logger/LogLevel';
  9. export class BKAnlageA01Abschluss extends Service<BKAnlageAFaecher, AbschlussErgebnisBerufsbildend> {
  10. public constructor() {
  11. super();
  12. }
  13. public handle(input : BKAnlageAFaecher) : AbschlussErgebnisBerufsbildend {
  14. this.logger.log(LogLevel.INFO, "Prüfe BSA:");
  15. if (AbschlussManagerBerufsbildend.getAnzahlUngenuegend(input) > 0) {
  16. this.logger.logLn(LogLevel.INFO, " nicht erreicht (kein ungenügend erlaubt, insgesamt " + AbschlussManagerBerufsbildend.getAnzahlUngenuegend(input) + ").");
  17. return AbschlussManagerBerufsbildend.getErgebnis(false, AbschlussManagerBerufsbildend.getDurchschnitt(input), false, Abschluss.OHNE_ABSCHLUSS);
  18. } else
  19. if (AbschlussManagerBerufsbildend.getAnzahlDefizite(input) > 1) {
  20. this.logger.logLn(LogLevel.INFO, " nicht erreicht (mehr als 1 Defizit, insgesamt " + AbschlussManagerBerufsbildend.getAnzahlDefizite(input) + ").");
  21. return AbschlussManagerBerufsbildend.getErgebnis(false, AbschlussManagerBerufsbildend.getDurchschnitt(input), false, Abschluss.OHNE_ABSCHLUSS);
  22. }
  23. this.logger.logLn(LogLevel.INFO, " erreicht.");
  24. if ((input.englischGeR === null) || (Sprachreferenzniveau.B1.compareTo(input.englischGeR) < 0)) {
  25. if (input.englischGeR === null) {
  26. this.logger.logLn(LogLevel.INFO, "Das Sprachreferenzniveau in Englisch wurde nicht angegeben. Eine Prüfung auf MSA ist daher nicht möglich.");
  27. } else {
  28. this.logger.logLn(LogLevel.INFO, "Das Sprachreferenzniveau in Englisch ist für den MSA nicht ausreichend.");
  29. }
  30. this.logger.logLn(LogLevel.INFO, "HSA10 wurde erreicht.");
  31. return AbschlussManagerBerufsbildend.getErgebnis(true, AbschlussManagerBerufsbildend.getDurchschnitt(input), input.hatBestandenBerufsAbschlussPruefung, Abschluss.HA10);
  32. }
  33. if (AbschlussManagerBerufsbildend.getDurchschnitt(input) <= 2.5) {
  34. this.logger.logLn(LogLevel.INFO, "Die Durschnittsnote ist besser als oder gleich 2,5.");
  35. this.logger.logLn(LogLevel.INFO, "MSA-Q wurde erreicht.");
  36. return AbschlussManagerBerufsbildend.getErgebnis(false, AbschlussManagerBerufsbildend.getDurchschnitt(input), input.hatBestandenBerufsAbschlussPruefung, Abschluss.MSA_Q);
  37. } else
  38. if (AbschlussManagerBerufsbildend.getDurchschnitt(input) <= 3.5) {
  39. this.logger.logLn(LogLevel.INFO, "Die Durschnittsnote ist besser als oder gleich 3,5, aber schlechter als 2,5.");
  40. this.logger.logLn(LogLevel.INFO, "MSA wurde erreicht.");
  41. return AbschlussManagerBerufsbildend.getErgebnis(false, AbschlussManagerBerufsbildend.getDurchschnitt(input), input.hatBestandenBerufsAbschlussPruefung, Abschluss.MSA);
  42. }
  43. this.logger.logLn(LogLevel.INFO, "Die Durschnittsnote ist schlechter als 3,5.");
  44. this.logger.logLn(LogLevel.INFO, "HSA10 wurde erreicht.");
  45. return AbschlussManagerBerufsbildend.getErgebnis(false, AbschlussManagerBerufsbildend.getDurchschnitt(input), input.hatBestandenBerufsAbschlussPruefung, Abschluss.HA10);
  46. }
  47. isTranspiledInstanceOf(name : string): boolean {
  48. return ['de.nrw.schule.svws.core.Service', 'de.nrw.schule.svws.core.abschluss.bk.a.BKAnlageA01Abschluss'].includes(name);
  49. }
  50. }
  51. export function cast_de_nrw_schule_svws_core_abschluss_bk_a_BKAnlageA01Abschluss(obj : unknown) : BKAnlageA01Abschluss {
  52. return obj as BKAnlageA01Abschluss;
  53. }