Commit c28c35d2 authored by Florian Mühlburger's avatar Florian Mühlburger
Browse files

Solved Issues #1, #8

Erinnerungen bei Mündlichen Prüfungen wurden um 7. Erinnerung erweitert und Text bei 4. Erinnerung hinzugefügt
Benachrichtiungsmail beinhaltet nur noch relevante Abschnitte(wo Termine vorhanden sind)
parent 71d522ad
Pipeline #383 passed with stages
in 10 minutes and 37 seconds
......@@ -5,6 +5,7 @@ import at.jku.ce.zml.domain.Pruefung;
import at.jku.ce.zml.domain.PruefungsTermin;
import at.jku.ce.zml.domain.User;
import at.jku.ce.zml.domain.enumeration.PruefungArt;
import net.bytebuddy.dynamic.scaffold.MethodGraph;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -25,6 +26,7 @@ import java.time.format.FormatStyle;
import java.time.temporal.ChronoUnit;
import java.time.temporal.TemporalUnit;
import java.util.*;
import java.util.stream.Stream;
/**
* Service class for managing users.
......@@ -58,6 +60,8 @@ public class NotificationService {
Page<PruefungsTermin> results = pruefungsTerminService.findAll(Pageable.unpaged());
List<PruefungsTermin> resultList=results.getContent();
//Listen Schriftliche Prüfungen vor Klausur
List<PruefungsTermin> sTermin12W = filterDates(resultList, 84);
List<PruefungsTermin> sTermin6W = filterDates(resultList, 42);
......@@ -66,11 +70,19 @@ public class NotificationService {
List<PruefungsTermin> sTermin10D = filterDates(resultList, 10);
List<PruefungsTermin> sTermin3D = filterDates(resultList, 3);
//Liste alle schriftlichen Prüfungen vor Klausur
List<PruefungsTermin> sTerminAllb = new LinkedList<>();
Stream.of(sTermin12W,sTermin6W,sTermin5W,sTermin4W,sTermin10D,sTermin3D).forEach(sTerminAllb::addAll);
//Listen Schriftliche Prüfungen nach Klausur
List<PruefungsTermin> sTermin1DA = filterDates(resultList, -1);
List<PruefungsTermin> sTermin2DA = filterDates(resultList, -2);
List<PruefungsTermin> sTermin3WA = filterDates(resultList, -21);
//Liste alle schriftlichen Prüfungen nach Klausur
List<PruefungsTermin> sTerminAlla = new LinkedList<>();
Stream.of(sTermin1DA,sTermin2DA,sTermin3WA).forEach(sTerminAlla::addAll);
//Listen Mündliche Prüfungen
List<PruefungsTermin> mTermin10W = filterDates(resultList, 70);
List<PruefungsTermin> mTermin8W = filterDates(resultList, 56);
......@@ -78,101 +90,120 @@ public class NotificationService {
List<PruefungsTermin> mTermin6W = filterDates(resultList, 42);
List<PruefungsTermin> mTermin3W = filterDates(resultList, 21);
List<PruefungsTermin> mTermin2W = filterDates(resultList, 14);
List<PruefungsTermin> mTermin1D = filterDates(resultList, 1);
//Liste alle mündliche Prüfungen vor Klausur
List<PruefungsTermin> mTerminAll = new LinkedList<>();
Stream.of(mTermin10W,mTermin8W,mTermin7W,mTermin6W,mTermin3W,mTermin2W,mTermin1D).forEach(mTerminAll::addAll);
//Liste alle Prüfungen
List<PruefungsTermin> terminAll = new LinkedList<>();
Stream.of(sTerminAllb,sTerminAlla,mTerminAll).forEach(terminAll::addAll);
StringBuffer b = new StringBuffer();
if(!terminAll.isEmpty()){
// Schriftliche Prüfungen vor Klausur
b.append("<h1>Prüfungserinnerung</h1> " +
"<h2>Schriftliche Prüfungen vor Klausur</h2> " +
"<ul> ");
if (!sTermin12W.isEmpty()) {
b.append("<li>1. Erinnerung an den Modulverantwortlichen: Bitte Fragen schicken");
b = appendList(sTermin12W, b, PruefungArt.Schriftlich);
b.append("</li>");
}
if (!sTermin6W.isEmpty()) {
b.append("<li>2. Erinnerung an den Modulverantwortlichen: Bitte Fragen schicken");
b = appendList(sTermin6W, b, PruefungArt.Schriftlich);
b.append("</li>");
}
if (!sTermin5W.isEmpty()) {
b.append("<li>3. Erinnerung Deadline Abgabe der Fragen");
b = appendList(sTermin5W, b, PruefungArt.Schriftlich);
b.append("</li>");
}
if (!sTermin4W.isEmpty()) {
b.append("<li>4. Erinnerung Modulverantwortlichen: Anrufen und um Fragen bitten");
b = appendList(sTermin4W, b, PruefungArt.Schriftlich);
b.append("</li>");
}
if (!sTermin10D.isEmpty()) {
b.append("<li>5. Erinnerung: Freigabe der Prüfung an Team Raabheim (Horejs-Kainrath Astrid od. Stud.Mi)");
b = appendList(sTermin10D, b, PruefungArt.Schriftlich);
b.append("</li>");
}
if (!sTermin3D.isEmpty()) {
b.append("<li>6. Erinnerung: Bekanntgabe der genauen Anmeldezahlen an Team Raabheim (Horejs-Kainrath Astrid od. Stud.Mi)");
b = appendList(sTermin3D, b, PruefungArt.Schriftlich);
b.append("</li>");
b.append("<h1>Prüfungserinnerung</h1> ");
if(!sTerminAllb.isEmpty()) {
b.append("<h2>Schriftliche Prüfungen vor Klausur</h2> " +
"<ul> ");
if (!sTermin12W.isEmpty()) {
b.append("<li>1. Erinnerung an den Modulverantwortlichen: Bitte Fragen schicken");
b = appendList(sTermin12W, b, PruefungArt.Schriftlich);
b.append("</li>");
}
if (!sTermin6W.isEmpty()) {
b.append("<li>2. Erinnerung an den Modulverantwortlichen: Bitte Fragen schicken");
b = appendList(sTermin6W, b, PruefungArt.Schriftlich);
b.append("</li>");
}
if (!sTermin5W.isEmpty()) {
b.append("<li>3. Erinnerung Deadline Abgabe der Fragen");
b = appendList(sTermin5W, b, PruefungArt.Schriftlich);
b.append("</li>");
}
if (!sTermin4W.isEmpty()) {
b.append("<li>4. Erinnerung Modulverantwortlichen: Anrufen und um Fragen bitten");
b = appendList(sTermin4W, b, PruefungArt.Schriftlich);
b.append("</li>");
}
if (!sTermin10D.isEmpty()) {
b.append("<li>5. Erinnerung: Freigabe der Prüfung an Team Raabheim (Horejs-Kainrath Astrid od. Stud.Mi)");
b = appendList(sTermin10D, b, PruefungArt.Schriftlich);
b.append("</li>");
}
if (!sTermin3D.isEmpty()) {
b.append("<li>6. Erinnerung: Bekanntgabe der genauen Anmeldezahlen an Team Raabheim (Horejs-Kainrath Astrid od. Stud.Mi)");
b = appendList(sTermin3D, b, PruefungArt.Schriftlich);
b.append("</li>");
}
b.append("</ul>");
}
b.append("</ul>");
// Schriftliche Prüfungen nach Klausur
b.append("<h2>Schriftliche Prüfungen nach Klausur</h2>" +
"<ul>");
if (!sTermin1DA.isEmpty()) {
b.append("<li>1. Erinnerung: Auswerten der Prüfung");
b = appendList(sTermin1DA, b, PruefungArt.Schriftlich);
b.append("</li>");
}
if (!sTermin2DA.isEmpty()) {
b.append("<li>2. Erinnerung: Eintragen der Ergebnisse ins KUSSS");
b=appendList(sTermin2DA,b, PruefungArt.Schriftlich);
b.append("</li>");
}
if (!sTermin3WA.isEmpty()) {
b.append("<li>3. Erinnerung: Sammelzeugnis im KUSSS ausstellen");
b=appendList(sTermin3WA,b, PruefungArt.Schriftlich);
b.append("</li>");
if(!sTerminAlla.isEmpty()) {
b.append("<h2>Schriftliche Prüfungen nach Klausur</h2>" +
"<ul>");
if (!sTermin1DA.isEmpty()) {
b.append("<li>1. Erinnerung: Auswerten der Prüfung");
b = appendList(sTermin1DA, b, PruefungArt.Schriftlich);
b.append("</li>");
}
if (!sTermin2DA.isEmpty()) {
b.append("<li>2. Erinnerung: Eintragen der Ergebnisse ins KUSSS");
b = appendList(sTermin2DA, b, PruefungArt.Schriftlich);
b.append("</li>");
}
if (!sTermin3WA.isEmpty()) {
b.append("<li>3. Erinnerung: Sammelzeugnis im KUSSS ausstellen");
b = appendList(sTermin3WA, b, PruefungArt.Schriftlich);
b.append("</li>");
}
b.append("</ul>");
}
b.append("</ul>");
// Mündlichen Prüfungen
b.append("<h2>Mündliche Prüfungen</h2>" +
"<ul>");
if (!mTermin10W.isEmpty()) {
b.append("<li>1. Nennung der PrüferInnen");
b=appendList(mTermin10W,b, PruefungArt.Muendlich);
b.append("</li>");
}
if (!mTermin8W.isEmpty()) {
b.append("</li> <li>2. Erinnerung Modulverantwortlicher Nennen der Prüfer");
b=appendList(mTermin8W,b, PruefungArt.Muendlich);
b.append("</li>");
}
if (!mTermin7W.isEmpty()) {
b.append("</li> <li>3. Erinnerung Modulverantwortlicher Telefonanruf");
b=appendList(mTermin7W,b, PruefungArt.Muendlich);
b.append("</li>");
}
if (!mTermin6W.isEmpty()) {
b.append("</li> <li>4. Erinnerung Nennung der PrüferInnen im Prüfungs- und Anerkennungsservice (PAS, Nicole Hinterndorfer)");
b=appendList(mTermin6W,b, PruefungArt.Muendlich);
b.append("</li>");
}
if (!mTermin3W.isEmpty()) {
b.append("</li> <li>5. Erinnerung Durchführung Zeiteinteilung + Anmeldezahlen + Anmeldevoraussetzungen überprüfen ad PAS");
b=appendList(mTermin3W,b, PruefungArt.Muendlich);
b.append("</li>");
}
if (!mTermin2W.isEmpty()) {
b.append("</li> <li>6. Erinnerung: Mail an PrüferInnen mit genauer Zeiteinteilung und Duozuteilung");
b=appendList(mTermin2W,b, PruefungArt.Muendlich);
b.append("</li>");
if(!mTerminAll.isEmpty()) {
b.append("<h2>Mündliche Prüfungen</h2>" +
"<ul>");
if (!mTermin10W.isEmpty()) {
b.append("<li>1. Nennung der PrüferInnen");
b = appendList(mTermin10W, b, PruefungArt.Muendlich);
b.append("</li>");
}
if (!mTermin8W.isEmpty()) {
b.append("</li> <li>2. Erinnerung Modulverantwortlicher Nennen der Prüfer");
b = appendList(mTermin8W, b, PruefungArt.Muendlich);
b.append("</li>");
}
if (!mTermin7W.isEmpty()) {
b.append("</li> <li>3. Erinnerung Modulverantwortlicher Telefonanruf");
b = appendList(mTermin7W, b, PruefungArt.Muendlich);
b.append("</li>");
}
if (!mTermin6W.isEmpty()) {
b.append("</li> <li>4. Erinnerung Nennung der PrüferInnen im Prüfungs- und Anerkennungsservice (PAS, Nicole Hinterndorfer) <br /> Prüfungsentgeld -> Prüfung bestehender Lehrauftrag/Freier Dienstvertrag aussenden");
b = appendList(mTermin6W, b, PruefungArt.Muendlich);
b.append("</li>");
}
if (!mTermin3W.isEmpty()) {
b.append("</li> <li>5. Erinnerung Durchführung Zeiteinteilung + Anmeldezahlen + Anmeldevoraussetzungen überprüfen ad PAS");
b = appendList(mTermin3W, b, PruefungArt.Muendlich);
b.append("</li>");
}
if (!mTermin2W.isEmpty()) {
b.append("</li> <li>6. Erinnerung: Mail an PrüferInnen mit genauer Zeiteinteilung und Duozuteilung");
b = appendList(mTermin2W, b, PruefungArt.Muendlich);
b.append("</li>");
}
if (!mTermin1D.isEmpty()) {
b.append("</li> <li>7. Erinnerung: Einfordern Honorarnote bzw. Meldung Prüfungsentgeld an Personalabteilung");
b = appendList(mTermin1D, b, PruefungArt.Muendlich);
b.append("</li>");
}
b.append("</ul>");
}
b.append("</ul>");
log.debug(b.toString());
......@@ -190,6 +221,8 @@ public class NotificationService {
mailService.sendEmail(mailRecipient.getUser().getEmail(), "Terminerinnerung", b.toString(), false,true);
}
}
}
}
private List<PruefungsTermin> filterDates(List<PruefungsTermin> allDates, int offsetInDays) {
......
......@@ -60,10 +60,10 @@ spring:
liquibase:
contexts: dev
mail:
host: localhost
host: email.uni-linz.ac.at
port: 25
username:
password:
properties.mail.smtp:
auth: false
messages:
cache-duration: PT1S # 1 second, see the ISO 8601 standard
thymeleaf:
......@@ -102,7 +102,7 @@ jhipster:
token-validity-in-seconds: 86400
token-validity-in-seconds-for-remember-me: 2592000
mail: # specific JHipster mail property, for standard properties see MailProperties
from: zml@localhost
from: ulearn@jku.at
base-url: http://127.0.0.1:8080
metrics:
logs: # Reports metrics in the logs
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment