Skip to content
Commits on Source (2)
...@@ -42,6 +42,9 @@ public class ClotureMission { ...@@ -42,6 +42,9 @@ public class ClotureMission {
public String clotureMission(Model model) { public String clotureMission(Model model) {
model.addAttribute("resultatMission", missionService.resultatMission()); model.addAttribute("resultatMission", missionService.resultatMission());
model.addAttribute("missions", missionService.findByStatut(StatutMission.ENCOUR)); model.addAttribute("missions", missionService.findByStatut(StatutMission.ENCOUR));
if (missionService.findByStatut(StatutMission.ENCOUR).isEmpty()) {
model.addAttribute("errorMissionNull", "Il n'y pas mission en cours");
}
return "clotureMission"; return "clotureMission";
} }
...@@ -50,7 +53,6 @@ public class ClotureMission { ...@@ -50,7 +53,6 @@ public class ClotureMission {
@RequestParam(value = "heures") String heures, @RequestParam(value = "heures") String heures,
@RequestParam(value = "resultats") String resultats, @RequestParam(value = "resultats") String resultats,
@RequestParam(value = "missions") String missions) { @RequestParam(value = "missions") String missions) {
model.addAttribute("missions", missionService.findByStatut(StatutMission.ENCOUR));
// recuperate Mission from db by Id // recuperate Mission from db by Id
Integer idMission = (Integer.valueOf(missions)); Integer idMission = (Integer.valueOf(missions));
...@@ -64,6 +66,8 @@ public class ClotureMission { ...@@ -64,6 +66,8 @@ public class ClotureMission {
// persister missionRecupere dans la db // persister missionRecupere dans la db
missionService.save(missionRecupere); missionService.save(missionRecupere);
model.addAttribute("missions", missionService.findByStatut(StatutMission.ENCOUR));
model.addAttribute("resultatMission", missionService.resultatMission());
// boucle tous les pilotes dans la Mission // boucle tous les pilotes dans la Mission
Set<Pilote> pilotes = new HashSet<>(); // Create a set to store pilotes in the Mission Set<Pilote> pilotes = new HashSet<>(); // Create a set to store pilotes in the Mission
...@@ -114,6 +118,7 @@ public class ClotureMission { ...@@ -114,6 +118,7 @@ public class ClotureMission {
pilote.setType(newType); pilote.setType(newType);
System.out.println("newType : " + newType); System.out.println("newType : " + newType);
// update status to disponible?
// then update to db // then update to db
piloteService.save(pilote); piloteService.save(pilote);
// ---------- FIN CALCUL NB HEURE ET PUIS UPDATE GRADE OU TYPE // ---------- FIN CALCUL NB HEURE ET PUIS UPDATE GRADE OU TYPE
......
...@@ -24,7 +24,8 @@ public class ListeMissionController { ...@@ -24,7 +24,8 @@ public class ListeMissionController {
@GetMapping("/listeMission") @GetMapping("/listeMission")
public String listeMission(Model model) { public String listeMission(Model model) {
model.addAttribute("missions", missionService.findByStatut(StatutMission.TERMINE)); // model.addAttribute("missions", missionService.findByStatut(StatutMission.TERMINE));
model.addAttribute("missions", missionService.findAll());
return "listeMission"; return "listeMission";
} }
......
...@@ -52,21 +52,16 @@ public class NouvelleMissionController { ...@@ -52,21 +52,16 @@ public class NouvelleMissionController {
this.affectationService = affectationService; this.affectationService = affectationService;
} }
@RequestMapping("/nouvelleMission") @RequestMapping("/nouvelleMission")
public String getMission(Model model) { public String getMission(Model model) {
model.addAttribute("typeMissions", missionService.listMission()); model.addAttribute("typeMissions", missionService.listMission());
model.addAttribute("mission", new Mission()); model.addAttribute("mission", new Mission());
model.addAttribute("affectationFormVisible", false); // Initially hidden
// Update the table with Pilot and Plane info // Update the table with Pilot and Plane info
List<Pilote> listPilotes = piloteService.findByEtat(EtatPilote.DISPONIBLE); // List<Pilote> listPilotes = piloteService.findByEtat(EtatPilote.DISPONIBLE);
List<Chasseur> listChasseurs = chasseurService.findByEtat(EtatChasseur.OPERATIONNEL); // List<Chasseur> listChasseurs = chasseurService.findByEtat(EtatChasseur.OPERATIONNEL);
model.addAttribute("pilotesDispo", listPilotes);
model.addAttribute("chasseursDispo", listChasseurs); // model.addAttribute("pilotesDispo", listPilotes);
model.addAttribute("pilotesDispo", listPilotes); // model.addAttribute("chasseursDispo", listChasseurs);
model.addAttribute("chasseursDispo", listChasseurs);
listPiloteTemp.clear();
listChasseurTemp.clear();
return "nouvelleMission"; return "nouvelleMission";
} }
...@@ -75,20 +70,28 @@ public class NouvelleMissionController { ...@@ -75,20 +70,28 @@ public class NouvelleMissionController {
public String nouvelleMissionSubmit(Model model, public String nouvelleMissionSubmit(Model model,
@RequestParam(value = "titre") String titre, @RequestParam(value = "titre") String titre,
@RequestParam(value = "typeMissions") String typeMissions) { @RequestParam(value = "typeMissions") String typeMissions) {
// for display
// model.addAttribute("typeMissions", missionService.listMission());
List<Pilote> listPilotes = piloteService.findByEtat(EtatPilote.DISPONIBLE);
List<Chasseur> listChasseurs = chasseurService.findByEtat(EtatChasseur.OPERATIONNEL);
if (listPilotes.isEmpty() || listChasseurs.isEmpty()) {
model.addAttribute("errorMissionPasDeRessources", "Impossible de créer une mission, pilote ou chasseur non disponible");
return "nouvelleMission";
}
model.addAttribute("pilotesDispo", listPilotes);
model.addAttribute("chasseursDispo", listChasseurs);
// Save the mission to the database // Save the mission to the database
Mission mission = new Mission(); Mission mission = new Mission();
mission.setTitre(titre); mission.setTitre(titre);
mission.setType(TypeMission.valueOf(typeMissions)); mission.setType(TypeMission.valueOf(typeMissions));
mission.setStatut(StatutMission.ENCOUR); mission.setStatut(StatutMission.ENCOUR);
System.out.println("CHECK : " + mission);
model.addAttribute("typeMissions", missionService.listMission());
List<Pilote> listPilotes = piloteService.findByEtat(EtatPilote.DISPONIBLE);
List<Chasseur> listChasseurs = chasseurService.findByEtat(EtatChasseur.OPERATIONNEL);
model.addAttribute("pilotesDispo", listPilotes);
model.addAttribute("chasseursDispo", listChasseurs);
missionService.save(mission); missionService.save(mission);
idMission = mission.getIdMission(); idMission = mission.getIdMission();
//System.out.println("CHECK2 : " + idMission); listPiloteTemp.clear();
listChasseurTemp.clear();
// ATTENTION, BUG WHEN WE REFRESH THE PAGE, IT'LL KEEP ADDING THE AFFECTATION (LIKE PUSHING BUTTON AFFECTATION) // ATTENTION, BUG WHEN WE REFRESH THE PAGE, IT'LL KEEP ADDING THE AFFECTATION (LIKE PUSHING BUTTON AFFECTATION)
return "nouvelleMission"; return "nouvelleMission";
} }
...@@ -101,29 +104,16 @@ public class NouvelleMissionController { ...@@ -101,29 +104,16 @@ public class NouvelleMissionController {
@RequestParam(value = "piloteSelect") String piloteSelect, @RequestParam(value = "piloteSelect") String piloteSelect,
@RequestParam(value = "chasseurSelect") String chasseurSelect) { @RequestParam(value = "chasseurSelect") String chasseurSelect) {
// Update the table with Pilot and Plane info
model.addAttribute("typeMissions", missionService.listMission());
List<Pilote> listPilotes = piloteService.findByEtat(EtatPilote.DISPONIBLE);
List<Chasseur> listChasseurs = chasseurService.findByEtat(EtatChasseur.OPERATIONNEL);
model.addAttribute("pilotesDispo", listPilotes);
model.addAttribute("chasseursDispo", listChasseurs);
System.out.println("CHECK " + piloteSelect);
// recuperate Pilote from db // recuperate Pilote from db
Integer idPilote = (Integer.valueOf(piloteSelect)); Integer idPilote = (Integer.valueOf(piloteSelect));
Pilote piloteRecupere = piloteService.findById(idPilote); Pilote piloteRecupere = piloteService.findById(idPilote);
System.out.println("CHECK PILOTE RECUPEREE : " + piloteRecupere);
// recuperate Chasseur from db // recuperate Chasseur from db
Integer idChasseur = (Integer.valueOf(chasseurSelect)); Integer idChasseur = (Integer.valueOf(chasseurSelect));
//System.out.println("CHECK chasseurSelect : " + chasseurSelect);
Chasseur chasseurRecupere = chasseurService.findById(idChasseur); Chasseur chasseurRecupere = chasseurService.findById(idChasseur);
System.out.println("CHECK Chasseur RECUPEREE : " + chasseurRecupere);
// recuperate Chasseur from db // recuperate Mission from db
Mission missionRecupere = missionService.findById(idMission); Mission missionRecupere = missionService.findById(idMission);
System.out.println("CHECK Mission RECUPEREE : " + missionRecupere);
//System.out.println("id Mission : " + idMission);
// create et remplir affectation // create et remplir affectation
Affectation affectation = new Affectation(); Affectation affectation = new Affectation();
...@@ -131,31 +121,30 @@ public class NouvelleMissionController { ...@@ -131,31 +121,30 @@ public class NouvelleMissionController {
affectation.setPilote(piloteRecupere); affectation.setPilote(piloteRecupere);
affectation.setMission(missionRecupere); affectation.setMission(missionRecupere);
affectationService.save(affectation); affectationService.save(affectation);
System.out.println("affectation : " + affectation);
piloteRecupere.getAffectation().add(affectation); piloteRecupere.getAffectation().add(affectation);
chasseurRecupere.getAffectation().add(affectation); chasseurRecupere.getAffectation().add(affectation);
missionRecupere.getAffectation().add(affectation); missionRecupere.getAffectation().add(affectation);
piloteRecupere.setEtat(EtatPilote.EN_MISSION);
chasseurRecupere.setEtat(EtatChasseur.EN_MISSION);
piloteService.save(piloteRecupere); piloteService.save(piloteRecupere);
chasseurService.save(chasseurRecupere); chasseurService.save(chasseurRecupere);
missionService.save(missionRecupere); missionService.save(missionRecupere);
listPiloteTemp.add(piloteRecupere); listPiloteTemp.add(piloteRecupere);
listChasseurTemp.add(chasseurRecupere); listChasseurTemp.add(chasseurRecupere);
System.out.println("check listPiloteTemp : " + listPiloteTemp); // System.out.println("check listPiloteTemp : " + listPiloteTemp);
System.out.println("check listChasseurTemp : " + listChasseurTemp); // System.out.println("check listChasseurTemp : " + listChasseurTemp);
model.addAttribute("listPiloteTemps", listPiloteTemp); model.addAttribute("listPiloteTemps", listPiloteTemp);
model.addAttribute("listChasseurTemps", listChasseurTemp); model.addAttribute("listChasseurTemps", listChasseurTemp);
model.addAttribute("idMission", idMission); model.addAttribute("idMission", idMission);
model.addAttribute("missionToDisplay", missionService.findById(idMission)); // Update the table with Pilot and Plane info
// model.addAttribute("typeMissions", missionService.listMission());
// Affectation a = new Affectation(); List<Pilote> listPilotes = piloteService.findByEtat(EtatPilote.DISPONIBLE);
// a.setChasseur(chasseurRecupere); List<Chasseur> listChasseurs = chasseurService.findByEtat(EtatChasseur.OPERATIONNEL);
// a.setPilote(piloteRecupere); model.addAttribute("pilotesDispo", listPilotes);
// a.setMission(missionRecupere); model.addAttribute("chasseursDispo", listChasseurs);
// piloteRecupere.getAffectation().add(a);
// System.out.println("apres ajouter affectation : " + piloteRecupere.getAffectation().toString());
//
return "nouvelleMission"; return "nouvelleMission";
} }
......
...@@ -14,8 +14,8 @@ Click nbfs://nbhost/SystemFileSystem/Templates/Other/html.html to edit this temp ...@@ -14,8 +14,8 @@ Click nbfs://nbhost/SystemFileSystem/Templates/Other/html.html to edit this temp
<header> <header>
<h1><span class='faulty-letter'>{</span> Cloture Mission</h1> <h1><span class='faulty-letter'>{</span> Cloture Mission</h1>
</header> </header>
<p th:text="${errorMissionNull}"></p>
<form class='mission' action="/clotureMission" method="post"> <form class='mission' th:action="@{/clotureMission}" method="post">
<div class='box'> <div class='box'>
<label for="missions">Choisir une mission :</label> <label for="missions">Choisir une mission :</label>
<select id="missions" name="missions"> <select id="missions" name="missions">
......
...@@ -19,6 +19,7 @@ Click nbfs://nbhost/SystemFileSystem/Templates/Other/html.html to edit this temp ...@@ -19,6 +19,7 @@ Click nbfs://nbhost/SystemFileSystem/Templates/Other/html.html to edit this temp
<form class='mission' th:object="${mission}" th:action="@{/nouvelleMission}" method="post"> <form class='mission' th:object="${mission}" th:action="@{/nouvelleMission}" method="post">
<div > <div >
<div> <div>
<label for="typeMissions">Choisir une mission :</label> <label for="typeMissions">Choisir une mission :</label>
<select id="typeMissions" name="typeMissions"> <select id="typeMissions" name="typeMissions">
<option th:each="typeMission : ${typeMissions}" th:value="${typeMission}" th:text="${typeMission}"></option> <option th:each="typeMission : ${typeMissions}" th:value="${typeMission}" th:text="${typeMission}"></option>
...@@ -30,7 +31,10 @@ Click nbfs://nbhost/SystemFileSystem/Templates/Other/html.html to edit this temp ...@@ -30,7 +31,10 @@ Click nbfs://nbhost/SystemFileSystem/Templates/Other/html.html to edit this temp
</div> </div>
<button type="submit">Creer mission</button> <button type="submit">Creer mission</button>
</div> </div>
<span th:text="${errorMissionPasDeRessources}"></span>
</form> </form>
<form class='mission' th:object="${affectation}" th:action="@{/affectation/{idMission}}" method="post"> <form class='mission' th:object="${affectation}" th:action="@{/affectation/{idMission}}" method="post">
...@@ -50,6 +54,7 @@ Click nbfs://nbhost/SystemFileSystem/Templates/Other/html.html to edit this temp ...@@ -50,6 +54,7 @@ Click nbfs://nbhost/SystemFileSystem/Templates/Other/html.html to edit this temp
th:text="${chasseurDispo.type + ' ' + chasseurDispo.etat}"> th:text="${chasseurDispo.type + ' ' + chasseurDispo.etat}">
</option> </option>
</select> </select>
</div> </div>
<button type="submit">Affecter</button> <button type="submit">Affecter</button>
</form> </form>
......