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;