148 lines
5.7 KiB
Java
148 lines
5.7 KiB
Java
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;
|