From 76934028fbfa10a51b940fd95b2e4c974393e1da Mon Sep 17 00:00:00 2001 From: mputzlocher Date: Fri, 19 Nov 2021 10:16:04 +0000 Subject: [PATCH] =?UTF-8?q?onload-Script=20f=C3=BCr=20Zugriff=20auf=20Note?= =?UTF-8?q?n?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- asv_report_noten_onload.java | 148 +++++++++++++++++++++++++++++++++++ 1 file changed, 148 insertions(+) create mode 100644 asv_report_noten_onload.java diff --git a/asv_report_noten_onload.java b/asv_report_noten_onload.java new file mode 100644 index 0000000..e5407be --- /dev/null +++ b/asv_report_noten_onload.java @@ -0,0 +1,148 @@ +noteListe = obj?.schuelerStamm?.getSchuelerSJGewaehlt().getNoteListe(); +zeugnisNoteListe = obj?.schuelerStamm?.getSchuelerSJGewaehlt().getZeugnisNoteListe(); + +daten_alle_noten=[]; + +for (i=0; i < noteListe.size(); i++) { + daten_eine_note=[noteListe[i].getSchuelerfach().kurzform.toString().toUpperCase().replace('SMW', 'SPO').replace('SW', 'SPO').replace('SM', 'SWM').replace('NUTB', 'NUT').replace('NUTPH', 'NUT').replace('NUTINF', 'NUT'), + noteListe[i].getBlockbezeichner(), + noteListe[i].note + ]; + daten_alle_noten.add(daten_eine_note); +} + +for (j=0; j < zeugnisNoteListe.size(); j++) { + daten_eine_note=[zeugnisNoteListe[j].schuelerfach.kurzform.toString().toUpperCase().replace('SMW', 'SPO').replace('SW', 'SPO').replace('SM', 'SWM').replace('NUTB', 'NUT').replace('NUTPH', 'NUT').replace('NUTINF', 'NUT'), + zeugnisNoteListe[j].wlZeugnisart.kurzform.replace("Z", "ZZ").replace("J", "JZ"), + zeugnisNoteListe[j].note //, + //zeugnisNoteListe[j].noteBerechnet + + ]; + if (zeugnisNoteListe[j].note == null) { + + } else { + daten_alle_noten.add(daten_eine_note); + } +} + +daten_alle_zeugnisdurchschnittsnoten=[]; + +for (j=0; j < zeugnisNoteListe.size(); j++) { + daten_eine_durchschnittsnote=[ + zeugnisNoteListe[j].schuelerfach.kurzform.toString().toUpperCase().replace('SMW', 'SPO').replace('SW', 'SPO').replace('SM', 'SWM').replace('NUTB', 'NUT').replace('NUTPH', 'NUT').replace('NUTINF', 'NUT'), + zeugnisNoteListe[j].wlZeugnisart.kurzform.replace("Z", "ZZ-D").replace("J", "JZ-D"), + zeugnisNoteListe[j].noteBerechnet + ]; + if (zeugnisNoteListe[j].noteBerechnet == null) { + + } else { + daten_alle_zeugnisdurchschnittsnoten.add(daten_eine_durchschnittsnote); + } +} + +/* nur für die nichtsortierte Variante bei den Großen Leistungsnachweisen eine Original-Liste */ +daten_alle_noten_original=[]; + +for (i=0; i < noteListe.size(); i++) { + daten_eine_note=[noteListe[i].getSchuelerfach().kurzform.toString().toUpperCase().replace('SMW', 'SPO').replace('SW', 'SPO').replace('SM', 'SWM').replace('NUTB', 'NUT').replace('NUTPH', 'NUT').replace('NUTINF', 'NUT'), + noteListe[i].getBlockbezeichner(), + noteListe[i].note + ]; + daten_alle_noten_original.add(daten_eine_note); +} + +/* Erstelle Liste [Fach, Liste kleine LN, Liste große LN, Schnitt kleine LN, Schnitt große LN] */ + +daten_noten_liste = []; +// daten_noten_liste.add([E, [1,2,3],2.00, [1,2], 1.50]); + +/* +class Fachnoten { + String fach; // Fachbezeichner + String[] kleineLN; // Einzelnoten kleiner Leistungsnachweise + String[] grosseLN; // Einzelnoten großer Leistungsnachweise + float schnittKleine; + float schnittGrosse; +}*/ + +def Fachnoten = [fach : '', kleineLN : [], grosseLN : [], schnittKleine: 0.00, schnittGrosse: 0.00]; + +liste_Fachnoten = []; + +for (i=0; i < daten_alle_noten.size(); i++){ + // Hole Daten des Eintrags + String fach = daten_alle_noten[i][0]; + String typ = daten_alle_noten[i][1]; + String wert = daten_alle_noten[i][2]; + + // Lege Fach in Liste an, falls nötig. + fach_exists = false; + for (j=0;j < liste_Fachnoten.size();j++){ + if (liste_Fachnoten[j].f == fach) { fach_exists = true; } + } + if (fach_exists == false) { + def newFach = [f : fach, kleineLN : [],grosseLN : [], schnittKleine: 0.00, schnittGrosse: 0.00]; + newFach.f = fach; + liste_Fachnoten.add(newFach); + } + // Finde aktuelles Fach + for (j=0;j < liste_Fachnoten.size();j++){ + if (liste_Fachnoten[j].f == fach){ + aktuellesFach = liste_Fachnoten[j]; + } + } + + + java.text.NumberFormat nf = java.text.NumberFormat.getNumberInstance(Locale.GERMANY); + if (typ == "Kleine LN 1. Halbjahr" || typ == "Kleine LN 2. Halbjahr" ){ + if (!wert.contains(".") && !wert.contains(",")){ + aktuellesFach.kleineLN.add(wert); + } + } + else if (typ == "Große LN 1. Halbjahr" || typ == "Große LN 2. Halbjahr" ){ + if (!wert.contains(".") && ! wert.contains(",")){ + aktuellesFach.grosseLN.add(wert); + } + } + else if (typ == "KLEIN gesamt") { + aktuellesFach.schnittKleine = nf.parse(wert).floatValue(); + } + else if (typ == "GROSS gesamt") { + aktuellesFach.schnittGrosse = nf.parse(wert).floatValue(); + } + // Rauskopieren + daten_noten_liste = liste_Fachnoten; +} + + +/* Finde die Fächer mit 5ern und 6ern als Einzelnoten */ + +liste_PAN_faecher = []; + +for (i=0; i < daten_noten_liste.size(); i++){ + kleineLN = daten_noten_liste[i].kleineLN; + grosseLN = daten_noten_liste[i].grosseLN; + PANFach = false; + for (j=0; j 4.3) { PANFach = true; } + if (daten_noten_liste[i].schnittGrosse > 4.3) { PANFach = true; } + if (PANFach) { + liste_PAN_faecher.add(daten_noten_liste[i]); + } +} + + + +//+++ + + +//item.value=daten_alle_noten_original; \ No newline at end of file