BP-787 fix time intervall
diff --git a/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/sp/db/dao/StandbyScheduleBodyRepository.java b/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/sp/db/dao/StandbyScheduleBodyRepository.java
index 7ebde33..8d3160e 100644
--- a/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/sp/db/dao/StandbyScheduleBodyRepository.java
+++ b/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/sp/db/dao/StandbyScheduleBodyRepository.java
@@ -47,11 +47,12 @@
@Param("groupId") Long groupId, @Param("validFrom") Date validFrom, @Param("validTo") Date validTo,
@Param("status") Long status);
- @Query(value = "SELECT sbsb FROM StandbyScheduleBody sbsb " + "WHERE (sbsb.user.id = :userId "
- + "AND sbsb.validFrom >= :validFrom AND sbsb.validTo <= :validTo AND sbsb.status.id = :status) "
- + "ORDER BY sbsb.validFrom ASC")
- List<StandbyScheduleBody> findByUserAndDateAndStatus(@Param("userId") Long userId,
- @Param("validFrom") Date validFrom, @Param("validTo") Date validTo, @Param("status") Long status);
+ @Query(value = "SELECT sbsb FROM StandbyScheduleBody sbsb " + "WHERE (("
+ + "(sbsb.validTo >= :nowTime AND sbsb.validFrom <= :nowTime ) "
+ + "OR (sbsb.validFrom >= :nowTime AND sbsb.validFrom < :dayEnd )) "
+ + "AND sbsb.status.id = :status AND sbsb.user.id = :userId ) " + "ORDER BY sbsb.validFrom ASC")
+ List<StandbyScheduleBody> findByUserAndDateAndStatus(@Param("userId") Long userId, @Param("nowTime") Date nowTime,
+ @Param("dayEnd") Date dayEnd, @Param("status") Long status);
@Query(value = "SELECT sbsb FROM StandbyScheduleBody sbsb " + "WHERE (sbsb.standbyGroup.id in :groupIds "
+ "AND sbsb.validFrom >= :validFrom AND sbsb.validTo <= :validTo AND sbsb.status.id = :status) "