onload-Script für Zugriff auf Noten

master
Martin Putzlocher 2021-11-19 10:16:04 +00:00
parent 4973224189
commit 76934028fb
1 changed files with 148 additions and 0 deletions

View File

@ -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<kleineLN.size();j++) {
if (kleineLN[j].contains("6") || kleineLN[j].contains("+6") || kleineLN[j].contains("+5") || kleineLN[j].contains("5") || kleineLN[j].contains("5-")) {
PANFach = true;
}
}
for (j=0; j<grosseLN.size();j++) {
if (grosseLN[j].contains("6") || grosseLN[j].contains("+6") || grosseLN[j].contains("+5") || grosseLN[j].contains("5") || grosseLN[j].contains("5-")) {
PANFach = true;
}
}
if (daten_noten_liste[i].schnittKleine > 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;