Skip to content

Commit

Permalink
[Reporting] Create function to getControlStatus
Browse files Browse the repository at this point in the history
  • Loading branch information
claire2212 committed Jan 17, 2025
1 parent e7e33ff commit bad134f
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 42 deletions.
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package fr.gouv.cacem.monitorenv.domain.use_cases.reportings.dtos

import fr.gouv.cacem.monitorenv.domain.entities.mission.MissionEntity
import fr.gouv.cacem.monitorenv.domain.entities.mission.envAction.ActionTypeEnum
import fr.gouv.cacem.monitorenv.domain.entities.reporting.ControlStatusEnum
import fr.gouv.cacem.monitorenv.domain.entities.reporting.ReportingEntity

Expand All @@ -12,24 +11,5 @@ data class ReportingDTO(
val detachedMission: MissionEntity? = null,
) {
val controlStatus: ControlStatusEnum?
get() =
when {
this.reporting.attachedEnvActionId != null &&
this.attachedMission?.envActions
?.find { it.id == this.reporting.attachedEnvActionId }
?.actionType == ActionTypeEnum.SURVEILLANCE ->
ControlStatusEnum.SURVEILLANCE_DONE

this.reporting.attachedEnvActionId != null &&
this.attachedMission?.envActions
?.find { it.id == this.reporting.attachedEnvActionId }
?.actionType == ActionTypeEnum.CONTROL ->
ControlStatusEnum.CONTROL_DONE

this.reporting.attachedEnvActionId == null &&
this.reporting.isControlRequired == true ->
ControlStatusEnum.CONTROL_TO_BE_DONE

else -> null
}
get() = getControlStatus(reporting, attachedMission)
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package fr.gouv.cacem.monitorenv.domain.use_cases.reportings.dtos

import fr.gouv.cacem.monitorenv.domain.entities.mission.MissionEntity
import fr.gouv.cacem.monitorenv.domain.entities.mission.envAction.ActionTypeEnum
import fr.gouv.cacem.monitorenv.domain.entities.reporting.ControlStatusEnum
import fr.gouv.cacem.monitorenv.domain.entities.reporting.ReportingEntity

Expand All @@ -11,24 +10,5 @@ data class ReportingsDTO(
val attachedMission: MissionEntity? = null,
) {
val controlStatus: ControlStatusEnum?
get() =
when {
this.reporting.attachedEnvActionId != null &&
this.attachedMission?.envActions
?.find { it.id == this.reporting.attachedEnvActionId }
?.actionType == ActionTypeEnum.SURVEILLANCE ->
ControlStatusEnum.SURVEILLANCE_DONE

this.reporting.attachedEnvActionId != null &&
this.attachedMission?.envActions
?.find { it.id == this.reporting.attachedEnvActionId }
?.actionType == ActionTypeEnum.CONTROL ->
ControlStatusEnum.CONTROL_DONE

this.reporting.attachedEnvActionId == null &&
this.reporting.isControlRequired == true ->
ControlStatusEnum.CONTROL_TO_BE_DONE

else -> null
}
get() = getControlStatus(reporting, attachedMission)
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package fr.gouv.cacem.monitorenv.domain.use_cases.reportings.dtos

import fr.gouv.cacem.monitorenv.domain.entities.mission.MissionEntity
import fr.gouv.cacem.monitorenv.domain.entities.mission.envAction.ActionTypeEnum
import fr.gouv.cacem.monitorenv.domain.entities.reporting.ControlStatusEnum
import fr.gouv.cacem.monitorenv.domain.entities.reporting.ReportingEntity

fun getControlStatus(
reporting: ReportingEntity,
attachedMission: MissionEntity?,
): ControlStatusEnum? {
return when {
reporting.attachedEnvActionId != null &&
attachedMission?.envActions
?.find { it.id == reporting.attachedEnvActionId }
?.actionType == ActionTypeEnum.SURVEILLANCE ->
ControlStatusEnum.SURVEILLANCE_DONE

reporting.attachedEnvActionId != null &&
attachedMission?.envActions
?.find { it.id == reporting.attachedEnvActionId }
?.actionType == ActionTypeEnum.CONTROL ->
ControlStatusEnum.CONTROL_DONE

reporting.attachedEnvActionId == null && reporting.isControlRequired == true ->
ControlStatusEnum.CONTROL_TO_BE_DONE

else -> null
}
}

0 comments on commit bad134f

Please sign in to comment.