From 160577539682f31ac50133a41398ba3caa73a323 Mon Sep 17 00:00:00 2001 From: Patryk Hegenberg Date: Fri, 29 Nov 2024 06:55:59 +0100 Subject: [PATCH] feat: add Notendurschnitt and Prozent unter Schnitt to exported pdf --- app.go | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/app.go b/app.go index 58b9ec0..828c9d9 100644 --- a/app.go +++ b/app.go @@ -170,6 +170,26 @@ func (a *App) ExportBewertungen(path string) error { pdf.Ln(-1) } + var gesamtSumme float64 + var anzahlGewertet int + var anzahlUnterSchnitt int + for _, bewertung := range a.bewertungen { + if bewertung.Gewertet { + gesamtSumme += float64(bewertung.GesamtNote) + anzahlGewertet++ + if bewertung.GesamtNote >= 5 { + anzahlUnterSchnitt++ + } + } + } + + gesamtSchnitt := gesamtSumme / float64(anzahlGewertet) + prozentUnterSchnitt := float64(anzahlUnterSchnitt) / float64(anzahlGewertet) * 100 + + pdf.Ln(10) + pdf.SetFont("Arial", "B", 12) + pdf.CellFormat(0, 10, fmt.Sprintf("Gesamtnotenschnitt: %.2f", gesamtSchnitt), "", 1, "", false, 0, "") + pdf.CellFormat(0, 10, fmt.Sprintf("Prozentsatz der Bewertungen unter dem Schnitt (Note 5 oder 6): %.2f%%", prozentUnterSchnitt), "", 1, "", false, 0, "") err := pdf.OutputFileAndClose(path) if err != nil { fmt.Println("Fehler beim Exportieren der Bewertungen:", err)