Compare commits
No commits in common. "07aaf3248d47ff8b9ee75022e474374595e19aea" and "03780acc84717864434cac190bbe2cb914110e97" have entirely different histories.
07aaf3248d
...
03780acc84
@ -5,26 +5,23 @@
|
|||||||
*/
|
*/
|
||||||
package bdd;
|
package bdd;
|
||||||
|
|
||||||
import bean.Caserne;
|
|
||||||
import bean.Gardes;
|
import bean.Gardes;
|
||||||
import bean.Pompier;
|
import bean.Pompier;
|
||||||
|
import util.TrmtDate;
|
||||||
import java.sql.Connection;
|
import java.sql.Connection;
|
||||||
import java.sql.PreparedStatement;
|
import java.sql.PreparedStatement;
|
||||||
import java.sql.ResultSet;
|
import java.sql.ResultSet;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
import java.sql.Statement;
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
import util.TrmtDate;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author funcha.ahamadi
|
* @author funcha.ahamadi
|
||||||
*/
|
*/
|
||||||
public class GardeMySQL {
|
public class gardeMySQL {
|
||||||
private final Connection theConnection = Connexion.getConnect("localhost",
|
private final Connection theConnection = Connexion.getConnect("localhost",
|
||||||
"sdis29",
|
"sdis29",
|
||||||
"adminBDsdis",
|
"adminBDsdis",
|
||||||
@ -39,8 +36,7 @@ public class GardeMySQL {
|
|||||||
int indiceDateFin = lesDates.length - 1;
|
int indiceDateFin = lesDates.length - 1;
|
||||||
Pompier lePompier;
|
Pompier lePompier;
|
||||||
PompierMySQL pm = new PompierMySQL();
|
PompierMySQL pm = new PompierMySQL();
|
||||||
|
ArrayList<Pompier> lesPompiers = pm.readLesPompiersCaserne(idCaserne);
|
||||||
ArrayList<Pompier> lesPompiers = new ArrayList<>();
|
|
||||||
for (Pompier unPompier : lesPompiers) {
|
for (Pompier unPompier : lesPompiers) {
|
||||||
for (Calendar uneDate : lesDates) {
|
for (Calendar uneDate : lesDates) {
|
||||||
for (int unePeriode : lesPeriodes) {
|
for (int unePeriode : lesPeriodes) {
|
||||||
@ -68,17 +64,17 @@ public class GardeMySQL {
|
|||||||
prepStmt.setDate(1, TrmtDate.getSQLDate(d1));
|
prepStmt.setDate(1, TrmtDate.getSQLDate(d1));
|
||||||
prepStmt.setDate(2, TrmtDate.getSQLDate(d2));
|
prepStmt.setDate(2, TrmtDate.getSQLDate(d2));
|
||||||
ResultSet resultat = prepStmt.executeQuery();
|
ResultSet resultat = prepStmt.executeQuery();
|
||||||
while (resultat.next()) {
|
while (resultat.next())
|
||||||
CaserneMySQL laCaserneMySQL = new CaserneMySQL();
|
// public Pompier(Caserne laCaserne, int id, String nom, String prenom) {
|
||||||
int idCaserne = resultat.getInt("idCaserne");
|
lePompier = new Pompier(
|
||||||
Caserne laCaserne = laCaserneMySQL.read(idCaserne);
|
resultat.getCaserne("laCaserne"),
|
||||||
lePompier = new Pompier(laCaserne,
|
|
||||||
resultat.getInt("id"),
|
resultat.getInt("id"),
|
||||||
resultat.getString("nom"),
|
resultat.getString("nom"),
|
||||||
resultat.getString("prenom"));
|
resultat.getString("prenom")
|
||||||
|
);
|
||||||
uneDispo = new Gardes(TrmtDate.getCalDate(resultat.getDate("jourGarde")),
|
uneDispo = new Gardes(TrmtDate.getCalDate(resultat.getDate("jourGarde")),
|
||||||
resultat.getInt("periode")
|
resultat.getInt("periode"),
|
||||||
,lePompier);
|
lePompier);
|
||||||
// Recherche si uneDispo existe dans les Dispos
|
// Recherche si uneDispo existe dans les Dispos
|
||||||
int indice = lesDispo.indexOf(uneDispo);
|
int indice = lesDispo.indexOf(uneDispo);
|
||||||
if (indice > -1) {
|
if (indice > -1) {
|
||||||
@ -86,7 +82,6 @@ public class GardeMySQL {
|
|||||||
laDispoTrouvee.setDisponibilite(resultat.getInt("disponibilite"));
|
laDispoTrouvee.setDisponibilite(resultat.getInt("disponibilite"));
|
||||||
laDispoTrouvee.setIsInBDD(true);
|
laDispoTrouvee.setIsInBDD(true);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
prepStmt.close();
|
prepStmt.close();
|
||||||
resultat.close();
|
resultat.close();
|
||||||
@ -97,23 +92,21 @@ public class GardeMySQL {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* Suppression de la garde passé en paramètre
|
* Suppression de la ventilation passé en param
|
||||||
*
|
* @param v : ventilation
|
||||||
* @param v ventilation à supprimer
|
* @return : nb lignes supprimées
|
||||||
* @return nb ligne a supprimer
|
|
||||||
*/
|
*/
|
||||||
public int delete(Gardes g) {
|
public int delete(Gardes v) {
|
||||||
int nbMaj = -1;
|
int nbMaj = -1;
|
||||||
String sql = "DELETE * FROM gardes "
|
String sql = "DELETE FROM gardes "
|
||||||
+ "WHERE idPompiere=?"
|
+ "WHERE idPompier = ? AND"
|
||||||
+ "AND periode=?"
|
+ "periode = ? AND"
|
||||||
+ "AND jourGarde= ?;";
|
+ "jourGarde = ?;";
|
||||||
try {
|
try {
|
||||||
PreparedStatement prepStmt = theConnection.prepareStatement(sql);
|
PreparedStatement prepStmt = theConnection.prepareStatement(sql);
|
||||||
prepStmt.setInt(1, g.getPompier().getId());
|
prepStmt.setInt(1, v.getPompier().getId());
|
||||||
prepStmt.setInt(2, g.getPeriode());
|
prepStmt.setInt(2, v.getPeriode());
|
||||||
prepStmt.setInt(3, g.getPeriode());
|
prepStmt.setDate(3, TrmtDate.getSQLDate(v.getJourGarde()));
|
||||||
prepStmt.setDate(3, TrmtDate.getSQLDate(g.getJourGarde()));
|
|
||||||
nbMaj= prepStmt.executeUpdate();
|
nbMaj= prepStmt.executeUpdate();
|
||||||
|
|
||||||
} catch (SQLException ex) {
|
} catch (SQLException ex) {
|
||||||
@ -121,73 +114,63 @@ public class GardeMySQL {
|
|||||||
System.out.println("SQLState : " + ex.getSQLState());
|
System.out.println("SQLState : " + ex.getSQLState());
|
||||||
System.out.println("Code erreur : " + ex.getErrorCode());
|
System.out.println("Code erreur : " + ex.getErrorCode());
|
||||||
}
|
}
|
||||||
|
|
||||||
return nbMaj;
|
return nbMaj;
|
||||||
}
|
}
|
||||||
/**
|
|
||||||
* Creation de la ventilation passé en paramètre ventilation à créer
|
|
||||||
*
|
|
||||||
* @return : identifiant de la ventilation créé, ou -1 si erreur
|
|
||||||
*/
|
|
||||||
public int create(Gardes g) {
|
|
||||||
int idCree = -1;
|
|
||||||
String sql = "INSERT into gardes "
|
|
||||||
+ "(jourGarde, periode, idPompier, disponibilite) "
|
|
||||||
+ "VALUES (?, ?, ?,?)";
|
|
||||||
|
|
||||||
|
|
||||||
|
public int update(Gardes v) {
|
||||||
|
|
||||||
|
int nbMAJ = -1;
|
||||||
|
String sql = "UPDATE gardes "
|
||||||
|
+ "SET ventil = ? "
|
||||||
|
+ "WHERE idPompier= ? "
|
||||||
|
+ "AND jourGarde = ? "
|
||||||
|
+ "AND periode = ?";
|
||||||
try {
|
try {
|
||||||
PreparedStatement prepStmt = null;
|
PreparedStatement prepStmt = theConnection.prepareStatement(sql);
|
||||||
prepStmt = theConnection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
|
prepStmt.setInt(1, v.getDisponibilite());
|
||||||
prepStmt.setDate(1, TrmtDate.getSQLDate(g.getJourGarde()));
|
prepStmt.setInt(2, v.getPompier().getId());
|
||||||
prepStmt.setInt(2, g.getPeriode());
|
prepStmt.setDate(3, TrmtDate.getSQLDate(v.getJourGarde()));
|
||||||
prepStmt.setInt(3, g.getPompier().getId());
|
prepStmt.setInt(4, v.getPeriode());
|
||||||
prepStmt.setInt(4, g.getDisponibilite());
|
System.out.println("update : " + prepStmt);
|
||||||
|
nbMAJ = prepStmt.executeUpdate();
|
||||||
System.out.println(prepStmt);
|
} catch (SQLException ex) {
|
||||||
|
Logger.getLogger(gardeMySQL.class.getName()).log(Level.SEVERE, null, ex);
|
||||||
|
}
|
||||||
|
return nbMAJ;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Création d'un ventil
|
||||||
|
* @param v : ventil à créer
|
||||||
|
* @return : id du ventil
|
||||||
|
*/
|
||||||
|
public int create(Gardes v) {
|
||||||
|
int nbCre = -1;
|
||||||
|
String sql = "INSERT INTO gardes "
|
||||||
|
+ "(jourGarde, periode, idPompier, ventil)"
|
||||||
|
+ "VALUES (?, ?, ?, ?);";
|
||||||
|
try {
|
||||||
|
PreparedStatement prepStmt = theConnection.prepareStatement(sql);
|
||||||
|
prepStmt.setDate(1, TrmtDate.getSQLDate(v.getJourGarde()));
|
||||||
|
prepStmt.setInt(2, v.getPeriode());
|
||||||
|
prepStmt.setInt(3, v.getPompier().getId());
|
||||||
|
prepStmt.setInt(4, v.getDisponibilite());
|
||||||
int nbLigne= prepStmt.executeUpdate();
|
int nbLigne= prepStmt.executeUpdate();
|
||||||
|
|
||||||
// Recherche du no du pompier créé
|
|
||||||
if (nbLigne > 0) {
|
if (nbLigne > 0) {
|
||||||
ResultSet result = prepStmt.getGeneratedKeys();
|
ResultSet result = prepStmt.getGeneratedKeys();
|
||||||
if (result.next()) {
|
if (result.next()) {
|
||||||
idCree = result.getInt(1);
|
nbCre = result.getInt(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
prepStmt.close();
|
|
||||||
} catch (SQLException ex) {
|
} catch (SQLException ex) {
|
||||||
System.out.println("SQLExeption : " + ex.getMessage());
|
System.out.println("SQLExeption : " + ex.getMessage());
|
||||||
System.out.println("SQLState : " + ex.getSQLState());
|
System.out.println("SQLState : " + ex.getSQLState());
|
||||||
System.out.println("Code erreur : " + ex.getErrorCode());
|
System.out.println("Code erreur : " + ex.getErrorCode());
|
||||||
}
|
}
|
||||||
|
|
||||||
return idCree;
|
return nbCre;
|
||||||
}
|
|
||||||
/**
|
|
||||||
* Mise à jour de la ventilation passée en paramètre
|
|
||||||
*
|
|
||||||
* @param v : ventilation à mettre à jour
|
|
||||||
* @return : nb lignes mises à jour, -1 si erreur
|
|
||||||
*/
|
|
||||||
public int update(Gardes g) {
|
|
||||||
|
|
||||||
int nbMAJ = -1;
|
|
||||||
String sql = "UPDATE garde "
|
|
||||||
+ "SET disponibilite = ? "
|
|
||||||
+ "WHERE idPompier = ? "
|
|
||||||
+ "AND jourGarde = ? "
|
|
||||||
+ "AND periode = ?";
|
|
||||||
try {
|
|
||||||
PreparedStatement prepStmt = theConnection.prepareStatement(sql);
|
|
||||||
prepStmt.setInt(1, g.getDisponibilite());
|
|
||||||
prepStmt.setInt(2, g.getPompier().getId());
|
|
||||||
prepStmt.setDate(3, TrmtDate.getSQLDate(g.getJourGarde()));
|
|
||||||
prepStmt.setInt(4, g.getPeriode());
|
|
||||||
System.out.println("update : " + prepStmt);
|
|
||||||
nbMAJ = prepStmt.executeUpdate();
|
|
||||||
} catch (SQLException ex) {
|
|
||||||
Logger.getLogger(GardeMySQL.class.getName()).log(Level.SEVERE, null, ex);
|
|
||||||
}
|
|
||||||
return nbMAJ;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -5,7 +5,6 @@
|
|||||||
*/
|
*/
|
||||||
package servlet;
|
package servlet;
|
||||||
|
|
||||||
import bdd.GardeMySQL;
|
|
||||||
import bdd.gardeMySQL;
|
import bdd.gardeMySQL;
|
||||||
import bean.Gardes;
|
import bean.Gardes;
|
||||||
import bean.Pompier;
|
import bean.Pompier;
|
||||||
@ -67,8 +66,6 @@ public class GardesServlet extends HttpServlet {
|
|||||||
throws ServletException, IOException {
|
throws ServletException, IOException {
|
||||||
//processRequest(request, response);
|
//processRequest(request, response);
|
||||||
HttpSession maSession = request.getSession();
|
HttpSession maSession = request.getSession();
|
||||||
|
|
||||||
if(maSession.getAttribute("lesVentilInit") == null){
|
|
||||||
ArrayList<Pompier> lesPompiers = (ArrayList<Pompier>) maSession.getAttribute("lesPompiers");
|
ArrayList<Pompier> lesPompiers = (ArrayList<Pompier>) maSession.getAttribute("lesPompiers");
|
||||||
Calendar[] lesDates = new Calendar[7];
|
Calendar[] lesDates = new Calendar[7];
|
||||||
String[] lesDatesEnString = new String[7];
|
String[] lesDatesEnString = new String[7];
|
||||||
@ -80,27 +77,21 @@ public class GardesServlet extends HttpServlet {
|
|||||||
lesDatesEnString[i] = TrmtDate.getDateAAfficher(lesDates[i]);
|
lesDatesEnString[i] = TrmtDate.getDateAAfficher(lesDates[i]);
|
||||||
}
|
}
|
||||||
maSession.setAttribute("lesDates", lesDates);
|
maSession.setAttribute("lesDates", lesDates);
|
||||||
|
|
||||||
maSession.setAttribute("lesDatesEnString", lesDatesEnString);
|
maSession.setAttribute("lesDatesEnString", lesDatesEnString);
|
||||||
System.out.println(lesDatesEnString.toString());
|
|
||||||
/*Initialisation des periodes */
|
/*Initialisation des periodes */
|
||||||
int[] lesPeriodes = {1,2,3,4};
|
int[] lesPeriodes = {1,2,3,4};
|
||||||
maSession.setAttribute("lesPeriodes", lesPeriodes);
|
maSession.setAttribute("lesPeriodes", lesPeriodes);
|
||||||
System.out.println(lesPeriodes.toString());
|
|
||||||
/* Recherche des ventilations */
|
/* Recherche des ventilations */
|
||||||
|
gardeMySQL vm = new gardeMySQL();
|
||||||
GardeMySQL vm = new GardeMySQL();
|
|
||||||
ArrayList<Gardes> lesVentilInit = vm.getLesDisponibilite(lesDates, lesPeriodes);
|
ArrayList<Gardes> lesVentilInit = vm.getLesDisponibilite(lesDates, lesPeriodes);
|
||||||
//System.out.println("lesVentilInit : " + lesVentilInit);
|
//System.out.println("lesVentilInit : " + lesVentilInit);
|
||||||
maSession.setAttribute("lesVentilInit", lesVentilInit);
|
maSession.setAttribute("lesVentilInit", lesVentilInit);
|
||||||
|
|
||||||
|
|
||||||
/* Initialisation des couleurs */
|
/* Initialisation des couleurs */
|
||||||
String[] lesCouleurs = {"blanc", "gris", "jaune"};
|
String[] lesCouleurs = {"blanc", "gris", "jaune"};
|
||||||
maSession.setAttribute("lesCouleurs", lesCouleurs);
|
maSession.setAttribute("lesCouleurs", lesCouleurs);
|
||||||
}
|
|
||||||
/* Affichage de la page de ventilation */
|
/* Affichage de la page de ventilation */
|
||||||
getServletContext().getRequestDispatcher("/WEB-INF/feuilleGardes.jsp").forward(request, response);
|
getServletContext().getRequestDispatcher("/WEB-INF/feuilleGardesJSP.jsp").forward(request, response);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -101,7 +101,10 @@ public class PompierServlet extends HttpServlet {
|
|||||||
page = 3;
|
page = 3;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if(erreur==false && pageDemandee==5){ //page gardes
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
if (erreur) {
|
if (erreur) {
|
||||||
request.getRequestDispatcher("/authentification").forward(request, response); // redirection servlet
|
request.getRequestDispatcher("/authentification").forward(request, response); // redirection servlet
|
||||||
} else {
|
} else {
|
||||||
|
@ -3,17 +3,8 @@
|
|||||||
Created on : 6 déc. 2021, 15:07:45
|
Created on : 6 déc. 2021, 15:07:45
|
||||||
Author : funcha.ahamadi
|
Author : funcha.ahamadi
|
||||||
--%>
|
--%>
|
||||||
|
|
||||||
<%@page contentType="text/html" pageEncoding="UTF-8"%>
|
<%@page contentType="text/html" pageEncoding="UTF-8"%>
|
||||||
<%@include file= "jspf/debutJSP.jspf" %>
|
|
||||||
<body>
|
|
||||||
|
|
||||||
<%@include file= "jspf/header.jspf" %>
|
|
||||||
<div class="container">
|
|
||||||
<section id="contenuAffiche" class="row">
|
|
||||||
|
|
||||||
|
|
||||||
<fieldset class="row mt-1 mb-10">
|
|
||||||
|
|
||||||
<legend>
|
<legend>
|
||||||
Feuille de gardes
|
Feuille de gardes
|
||||||
</legend>
|
</legend>
|
||||||
@ -21,26 +12,43 @@
|
|||||||
<table class="table">
|
<table class="table">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th rowspan="2">No</th>
|
<th rowspan="2">N° de BIP</th>
|
||||||
<th rowspan="2">Nom Prenom</th>
|
<th rowspan="2">Nom Prenom</th>
|
||||||
<c:forEach items='${sessionScope.lesDatesEnString}' var="uneDate" varStatus="status">
|
<c:forEach items='${sessionScope.lesDatesEnString}' var="uneDate" varStatus="status">
|
||||||
<th colspan="4" class="text-center"> ${uneDate}</th>
|
<th colspan="2" class="text-center"> ${uneDate}</th>
|
||||||
</c:forEach>
|
</c:forEach>
|
||||||
|
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<c:forEach var="i" begin="0" end="6" step="1">
|
<c:forEach var="i" begin="0" end="4" step="1">
|
||||||
<c:forEach items='${sessionScope.lesPeriodes}' var="unePeriode" varStatus="status">
|
<c:forEach items='${sessionScope.lesPeriodes}' var="unePeriode" varStatus="status">
|
||||||
<td class="text-center">${unePeriode}</td>
|
<td class="text-center">${unePeriode}</td>
|
||||||
</c:forEach>
|
</c:forEach>
|
||||||
</c:forEach>
|
</c:forEach>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<c:set var="oldId" value="-1" scope="page"/>
|
||||||
|
<tr>
|
||||||
|
<c:forEach items='${sessionScope.lesVentilInit}' var="uneVentil" varStatus="status">
|
||||||
|
<c:set var="newId" value='${uneVentil.getPompier().getId()}' scope="page"/>
|
||||||
|
<c:if test='${oldId != newId}' var="test" scope="page">
|
||||||
|
</tr><tr>
|
||||||
|
<td>${uneVentil.getPompier().getId()}</td>
|
||||||
|
<td>${uneVentil.getPompier().getNom()} ${uneVentil.getPompier().getPrenom()}</td>
|
||||||
|
|
||||||
|
<c:set var="oldId" value='${newId}' scope="page"/>
|
||||||
|
</c:if>
|
||||||
|
<c:set var="activite" value='${uneVentil.getActivite()}' scope="page"/>
|
||||||
|
<td>
|
||||||
|
<input readonly type="text" value='${activite}' name="lesActivites"class="ztVentil ${sessionScope.lesCouleurs[activite]}"/>
|
||||||
|
</td>
|
||||||
|
</c:forEach>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
</tbody>
|
||||||
|
|
||||||
</table>
|
</table>
|
||||||
</form>
|
|
||||||
</fieldset>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</form><!-- comment -->
|
@ -172,9 +172,6 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- fin tab disp -->
|
<!-- fin tab disp -->
|
||||||
<div class="danger mt-3">${message} </div>
|
<div class="danger mt-3">${message} </div>
|
||||||
|
|
||||||
|
@ -90,15 +90,19 @@
|
|||||||
</c:choose>
|
</c:choose>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
|
<c:choose>
|
||||||
|
<c:when test="${page eq 5}">
|
||||||
|
<a class="nav-link active" href="pompier?pageDemandee=5">Gardes</a>
|
||||||
|
</c:when>
|
||||||
|
<c:when test="${sessionScope.lePompierConnecte.getLeStatut().getCode() eq 2}">
|
||||||
|
<a class="nav-link" href="pompier?pageDemandee=5">Gardes</a>
|
||||||
|
</c:when>
|
||||||
|
<c:otherwise>
|
||||||
|
|
||||||
|
</c:otherwise>
|
||||||
|
|
||||||
|
</c:choose>
|
||||||
<a class="nav-link" href="gardes">Gardes</a>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user