diff --git a/api/src/main/java/org/openmrs/module/queue/api/dao/impl/QueueEntryDaoImpl.java b/api/src/main/java/org/openmrs/module/queue/api/dao/impl/QueueEntryDaoImpl.java index fc9f081..b982ecc 100644 --- a/api/src/main/java/org/openmrs/module/queue/api/dao/impl/QueueEntryDaoImpl.java +++ b/api/src/main/java/org/openmrs/module/queue/api/dao/impl/QueueEntryDaoImpl.java @@ -14,6 +14,7 @@ import javax.persistence.criteria.Predicate; import javax.persistence.criteria.Root; +import java.time.temporal.ChronoUnit; import java.util.ArrayList; import java.util.Collection; import java.util.Date; @@ -116,7 +117,7 @@ public boolean updateIfUnmodified(QueueEntry queueEntry, Date expectedDateChange } javax.persistence.Query query = session.createQuery(jpql.toString()); - query.setParameter("endedAt", queueEntry.getEndedAt()); + query.setParameter("endedAt", Date.from(queueEntry.getEndedAt().toInstant().truncatedTo(ChronoUnit.SECONDS))); query.setParameter("id", queueEntry.getQueueEntryId()); if (expectedDateChanged != null) { query.setParameter("expectedDateChanged", expectedDateChanged); diff --git a/integration-tests/src/test/java/org/openmrs/module/queue/validators/QueueEntryValidatorTest.java b/integration-tests/src/test/java/org/openmrs/module/queue/validators/QueueEntryValidatorTest.java index fc96fc8..b507d50 100644 --- a/integration-tests/src/test/java/org/openmrs/module/queue/validators/QueueEntryValidatorTest.java +++ b/integration-tests/src/test/java/org/openmrs/module/queue/validators/QueueEntryValidatorTest.java @@ -319,8 +319,8 @@ public void shouldNotRejectNonOverlappingQueueEntriesForSamePatientAndQueue() { firstEntry.setPatient(patient); firstEntry.setStatus(validStatus); firstEntry.setPriority(validPriority); - firstEntry.setStartedAt(DateUtils.addHours(now, -2)); - firstEntry.setEndedAt(DateUtils.addHours(now, -1)); + firstEntry.setStartedAt(DateUtils.addHours(now, -1)); + firstEntry.setEndedAt(now); services.getQueueEntryService().saveQueueEntry(firstEntry); QueueEntry secondEntry = new QueueEntry();