Skip to content

Commit

Permalink
MAN-2787 - use disposal id to calculate rar days (#4618)
Browse files Browse the repository at this point in the history
* MAN-2787 - use disposal id to calculate rar days

* MAN-2787 - use disposal id to calculate rar days

* MAN-2787 - use disposal id to calculate rar days
  • Loading branch information
achimber-moj authored Feb 4, 2025
1 parent a02cfc7 commit 42f242a
Show file tree
Hide file tree
Showing 5 changed files with 14 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ internal class ComplianceIntegrationTest {
equalTo(2)
)
assertThat(res.currentSentences[1].rarCategory, equalTo("Main"))
assertThat(res.currentSentences[1].rarDescription, equalTo("0 of 12 RAR days completed"))
assertThat(res.currentSentences[1].rarDescription, equalTo("2 of 12 RAR days completed"))
assertThat(res.currentSentences[0].rarCategory, equalTo(null))
assertThat(res.currentSentences[1].eventNumber, equalTo("7654321"))
assertThat(res.currentSentences[0].eventNumber, equalTo("1234567"))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ internal class OverviewIntegrationTest {
assertThat(res.previousOrders.count, equalTo(2))
assertThat(res.previousOrders.breaches, equalTo(2))
assertThat(res.sentences[1].eventNumber, equalTo(EVENT_1.eventNumber))
assertThat(res.sentences[1].rarDescription, equalTo("0 of 12 RAR days completed"))
assertThat(res.sentences[1].rarDescription, equalTo("2 of 12 RAR days completed"))
assertThat(res.personalDetails.dateOfBirth, equalTo(OVERVIEW.dateOfBirth))
assertThat(res.personalDetails.dateOfBirth, equalTo(OVERVIEW.dateOfBirth))
assertThat(res.registrations, equalTo(listOf("Restraining Order", "Domestic Abuse Perpetrator", "Mappa")))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ import uk.gov.justice.digital.hmpps.integrations.delius.overview.entity.*
class ComplianceService(
private val personRepository: PersonRepository,
private val eventRepository: EventRepository,
private val requirementRepository: RequirementRepository,
private val nsiRepository: NsiRepository,
private val activityService: ActivityService,
private val requirementService: RequirementService
Expand Down Expand Up @@ -50,7 +49,7 @@ class ComplianceService(
eventNumber = eventNumber,
mainOffence = Offence(code = offence.code, description = offence.description),
rarCategory = getRarCategoryFromSentence(eventNumber),
rarDescription = disposal?.let { requirementService.getRarDescription(id, eventNumber) },
rarDescription = disposal?.let { requirementService.getRarDescription(id, eventNumber, disposal.id) },
order = disposal?.let {
Order(
description = it.type.description,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ import uk.gov.justice.digital.hmpps.integrations.delius.overview.entity.Provisio
class OverviewService(
private val personRepository: PersonRepository,
private val contactRepository: ContactRepository,
private val requirementRepository: RequirementRepository,
private val registrationRepository: RegistrationRepository,
private val provisionRepository: ProvisionRepository,
private val disabilityRepository: DisabilityRepository,
Expand Down Expand Up @@ -71,7 +70,7 @@ class OverviewService(
additionalOffences = additionalOffences.map { it.offence.toOffence() },
order = disposal?.toOrder(),
rarDescription = disposal?.let {
requirementService.getRarDescription(id, eventNumber)
requirementService.getRarDescription(id, eventNumber, disposal.id)
})

}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,14 +59,18 @@ class RequirementService(
return null
}

fun getRarDescription(id: Long, eventNumber: String): String? {
val sumRarRequirementLength = requirementRepository.getRequirements(id, eventNumber)
.filter { it.mainCategory!!.code == "F" }
.sumOf { it.length!! }
fun getRarDescription(eventId: Long, eventNumber: String, disposalId: Long): String? {
val rarCode = "F"
val rarRequirements = requirementRepository.getRequirements(eventId, eventNumber)
.filter { it.mainCategory!!.code == rarCode }

val rar = getRar(id, "F")
if (rarRequirements.isNotEmpty()) {
val rar = getRar(disposalId, rarCode)

return rar?.let { "${it.totalDays} of $sumRarRequirementLength RAR days completed" }
return rar?.let { r -> "${r.totalDays} of ${rarRequirements.sumOf { it.length!! }} RAR days completed" }
}

return null
}
}

Expand Down

0 comments on commit 42f242a

Please sign in to comment.