Skip to content

Commit

Permalink
Permet de choisir le réseau pour une simulation de la couverture hydr…
Browse files Browse the repository at this point in the history
…aulique...

... Soit le réseau commun, soit celui importé soit les 2.

Issue: #202719

Change-Id: I417cc467ea7ea2765905cb5e98d0f252db864118
  • Loading branch information
Emilie Genton committed Jan 16, 2024
1 parent 2b0737a commit 23dca02
Show file tree
Hide file tree
Showing 8 changed files with 485 additions and 40 deletions.
35 changes: 28 additions & 7 deletions client-ng/src/components/planification_deci/OlMapEtude.vue
Original file line number Diff line number Diff line change
Expand Up @@ -17,15 +17,15 @@

<b-modal id="modaleChoixReseau"
title="Choix du reseau"
ok-title="Commun"
cancel-title="Importé"
ok-variant="primary"
cancel-variant="primary"
@ok="calculCouvertureHydraulique(false)"
@cancel="calculCouvertureHydraulique(true)"
hide-footer="true"
centered
no-close-on-backdrop>
<p class="my-4 modalContent">Souhaitez-vous calculer la couverture hydraulique de cet hydrant sur le réseau routier commun ou sur le réseau routier précédemment importé ?</p>
<div class="buttonChoixReseau row">
<b-button class="btn btn-outline-primary" variant="primary" @click="calculCouvertureHydraulique(false)">Commun</b-button>
<b-button class="btn btn-outline-primary" variant="primary" @click="calculCouvertureHydraulique(true)">Importé</b-button>
<b-button class="btn btn-outline-primary" variant="primary" @click="calculCouvertureHydraulique(true, true)">Commun et importé</b-button>
</div>
</b-modal>
</template>
</OlMap>
Expand Down Expand Up @@ -555,7 +555,7 @@ export default {
})
},
calculCouvertureHydraulique(reseauImporte) {
calculCouvertureHydraulique(reseauImporte, reseauImporteWithCourant = false) {
this.spinnerMap = true;
this.disableToolbar = true;
Expand All @@ -580,6 +580,7 @@ export default {
formData.append("hydrantsProjet", JSON.stringify({projets}));
formData.append("etude", this.idEtude);
formData.append("reseauImporte", reseauImporte);
formData.append("reseauImporteWithCourant", reseauImporteWithCourant);
axios.post('/remocra/couverturehydraulique/calcul', formData, {
headers: {
Expand All @@ -591,6 +592,8 @@ export default {
this.$nextTick(() => {
this.$root.$options.bus.$emit(eventTypes.OLMAP_COUCHES_REFRESHLAYER);
});
this.$bvModal.hide("modaleChoixReseau");
}).catch(() => {
this.disableToolbar = false;
this.spinnerMap = false;
Expand Down Expand Up @@ -682,4 +685,22 @@ export default {
text-indent: 5%;
font-family: Segoe UI,Roboto,Helvetica,Arial;
}
.buttonChoixReseau {
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
}
.buttonChoixReseau .btn {
background-color: transparent;
margin-left: 10px;
}
.buttonChoixReseau .btn:hover {
background-color: #007bff;
color: white;
margin-left: 10px;
}
</style>
12 changes: 0 additions & 12 deletions remocra/src/main/java/fr/sdis83/remocra/GlobalConstants.java
Original file line number Diff line number Diff line change
Expand Up @@ -19,18 +19,6 @@ public class GlobalConstants {
*/
public static final String CATEGORIE_CRISE = "GESTION_CRISE";

//////// Couverture hydraulique
/** Clé du param conf correspondant à la profondeur de la couverture hydraulique */
public static final String PROFONDEUR_COUVERTURE = "PROFONDEUR_COUVERTURE";

/**
* Clé du param conf correspondant à la distance maximal de parcours de la couverture hydraulique
*/
public static final String DECI_DISTANCE_MAX_PARCOURS = "DECI_DISTANCE_MAX_PARCOURS";

/** Clé du param conf correspondant aux distances à parcourir de la couverture hydraulique */
public static final String DECI_ISODISTANCES = "DECI_ISODISTANCES";

/** Champ appartenance dans la table contact */
public static final String GESTIONNAIRE = "GESTIONNAIRE";

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -383,6 +383,10 @@ public Integer getDeciDistanceMaxParcours() {
return (Integer) this.getValeur(ParamConf.ParamConfParam.DECI_DISTANCE_MAX_PARCOURS.getCle());
}

public Integer getProfondeurCouverture() {
return (Integer) this.getValeur(ParamConf.ParamConfParam.PROFONDEUR_COUVERTURE.getCle());
}

public String getDeciIsodistances() {
return (String) this.getValeur(ParamConf.ParamConfParam.DECI_ISODISTANCES.getCle());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,7 @@ public static enum ParamConfParam {
// DECI
DECI_DISTANCE_MAX_PARCOURS("DECI_DISTANCE_MAX_PARCOURS", Integer.class),
DECI_ISODISTANCES("DECI_ISODISTANCES", String.class),
PROFONDEUR_COUVERTURE("PROFONDEUR_COUVERTURE", Integer.class),
DASHBOARD_BASE_URL("DASHBOARD_BASE_URL", String.class),
PROCESS_OFFLINE_USER("PROCESS_OFFLINE_USER", String.class),
DOSSIER_ROOT("1_DOSSIER_ROOT", String.class),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,8 @@ public void executeInsererJoinctionPei(
int distanceMaxAuReseau,
Long reseauImporte,
List<Integer> idsHydrant,
List<Integer> idsHydrantProjet) {
List<Integer> idsHydrantProjet,
boolean useReseauImporteWithCourant) {

context
.select(
Expand All @@ -53,6 +54,8 @@ public void executeInsererJoinctionPei(
+ distanceMaxAuReseau
+ ", "
+ reseauImporte
+ ", "
+ useReseauImporteWithCourant
+ ")"))
.from(PEI)
.where(
Expand All @@ -72,7 +75,8 @@ public void executeParcoursCouverture(
List<Integer> distances,
List<Integer> idsHydrant,
List<Integer> idsHydrantProjet,
int profondeurCouverture) {
int profondeurCouverture,
boolean useReseauImporteWithCourant) {
context
.select(
DSL.field(
Expand All @@ -86,6 +90,8 @@ public void executeParcoursCouverture(
+ distances
+ ", "
+ profondeurCouverture
+ ", "
+ useReseauImporteWithCourant
+ ")"))
.from(PEI)
.where(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,8 @@

import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import fr.sdis83.remocra.GlobalConstants;
import fr.sdis83.remocra.repository.CouvertureHydrauliqueRepository;
import fr.sdis83.remocra.repository.ParamConfRepository;
import fr.sdis83.remocra.usecase.parametre.ParametreDataProvider;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
Expand All @@ -20,15 +19,19 @@ public class CouvertureHydrauliqueUseCase {

@Autowired CouvertureHydrauliqueRepository couvertureHydrauliqueRepository;

@Autowired ParamConfRepository paramConfRepository;
@Autowired protected ParametreDataProvider parametreDataProvider;

private static final Logger logger = LoggerFactory.getLogger(CouvertureHydrauliqueUseCase.class);
private ObjectMapper objectMapper = new ObjectMapper();
private final ObjectMapper objectMapper = new ObjectMapper();

public CouvertureHydrauliqueUseCase() {}

public void calcul(
String hydrantsExistants, String hydrantsProjet, Long idEtude, Boolean useReseauImporte) {
String hydrantsExistants,
String hydrantsProjet,
Long idEtude,
Boolean useReseauImporte,
Boolean useReseauImporteWithCourant) {
List<Integer> listPei = new ArrayList<>();
List<Integer> listPeiProjet = new ArrayList<>();
try {
Expand Down Expand Up @@ -57,28 +60,26 @@ public void calcul(

couvertureHydrauliqueRepository.deleteCouverture(idEtude);

int profondeurCouverture =
Integer.parseInt(
paramConfRepository.getByCle(GlobalConstants.PROFONDEUR_COUVERTURE).getValeur());
int distanceMaxParcours =
Integer.parseInt(
paramConfRepository.getByCle(GlobalConstants.DECI_DISTANCE_MAX_PARCOURS).getValeur());
int profondeurCouverture = parametreDataProvider.get().getProfondeurCouverture();
int distanceMaxParcours = parametreDataProvider.get().getDeciDistanceMaxParcours();

List<Integer> distances = new ArrayList<>();
for (String s :
paramConfRepository
.getByCle(GlobalConstants.DECI_ISODISTANCES)
.getValeur()
.replaceAll(" ", "")
.split(",")) {
parametreDataProvider.get().getDeciIsodistances().replaceAll(" ", "").split(",")) {
distances.add(Integer.parseInt(s));
}

couvertureHydrauliqueRepository.executeInsererJoinctionPei(
distanceMaxParcours, reseauImporte, listPei, listPeiProjet);
distanceMaxParcours, reseauImporte, listPei, listPeiProjet, useReseauImporteWithCourant);

couvertureHydrauliqueRepository.executeParcoursCouverture(
reseauImporte, idEtude, distances, listPei, listPeiProjet, profondeurCouverture);
reseauImporte,
idEtude,
distances,
listPei,
listPeiProjet,
profondeurCouverture,
useReseauImporteWithCourant);

couvertureHydrauliqueRepository.executeCouvertureHydrauliqueZonage(
idEtude, distances, listPei, listPeiProjet, profondeurCouverture);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,15 @@ public ResponseEntity<String> calcul(MultipartHttpServletRequest request) {
String hydrantsProjet = request.getParameter("hydrantsProjet");
Long etude = Long.valueOf(request.getParameter("etude"));
Boolean useReseauImporte = Boolean.valueOf(request.getParameter("reseauImporte"));
Boolean useReseauImporteWithReseauCourant =
Boolean.valueOf(request.getParameter("reseauImporteWithCourant"));

couvertureHydrauliqueUseCase.calcul(
hydrantsExistants, hydrantsProjet, etude, useReseauImporte);
hydrantsExistants,
hydrantsProjet,
etude,
useReseauImporte,
useReseauImporteWithReseauCourant);
return new ResponseEntity<>("La couverture hydraulique a bien été tracée", HttpStatus.OK);
} catch (Exception e) {
e.printStackTrace();
Expand Down
Loading

0 comments on commit 23dca02

Please sign in to comment.