diff --git a/src/main/kotlin/io/github/devcavin/gatelog/visitors/OverdueVisitJob.kt b/src/main/kotlin/io/github/devcavin/gatelog/visitors/OverdueVisitJob.kt index bb1a917..ad1f02f 100644 --- a/src/main/kotlin/io/github/devcavin/gatelog/visitors/OverdueVisitJob.kt +++ b/src/main/kotlin/io/github/devcavin/gatelog/visitors/OverdueVisitJob.kt @@ -2,7 +2,6 @@ package io.github.devcavin.gatelog.visitors import io.github.devcavin.gatelog.common.exception.ResourceNotFoundException import io.github.devcavin.gatelog.common.time.TimeUtil -import io.github.devcavin.gatelog.sites.SiteRepository import org.slf4j.LoggerFactory import org.springframework.beans.factory.annotation.Value import org.springframework.scheduling.annotation.Scheduled @@ -13,7 +12,6 @@ import org.springframework.transaction.annotation.Transactional class OverdueVisitJob( private val visitRepository: VisitRepository, private val visitorStatusRepository: VisitStatusRepository, - private val siteRepository: SiteRepository, private val timeUtil: TimeUtil, @Value($$"${gatelog.scheduler.overdue-threshold-hours:2}") @@ -32,40 +30,21 @@ class OverdueVisitJob( visitorStatusRepository.findByName("OVERDUE") ?: throw ResourceNotFoundException( "Visit Status", - "OVERDUE" + "OVERDUE".lowercase() ) val threshold = timeUtil.timeNow().minusHours(overdueThresholdHours) - val sites = siteRepository.findAll() + val flagged = visitRepository.markOverdue( + threshold, + overdueStatus + ) - var totalFlagged = 0 - - sites.forEach { site -> - - val siteId = requireNotNull(site.id) - - val flagged = visitRepository.markOverdue( - threshold = threshold, - overdueStatus = overdueStatus - ) - - if (flagged > 0) { - log.info( - "Flagged {} overdue visitor(s) at site {}", - flagged, - siteId - ) - } - - totalFlagged += flagged - } - - if (totalFlagged > 0) { + if (flagged > 0) { log.info( "Overdue job complete - {} visitor(s) flagged", - totalFlagged + flagged ) } } diff --git a/src/main/kotlin/io/github/devcavin/gatelog/visitors/VisitResponseMapper.kt b/src/main/kotlin/io/github/devcavin/gatelog/visitors/VisitResponseMapper.kt index a8d2028..217abe5 100644 --- a/src/main/kotlin/io/github/devcavin/gatelog/visitors/VisitResponseMapper.kt +++ b/src/main/kotlin/io/github/devcavin/gatelog/visitors/VisitResponseMapper.kt @@ -24,6 +24,7 @@ class VisitResponseMapper( purpose = visit.purpose, status = visit.visitStatus.name, siteId = requireNotNull(visit.site.id), + siteName = requireNotNull(visit.site.name), zoneId = visit.zone?.id, zoneName = visit.zone?.name, createdById = requireNotNull(visit.createdBy.id), diff --git a/src/main/kotlin/io/github/devcavin/gatelog/visitors/VisitService.kt b/src/main/kotlin/io/github/devcavin/gatelog/visitors/VisitService.kt index 5876994..ab4da21 100644 --- a/src/main/kotlin/io/github/devcavin/gatelog/visitors/VisitService.kt +++ b/src/main/kotlin/io/github/devcavin/gatelog/visitors/VisitService.kt @@ -143,7 +143,7 @@ class VisitService( visitId ) - if (visit.visitStatus.name != CHECKED_IN) { + if (visit.visitStatus.name != CHECKED_IN && visit.visitStatus.name != OVERDUE) { throw InvalidStateException( "Visitor is already ${ visit.visitStatus.name