ASV Filter PAN "scharf"

This commit is contained in:
Martin Putzlocher 2021-11-19 08:54:58 +00:00
parent 53337a6a3f
commit 4973224189

56
asv_filter_scharf.java Normal file
View File

@ -0,0 +1,56 @@
// 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;