onload-Script für Zugriff auf Noten
This commit is contained in:
parent
4973224189
commit
76934028fb
148
asv_report_noten_onload.java
Normal file
148
asv_report_noten_onload.java
Normal 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;
|
Loading…
Reference in New Issue
Block a user