Merge origin/master
Conflicts: nbproject/project.properties src/java/bean/Pompier.java src/java/servlet/PompierServlet.java src/java/util/TrmtDate.java web/WEB-INF/jspf/formulairePompier.jspf web/WEB-INF/jspf/header.jspf web/WEB-INF/web.xml
This commit is contained in:
@@ -5,8 +5,9 @@
|
||||
*/
|
||||
package bdd;
|
||||
|
||||
import bean.Dispo;
|
||||
import bean.Gardes;
|
||||
import bean.Pompier;
|
||||
import util.TrmtDate;
|
||||
import java.sql.Connection;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
@@ -15,49 +16,46 @@ import java.util.ArrayList;
|
||||
import java.util.Calendar;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
import util.TrmtDate;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author clementine.desrucques
|
||||
* @author funcha.ahamadi
|
||||
*/
|
||||
public class DispoMySql {
|
||||
public class gardeMySQL {
|
||||
private final Connection theConnection = Connexion.getConnect("localhost",
|
||||
"sdis29",
|
||||
"adminBDsdis",
|
||||
"mdpBDsdis");
|
||||
|
||||
public ArrayList<Dispo> getLesDispo(Calendar[] lesDates, String[] lesPeriodes) {
|
||||
ArrayList<Dispo> lesP = new ArrayList<>();
|
||||
Dispo uneDispo;
|
||||
"mdpBDsdis");
|
||||
public ArrayList<Gardes> getLesDisponibilite(Calendar[] lesDates, int[] lesPeriodes) {
|
||||
ArrayList<Gardes> lesDispo = new ArrayList<>();
|
||||
Gardes uneDispo;
|
||||
|
||||
/* a. Initialisation de la collection lesVentil pour la période,
|
||||
création d'une ventil par salarié, par date et période
|
||||
*/
|
||||
int indiceDateFin = lesDates.length - 1;
|
||||
Pompier leP;
|
||||
PompierMySQL sm = new PompierMySQL();
|
||||
ArrayList<Pompier> lesPom = sm.readAll();
|
||||
for (Pompier unP : lesPom) {
|
||||
Pompier lePompier;
|
||||
PompierMySQL pm = new PompierMySQL();
|
||||
ArrayList<Pompier> lesPompiers = pm.readLesPompiersCaserne(idCaserne);
|
||||
for (Pompier unPompier : lesPompiers) {
|
||||
for (Calendar uneDate : lesDates) {
|
||||
for (String unePeriode : lesPeriodes) {
|
||||
uneDispo = new Dispo(uneDate, unePeriode, unP);
|
||||
lesP.add(uneDispo);
|
||||
for (int unePeriode : lesPeriodes) {
|
||||
uneDispo = new Gardes(uneDate, unePeriode, unPompier);
|
||||
lesDispo.add(uneDispo);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* b) Maj de la collection lesVentil
|
||||
*/
|
||||
readAll(lesPomp, lesDates[0], lesDates[indiceDateFin]);
|
||||
//System.out.println("lesVentil : " + lesVentil);
|
||||
return lesPomp;
|
||||
readAll(lesDispo, lesDates[0], lesDates[indiceDateFin]);
|
||||
//System.out.println("lesDispo : " + lesDispo);
|
||||
return lesDispo;
|
||||
}
|
||||
|
||||
public void readAll(ArrayList<Pompier> lesPomp, Calendar d1, Calendar d2) {
|
||||
Pompier leP;
|
||||
Dispo uneDispo;
|
||||
Dispo laDispoTrouvee;
|
||||
public void readAll(ArrayList<Gardes> lesDispo, Calendar d1, Calendar d2) {
|
||||
Pompier lePompier;
|
||||
Gardes uneDispo;
|
||||
Gardes laDispoTrouvee;
|
||||
String sql = "SELECT * FROM gardes "
|
||||
+ "INNER JOIN pompier on idPompier = id "
|
||||
+ "WHERE jourGarde BETWEEN ? and ?;";
|
||||
@@ -66,35 +64,25 @@ public class DispoMySql {
|
||||
prepStmt.setDate(1, TrmtDate.getSQLDate(d1));
|
||||
prepStmt.setDate(2, TrmtDate.getSQLDate(d2));
|
||||
ResultSet resultat = prepStmt.executeQuery();
|
||||
while (resultat.next()) {
|
||||
leP = new Pompier(
|
||||
while (resultat.next())
|
||||
// public Pompier(Caserne laCaserne, int id, String nom, String prenom) {
|
||||
lePompier = new Pompier(
|
||||
resultat.getCaserne("laCaserne"),
|
||||
resultat.getInt("id"),
|
||||
resultat.getString("nom"),
|
||||
resultat.getString("prenom"),
|
||||
resultat.getParametre("leStatut"),
|
||||
resultat.getParametre("leType"),
|
||||
resultat.getString("mail"),
|
||||
resultat.getString("login"),
|
||||
resultat.getString("mdp"),
|
||||
resultat.getString("adresse"),
|
||||
resultat.getString("cp"),
|
||||
resultat.getString("ville"),
|
||||
resultat.getString("bip"),
|
||||
resultat.getParametre("leGrade"),
|
||||
resultat.getString("commentaire")
|
||||
resultat.getString("prenom")
|
||||
);
|
||||
uneDispo = new Dispo(TrmtDate.getCalDate(resultat.getDate("jourVentil")),
|
||||
resultat.getString("periode"),
|
||||
leP);
|
||||
// Recherche si unpompier existe dans les Pompier
|
||||
uneDispo = new Gardes(TrmtDate.getCalDate(resultat.getDate("jourGarde")),
|
||||
resultat.getInt("periode"),
|
||||
lePompier);
|
||||
// Recherche si uneDispo existe dans les Dispos
|
||||
int indice = lesDispo.indexOf(uneDispo);
|
||||
if (indice > -1) {
|
||||
laDispoTrouvee = lesDispo.get(indice);
|
||||
laDispoTrouvee.setActivite(resultat.getInt("dispo"));
|
||||
laDispoTrouvee.setIsInBD(true);
|
||||
laDispoTrouvee.setDisponibilite(resultat.getInt("disponibilite"));
|
||||
laDispoTrouvee.setIsInBDD(true);
|
||||
}
|
||||
}
|
||||
|
||||
prepStmt.close();
|
||||
resultat.close();
|
||||
} catch (SQLException ex) {
|
||||
@@ -103,12 +91,12 @@ public class DispoMySql {
|
||||
System.out.println("Code erreur : " + ex.getErrorCode());
|
||||
}
|
||||
}
|
||||
/**
|
||||
/**
|
||||
* Suppression de la ventilation passé en param
|
||||
* @param v : ventilation
|
||||
* @return : nb lignes supprimées
|
||||
*/
|
||||
public int delete(Dispo p) {
|
||||
public int delete(Gardes v) {
|
||||
int nbMaj = -1;
|
||||
String sql = "DELETE FROM gardes "
|
||||
+ "WHERE idPompier = ? AND"
|
||||
@@ -116,9 +104,9 @@ public class DispoMySql {
|
||||
+ "jourGarde = ?;";
|
||||
try {
|
||||
PreparedStatement prepStmt = theConnection.prepareStatement(sql);
|
||||
prepStmt.setInt(1, p.getPompier().getId());
|
||||
prepStmt.setString(2, p.getPeriode());
|
||||
prepStmt.setDate(3, TrmtDate.getSQLDate(p.getJourVentil()));
|
||||
prepStmt.setInt(1, v.getPompier().getId());
|
||||
prepStmt.setInt(2, v.getPeriode());
|
||||
prepStmt.setDate(3, TrmtDate.getSQLDate(v.getJourGarde()));
|
||||
nbMaj= prepStmt.executeUpdate();
|
||||
|
||||
} catch (SQLException ex) {
|
||||
@@ -131,24 +119,24 @@ public class DispoMySql {
|
||||
}
|
||||
|
||||
|
||||
public int update(Dispo v) {
|
||||
public int update(Gardes v) {
|
||||
|
||||
int nbMAJ = -1;
|
||||
String sql = "UPDATE gardes "
|
||||
+ "SET ventil = ? "
|
||||
+ "WHERE idPompier = ? "
|
||||
+ "WHERE idPompier= ? "
|
||||
+ "AND jourGarde = ? "
|
||||
+ "AND periode = ?";
|
||||
try {
|
||||
PreparedStatement prepStmt = theConnection.prepareStatement(sql);
|
||||
prepStmt.setInt(1, v.getActivite());
|
||||
prepStmt.setInt(1, v.getDisponibilite());
|
||||
prepStmt.setInt(2, v.getPompier().getId());
|
||||
prepStmt.setDate(3, TrmtDate.getSQLDate(v.getJourVentil()));
|
||||
prepStmt.setString(4, v.getPeriode());
|
||||
prepStmt.setDate(3, TrmtDate.getSQLDate(v.getJourGarde()));
|
||||
prepStmt.setInt(4, v.getPeriode());
|
||||
System.out.println("update : " + prepStmt);
|
||||
nbMAJ = prepStmt.executeUpdate();
|
||||
} catch (SQLException ex) {
|
||||
Logger.getLogger(DispoMySql.class.getName()).log(Level.SEVERE, null, ex);
|
||||
Logger.getLogger(gardeMySQL.class.getName()).log(Level.SEVERE, null, ex);
|
||||
}
|
||||
return nbMAJ;
|
||||
}
|
||||
@@ -157,17 +145,17 @@ public class DispoMySql {
|
||||
* @param v : ventil à créer
|
||||
* @return : id du ventil
|
||||
*/
|
||||
public int create(Dispo v) {
|
||||
public int create(Gardes v) {
|
||||
int nbCre = -1;
|
||||
String sql = "INSERT INTO gardes "
|
||||
+ "(jourGarde, idPompier, periode, ventil)"
|
||||
+ "(jourGarde, periode, idPompier, ventil)"
|
||||
+ "VALUES (?, ?, ?, ?);";
|
||||
try {
|
||||
PreparedStatement prepStmt = theConnection.prepareStatement(sql);
|
||||
prepStmt.setDate(1, TrmtDate.getSQLDate(v.getJourVentil()));
|
||||
prepStmt.setString(2, v.getPeriode());
|
||||
prepStmt.setDate(1, TrmtDate.getSQLDate(v.getJourGarde()));
|
||||
prepStmt.setInt(2, v.getPeriode());
|
||||
prepStmt.setInt(3, v.getPompier().getId());
|
||||
prepStmt.setInt(4, v.getActivite());
|
||||
prepStmt.setInt(4, v.getDisponibilite());
|
||||
int nbLigne= prepStmt.executeUpdate();
|
||||
if (nbLigne > 0) {
|
||||
ResultSet result = prepStmt.getGeneratedKeys();
|
||||
@@ -183,5 +171,13 @@ public class DispoMySql {
|
||||
}
|
||||
|
||||
return nbCre;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
@@ -1,123 +0,0 @@
|
||||
/*
|
||||
* To change this license header, choose License Headers in Project Properties.
|
||||
* To change this template file, choose Tools | Templates
|
||||
* and open the template in the editor.
|
||||
*/
|
||||
package bean;
|
||||
|
||||
import java.util.Calendar;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author clementine.desrucques
|
||||
*/
|
||||
public class Dispo {
|
||||
Calendar JourVentil;
|
||||
String periode;
|
||||
Pompier pompier;
|
||||
int activite;
|
||||
boolean isInBD;
|
||||
|
||||
public Dispo(Calendar JourVentil, String periode, Pompier pompier, int activite, boolean isInBD) {
|
||||
this.JourVentil = JourVentil;
|
||||
this.periode = periode;
|
||||
this.pompier = pompier;
|
||||
this.activite = activite;
|
||||
this.isInBD = isInBD;
|
||||
}
|
||||
|
||||
public Dispo(Calendar JourVentil, String periode, Pompier pompier) {
|
||||
this.JourVentil = JourVentil;
|
||||
this.periode = periode;
|
||||
this.pompier = pompier;
|
||||
}
|
||||
|
||||
public Calendar getJourVentil() {
|
||||
return JourVentil;
|
||||
}
|
||||
|
||||
public void setJourVentil(Calendar JourVentil) {
|
||||
this.JourVentil = JourVentil;
|
||||
}
|
||||
|
||||
public String getPeriode() {
|
||||
return periode;
|
||||
}
|
||||
|
||||
public void setPeriode(String periode) {
|
||||
this.periode = periode;
|
||||
}
|
||||
|
||||
public Pompier getPompier() {
|
||||
return pompier;
|
||||
}
|
||||
|
||||
public void setPompier(Pompier pompier) {
|
||||
this.pompier = pompier;
|
||||
}
|
||||
|
||||
public int getActivite() {
|
||||
return activite;
|
||||
}
|
||||
|
||||
public void setActivite(int activite) {
|
||||
this.activite = activite;
|
||||
}
|
||||
|
||||
public boolean isIsInBD() {
|
||||
return isInBD;
|
||||
}
|
||||
|
||||
public void setIsInBD(boolean isInBD) {
|
||||
this.isInBD = isInBD;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int hash = 7;
|
||||
hash = 79 * hash + Objects.hashCode(this.JourVentil);
|
||||
hash = 79 * hash + Objects.hashCode(this.periode);
|
||||
hash = 79 * hash + Objects.hashCode(this.pompier);
|
||||
hash = 79 * hash + this.activite;
|
||||
hash = 79 * hash + (this.isInBD ? 1 : 0);
|
||||
return hash;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj) {
|
||||
return true;
|
||||
}
|
||||
if (obj == null) {
|
||||
return false;
|
||||
}
|
||||
if (getClass() != obj.getClass()) {
|
||||
return false;
|
||||
}
|
||||
final Dispo other = (Dispo) obj;
|
||||
if (this.activite != other.activite) {
|
||||
return false;
|
||||
}
|
||||
if (this.isInBD != other.isInBD) {
|
||||
return false;
|
||||
}
|
||||
if (!Objects.equals(this.periode, other.periode)) {
|
||||
return false;
|
||||
}
|
||||
if (!Objects.equals(this.JourVentil, other.JourVentil)) {
|
||||
return false;
|
||||
}
|
||||
if (!Objects.equals(this.pompier, other.pompier)) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Dispo{" + "JourVentil=" + JourVentil + ", periode=" + periode + ", pompier=" + pompier + ", activite=" + activite + ", isInBD=" + isInBD + '}';
|
||||
}
|
||||
|
||||
|
||||
}
|
123
src/java/bean/Gardes.java
Normal file
123
src/java/bean/Gardes.java
Normal file
@@ -0,0 +1,123 @@
|
||||
/*
|
||||
* To change this license header, choose License Headers in Project Properties.
|
||||
* To change this template file, choose Tools | Templates
|
||||
* and open the template in the editor.
|
||||
*/
|
||||
package bean;
|
||||
|
||||
import java.util.Calendar;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author funcha.ahamadi
|
||||
*/
|
||||
public class Gardes {
|
||||
Calendar jourGarde;
|
||||
int periode;
|
||||
Pompier pompier;
|
||||
int disponibilite;
|
||||
boolean isInBDD;
|
||||
|
||||
public Gardes(Calendar jourGarde, int periode, Pompier pompier, int disponibilite, boolean isInBDD) {
|
||||
this.jourGarde = jourGarde;
|
||||
this.periode = periode;
|
||||
this.pompier = pompier;
|
||||
this.disponibilite = disponibilite;
|
||||
this.isInBDD = isInBDD;
|
||||
}
|
||||
|
||||
public Gardes(Calendar jourGarde, int periode, Pompier pompier) {
|
||||
this.jourGarde = jourGarde;
|
||||
this.periode = periode;
|
||||
this.pompier = pompier;
|
||||
}
|
||||
|
||||
public Calendar getJourGarde() {
|
||||
return jourGarde;
|
||||
}
|
||||
|
||||
public void setJourGarde(Calendar jourGarde) {
|
||||
this.jourGarde = jourGarde;
|
||||
}
|
||||
|
||||
public int getPeriode() {
|
||||
return periode;
|
||||
}
|
||||
|
||||
public void setPeriode(int periode) {
|
||||
this.periode = periode;
|
||||
}
|
||||
|
||||
public Pompier getPompier() {
|
||||
return pompier;
|
||||
}
|
||||
|
||||
public void setPompier(Pompier pompier) {
|
||||
this.pompier = pompier;
|
||||
}
|
||||
|
||||
public int getDisponibilite() {
|
||||
return disponibilite;
|
||||
}
|
||||
|
||||
public void setDisponibilite(int disponibilite) {
|
||||
this.disponibilite = disponibilite;
|
||||
}
|
||||
|
||||
public boolean isIsInBDD() {
|
||||
return isInBDD;
|
||||
}
|
||||
|
||||
public void setIsInBDD(boolean isInBDD) {
|
||||
this.isInBDD = isInBDD;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int hash = 7;
|
||||
hash = 43 * hash + Objects.hashCode(this.jourGarde);
|
||||
hash = 43 * hash + this.periode;
|
||||
hash = 43 * hash + Objects.hashCode(this.pompier);
|
||||
hash = 43 * hash + this.disponibilite;
|
||||
hash = 43 * hash + (this.isInBDD ? 1 : 0);
|
||||
return hash;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj) {
|
||||
return true;
|
||||
}
|
||||
if (obj == null) {
|
||||
return false;
|
||||
}
|
||||
if (getClass() != obj.getClass()) {
|
||||
return false;
|
||||
}
|
||||
final Gardes other = (Gardes) obj;
|
||||
if (this.periode != other.periode) {
|
||||
return false;
|
||||
}
|
||||
if (this.disponibilite != other.disponibilite) {
|
||||
return false;
|
||||
}
|
||||
if (this.isInBDD != other.isInBDD) {
|
||||
return false;
|
||||
}
|
||||
if (!Objects.equals(this.jourGarde, other.jourGarde)) {
|
||||
return false;
|
||||
}
|
||||
if (!Objects.equals(this.pompier, other.pompier)) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Gardes{" + "jourGarde=" + jourGarde + ", periode=" + periode + ", pompier=" + pompier + ", disponibilite=" + disponibilite + ", isInBDD=" + isInBDD + '}';
|
||||
}
|
||||
|
||||
|
||||
}
|
@@ -5,8 +5,8 @@
|
||||
*/
|
||||
package form;
|
||||
|
||||
import bdd.DispoMySql;
|
||||
import bean.Dispo;
|
||||
import bdd.gardeMySQL;
|
||||
import bean.Gardes;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import jakarta.servlet.http.HttpSession;
|
||||
import java.util.ArrayList;
|
||||
@@ -21,28 +21,28 @@ public class DispoForm {
|
||||
|
||||
public void verifDispo(HttpServletRequest request){
|
||||
HttpSession maS = request.getSession();
|
||||
ArrayList <Dispo> lesDispo = (ArrayList<Dispo>) maS.getAttribute("lesVentilInit");
|
||||
ArrayList <Gardes> lesG = (ArrayList<Gardes>) maS.getAttribute("lesVentilInit");
|
||||
|
||||
DispoMySql vm = new DispoMySql();
|
||||
gardeMySQL vm = new gardeMySQL();
|
||||
Map<String, String[]> map = request.getParameterMap();
|
||||
String[] lesNvVentil = map.get("lesAct");
|
||||
int i = 0;
|
||||
for(Dispo uneDispo : lesDispo){
|
||||
int oldAct = uneDispo.getActivite();
|
||||
for(Gardes uneGarde : lesG){
|
||||
int oldAct = uneGarde.getDisponibilite();
|
||||
int newAct = Integer.parseInt(lesNvVentil[i]);
|
||||
if(oldAct != newAct){
|
||||
if(uneDispo.isIsInBD()){
|
||||
if(uneGarde.isIsInBDD()){
|
||||
if(newAct == 0){
|
||||
vm.delete(uneDispo);
|
||||
uneDispo.setIsInBD(false);
|
||||
vm.delete(uneGarde);
|
||||
uneGarde.setIsInBDD(false);
|
||||
} else {
|
||||
uneDispo.setActivite(newAct);
|
||||
vm.update(uneDispo);
|
||||
uneGarde.setDisponibilite(newAct);
|
||||
vm.update(uneGarde);
|
||||
}
|
||||
} else {
|
||||
uneDispo.setActivite(newAct);
|
||||
vm.create(uneDispo);
|
||||
uneDispo.setIsInBD(true);
|
||||
uneGarde.setDisponibilite(newAct);
|
||||
vm.create(uneGarde);
|
||||
uneGarde.setIsInBDD(true);
|
||||
}
|
||||
}
|
||||
i++;
|
||||
|
@@ -5,25 +5,26 @@
|
||||
*/
|
||||
package servlet;
|
||||
|
||||
import bdd.DispoMySql;
|
||||
import bean.Dispo;
|
||||
import bdd.gardeMySQL;
|
||||
import bean.Gardes;
|
||||
import bean.Pompier;
|
||||
import form.DispoForm;
|
||||
import jakarta.servlet.http.HttpServlet;
|
||||
import util.TrmtDate;
|
||||
import java.io.IOException;
|
||||
import java.io.PrintWriter;
|
||||
import jakarta.servlet.ServletException;
|
||||
import jakarta.servlet.http.HttpServlet;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import jakarta.servlet.http.HttpSession;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Calendar;
|
||||
import util.TrmtDate;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author clementine.desrucques
|
||||
* @author funcha.ahamadi
|
||||
*/
|
||||
public class DispoServlet extends HttpServlet {
|
||||
public class GardesServlet extends HttpServlet {
|
||||
|
||||
/**
|
||||
* Processes requests for both HTTP <code>GET</code> and <code>POST</code>
|
||||
@@ -42,10 +43,10 @@ public class DispoServlet extends HttpServlet {
|
||||
out.println("<!DOCTYPE html>");
|
||||
out.println("<html>");
|
||||
out.println("<head>");
|
||||
out.println("<title>Servlet DispoServlet</title>");
|
||||
out.println("<title>Servlet feuilleGardes</title>");
|
||||
out.println("</head>");
|
||||
out.println("<body>");
|
||||
out.println("<h1>Servlet DispoServlet at " + request.getContextPath() + "</h1>");
|
||||
out.println("<h1>Servlet feuilleGardes at " + request.getContextPath() + "</h1>");
|
||||
out.println("</body>");
|
||||
out.println("</html>");
|
||||
}
|
||||
@@ -63,40 +64,34 @@ public class DispoServlet extends HttpServlet {
|
||||
@Override
|
||||
protected void doGet(HttpServletRequest request, HttpServletResponse response)
|
||||
throws ServletException, IOException {
|
||||
// processRequest(request, response);
|
||||
HttpSession maSession = request.getSession();
|
||||
if (maSession.getAttribute("lesVentilInit") == null) {
|
||||
|
||||
/* Initialisations des dates de la semaine */
|
||||
Calendar[] lesDates = new Calendar[5];
|
||||
String[] lesDatesEnString = new String[5];
|
||||
lesDates[0] = TrmtDate.getDateDebutSemaine();
|
||||
lesDatesEnString[0] = TrmtDate.getDateAAfficher(lesDates[0]);
|
||||
for (int i = 1; i < lesDates.length; i++) {
|
||||
lesDates[i] = TrmtDate.addDays(lesDates[0], i);
|
||||
lesDatesEnString[i] = TrmtDate.getDateAAfficher(lesDates[i]);
|
||||
}
|
||||
|
||||
maSession.setAttribute("lesDates", lesDates);
|
||||
maSession.setAttribute("lesDatesEnString", lesDatesEnString);
|
||||
//System.out.println("lesDates "+ lesDates[4].getTime());
|
||||
|
||||
/* Initialisation des périodes */
|
||||
String[] lesPeriodes = {"AM", "PM"};
|
||||
maSession.setAttribute("lesPeriodes", lesPeriodes);
|
||||
|
||||
/* Recherche des ventilations */
|
||||
DispoMySql vm = new DispoMySql();
|
||||
ArrayList<Dispo> lesVentilInit = vm.getLesDispo(lesDates, lesPeriodes);
|
||||
//processRequest(request, response);
|
||||
HttpSession maSession = request.getSession();
|
||||
ArrayList<Pompier> lesPompiers = (ArrayList<Pompier>) maSession.getAttribute("lesPompiers");
|
||||
Calendar[] lesDates = new Calendar[7];
|
||||
String[] lesDatesEnString = new String[7];
|
||||
lesDates[0] = TrmtDate.getDateDebutSemaine();
|
||||
lesDatesEnString[0] = TrmtDate.getDateAAfficher(lesDates[0]);
|
||||
|
||||
for (int i = 1; i < lesDates.length; i++) {
|
||||
lesDates[i] = TrmtDate.addDays(lesDates[0], i);
|
||||
lesDatesEnString[i] = TrmtDate.getDateAAfficher(lesDates[i]);
|
||||
}
|
||||
maSession.setAttribute("lesDates", lesDates);
|
||||
maSession.setAttribute("lesDatesEnString", lesDatesEnString);
|
||||
/*Initialisation des periodes */
|
||||
int[] lesPeriodes = {1,2,3,4};
|
||||
maSession.setAttribute("lesPeriodes", lesPeriodes);
|
||||
/* Recherche des ventilations */
|
||||
gardeMySQL vm = new gardeMySQL();
|
||||
ArrayList<Gardes> lesVentilInit = vm.getLesDisponibilite(lesDates, lesPeriodes);
|
||||
//System.out.println("lesVentilInit : " + lesVentilInit);
|
||||
maSession.setAttribute("lesVentilInit", lesVentilInit);
|
||||
|
||||
/* Initialisation des couleurs */
|
||||
String[] lesCouleurs = {"blanc", "gris", "jaune"};
|
||||
maSession.setAttribute("lesCouleurs", lesCouleurs);
|
||||
}
|
||||
/* Affichage de la page de ventilation */
|
||||
getServletContext().getRequestDispatcher("/WEB-INF/gardeJSP.jsp").forward(request, response);
|
||||
|
||||
/* Affichage de la page de ventilation */
|
||||
getServletContext().getRequestDispatcher("/WEB-INF/feuilleGardesJSP.jsp").forward(request, response);
|
||||
}
|
||||
|
||||
/**
|
@@ -1,129 +1,129 @@
|
||||
package util;
|
||||
/*
|
||||
* Classe abstraite facilitant le traitement des dates
|
||||
* Toutes les méthodes sont statiques, appel : TrmtDate.nomMéthode
|
||||
*/
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Calendar;
|
||||
import java.util.GregorianCalendar;
|
||||
import java.util.Locale;
|
||||
import java.util.TimeZone;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Dominique_2
|
||||
*/
|
||||
public abstract class TrmtDate {
|
||||
static Calendar cal = new GregorianCalendar(TimeZone.getTimeZone("Europe/Paris"));
|
||||
|
||||
/**
|
||||
* Recherche de la date du début de la semaine courante
|
||||
* @return date du lundi de la semaine, format Calendar
|
||||
*/
|
||||
public static Calendar getDateDebutSemaine() {
|
||||
return getDateDebutSemaine(getDateDuJour());
|
||||
}
|
||||
|
||||
/**
|
||||
* Recherche de la date du début de semaine à partir de la date passée en paramètre
|
||||
* @param c Calendar, date de recherche
|
||||
* @return Calendar, début semaine à partir de c
|
||||
*/
|
||||
public static Calendar getDateDebutSemaine(Calendar c) {
|
||||
Calendar leCal = getClone(c);
|
||||
leCal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
|
||||
//System.out.println("Date du lundi correspondant : " + nvCal.getTime());
|
||||
return leCal;
|
||||
}
|
||||
/**
|
||||
* Retourne la date passée en paramètre sous la forme : lun.05/10 par exemple
|
||||
* @param d date à transformer
|
||||
* @return chaine de car., forme lun.05/10 par exemple
|
||||
*/
|
||||
public static String getDateAAfficher(Calendar d) {
|
||||
Locale locale = Locale.getDefault();
|
||||
String dateAAfficher = d.getDisplayName(Calendar.DAY_OF_WEEK, Calendar.SHORT, locale);
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM");
|
||||
String jrMois = sdf.format(d.getTime());
|
||||
dateAAfficher += jrMois;
|
||||
return dateAAfficher;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retourne une date égale à la date passée en paramètre plus le nb jours indiqués
|
||||
* @param dateInit date initiale, format Calendar
|
||||
* @param days nb jours à ajouter
|
||||
* @return dateInit + days, format Calendar
|
||||
*/
|
||||
public static Calendar addDays(Calendar dateInit, int days) {
|
||||
Calendar leCal = getClone(dateInit);
|
||||
leCal.setTime(dateInit.getTime());
|
||||
leCal.add(Calendar.DAY_OF_MONTH, days);
|
||||
return leCal;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retourne une instance de Calendar correspondant à la date au format SQl
|
||||
* passée en paramètre
|
||||
* @param sqlDate : date au format java.sql.Date
|
||||
* @return instance de Calendar
|
||||
*/
|
||||
public static Calendar getCalDate(java.sql.Date sqlDate) {
|
||||
cal.setTime(new java.util.Date(sqlDate.getTime()));
|
||||
return cal;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retourne une date sql à partir d'une instance de Calendar
|
||||
* @param unCal
|
||||
* @return date sql
|
||||
*/
|
||||
public static java.sql.Date getSQLDate(Calendar unCal) {
|
||||
return new java.sql.Date(unCal.getTimeInMillis());
|
||||
}
|
||||
|
||||
/**
|
||||
* Retourne une instance de Calendar correspondant à la date
|
||||
* passée en paramètre
|
||||
* @param utilDate : date au format java.util.Date
|
||||
* @return instance de Calendar
|
||||
*/
|
||||
public static Calendar getCalDate(java.util.Date utilDate) {
|
||||
cal.setTime(utilDate);
|
||||
return cal;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retourne la date du jour au format SQL
|
||||
* @return Date au format sql
|
||||
*/
|
||||
public static java.sql.Date getSQLDateDuJour() {
|
||||
return java.sql.Date.valueOf(java.time.LocalDate.now());
|
||||
}
|
||||
|
||||
/**
|
||||
* Retourne la date du jour au format Calendar
|
||||
* @return Calendar
|
||||
*/
|
||||
public static Calendar getDateDuJour() {
|
||||
Calendar nvCal = new GregorianCalendar(TimeZone.getTimeZone("Europe/Paris"));
|
||||
nvCal.set(Calendar.HOUR_OF_DAY, 0);
|
||||
nvCal.set(Calendar.MINUTE, 0);
|
||||
nvCal.set(Calendar.SECOND, 0);
|
||||
nvCal.set(Calendar.MILLISECOND, 0);
|
||||
//System.out.println("Date du jour : " + nvCal.getTime());
|
||||
return nvCal;
|
||||
}
|
||||
|
||||
/**
|
||||
* Permet d'obtenir une autre instance de Calendar identique à celle passée en paramètre
|
||||
* @param c Calendar à cloner
|
||||
* @return nouvelle instance de Calendar
|
||||
*/
|
||||
public static Calendar getClone(Calendar c) {
|
||||
Calendar leCal = Calendar.getInstance();
|
||||
leCal.setTime(c.getTime());
|
||||
return leCal;
|
||||
}
|
||||
}
|
||||
package util;
|
||||
/*
|
||||
* Classe abstraite facilitant le traitement des dates
|
||||
* Toutes les méthodes sont statiques, appel : TrmtDate.nomMéthode
|
||||
*/
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Calendar;
|
||||
import java.util.GregorianCalendar;
|
||||
import java.util.Locale;
|
||||
import java.util.TimeZone;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Dominique_2
|
||||
*/
|
||||
public abstract class TrmtDate {
|
||||
static Calendar cal = new GregorianCalendar(TimeZone.getTimeZone("Europe/Paris"));
|
||||
|
||||
/**
|
||||
* Recherche de la date du début de la semaine courante
|
||||
* @return date du lundi de la semaine, format Calendar
|
||||
*/
|
||||
public static Calendar getDateDebutSemaine() {
|
||||
return getDateDebutSemaine(getDateDuJour());
|
||||
}
|
||||
|
||||
/**
|
||||
* Recherche de la date du début de semaine à partir de la date passée en paramètre
|
||||
* @param c Calendar, date de recherche
|
||||
* @return Calendar, début semaine à partir de c
|
||||
*/
|
||||
public static Calendar getDateDebutSemaine(Calendar c) {
|
||||
Calendar leCal = getClone(c);
|
||||
leCal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
|
||||
//System.out.println("Date du lundi correspondant : " + nvCal.getTime());
|
||||
return leCal;
|
||||
}
|
||||
/**
|
||||
* Retourne la date passée en paramètre sous la forme : lun.05/10 par exemple
|
||||
* @param d date à transformer
|
||||
* @return chaine de car., forme lun.05/10 par exemple
|
||||
*/
|
||||
public static String getDateAAfficher(Calendar d) {
|
||||
Locale locale = Locale.getDefault();
|
||||
String dateAAfficher = d.getDisplayName(Calendar.DAY_OF_WEEK, Calendar.SHORT, locale);
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM");
|
||||
String jrMois = sdf.format(d.getTime());
|
||||
dateAAfficher += jrMois;
|
||||
return dateAAfficher;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retourne une date égale à la date passée en paramètre plus le nb jours indiqués
|
||||
* @param dateInit date initiale, format Calendar
|
||||
* @param days nb jours à ajouter
|
||||
* @return dateInit + days, format Calendar
|
||||
*/
|
||||
public static Calendar addDays(Calendar dateInit, int days) {
|
||||
Calendar leCal = getClone(dateInit);
|
||||
leCal.setTime(dateInit.getTime());
|
||||
leCal.add(Calendar.DAY_OF_MONTH, days);
|
||||
return leCal;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retourne une instance de Calendar correspondant à la date au format SQl
|
||||
* passée en paramètre
|
||||
* @param sqlDate : date au format java.sql.Date
|
||||
* @return instance de Calendar
|
||||
*/
|
||||
public static Calendar getCalDate(java.sql.Date sqlDate) {
|
||||
cal.setTime(new java.util.Date(sqlDate.getTime()));
|
||||
return cal;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retourne une date sql à partir d'une instance de Calendar
|
||||
* @param unCal
|
||||
* @return date sql
|
||||
*/
|
||||
public static java.sql.Date getSQLDate(Calendar unCal) {
|
||||
return new java.sql.Date(unCal.getTimeInMillis());
|
||||
}
|
||||
|
||||
/**
|
||||
* Retourne une instance de Calendar correspondant à la date
|
||||
* passée en paramètre
|
||||
* @param utilDate : date au format java.util.Date
|
||||
* @return instance de Calendar
|
||||
*/
|
||||
public static Calendar getCalDate(java.util.Date utilDate) {
|
||||
cal.setTime(utilDate);
|
||||
return cal;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retourne la date du jour au format SQL
|
||||
* @return Date au format sql
|
||||
*/
|
||||
public static java.sql.Date getSQLDateDuJour() {
|
||||
return java.sql.Date.valueOf(java.time.LocalDate.now());
|
||||
}
|
||||
|
||||
/**
|
||||
* Retourne la date du jour au format Calendar
|
||||
* @return Calendar
|
||||
*/
|
||||
public static Calendar getDateDuJour() {
|
||||
Calendar nvCal = new GregorianCalendar(TimeZone.getTimeZone("Europe/Paris"));
|
||||
nvCal.set(Calendar.HOUR_OF_DAY, 0);
|
||||
nvCal.set(Calendar.MINUTE, 0);
|
||||
nvCal.set(Calendar.SECOND, 0);
|
||||
nvCal.set(Calendar.MILLISECOND, 0);
|
||||
//System.out.println("Date du jour : " + nvCal.getTime());
|
||||
return nvCal;
|
||||
}
|
||||
|
||||
/**
|
||||
* Permet d'obtenir une autre instance de Calendar identique à celle passée en paramètre
|
||||
* @param c Calendar à cloner
|
||||
* @return nouvelle instance de Calendar
|
||||
*/
|
||||
public static Calendar getClone(Calendar c) {
|
||||
Calendar leCal = Calendar.getInstance();
|
||||
leCal.setTime(c.getTime());
|
||||
return leCal;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user