mirror of
https://github.com/pcvolkmer/etl-processor.git
synced 2025-04-20 17:56:50 +00:00
refactor: use RequestService in controllers
This commit is contained in:
parent
9a6a0c6138
commit
40b2558943
@ -19,11 +19,11 @@
|
|||||||
|
|
||||||
package dev.dnpm.etl.processor.services
|
package dev.dnpm.etl.processor.services
|
||||||
|
|
||||||
import dev.dnpm.etl.processor.monitoring.Request
|
import dev.dnpm.etl.processor.monitoring.*
|
||||||
import dev.dnpm.etl.processor.monitoring.RequestRepository
|
import org.springframework.data.domain.Page
|
||||||
import dev.dnpm.etl.processor.monitoring.RequestStatus
|
import org.springframework.data.domain.Pageable
|
||||||
import dev.dnpm.etl.processor.monitoring.RequestType
|
|
||||||
import org.springframework.stereotype.Service
|
import org.springframework.stereotype.Service
|
||||||
|
import java.util.*
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
class RequestService(
|
class RequestService(
|
||||||
@ -32,6 +32,15 @@ class RequestService(
|
|||||||
|
|
||||||
fun save(request: Request) = requestRepository.save(request)
|
fun save(request: Request) = requestRepository.save(request)
|
||||||
|
|
||||||
|
fun findAll(): Iterable<Request> = requestRepository.findAll()
|
||||||
|
|
||||||
|
fun findAll(pageable: Pageable): Page<Request> = requestRepository.findAll(pageable)
|
||||||
|
|
||||||
|
fun findByUuid(uuid: String): Optional<Request> =
|
||||||
|
requestRepository.findByUuidEquals(uuid)
|
||||||
|
|
||||||
|
fun findRequestByPatientId(patientId: String, pageable: Pageable): Page<Request> = requestRepository.findRequestByPatientId(patientId, pageable)
|
||||||
|
|
||||||
fun allRequestsByPatientPseudonym(patientPseudonym: String) = requestRepository
|
fun allRequestsByPatientPseudonym(patientPseudonym: String) = requestRepository
|
||||||
.findAllByPatientIdOrderByProcessedAtDesc(patientPseudonym)
|
.findAllByPatientIdOrderByProcessedAtDesc(patientPseudonym)
|
||||||
|
|
||||||
@ -41,6 +50,14 @@ class RequestService(
|
|||||||
fun isLastRequestWithKnownStatusDeletion(patientPseudonym: String) =
|
fun isLastRequestWithKnownStatusDeletion(patientPseudonym: String) =
|
||||||
Companion.isLastRequestWithKnownStatusDeletion(allRequestsByPatientPseudonym(patientPseudonym))
|
Companion.isLastRequestWithKnownStatusDeletion(allRequestsByPatientPseudonym(patientPseudonym))
|
||||||
|
|
||||||
|
fun countStates(): Iterable<CountedState> = requestRepository.countStates()
|
||||||
|
|
||||||
|
fun countDeleteStates(): Iterable<CountedState> = requestRepository.countDeleteStates()
|
||||||
|
|
||||||
|
fun findPatientUniqueStates(): List<CountedState> = requestRepository.findPatientUniqueStates()
|
||||||
|
|
||||||
|
fun findPatientUniqueDeleteStates(): List<CountedState> = requestRepository.findPatientUniqueDeleteStates()
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
|
||||||
fun lastMtbFileRequestForPatientPseudonym(allRequests: List<Request>) = allRequests
|
fun lastMtbFileRequestForPatientPseudonym(allRequests: List<Request>) = allRequests
|
||||||
|
@ -22,7 +22,7 @@ package dev.dnpm.etl.processor.web
|
|||||||
import dev.dnpm.etl.processor.NotFoundException
|
import dev.dnpm.etl.processor.NotFoundException
|
||||||
import dev.dnpm.etl.processor.monitoring.ReportService
|
import dev.dnpm.etl.processor.monitoring.ReportService
|
||||||
import dev.dnpm.etl.processor.monitoring.RequestId
|
import dev.dnpm.etl.processor.monitoring.RequestId
|
||||||
import dev.dnpm.etl.processor.monitoring.RequestRepository
|
import dev.dnpm.etl.processor.services.RequestService
|
||||||
import org.springframework.data.domain.Pageable
|
import org.springframework.data.domain.Pageable
|
||||||
import org.springframework.data.domain.Sort
|
import org.springframework.data.domain.Sort
|
||||||
import org.springframework.data.web.PageableDefault
|
import org.springframework.data.web.PageableDefault
|
||||||
@ -35,7 +35,7 @@ import org.springframework.web.bind.annotation.RequestMapping
|
|||||||
@Controller
|
@Controller
|
||||||
@RequestMapping(path = ["/"])
|
@RequestMapping(path = ["/"])
|
||||||
class HomeController(
|
class HomeController(
|
||||||
private val requestRepository: RequestRepository,
|
private val requestService: RequestService,
|
||||||
private val reportService: ReportService
|
private val reportService: ReportService
|
||||||
) {
|
) {
|
||||||
|
|
||||||
@ -44,7 +44,7 @@ class HomeController(
|
|||||||
@PageableDefault(page = 0, size = 20, sort = ["processedAt"], direction = Sort.Direction.DESC) pageable: Pageable,
|
@PageableDefault(page = 0, size = 20, sort = ["processedAt"], direction = Sort.Direction.DESC) pageable: Pageable,
|
||||||
model: Model
|
model: Model
|
||||||
): String {
|
): String {
|
||||||
val requests = requestRepository.findAll(pageable)
|
val requests = requestService.findAll(pageable)
|
||||||
model.addAttribute("requests", requests)
|
model.addAttribute("requests", requests)
|
||||||
|
|
||||||
return "index"
|
return "index"
|
||||||
@ -56,7 +56,7 @@ class HomeController(
|
|||||||
@PageableDefault(page = 0, size = 20, sort = ["processedAt"], direction = Sort.Direction.DESC) pageable: Pageable,
|
@PageableDefault(page = 0, size = 20, sort = ["processedAt"], direction = Sort.Direction.DESC) pageable: Pageable,
|
||||||
model: Model
|
model: Model
|
||||||
): String {
|
): String {
|
||||||
val requests = requestRepository.findRequestByPatientId(patientId, pageable)
|
val requests = requestService.findRequestByPatientId(patientId, pageable)
|
||||||
model.addAttribute("patientId", patientId)
|
model.addAttribute("patientId", patientId)
|
||||||
model.addAttribute("requests", requests)
|
model.addAttribute("requests", requests)
|
||||||
|
|
||||||
@ -65,7 +65,7 @@ class HomeController(
|
|||||||
|
|
||||||
@GetMapping(path = ["/report/{id}"])
|
@GetMapping(path = ["/report/{id}"])
|
||||||
fun report(@PathVariable id: RequestId, model: Model): String {
|
fun report(@PathVariable id: RequestId, model: Model): String {
|
||||||
val request = requestRepository.findByUuidEquals(id.toString()).orElse(null) ?: throw NotFoundException()
|
val request = requestService.findByUuid(id.toString()).orElse(null) ?: throw NotFoundException()
|
||||||
model.addAttribute("request", request)
|
model.addAttribute("request", request)
|
||||||
model.addAttribute("issues", reportService.deserialize(request.report?.dataQualityReport))
|
model.addAttribute("issues", reportService.deserialize(request.report?.dataQualityReport))
|
||||||
|
|
||||||
|
@ -19,9 +19,9 @@
|
|||||||
|
|
||||||
package dev.dnpm.etl.processor.web
|
package dev.dnpm.etl.processor.web
|
||||||
|
|
||||||
import dev.dnpm.etl.processor.monitoring.RequestRepository
|
|
||||||
import dev.dnpm.etl.processor.monitoring.RequestStatus
|
import dev.dnpm.etl.processor.monitoring.RequestStatus
|
||||||
import dev.dnpm.etl.processor.monitoring.RequestType
|
import dev.dnpm.etl.processor.monitoring.RequestType
|
||||||
|
import dev.dnpm.etl.processor.services.RequestService
|
||||||
import org.springframework.beans.factory.annotation.Qualifier
|
import org.springframework.beans.factory.annotation.Qualifier
|
||||||
import org.springframework.http.MediaType
|
import org.springframework.http.MediaType
|
||||||
import org.springframework.http.codec.ServerSentEvent
|
import org.springframework.http.codec.ServerSentEvent
|
||||||
@ -41,15 +41,15 @@ import java.time.temporal.ChronoUnit
|
|||||||
class StatisticsRestController(
|
class StatisticsRestController(
|
||||||
@Qualifier("statisticsUpdateProducer")
|
@Qualifier("statisticsUpdateProducer")
|
||||||
private val statisticsUpdateProducer: Sinks.Many<Any>,
|
private val statisticsUpdateProducer: Sinks.Many<Any>,
|
||||||
private val requestRepository: RequestRepository
|
private val requestService: RequestService
|
||||||
) {
|
) {
|
||||||
|
|
||||||
@GetMapping(path = ["requeststates"])
|
@GetMapping(path = ["requeststates"])
|
||||||
fun requestStates(@RequestParam(required = false, defaultValue = "false") delete: Boolean): List<NameValue> {
|
fun requestStates(@RequestParam(required = false, defaultValue = "false") delete: Boolean): List<NameValue> {
|
||||||
val states = if (delete) {
|
val states = if (delete) {
|
||||||
requestRepository.countDeleteStates()
|
requestService.countDeleteStates()
|
||||||
} else {
|
} else {
|
||||||
requestRepository.countStates()
|
requestService.countStates()
|
||||||
}
|
}
|
||||||
|
|
||||||
return states
|
return states
|
||||||
@ -79,7 +79,7 @@ class StatisticsRestController(
|
|||||||
}
|
}
|
||||||
|
|
||||||
val formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd").withZone(ZoneId.of("Europe/Berlin"))
|
val formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd").withZone(ZoneId.of("Europe/Berlin"))
|
||||||
val data = requestRepository.findAll()
|
val data = requestService.findAll()
|
||||||
.filter { it.type == requestType }
|
.filter { it.type == requestType }
|
||||||
.filter { it.processedAt.isAfter(Instant.now().minus(30, ChronoUnit.DAYS)) }
|
.filter { it.processedAt.isAfter(Instant.now().minus(30, ChronoUnit.DAYS)) }
|
||||||
.groupBy { formatter.format(it.processedAt) }
|
.groupBy { formatter.format(it.processedAt) }
|
||||||
@ -115,9 +115,9 @@ class StatisticsRestController(
|
|||||||
@GetMapping(path = ["requestpatientstates"])
|
@GetMapping(path = ["requestpatientstates"])
|
||||||
fun requestPatientStates(@RequestParam(required = false, defaultValue = "false") delete: Boolean): List<NameValue> {
|
fun requestPatientStates(@RequestParam(required = false, defaultValue = "false") delete: Boolean): List<NameValue> {
|
||||||
val states = if (delete) {
|
val states = if (delete) {
|
||||||
requestRepository.findPatientUniqueDeleteStates()
|
requestService.findPatientUniqueDeleteStates()
|
||||||
} else {
|
} else {
|
||||||
requestRepository.findPatientUniqueStates()
|
requestService.findPatientUniqueStates()
|
||||||
}
|
}
|
||||||
|
|
||||||
return states.map {
|
return states.map {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user