BP-804 fix finding the correct durations around the current date
diff --git a/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/sp/controller/planning/PlanningController.java b/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/sp/controller/planning/PlanningController.java
index 5f2f27f..34e987d 100644
--- a/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/sp/controller/planning/PlanningController.java
+++ b/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/sp/controller/planning/PlanningController.java
@@ -510,6 +510,7 @@
standbyScheduleBodyRepository.save(stbyBody);
// calculate if holiday
stbyBody = this.calculateHoliday(group, currentDate, stbyBody);
+ // because o
createMsgSavingBody(stbyBody);
} else {
resultObj = this.calculateMultiScheduleBodyEntries(lsUserInGroup, currentDate, lastDate,
@@ -913,7 +914,7 @@
if (dur.getValidDayFrom() < dayOfWeek && dayOfWeek <= dur.getValidDayTo()) {
// start <= current <= end
lsFittingDurations.add(dur);
- } else if (dur.getValidDayFrom() >= dur.getValidDayTo()) {
+ } else if (dur.getValidDayFrom() > dur.getValidDayTo()) {
// start > end
int calcValue = dayOfWeek;
if (dur.getValidDayFrom() > dayOfWeek) {
@@ -923,6 +924,11 @@
if (dur.getValidDayFrom() < calcValue && calcValue <= (dur.getValidDayTo() + 7)) {
lsFittingDurations.add(dur);
}
+ } else if (dur.getValidDayFrom() == dur.getValidDayTo() && (dur.getValidDayFrom() == dayOfWeek
+ || DateHelper.calculateDifferenceOfDays(dur.getValidDayFrom(), dur.getValidDayTo(),
+ dur.getValidFrom(), dur.getValidTo()) == 7)) {
+ // if same day of week or if whole week
+ lsFittingDurations.add(dur);
}
}
return lsFittingDurations;