Naturwissenschaften.js 5.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.cast_de_nrw_schule_svws_core_abschluss_gost_belegpruefung_Naturwissenschaften = exports.Naturwissenschaften = void 0;
  4. const GostFachbereich_1 = require("../../../../core/types/gost/GostFachbereich");
  5. const GostSchriftlichkeit_1 = require("../../../../core/types/gost/GostSchriftlichkeit");
  6. const GostHalbjahr_1 = require("../../../../core/types/gost/GostHalbjahr");
  7. const GostBelegpruefung_1 = require("../../../../core/abschluss/gost/GostBelegpruefung");
  8. const GostBelegungsfehler_1 = require("../../../../core/abschluss/gost/GostBelegungsfehler");
  9. class Naturwissenschaften extends GostBelegpruefung_1.GostBelegpruefung {
  10. naturwissenschaften = null;
  11. naturwissenschaften_klassisch = null;
  12. anzahl_durchgehend = 0;
  13. anzahl_schriftlich_durchgehend = 0;
  14. /**
  15. * Erstellt eine neue Belegprüfung für das Fach Mathematik.
  16. *
  17. * @param manager der Daten-Manager für die Abiturdaten
  18. * @param pruefungs_art die Art der durchzuführenden Prüfung (z.B. EF.1 oder GESAMT)
  19. */
  20. constructor(manager, pruefungs_art) {
  21. super(manager, pruefungs_art);
  22. }
  23. init() {
  24. this.naturwissenschaften = this.manager.getFachbelegungen(GostFachbereich_1.GostFachbereich.NATURWISSENSCHAFTLICH);
  25. this.naturwissenschaften_klassisch = this.manager.getFachbelegungen(GostFachbereich_1.GostFachbereich.NATURWISSENSCHAFTLICH_KLASSISCH);
  26. this.anzahl_durchgehend = 0;
  27. this.anzahl_schriftlich_durchgehend = 0;
  28. }
  29. pruefeEF1() {
  30. if (!this.manager.pruefeBelegungDurchgehendBelegbarExistiert(this.naturwissenschaften_klassisch, GostSchriftlichkeit_1.GostSchriftlichkeit.BELIEBIG, GostHalbjahr_1.GostHalbjahr.EF1))
  31. this.addFehler(GostBelegungsfehler_1.GostBelegungsfehler.NW_10);
  32. if (!this.manager.pruefeBelegungExistiertMitSchriftlichkeitEinzeln(this.naturwissenschaften_klassisch, GostSchriftlichkeit_1.GostSchriftlichkeit.SCHRIFTLICH, GostHalbjahr_1.GostHalbjahr.EF1))
  33. this.addFehler(GostBelegungsfehler_1.GostBelegungsfehler.NW_11);
  34. let fachbelegungen = this.manager.filterDurchgehendBelegbar(this.naturwissenschaften);
  35. fachbelegungen = this.manager.filterBelegungen(fachbelegungen, GostHalbjahr_1.GostHalbjahr.EF1);
  36. this.anzahl_durchgehend = fachbelegungen === null ? 0 : fachbelegungen.size();
  37. fachbelegungen = this.manager.filterBelegungenMitSchriftlichkeit(fachbelegungen, GostSchriftlichkeit_1.GostSchriftlichkeit.SCHRIFTLICH, GostHalbjahr_1.GostHalbjahr.EF1);
  38. this.anzahl_schriftlich_durchgehend = fachbelegungen === null ? 0 : fachbelegungen.size();
  39. }
  40. pruefeGesamt() {
  41. if (!this.manager.pruefeBelegungExistiert(this.naturwissenschaften_klassisch, GostHalbjahr_1.GostHalbjahr.EF1, GostHalbjahr_1.GostHalbjahr.EF2, GostHalbjahr_1.GostHalbjahr.Q11, GostHalbjahr_1.GostHalbjahr.Q12, GostHalbjahr_1.GostHalbjahr.Q21, GostHalbjahr_1.GostHalbjahr.Q22))
  42. this.addFehler(GostBelegungsfehler_1.GostBelegungsfehler.NW_10);
  43. if ((!this.manager.pruefeBelegungExistiertMitSchriftlichkeitEinzeln(this.naturwissenschaften_klassisch, GostSchriftlichkeit_1.GostSchriftlichkeit.SCHRIFTLICH, GostHalbjahr_1.GostHalbjahr.EF1)) || (!this.manager.pruefeBelegungExistiertMitSchriftlichkeitEinzeln(this.naturwissenschaften_klassisch, GostSchriftlichkeit_1.GostSchriftlichkeit.SCHRIFTLICH, GostHalbjahr_1.GostHalbjahr.EF2)))
  44. this.addFehler(GostBelegungsfehler_1.GostBelegungsfehler.NW_11);
  45. this.anzahl_durchgehend = this.manager.zaehleBelegungenDurchgaengig(this.naturwissenschaften);
  46. this.anzahl_schriftlich_durchgehend = this.manager.zaehleBelegungenDurchgaengigSchriftlichInQPhase(this.naturwissenschaften);
  47. }
  48. /**
  49. * Gibt die Anzahl der durchgehend belegten bzw. belegbaren Naturwissenschaften zurück.
  50. *
  51. * @return die Anzahl der durchgehend belegten bzw. belegbaren Naturwissenschaften zurück.
  52. */
  53. getAnzahlDurchgehendBelegt() {
  54. return this.anzahl_durchgehend;
  55. }
  56. /**
  57. * Gibt die Anzahl der durchgehend schriftlich belegten bzw. belegbaren Naturwissenschaften zurück.
  58. * Durchgehend schriftlich bedeutet, dass das Fach mind. von Q1.1 bus Q2.1 schriftlich belegt wurde.
  59. *
  60. * @return die Anzahl der durchgehend schriftlich belegten bzw. belegbaren Naturwissenschaften zurück.
  61. */
  62. getAnzahlDurchgehendSchritflichBelegt() {
  63. return this.anzahl_schriftlich_durchgehend;
  64. }
  65. isTranspiledInstanceOf(name) {
  66. return ['de.nrw.schule.svws.core.abschluss.gost.GostBelegpruefung', 'de.nrw.schule.svws.core.abschluss.gost.belegpruefung.Naturwissenschaften'].includes(name);
  67. }
  68. }
  69. exports.Naturwissenschaften = Naturwissenschaften;
  70. function cast_de_nrw_schule_svws_core_abschluss_gost_belegpruefung_Naturwissenschaften(obj) {
  71. return obj;
  72. }
  73. exports.cast_de_nrw_schule_svws_core_abschluss_gost_belegpruefung_Naturwissenschaften = cast_de_nrw_schule_svws_core_abschluss_gost_belegpruefung_Naturwissenschaften;
  74. //# sourceMappingURL=Naturwissenschaften.js.map