btn nvl inter + gestion des pompiers dans le form
This commit is contained in:
@@ -63,7 +63,7 @@ class PdoBD
|
||||
{
|
||||
$req = "SELECT pCis, pId, pNom, pPrenom, pStatut
|
||||
FROM pompier
|
||||
WHERE pCis=" . $cis . "
|
||||
WHERE pCis = " . $cis . "
|
||||
ORDER BY pNom;";
|
||||
$rs = PdoBD::$monPdo->query($req);
|
||||
if ($rs === false) {
|
||||
@@ -79,10 +79,10 @@ class PdoBD
|
||||
public function getInfosPompier($login, $mdp)
|
||||
{
|
||||
/*
|
||||
$req = "SELECT pCis, pId as id, pNom as nom, pPrenom as prenom, pStatut, pMail, pLogin, pMdp, pGrade, pAdresse, pCp, pVille, pBip, pCommentaire,
|
||||
'la caserne' as cNom, 'adresse' as cAdresse, 'telephone' as cTel, 'le groupement' as cGroupement, 'le grade' as wGrade, 'le statut' as wStatut, 'le type' as wType
|
||||
FROM pompier";
|
||||
*/
|
||||
$req = "SELECT pCis, pId as id, pNom as nom, pPrenom as prenom, pStatut, pMail, pLogin, pMdp, pGrade, pAdresse, pCp, pVille, pBip, pCommentaire,
|
||||
'la caserne' as cNom, 'adresse' as cAdresse, 'telephone' as cTel, 'le groupement' as cGroupement, 'le grade' as wGrade, 'le statut' as wStatut, 'le type' as wType
|
||||
FROM pompier";
|
||||
*/
|
||||
$req = "SELECT
|
||||
pCis,
|
||||
pId as id,
|
||||
@@ -358,8 +358,8 @@ class PdoBD
|
||||
$lesDispos[$pompier][$laDate][$couleur] = $uneLigne['dCouleur'];
|
||||
}
|
||||
/* echo "<PRE>";
|
||||
print_r($lesDispos);
|
||||
echo "</PRE>";*/
|
||||
print_r($lesDispos);
|
||||
echo "</PRE>";*/
|
||||
return $lesDispos;
|
||||
}
|
||||
|
||||
@@ -543,7 +543,7 @@ class PdoBD
|
||||
return $lesLignes;
|
||||
}
|
||||
|
||||
public function getLastId($pCis) : int
|
||||
public function getLastId($pCis): int
|
||||
{
|
||||
$req = "SELECT MAX(pId) + 1 as id FROM pompier WHERE pCis =" . $pCis . ";";
|
||||
$rs = PdoBD::$monPdo->query($req);
|
||||
@@ -556,11 +556,11 @@ class PdoBD
|
||||
|
||||
public function verifDataAjoutPompier(
|
||||
string $nom,
|
||||
string $prenom,
|
||||
string $tel,
|
||||
string $mail,
|
||||
string $prenom,
|
||||
string $tel,
|
||||
string $mail,
|
||||
string $login
|
||||
) : bool {
|
||||
): bool {
|
||||
|
||||
if (empty($nom) || empty($prenom) || empty($tel) || empty($mail) || empty($login)) {
|
||||
return false;
|
||||
@@ -569,6 +569,111 @@ class PdoBD
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* PARTIE INTERVENTION
|
||||
*/
|
||||
public function motifIntervention()
|
||||
{
|
||||
$req = "SELECT pIndice, pLibelle
|
||||
FROM `parametre`
|
||||
WHERE pType = 'cateInt'
|
||||
ORDER BY pLibelle;";
|
||||
$cat = PdoBD::$monPdo->query($req);
|
||||
$cat = $cat->fetchAll();
|
||||
|
||||
//Valeur : nbUtil
|
||||
//Plancher : Time
|
||||
//Plafond: nbPompier estimé
|
||||
$reqType = "SELECT pIndice, pLibelle, pValeur, pPlancher, pPlafond
|
||||
FROM parametre
|
||||
WHERE pType = 'typeInt'
|
||||
ORDER BY pLibelle;";
|
||||
$type = PdoBD::$monPdo->query($reqType);
|
||||
$type = $type->fetchAll();
|
||||
|
||||
$response = [];
|
||||
|
||||
foreach ($cat as $uneCat) {
|
||||
$table = [];
|
||||
foreach ($type as $row) {
|
||||
if (substr($row['pIndice'], -3, 1) === $uneCat['pIndice']) {
|
||||
array_push($table, $row);
|
||||
}
|
||||
}
|
||||
$response[$uneCat['pLibelle']] = $table;
|
||||
}
|
||||
|
||||
return $response;
|
||||
}
|
||||
|
||||
public function getPompiersDispo(string $date, int $tranche, int $caserne)
|
||||
{
|
||||
$req = "SELECT pompier.pId, pompier.pNom, pompier.pPrenom, g.pLibelle AS statut, 0 AS enIntervention, p.pLibelle, p.pValeur
|
||||
FROM `pompier`
|
||||
INNER JOIN activite ON pompier.pId = activite.aPompier
|
||||
AND activite.aCis = pompier.pCis
|
||||
INNER JOIN parametre p ON p.pType = 'dispo' AND p.pIndice = activite.aDisponibilite
|
||||
INNER JOIN parametre g ON g.pType = 'grade' AND g.pIndice = pompier.pGrade
|
||||
WHERE activite.aGarde = 1
|
||||
AND pCis = :caserne
|
||||
AND activite.aDateGarde = :date
|
||||
AND activite.aTranche = :tranche
|
||||
AND pompier.pId NOT IN(SELECT ePompier
|
||||
FROM equipe
|
||||
INNER JOIN intervention on intervention.iId = equipe.eIntervention AND intervention.iCis = equipe.eCis
|
||||
WHERE intervention.iHeureFin is null
|
||||
AND intervention.iDate = :date
|
||||
AND intervention.iTranche = :tranche
|
||||
AND intervention.iCis = :caserne
|
||||
)
|
||||
|
||||
UNION
|
||||
|
||||
SELECT pompier.pId, pompier.pNom, pompier.pPrenom, g.pLibelle AS statut, 1 AS enIntervention, p.pLibelle, 'grey'
|
||||
FROM equipe
|
||||
INNER JOIN pompier on equipe.ePompier = pompier.pId
|
||||
AND equipe.eCis = pompier.pCis
|
||||
INNER JOIN intervention on intervention.iId = equipe.eIntervention
|
||||
AND intervention.iCis = equipe.eCis
|
||||
INNER JOIN activite on pompier.pId = activite.aPompier
|
||||
AND activite.aCis = pompier.pCis
|
||||
AND activite.aDateGarde = intervention.iDate
|
||||
AND activite.aTranche = intervention.iTranche
|
||||
INNER JOIN parametre p ON p.pType = 'dispo' AND p.pIndice = activite.aDisponibilite
|
||||
INNER JOIN parametre g ON g.pType = 'grade' AND g.pIndice = pompier.pGrade
|
||||
WHERE intervention.iHeureFin is null
|
||||
AND intervention.iTranche = :tranche
|
||||
AND intervention.iDate = :date
|
||||
AND equipe.eCis = :caserne;";
|
||||
|
||||
$result = PdoBD::$monPdo->prepare($req);
|
||||
$result->bindParam(':date', $date); // 2023-09-23
|
||||
$result->bindParam(':tranche', $tranche); //2
|
||||
$result->bindParam(':caserne', $caserne); //2924
|
||||
|
||||
$result->execute();
|
||||
return $result->fetchAll();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
SELECT pompier.*, 0 AS enIntervention, activite.aDisponibilite
|
||||
FROM `pompier`
|
||||
INNER JOIN activite ON pompier.pId = activite.aPompier AND activite.aCis = pompier.pCis
|
||||
WHERE pCis = 2924 AND activite.aDateGarde = '2023-09-23' AND activite.aTranche = 2 AND activite.aGarde = 1
|
||||
AND pompier.pId NOT IN(SELECT ePompier
|
||||
FROM equipe
|
||||
INNER JOIN intervention on intervention.iId = equipe.eIntervention AND intervention.iCis = equipe.eCis
|
||||
WHERE intervention.iDate = '2023-09-23' AND intervention.iTranche = 2 AND intervention.iHeureFin is null)
|
||||
|
||||
UNION
|
||||
|
||||
SELECT pompier.*, 1 AS enIntervention, activite.aDisponibilite
|
||||
FROM equipe
|
||||
INNER JOIN pompier on equipe.ePompier = pompier.pId AND equipe.eCis = pompier.pCis
|
||||
INNER JOIN activite on pompier.pId = activite.aPompier AND activite.aCis = pompier.pCis
|
||||
INNER JOIN intervention on intervention.iId = equipe.eIntervention AND intervention.iCis = equipe.eCis
|
||||
WHERE intervention.iDate = '2023-09-23' AND intervention.iTranche = 2 AND intervention.iHeureFin is null;
|
||||
*/
|
||||
?>
|
73
include/gestionInterventions.js
Normal file
73
include/gestionInterventions.js
Normal file
@@ -0,0 +1,73 @@
|
||||
formulaire = $('.formulaire')
|
||||
date = Date.now()
|
||||
|
||||
$(document).ready(function () {
|
||||
|
||||
// $.ajax({
|
||||
// url: "/controleurs/c_interventions.php?action=infoFormulaire",
|
||||
// method: "POST", // Méthode HTTP (GET, POST, etc.)
|
||||
// dataType: "json", // Type de données attendu
|
||||
// error: function(status, error) {
|
||||
// // Gérer les erreurs de la requête AJAX
|
||||
// console.error("Erreur lors de la requête AJAX :", status, error);
|
||||
// },
|
||||
// success: function(result) {
|
||||
|
||||
// }
|
||||
// });
|
||||
|
||||
$('#caserneInter').change(function () {
|
||||
console.log($(this).val());
|
||||
caserne = $(this).val()
|
||||
//cis
|
||||
$.ajax({
|
||||
url: "./../controleurs/c_interventions.php?action=listePompier&cis=" + caserne,
|
||||
method: "POST", // Méthode HTTP (GET, POST, etc.)
|
||||
dataType: "json", // Type de données attendu
|
||||
error: function (status, error) {
|
||||
// Gérer les erreurs de la requête AJAX
|
||||
console.error("Erreur lors de la requête AJAX :", status, error);
|
||||
},
|
||||
success: function (result) {
|
||||
$('#pompierDispo').html(' ');
|
||||
result.forEach(element => {
|
||||
var ligne = '<div id='
|
||||
+ element['pId']
|
||||
+ ' class="' + element['pLibelle']
|
||||
+ '" style = "background-color: ' + element['pValeur'] + ';" draggable = "true" ondragstart = "dragstartHandler(event)" >'
|
||||
+ element['pPrenom'] + ' ' + element['pNom']
|
||||
+ ' (' + element['statut'] + ')'
|
||||
+ '</div> ';
|
||||
|
||||
$('#pompierDispo').append(ligne)
|
||||
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
function dragstartHandler(ev) {
|
||||
// Add the target element's id to the data transfer object
|
||||
ev.dataTransfer.setData("application/my-app", ev.target.id);
|
||||
ev.dataTransfer.effectAllowed = "move";
|
||||
}
|
||||
function dragoverHandler(ev) {
|
||||
ev.preventDefault();
|
||||
ev.dataTransfer.dropEffect = "move";
|
||||
}
|
||||
function dropHandler(ev) {
|
||||
ev.preventDefault();
|
||||
// Get the id of the target and add the moved element to the target's DOM
|
||||
const data = ev.dataTransfer.getData("application/my-app");
|
||||
if (ev.target.id === "target" || ev.target.parentNode.id === "target") {
|
||||
trgt = document.getElementById('target');
|
||||
} else if (ev.target.id === "pompierDispo" || ev.target.parentNode.id === "pompierDispo") {
|
||||
trgt = document.getElementById('pompierDispo');
|
||||
}
|
||||
trgt.appendChild(document.getElementById(data));
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user