57 lines
1.8 KiB
Java
57 lines
1.8 KiB
Java
|
// eine frei formulierte Filterbedingung muss einen boolischen Wert zurückgeben
|
||
|
//
|
||
|
// "dialogwertZeile" liefert den Vergleichswert, welcher bei der zu dieser Filterzeile gehörigen
|
||
|
// Dialog-Abfrage angegeben wurde.
|
||
|
//
|
||
|
// "dialogwerteMap.get(n)" liefert den Vergleichswert, welcher bei der zur Filterzeile "n"
|
||
|
// gehörigen Dialog-Abfrage angegeben wurde.
|
||
|
import de.isb.svp.domain.pojo.SchuelerSchuljahr;
|
||
|
|
||
|
SchuelerSchuljahr schuelerSchuljahr = obj;
|
||
|
|
||
|
noteListe = schuelerSchuljahr.getNoteListe();
|
||
|
daten_alle_einzelnoten = [];
|
||
|
daten_schnitte = [];
|
||
|
java.text.NumberFormat nf = java.text.NumberFormat.getNumberInstance(Locale.GERMANY);
|
||
|
|
||
|
for (i=0; i < noteListe.size(); i++) {
|
||
|
String bezeichner = noteListe[i].getBlockbezeichner();
|
||
|
try {
|
||
|
String note = noteListe[i].note;
|
||
|
note = note.replaceAll("-","");
|
||
|
daten_eine_note = Integer.parseInt(note);
|
||
|
}
|
||
|
catch (NumberFormatException e) {
|
||
|
daten_eine_note = 0;
|
||
|
}
|
||
|
if ((bezeichner == "Kleine LN 1. Halbjahr" || bezeichner == "Kleine LN 2. Halbjahr" ||
|
||
|
bezeichner == "Große LN 1. Halbjahr" || bezeichner == "Große LN 2. Halbjahr" ) && daten_eine_note != 0) {
|
||
|
daten_alle_einzelnoten.add(daten_eine_note);
|
||
|
}
|
||
|
else if (bezeichner == "KLEIN gesamt" || bezeichner == "GROSS gesamt") {
|
||
|
schnitt = nf.parse(noteListe[i].note).floatValue();
|
||
|
daten_schnitte.add(schnitt);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
boolean pan = false;
|
||
|
boolean einzelPAN =false;
|
||
|
|
||
|
for (int element : daten_alle_einzelnoten) {
|
||
|
if (element == 5 || element == 6){
|
||
|
einzelPAN = true;
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
if (einzelPAN) {
|
||
|
for (float element : daten_schnitte) {
|
||
|
if (element > 4.5) {
|
||
|
pan = true;
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return pan;
|