diff --git a/backend/src/main/kotlin/fr/gouv/cnsp/monitorfish/domain/entities/control_objective/ControlObjective.kt b/backend/src/main/kotlin/fr/gouv/cnsp/monitorfish/domain/entities/control_objective/ControlObjective.kt index 9e36b69290..754be9e5a3 100644 --- a/backend/src/main/kotlin/fr/gouv/cnsp/monitorfish/domain/entities/control_objective/ControlObjective.kt +++ b/backend/src/main/kotlin/fr/gouv/cnsp/monitorfish/domain/entities/control_objective/ControlObjective.kt @@ -8,4 +8,5 @@ data class ControlObjective( val targetNumberOfControlsAtSea: Int, val targetNumberOfControlsAtPort: Int, val controlPriorityLevel: Double, + val infringementRiskLevel: Double, ) diff --git a/backend/src/main/kotlin/fr/gouv/cnsp/monitorfish/domain/repositories/ControlObjectivesRepository.kt b/backend/src/main/kotlin/fr/gouv/cnsp/monitorfish/domain/repositories/ControlObjectivesRepository.kt index be3b496fbe..c52a171975 100644 --- a/backend/src/main/kotlin/fr/gouv/cnsp/monitorfish/domain/repositories/ControlObjectivesRepository.kt +++ b/backend/src/main/kotlin/fr/gouv/cnsp/monitorfish/domain/repositories/ControlObjectivesRepository.kt @@ -12,6 +12,7 @@ interface ControlObjectivesRepository { targetNumberOfControlsAtSea: Int?, targetNumberOfControlsAtPort: Int?, controlPriorityLevel: Double?, + infringementRiskLevel: Double?, ) fun delete(id: Int) diff --git a/backend/src/main/kotlin/fr/gouv/cnsp/monitorfish/domain/use_cases/control_objective/AddControlObjective.kt b/backend/src/main/kotlin/fr/gouv/cnsp/monitorfish/domain/use_cases/control_objective/AddControlObjective.kt index af67fdcbeb..bd2bf54268 100644 --- a/backend/src/main/kotlin/fr/gouv/cnsp/monitorfish/domain/use_cases/control_objective/AddControlObjective.kt +++ b/backend/src/main/kotlin/fr/gouv/cnsp/monitorfish/domain/use_cases/control_objective/AddControlObjective.kt @@ -21,6 +21,7 @@ class AddControlObjective( targetNumberOfControlsAtPort = 0, targetNumberOfControlsAtSea = 0, controlPriorityLevel = 1.0, + infringementRiskLevel = 2.0, ), ) } diff --git a/backend/src/main/kotlin/fr/gouv/cnsp/monitorfish/domain/use_cases/control_objective/UpdateControlObjective.kt b/backend/src/main/kotlin/fr/gouv/cnsp/monitorfish/domain/use_cases/control_objective/UpdateControlObjective.kt index ef2d810bcc..f41b7a6757 100644 --- a/backend/src/main/kotlin/fr/gouv/cnsp/monitorfish/domain/use_cases/control_objective/UpdateControlObjective.kt +++ b/backend/src/main/kotlin/fr/gouv/cnsp/monitorfish/domain/use_cases/control_objective/UpdateControlObjective.kt @@ -14,9 +14,13 @@ class UpdateControlObjective( targetNumberOfControlsAtSea: Int?, targetNumberOfControlsAtPort: Int?, controlPriorityLevel: Double?, + infringementRiskLevel: Double?, ) { require( - targetNumberOfControlsAtSea != null || targetNumberOfControlsAtPort != null || controlPriorityLevel != null, + targetNumberOfControlsAtSea != null || + targetNumberOfControlsAtPort != null || + controlPriorityLevel != null || + infringementRiskLevel != null ) { "No value to update" } @@ -26,6 +30,7 @@ class UpdateControlObjective( targetNumberOfControlsAtSea, targetNumberOfControlsAtPort, controlPriorityLevel, + infringementRiskLevel, ) } } diff --git a/backend/src/main/kotlin/fr/gouv/cnsp/monitorfish/infrastructure/api/bff/ControlObjectiveAdminController.kt b/backend/src/main/kotlin/fr/gouv/cnsp/monitorfish/infrastructure/api/bff/ControlObjectiveAdminController.kt index 0bd53aea35..f4921223e2 100644 --- a/backend/src/main/kotlin/fr/gouv/cnsp/monitorfish/infrastructure/api/bff/ControlObjectiveAdminController.kt +++ b/backend/src/main/kotlin/fr/gouv/cnsp/monitorfish/infrastructure/api/bff/ControlObjectiveAdminController.kt @@ -55,6 +55,7 @@ class ControlObjectiveAdminController( targetNumberOfControlsAtSea = updateControlObjectiveData.targetNumberOfControlsAtSea, targetNumberOfControlsAtPort = updateControlObjectiveData.targetNumberOfControlsAtPort, controlPriorityLevel = updateControlObjectiveData.controlPriorityLevel, + infringementRiskLevel = updateControlObjectiveData.infringementRiskLevel, ) } diff --git a/backend/src/main/kotlin/fr/gouv/cnsp/monitorfish/infrastructure/api/input/UpdateControlObjectiveDataInput.kt b/backend/src/main/kotlin/fr/gouv/cnsp/monitorfish/infrastructure/api/input/UpdateControlObjectiveDataInput.kt index 27b9655bc3..6ad39c409f 100644 --- a/backend/src/main/kotlin/fr/gouv/cnsp/monitorfish/infrastructure/api/input/UpdateControlObjectiveDataInput.kt +++ b/backend/src/main/kotlin/fr/gouv/cnsp/monitorfish/infrastructure/api/input/UpdateControlObjectiveDataInput.kt @@ -4,4 +4,5 @@ data class UpdateControlObjectiveDataInput( var targetNumberOfControlsAtSea: Int? = null, var targetNumberOfControlsAtPort: Int? = null, var controlPriorityLevel: Double? = null, + var infringementRiskLevel: Double? = null, ) diff --git a/backend/src/main/kotlin/fr/gouv/cnsp/monitorfish/infrastructure/api/outputs/ControlObjectiveDataOutput.kt b/backend/src/main/kotlin/fr/gouv/cnsp/monitorfish/infrastructure/api/outputs/ControlObjectiveDataOutput.kt index 9ecccef869..6815f06404 100644 --- a/backend/src/main/kotlin/fr/gouv/cnsp/monitorfish/infrastructure/api/outputs/ControlObjectiveDataOutput.kt +++ b/backend/src/main/kotlin/fr/gouv/cnsp/monitorfish/infrastructure/api/outputs/ControlObjectiveDataOutput.kt @@ -10,6 +10,7 @@ data class ControlObjectiveDataOutput( val targetNumberOfControlsAtSea: Int, val targetNumberOfControlsAtPort: Int, val controlPriorityLevel: Double, + val infringementRiskLevel: Double, ) { companion object { fun fromControlObjective(controlObjective: ControlObjective): ControlObjectiveDataOutput { @@ -25,6 +26,7 @@ data class ControlObjectiveDataOutput( targetNumberOfControlsAtSea = controlObjective.targetNumberOfControlsAtSea, targetNumberOfControlsAtPort = controlObjective.targetNumberOfControlsAtPort, controlPriorityLevel = controlObjective.controlPriorityLevel, + infringementRiskLevel = controlObjective.infringementRiskLevel, ) } } diff --git a/backend/src/main/kotlin/fr/gouv/cnsp/monitorfish/infrastructure/database/entities/ControlObjectivesEntity.kt b/backend/src/main/kotlin/fr/gouv/cnsp/monitorfish/infrastructure/database/entities/ControlObjectivesEntity.kt index 6e37c8145d..a0c1290a8a 100644 --- a/backend/src/main/kotlin/fr/gouv/cnsp/monitorfish/infrastructure/database/entities/ControlObjectivesEntity.kt +++ b/backend/src/main/kotlin/fr/gouv/cnsp/monitorfish/infrastructure/database/entities/ControlObjectivesEntity.kt @@ -24,7 +24,9 @@ data class ControlObjectivesEntity( val targetNumberOfControlsAtPort: Int, @Column(name = "control_priority_level") val controlPriorityLevel: Double, -) { + @Column(name = "infringement_risk_level") + val infringementRiskLevel: Double, + ) { fun toControlObjective() = ControlObjective( id = id, @@ -34,17 +36,6 @@ data class ControlObjectivesEntity( targetNumberOfControlsAtSea = targetNumberOfControlsAtSea, targetNumberOfControlsAtPort = targetNumberOfControlsAtPort, controlPriorityLevel = controlPriorityLevel, + infringementRiskLevel = infringementRiskLevel, ) - - companion object { - fun fromControlObjective(controlObjective: ControlObjective): ControlObjectivesEntity = - ControlObjectivesEntity( - facade = Seafront.from(controlObjective.facade).toString(), - segment = controlObjective.segment, - year = controlObjective.year, - targetNumberOfControlsAtSea = controlObjective.targetNumberOfControlsAtSea, - targetNumberOfControlsAtPort = controlObjective.targetNumberOfControlsAtPort, - controlPriorityLevel = controlObjective.controlPriorityLevel, - ) - } } diff --git a/backend/src/main/kotlin/fr/gouv/cnsp/monitorfish/infrastructure/database/repositories/JpaControlObjectivesRepository.kt b/backend/src/main/kotlin/fr/gouv/cnsp/monitorfish/infrastructure/database/repositories/JpaControlObjectivesRepository.kt index 7b040f33b6..cebfc96420 100644 --- a/backend/src/main/kotlin/fr/gouv/cnsp/monitorfish/infrastructure/database/repositories/JpaControlObjectivesRepository.kt +++ b/backend/src/main/kotlin/fr/gouv/cnsp/monitorfish/infrastructure/database/repositories/JpaControlObjectivesRepository.kt @@ -25,12 +25,17 @@ class JpaControlObjectivesRepository( targetNumberOfControlsAtSea: Int?, targetNumberOfControlsAtPort: Int?, controlPriorityLevel: Double?, + infringementRiskLevel: Double?, ) { try { controlPriorityLevel?.let { dbControlObjectivesRepository.updateControlPriorityLevel(id, it) } + infringementRiskLevel?.let { + dbControlObjectivesRepository.updateInfringementRiskLevel(id, it) + } + targetNumberOfControlsAtSea?.let { dbControlObjectivesRepository.updateTargetNumberOfControlsAtSea(id, it) } @@ -61,6 +66,7 @@ class JpaControlObjectivesRepository( controlObjective.targetNumberOfControlsAtSea, controlObjective.targetNumberOfControlsAtPort, controlObjective.controlPriorityLevel, + controlObjective.infringementRiskLevel, ) return dbControlObjectivesRepository.findByFacadeAndSegmentAndYearEquals( diff --git a/backend/src/main/kotlin/fr/gouv/cnsp/monitorfish/infrastructure/database/repositories/interfaces/DBControlObjectivesRepository.kt b/backend/src/main/kotlin/fr/gouv/cnsp/monitorfish/infrastructure/database/repositories/interfaces/DBControlObjectivesRepository.kt index 12d4faee91..5b0b31c3fb 100644 --- a/backend/src/main/kotlin/fr/gouv/cnsp/monitorfish/infrastructure/database/repositories/interfaces/DBControlObjectivesRepository.kt +++ b/backend/src/main/kotlin/fr/gouv/cnsp/monitorfish/infrastructure/database/repositories/interfaces/DBControlObjectivesRepository.kt @@ -36,6 +36,16 @@ interface DBControlObjectivesRepository : CrudRepository @@ -45,10 +55,25 @@ interface DBControlObjectivesRepository : CrudRepository +