Allgemeines.ts 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. import { JavaObject, cast_java_lang_Object } from '../../../../java/lang/JavaObject';
  2. import { GostFachbereich, cast_de_nrw_schule_svws_core_types_gost_GostFachbereich } from '../../../../core/types/gost/GostFachbereich';
  3. import { GostAbiturFach, cast_de_nrw_schule_svws_core_types_gost_GostAbiturFach } from '../../../../core/types/gost/GostAbiturFach';
  4. import { AbiturFachbelegung, cast_de_nrw_schule_svws_core_data_gost_AbiturFachbelegung } from '../../../../core/data/gost/AbiturFachbelegung';
  5. import { GostBelegpruefungsArt, cast_de_nrw_schule_svws_core_abschluss_gost_GostBelegpruefungsArt } from '../../../../core/abschluss/gost/GostBelegpruefungsArt';
  6. import { GostHalbjahr, cast_de_nrw_schule_svws_core_types_gost_GostHalbjahr } from '../../../../core/types/gost/GostHalbjahr';
  7. import { GostSchriftlichkeit, cast_de_nrw_schule_svws_core_types_gost_GostSchriftlichkeit } from '../../../../core/types/gost/GostSchriftlichkeit';
  8. import { List, cast_java_util_List } from '../../../../java/util/List';
  9. import { GostBelegpruefung, cast_de_nrw_schule_svws_core_abschluss_gost_GostBelegpruefung } from '../../../../core/abschluss/gost/GostBelegpruefung';
  10. import { AbiturdatenManager, cast_de_nrw_schule_svws_core_abschluss_gost_AbiturdatenManager } from '../../../../core/abschluss/gost/AbiturdatenManager';
  11. import { GostBelegungsfehler, cast_de_nrw_schule_svws_core_abschluss_gost_GostBelegungsfehler } from '../../../../core/abschluss/gost/GostBelegungsfehler';
  12. export class Allgemeines extends GostBelegpruefung {
  13. /**
  14. * Erstellt eine neue allgemeine Belegprüfung.
  15. *
  16. * @param manager der Daten-Manager für die Abiturdaten
  17. * @param pruefungs_art die Art der durchzuführenden Prüfung (z.B. EF.1 oder GESAMT)
  18. */
  19. public constructor(manager : AbiturdatenManager, pruefungs_art : GostBelegpruefungsArt) {
  20. super(manager, pruefungs_art);
  21. }
  22. protected init() : void {
  23. }
  24. protected pruefeEF1() : void {
  25. if (this.manager.zaehleBelegungInHalbjahren(this.manager.getFachbelegungen(GostFachbereich.RELIGION), GostHalbjahr.EF1) > 1)
  26. this.addFehler(GostBelegungsfehler.IGF_10);
  27. if (this.manager.hatDoppelteFachbelegungInHalbjahr(GostHalbjahr.EF1))
  28. this.addFehler(GostBelegungsfehler.IGF_10);
  29. }
  30. protected pruefeGesamt() : void {
  31. let alleFachbelegungen : List<AbiturFachbelegung> = this.manager.getFachbelegungen();
  32. for (let i : number = 0; i < alleFachbelegungen.size(); i++){
  33. let fachbelegung : AbiturFachbelegung | null = alleFachbelegungen.get(i);
  34. if (!this.manager.istBelegtSeitEF(fachbelegung))
  35. this.addFehler(GostBelegungsfehler.E1BEL_10);
  36. }
  37. for (let i : number = 0; i < alleFachbelegungen.size(); i++){
  38. let fachbelegung : AbiturFachbelegung | null = alleFachbelegungen.get(i);
  39. let abiturFach : GostAbiturFach | null = GostAbiturFach.fromID(fachbelegung.abiturFach);
  40. if (abiturFach !== null)
  41. continue;
  42. if (this.manager.pruefeBelegungMitSchriftlichkeitEinzeln(fachbelegung, GostSchriftlichkeit.SCHRIFTLICH, GostHalbjahr.Q22)) {
  43. this.addFehler(GostBelegungsfehler.ABI_16);
  44. break;
  45. }
  46. }
  47. for (let halbjahr of GostHalbjahr.values()) {
  48. if (this.manager.zaehleBelegungInHalbjahren(this.manager.getFachbelegungen(GostFachbereich.RELIGION), halbjahr) > 1)
  49. this.addFehler(GostBelegungsfehler.IGF_10);
  50. }
  51. if (this.manager.hatDoppelteFachbelegung(GostHalbjahr.EF1, GostHalbjahr.EF2, GostHalbjahr.Q11, GostHalbjahr.Q12, GostHalbjahr.Q21, GostHalbjahr.Q22))
  52. this.addFehler(GostBelegungsfehler.IGF_10);
  53. }
  54. isTranspiledInstanceOf(name : string): boolean {
  55. return ['de.nrw.schule.svws.core.abschluss.gost.belegpruefung.Allgemeines', 'de.nrw.schule.svws.core.abschluss.gost.GostBelegpruefung'].includes(name);
  56. }
  57. }
  58. export function cast_de_nrw_schule_svws_core_abschluss_gost_belegpruefung_Allgemeines(obj : unknown) : Allgemeines {
  59. return obj as Allgemeines;
  60. }