Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Moyens et unités] Finalisation de la fiche unité #867

Merged
merged 12 commits into from
Oct 12, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 0 additions & 4 deletions .husky/pre-commit

This file was deleted.

3 changes: 3 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -221,4 +221,7 @@ logs-db:

# ALIASES

.PHONY: dev lint-back

dev: dev-run-back-with-infra
lint-back: dev-lint-backend
2 changes: 1 addition & 1 deletion backend/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -407,7 +407,7 @@
<dependency>
<groupId>com.pinterest</groupId>
<artifactId>ktlint</artifactId>
<version>0.48.2</version>
<version>0.50.0</version>
</dependency>
<!-- additional 3rd party ruleset(s) can be specified here -->
</dependencies>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,14 @@ data class EnvActionControlProperties(
val vehicleType: VehicleTypeEnum? = null,
val infractions: List<InfractionEntity>? = listOf(),
) {
fun toEnvActionControlEntity(id: UUID, actionStartDateTimeUtc: ZonedDateTime?, actionEndDateTimeUtc: ZonedDateTime?, facade: String?, department: String?, geom: Geometry?) = EnvActionControlEntity(
fun toEnvActionControlEntity(
id: UUID,
actionStartDateTimeUtc: ZonedDateTime?,
actionEndDateTimeUtc: ZonedDateTime?,
facade: String?,
department: String?,
geom: Geometry?,
) = EnvActionControlEntity(
id = id,
actionStartDateTimeUtc = actionStartDateTimeUtc,
actionEndDateTimeUtc = actionEndDateTimeUtc,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,11 @@ import java.util.*
data class EnvActionNoteProperties(
val observations: String? = null,
) {
fun toEnvActionNoteEntity(id: UUID, actionStartDateTimeUtc: ZonedDateTime?, actionEndDateTimeUtc: ZonedDateTime?) = EnvActionNoteEntity(
fun toEnvActionNoteEntity(
id: UUID,
actionStartDateTimeUtc: ZonedDateTime?,
actionEndDateTimeUtc: ZonedDateTime?,
) = EnvActionNoteEntity(
id = id,
actionStartDateTimeUtc = actionStartDateTimeUtc,
actionEndDateTimeUtc = actionEndDateTimeUtc,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,14 @@ data class EnvActionSurveillanceProperties(
val observations: String? = null,
val coverMissionZone: Boolean? = null,
) {
fun toEnvActionSurveillanceEntity(id: UUID, actionStartDateTimeUtc: ZonedDateTime?, actionEndDateTimeUtc: ZonedDateTime?, facade: String?, department: String?, geom: Geometry?) = EnvActionSurveillanceEntity(
fun toEnvActionSurveillanceEntity(
id: UUID,
actionStartDateTimeUtc: ZonedDateTime?,
actionEndDateTimeUtc: ZonedDateTime?,
facade: String?,
department: String?,
geom: Geometry?,
) = EnvActionSurveillanceEntity(
id = id,
actionStartDateTimeUtc = actionStartDateTimeUtc,
actionEndDateTimeUtc = actionEndDateTimeUtc,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
@file:Suppress("ktlint:standard:enum-entry-name-case")

package fr.gouv.cacem.monitorenv.domain.entities.mission

/* ktlint-disable enum-entry-name-case */
enum class VesselSizeEnum {
LESS_THAN_12m,
FROM_12_TO_24m,
FROM_24_TO_46m,
MORE_THAN_46m,
}
/* ktlint-enable enum-entry-name-case */
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,32 @@ object EnvActionMapper {
return try {
if (!value.isNullOrEmpty() && value != jsonbNullString) {
when (actionType) {
ActionTypeEnum.SURVEILLANCE -> mapper.readValue(value, EnvActionSurveillanceProperties::class.java).toEnvActionSurveillanceEntity(id, actionStartDateTimeUtc, actionEndDateTimeUtc, facade, department, geom)
ActionTypeEnum.CONTROL -> mapper.readValue(value, EnvActionControlProperties::class.java).toEnvActionControlEntity(id, actionStartDateTimeUtc, actionEndDateTimeUtc, facade, department, geom)
ActionTypeEnum.NOTE -> mapper.readValue(value, EnvActionNoteProperties::class.java).toEnvActionNoteEntity(id, actionStartDateTimeUtc, actionEndDateTimeUtc)
ActionTypeEnum.SURVEILLANCE -> mapper.readValue(
value,
EnvActionSurveillanceProperties::class.java,
).toEnvActionSurveillanceEntity(
id,
actionStartDateTimeUtc,
actionEndDateTimeUtc,
facade,
department,
geom,
)
ActionTypeEnum.CONTROL -> mapper.readValue(
value,
EnvActionControlProperties::class.java,
).toEnvActionControlEntity(
id,
actionStartDateTimeUtc,
actionEndDateTimeUtc,
facade,
department,
geom,
)
ActionTypeEnum.NOTE -> mapper.readValue(
value,
EnvActionNoteProperties::class.java,
).toEnvActionNoteEntity(id, actionStartDateTimeUtc, actionEndDateTimeUtc)
}
} else {
throw EntityConversionException("No action value found.")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,19 @@ package fr.gouv.cacem.monitorenv.domain.repositories
import fr.gouv.cacem.monitorenv.domain.entities.reporting.ReportingEntity
import fr.gouv.cacem.monitorenv.domain.entities.reporting.ReportingTypeEnum
import fr.gouv.cacem.monitorenv.domain.entities.reporting.SourceTypeEnum
import java.time.Instant
import org.springframework.data.domain.Pageable
import java.time.Instant

interface IReportingRepository {
fun findById(reportingId: Int): ReportingEntity
fun findAll(
pageable: Pageable,
reportingType: List<ReportingTypeEnum>?,
seaFronts: List<String>?,
sourcesType: List<SourceTypeEnum>?,
startedAfter: Instant,
startedBefore: Instant?,
status: List<String>?,
pageable: Pageable,
reportingType: List<ReportingTypeEnum>?,
seaFronts: List<String>?,
sourcesType: List<SourceTypeEnum>?,
startedAfter: Instant,
startedBefore: Instant?,
status: List<String>?,
): List<ReportingEntity>
fun save(reporting: ReportingEntity): ReportingEntity
fun delete(reportingId: Int)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
package fr.gouv.cacem.monitorenv.domain.use_cases.controlThemes // ktlint-disable package-name
@file:Suppress("ktlint:standard:package-name")

package fr.gouv.cacem.monitorenv.domain.use_cases.controlThemes

import fr.gouv.cacem.monitorenv.config.UseCase
import fr.gouv.cacem.monitorenv.domain.entities.controlTheme.ControlThemeEntity
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
package fr.gouv.cacem.monitorenv.domain.use_cases.controlThemes // ktlint-disable package-name
@file:Suppress("ktlint:standard:package-name")

package fr.gouv.cacem.monitorenv.domain.use_cases.controlThemes

import fr.gouv.cacem.monitorenv.config.UseCase
import fr.gouv.cacem.monitorenv.domain.entities.controlTheme.ControlThemeEntity
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package fr.gouv.cacem.monitorenv.domain.use_cases.controlUnit

import fr.gouv.cacem.monitorenv.config.UseCase
import fr.gouv.cacem.monitorenv.domain.repositories.IControlUnitContactRepository

@UseCase
class DeleteControlUnitContact(private val controlUnitContactRepository: IControlUnitContactRepository) {
fun execute(controlUnitContactId: Int) {
return controlUnitContactRepository.deleteById(controlUnitContactId)
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package fr.gouv.cacem.monitorenv.domain.use_cases.controlUnit

import fr.gouv.cacem.monitorenv.config.UseCase
import fr.gouv.cacem.monitorenv.domain.repositories.IControlUnitResourceRepository

@UseCase
class DeleteControlUnitResource(private val controlUnitResourceRepository: IControlUnitResourceRepository) {
fun execute(controlUnitResourceId: Int) {
return controlUnitResourceRepository.deleteById(controlUnitResourceId)
}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
package fr.gouv.cacem.monitorenv.domain.use_cases.healthcheck // ktlint-disable package-name
@file:Suppress("ktlint:standard:package-name")

package fr.gouv.cacem.monitorenv.domain.use_cases.healthcheck

import fr.gouv.cacem.monitorenv.config.UseCase
import fr.gouv.cacem.monitorenv.domain.entities.health.Health
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
package fr.gouv.cacem.monitorenv.domain.use_cases.missions // ktlint-disable package-name
@file:Suppress("ktlint:standard:package-name")

package fr.gouv.cacem.monitorenv.domain.use_cases.missions

import fr.gouv.cacem.monitorenv.config.UseCase
import fr.gouv.cacem.monitorenv.domain.entities.mission.*
Expand All @@ -14,7 +16,7 @@ class CreateOrUpdateMission(
private val missionRepository: IMissionRepository,
private val facadeRepository: IFacadeAreasRepository,

) {
) {
@Throws(IllegalArgumentException::class)
fun execute(mission: MissionEntity?): MissionEntity {
require(mission != null) {
Expand All @@ -24,10 +26,14 @@ class CreateOrUpdateMission(
when (it.actionType) {
ActionTypeEnum.CONTROL -> {
(it as EnvActionControlEntity).copy(
facade = (it.geom
?: mission.geom)?.let { geom -> facadeRepository.findFacadeFromGeometry(geom) },
department = (it.geom
?: mission.geom)?.let { geom -> departmentRepository.findDepartmentFromGeometry(geom) },
facade = (
it.geom
?: mission.geom
)?.let { geom -> facadeRepository.findFacadeFromGeometry(geom) },
department = (
it.geom
?: mission.geom
)?.let { geom -> departmentRepository.findDepartmentFromGeometry(geom) },
)
}

Expand All @@ -39,9 +45,15 @@ class CreateOrUpdateMission(
Ideally the fallbacks should not be needed, but if coverMissionZone is true and the mission geom
is null, or if coverMissionZone is false and the action geom is null, then rather that nothing,
better use the geometry that is available, if any.
*/
val geometry = if (surveillance.coverMissionZone == true) (mission.geom
?: surveillance.geom) else (surveillance.geom ?: mission.geom)
*/
val geometry = if (surveillance.coverMissionZone == true) {
(
mission.geom
?: surveillance.geom
)
} else {
(surveillance.geom ?: mission.geom)
}
surveillance.copy(
facade = geometry?.let { geom -> facadeRepository.findFacadeFromGeometry(geom) },
department = geometry?.let { geom -> departmentRepository.findDepartmentFromGeometry(geom) },
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
package fr.gouv.cacem.monitorenv.domain.use_cases.missions // ktlint-disable package-name
@file:Suppress("ktlint:standard:package-name")

package fr.gouv.cacem.monitorenv.domain.use_cases.missions

import fr.gouv.cacem.monitorenv.config.UseCase
import fr.gouv.cacem.monitorenv.domain.repositories.IMissionRepository
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
package fr.gouv.cacem.monitorenv.domain.use_cases.missions // ktlint-disable package-name
@file:Suppress("ktlint:standard:package-name")

package fr.gouv.cacem.monitorenv.domain.use_cases.missions

import fr.gouv.cacem.monitorenv.config.UseCase
import fr.gouv.cacem.monitorenv.domain.entities.mission.MissionEntity
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
package fr.gouv.cacem.monitorenv.domain.use_cases.missions // ktlint-disable package-name
@file:Suppress("ktlint:standard:package-name")

package fr.gouv.cacem.monitorenv.domain.use_cases.missions

import fr.gouv.cacem.monitorenv.config.UseCase
import fr.gouv.cacem.monitorenv.domain.entities.mission.MissionEntity
Expand Down Expand Up @@ -30,7 +32,14 @@ class GetMissions(private val missionRepository: IMissionRepository) {
missionTypes = missionTypes,
missionStatuses = missionStatuses,
seaFronts = seaFronts,
pageable = if (pageNumber != null && pageSize != null) PageRequest.of(pageNumber, pageSize) else Pageable.unpaged(),
pageable = if (pageNumber != null && pageSize != null) {
PageRequest.of(
pageNumber,
pageSize,
)
} else {
Pageable.unpaged()
},
)

logger.info("Found ${missions.size} mission(s)")
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
package fr.gouv.cacem.monitorenv.domain.use_cases.missions // ktlint-disable package-name
@file:Suppress("ktlint:standard:package-name")

package fr.gouv.cacem.monitorenv.domain.use_cases.missions

import fr.gouv.cacem.monitorenv.config.UseCase
import fr.gouv.cacem.monitorenv.domain.entities.mission.MissionEntity
Expand Down Expand Up @@ -30,10 +32,14 @@ class GetMonitorEnvMissions(private val missionRepository: IMissionRepository) {
missionStatuses = missionStatuses,
missionSources = missionSources ?: listOf(MissionSourceEnum.MONITORENV, MissionSourceEnum.MONITORFISH),
seaFronts = seaFronts,
pageable = if (pageNumber != null && pageSize != null) PageRequest.of(
pageNumber,
pageSize
) else Pageable.unpaged(),
pageable = if (pageNumber != null && pageSize != null) {
PageRequest.of(
pageNumber,
pageSize,
)
} else {
Pageable.unpaged()
},
)

logger.info("Found ${missions.size} mission(s)")
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
package fr.gouv.cacem.monitorenv.domain.use_cases.natinfs // ktlint-disable package-name
@file:Suppress("ktlint:standard:package-name")

package fr.gouv.cacem.monitorenv.domain.use_cases.natinfs

import fr.gouv.cacem.monitorenv.config.UseCase
import fr.gouv.cacem.monitorenv.domain.entities.natinf.NatinfEntity
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
package fr.gouv.cacem.monitorenv.domain.use_cases.regulatoryAreas // ktlint-disable package-name
@file:Suppress("ktlint:standard:package-name")

package fr.gouv.cacem.monitorenv.domain.use_cases.regulatoryAreas

import fr.gouv.cacem.monitorenv.config.UseCase
import fr.gouv.cacem.monitorenv.domain.entities.regulatoryArea.RegulatoryAreaEntity
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
package fr.gouv.cacem.monitorenv.domain.use_cases.regulatoryAreas // ktlint-disable package-name
@file:Suppress("ktlint:standard:package-name")

package fr.gouv.cacem.monitorenv.domain.use_cases.regulatoryAreas

import fr.gouv.cacem.monitorenv.config.UseCase
import fr.gouv.cacem.monitorenv.domain.entities.regulatoryArea.RegulatoryAreaEntity
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import org.springframework.scheduling.annotation.Scheduled

@UseCase
class ArchiveOutdatedReportings(
private val reportingRepository: IReportingRepository,
private val reportingRepository: IReportingRepository,
) {
private val logger: Logger = LoggerFactory.getLogger(ArchiveOutdatedReportings::class.java)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,13 @@ class ArchiveReportings(
private val reportingRepository: IReportingRepository,
) {

private val logger: Logger = LoggerFactory.getLogger(ArchiveReportings::class.java)
private val logger: Logger = LoggerFactory.getLogger(ArchiveReportings::class.java)

@Throws(IllegalArgumentException::class)
fun execute(ids: List<Int>) {
logger.info("Archive reportings: $ids")
@Throws(IllegalArgumentException::class)
fun execute(ids: List<Int>) {
logger.info("Archive reportings: $ids")

require(ids.isNotEmpty()) { "No reportings to archive" }
return reportingRepository.archiveReportings(ids)
}
require(ids.isNotEmpty()) { "No reportings to archive" }
return reportingRepository.archiveReportings(ids)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,13 @@ class DeleteReportings(
private val reportingRepository: IReportingRepository,
) {

private val logger: Logger = LoggerFactory.getLogger(DeleteReportings::class.java)
private val logger: Logger = LoggerFactory.getLogger(DeleteReportings::class.java)

@Throws(IllegalArgumentException::class)
fun execute(ids: List<Int>) {
logger.info("Delete reportings: $ids")
@Throws(IllegalArgumentException::class)
fun execute(ids: List<Int>) {
logger.info("Delete reportings: $ids")

require(ids.isNotEmpty()) { "No reportings to delete" }
return reportingRepository.deleteReportings(ids)
}
require(ids.isNotEmpty()) { "No reportings to delete" }
return reportingRepository.deleteReportings(ids)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,7 @@ data class CreateOrUpdateControlUnitDataInput(
val name: String,
val termsNote: String? = null,
) {
fun toControlUnit(
): ControlUnitEntity {
fun toControlUnit(): ControlUnitEntity {
return ControlUnitEntity(
id = this.id,
areaNote = this.areaNote,
Expand Down
Loading
Loading