prestation/Modele/Tachesante.php
2025-12-01 18:54:33 +00:00

235 lines
12 KiB
PHP

<?php
require_once 'Framework/Modele.php';
class Tachesante extends Modele {
public function ajouterTache($codeTypTache, $codeDestinataire, $objet, $dateEcheance, $notes, $emailtache)
{
$numeroAdherent = $_SESSION['numeroAdherent_C'];
$codeUtilisateur = $_SESSION['login'];
$codeInitiateur =$_SESSION['codeInitiateurTache'];
$dateSysteme = date('Y-m-d');
$heureSysteme = date('H:i:s', time());
$sql = 'INSERT INTO tachesante (codeTypTache, codeInitiateur, codeDestinataire, objet, dateEcheance, notes,
codeUtilisateur, dateSysteme, heureSysteme, emailtache, numeroAdherent)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
$this->executerRequete($sql, array($codeTypTache, $codeInitiateur,
$codeDestinataire, $objet, $dateEcheance, $notes, $codeUtilisateur, $dateSysteme, $heureSysteme, $emailtache, $numeroAdherent));
return $this->dernierId();
}
public function ajouterTacheAdherent($codeTypTache, $objet, $dateEcheance, $notes, $emailtache)
{
$numeroAdherent = $_SESSION['numeroAdherent_C'];
$codeDestinataire = "AS";
$codeUtilisateur = $_SESSION['login'];
$codeInitiateur =$_SESSION['codeInitiateurTache'];
$dateSysteme = date('Y-m-d');
$heureSysteme = date('H:i:s', time());
$sql = 'INSERT INTO tachesante (codeTypTache, codeInitiateur, codeDestinataire, objet, dateEcheance, notes,
codeUtilisateur, dateSysteme, heureSysteme, numeroAdherent, emailtache)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
$this->executerRequete($sql, array($codeTypTache, $codeInitiateur,
$codeDestinataire, $objet, $dateEcheance, $notes, $codeUtilisateur, $dateSysteme, $heureSysteme, $numeroAdherent, $emailtache));
return $this->dernierId();
}
public function ajouterTacheAssure($codeTypTache, $codeDestinataire, $objet, $dateEcheance, $notes, $emailtache)
{
$numeroAdherent = $_SESSION['numeroAdherent_C'];
$codeUtilisateur = $_SESSION['login_tache'];
$codeInitiateur =$_SESSION['codeInitiateurTache'];
$dateSysteme = date('Y-m-d');
$heureSysteme = date('H:i:s', time());
$sql = 'INSERT INTO tachesante (codeTypTache, codeInitiateur, codeDestinataire, objet, dateEcheance, notes,
codeUtilisateur, dateSysteme, heureSysteme, numeroAdherent, emailtache)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
$this->executerRequete($sql, array($codeTypTache, $codeInitiateur,
$codeDestinataire, $objet, $dateEcheance, $notes, $codeUtilisateur, $dateSysteme, $heureSysteme, $numeroAdherent, $emailtache));
return $this->dernierId();
}
public function afficherTaches($codeInitiateur, $codeDestinataire, $codeTypTache, $codeEtatTache) {
$codeDestinataire_C = $_SESSION['codeInitiateurTache'];
$codeInitiateur = contruireParamLike($codeInitiateur);
$codeDestinataire = contruireParamLike($codeDestinataire);
$codeTypTache = contruireParamLike($codeTypTache);
$codeEtatTache = contruireParamLike($codeEtatTache);
$sql = 'SELECT A.*, D.libelle AS typtachesante, E.libelle AS etattachesante,
B.acteur AS initiateur, C.acteur AS destinataire,
CONCAT(U1.nom, " ", U1.prenoms) AS saisie_par,
CONCAT(U2.nom, " ", U2.prenoms) AS pointe_par,
IFNULL(CONCAT(AD.nom, " ", AD.prenoms),"") AS assure
FROM tachesante A
LEFT JOIN vw_acteurtache B ON (B.codeSociete=A.codeSociete) AND (B.codeActeurTache=A.codeInitiateur)
LEFT JOIN vw_acteurtache C ON (C.codeSociete=A.codeSociete) AND (C.codeActeurTache=A.codeDestinataire)
LEFT JOIN typtachesante D ON (D.codeTypTache=A.codeTypTache)
LEFT JOIN etattachesante E ON (E.codeEtatTache=A.codeEtatTache)
LEFT JOIN utilisateur U1 ON (U1.codeSociete=A.codeSociete) AND (U1.codeUtilisateur=A.codeUtilisateur)
LEFT JOIN utilisateur U2 ON (U2.codeSociete=A.codeSociete) AND (U2.codeUtilisateur=A.codeUtilisateurPointage)
LEFT JOIN adherent AD ON (AD.codeSociete=A.codeSociete) AND (AD.numeroAdherent=A.numeroAdherent)
WHERE (A.codeSociete=?) AND (A.codeInitiateur LIKE ?) AND (A.codeDestinataire LIKE ?)
AND (A.codeTypTache LIKE ?) AND (A.codeEtatTache LIKE ?)
AND (A.codeInitiateur=? OR A.codeDestinataire=?)
ORDER BY A.id DESC';
$taches = $this->executerRequete($sql, array($_SESSION['codeSociete'], $codeInitiateur, $codeDestinataire, $codeTypTache,
$codeEtatTache, $codeDestinataire_C, $codeDestinataire_C));
return $taches;
}
public function pointerTache($idTache) {
$codeUtilisateurPointage = $_SESSION['login'];
$datePointage = date('Y-m-d');
$heurePointage = date('H:i:s', time());
$sql = 'UPDATE tachesante SET pointe="1", codeEtatTache="1",
codeUtilisateurPointage=?, datePointage=?, heurePointage=? WHERE (id=?)';
$this->executerRequete($sql, array($codeUtilisateurPointage, $datePointage, $heurePointage, $idTache));
}
public function getTache($idTache) {
$sql = 'SELECT A.*, D.libelle AS typtachesante, E.libelle AS etattachesante,
B.acteur AS initiateur, C.acteur AS destinataire,
CONCAT(U1.nom, " ", U1.prenoms) AS saisie_par,
CONCAT(U2.nom, " ", U2.prenoms) AS pointe_par,
IFNULL(CONCAT(AD.nom, " ", AD.prenoms),"") AS assure
FROM tachesante A
LEFT JOIN vw_acteurtache B ON (B.codeSociete=A.codeSociete) AND (B.codeActeurTache=A.codeInitiateur)
LEFT JOIN vw_acteurtache C ON (C.codeSociete=A.codeSociete) AND (C.codeActeurTache=A.codeDestinataire)
LEFT JOIN typtachesante D ON (D.codeTypTache=A.codeTypTache)
LEFT JOIN etattachesante E ON (E.codeEtatTache=A.codeEtatTache)
LEFT JOIN utilisateur U1 ON (U1.codeSociete=A.codeSociete) AND (U1.codeUtilisateur=A.codeUtilisateur)
LEFT JOIN utilisateur U2 ON (U2.codeSociete=A.codeSociete) AND (U2.codeUtilisateur=A.codeUtilisateurPointage)
LEFT JOIN adherent AD ON (AD.codeSociete=A.codeSociete) AND (AD.numeroAdherent=A.numeroAdherent)
WHERE (A.id=?)';
$tache = $this->executerRequete($sql, array($idTache));
return $tache->fetch(PDO::FETCH_ASSOC);
}
public function afficherTachesadherent($codeDestinataire, $codeTypTache, $codeEtatTache) {
$numeroAdherent = $_SESSION['numeroAdherent_C'];
$codeDestinataire_C = $_SESSION['codeInitiateurTache'];
$codeDestinataire = contruireParamLike($codeDestinataire);
$codeTypTache = contruireParamLike($codeTypTache);
$codeEtatTache = contruireParamLike($codeEtatTache);
$sql = 'SELECT A.*, D.libelle AS typtachesante, E.libelle AS etattachesante,
B.acteur AS initiateur, C.acteur AS destinataire,
CONCAT(U1.nom, " ", U1.prenoms) AS saisie_par,
CONCAT(U2.nom, " ", U2.prenoms) AS pointe_par,
IFNULL(CONCAT(AD.nom, " ", AD.prenoms),"") AS assure
FROM tachesante A
LEFT JOIN vw_acteurtache B ON (B.codeSociete=A.codeSociete) AND (B.codeActeurTache=A.codeInitiateur)
LEFT JOIN vw_acteurtache C ON (C.codeSociete=A.codeSociete) AND (C.codeActeurTache=A.codeDestinataire)
LEFT JOIN typtachesante D ON (D.codeTypTache=A.codeTypTache)
LEFT JOIN etattachesante E ON (E.codeEtatTache=A.codeEtatTache)
LEFT JOIN utilisateur U1 ON (U1.codeSociete=A.codeSociete) AND (U1.codeUtilisateur=A.codeUtilisateur)
LEFT JOIN utilisateur U2 ON (U2.codeSociete=A.codeSociete) AND (U2.codeUtilisateur=A.codeUtilisateurPointage)
WHERE (A.codeSociete=?) AND (A.numeroAdherent=?) AND (A.codeDestinataire LIKE ?)
AND (A.codeTypTache LIKE ?) AND (A.codeEtatTache LIKE ?)
AND (A.codeInitiateur=? OR A.codeDestinataire=?)
ORDER BY A.id DESC';
$taches = $this->executerRequete($sql, array($_SESSION['codeSociete'], $numeroAdherent, $codeDestinataire, $codeTypTache,
$codeEtatTache, $codeDestinataire_C, $codeDestinataire_C));
return $taches;
}
public function afficherTachesassure($codeInitiateur, $codeDestinataire, $codeTypTache, $codeEtatTache) {
$numeroAdherent = $_SESSION['numeroAdherent_C'];
$codeDestinataire_C = $_SESSION['codeInitiateurTache'];
$codeInitiateur = contruireParamLike($codeInitiateur);
$codeDestinataire = contruireParamLike($codeDestinataire);
$codeTypTache = contruireParamLike($codeTypTache);
$codeEtatTache = contruireParamLike($codeEtatTache);
$sql = 'SELECT A.*, D.libelle AS typtachesante, E.libelle AS etattachesante,
B.acteur AS initiateur, C.acteur AS destinataire,
CONCAT(U1.nom, " ", U1.prenoms) AS saisie_par,
CONCAT(U2.nom, " ", U2.prenoms) AS pointe_par,
IFNULL(CONCAT(AD.nom, " ", AD.prenoms),"") AS assure
FROM tachesante A
LEFT JOIN vw_acteurtache B ON (B.codeSociete=A.codeSociete) AND (B.codeActeurTache=A.codeInitiateur)
LEFT JOIN vw_acteurtache C ON (C.codeSociete=A.codeSociete) AND (C.codeActeurTache=A.codeDestinataire)
LEFT JOIN typtachesante D ON (D.codeTypTache=A.codeTypTache)
LEFT JOIN etattachesante E ON (E.codeEtatTache=A.codeEtatTache)
LEFT JOIN utilisateur U1 ON (U1.codeSociete=A.codeSociete) AND (U1.codeUtilisateur=A.codeUtilisateur)
LEFT JOIN utilisateur U2 ON (U2.codeSociete=A.codeSociete) AND (U2.codeUtilisateur=A.codeUtilisateurPointage)
WHERE (A.codeSociete=?) AND (A.numeroAdherent=?) AND (A.codeInitiateur LIKE ?)
AND (A.codeDestinataire LIKE ?) AND (A.codeTypTache LIKE ?) AND (A.codeEtatTache LIKE ?)
AND (A.codeInitiateur=? OR A.codeDestinataire=?)
ORDER BY A.id DESC';
$taches = $this->executerRequete($sql, array($_SESSION['codeSociete'], $numeroAdherent, $codeInitiateur, $codeDestinataire, $codeTypTache,
$codeEtatTache, $codeDestinataire_C, $codeDestinataire_C));
return $taches;
}
public function Rqtache($codeInitiateur, $codeDestinataire, $codeTypTache, $codeEtatTache,
$numeroAdherent1, $numeroAdherent2, $date1, $date2, $objet)
{
$codeDestinataire_C = $_SESSION['codeInitiateurTache'];
$codeInitiateur = contruireParamLike($codeInitiateur);
$codeDestinataire = contruireParamLike($codeDestinataire);
$codeTypTache = contruireParamLike($codeTypTache);
$codeEtatTache = contruireParamLike($codeEtatTache);
$objet = contruireParamLike($objet);
If($numeroAdherent1=="0")
{
$numeroAdherent1="";
}
$sql = 'SELECT LOWER(C.acteur) AS destinataire, DATE_FORMAT(A.dateEcheance, "%d/%m/%Y") AS dateEcheance,
LOWER(A.objet) AS objet, LOWER(B.acteur) AS initiateur, LOWER(D.libelle) AS typtachesante,
IFNULL(CONCAT(A.numeroAdherent, " : ",LOWER(AD.nomAdherent), " ", LOWER(AD.prenomsAdherent)),"") AS assure,
LOWER(TRIM(E.libelle)) AS etattachesante
FROM tachesante A
LEFT JOIN vw_acteurtache B ON (B.codeActeurTache=A.codeInitiateur)
LEFT JOIN vw_acteurtache C ON (C.codeActeurTache=A.codeDestinataire)
LEFT JOIN typtachesante D ON (D.codeTypTache=A.codeTypTache)
LEFT JOIN etattachesante E ON (E.codeEtatTache=A.codeEtatTache)
LEFT JOIN adherent AD ON (AD.numeroAdherent=A.numeroAdherent)
WHERE (A.codeInitiateur LIKE ?) AND (A.codeDestinataire LIKE ?)
AND (A.codeTypTache LIKE ?) AND (A.codeEtatTache LIKE ?)
AND (A.numeroAdherent BETWEEN ? AND ?)
AND (A.dateEcheance BETWEEN ? AND ?)
AND (A.codeInitiateur=? OR A.codeDestinataire=?)
AND (A.objet LIKE ?) ';
// ORDER BY C.acteur, A.dateEcheance DESC, A.objet';
$typeuseur = $_SESSION['codeTypeUtilisateur'];
if($typeuseur=="AS")
{
$sql .= ' AND (A.numeroAdherent=?) ORDER BY C.acteur, A.dateEcheance DESC, A.objet';
$liste = $this->executerRequete($sql, array($codeInitiateur, $codeDestinataire, $codeTypTache,
$codeEtatTache, $numeroAdherent1, $numeroAdherent2, $date1, $date2, $codeDestinataire_C,
$codeDestinataire_C, $objet, $_SESSION["numeroAdherent_C"]));
} else
{
$sql .= ' ORDER BY C.acteur, A.dateEcheance DESC, A.objet';
$liste = $this->executerRequete($sql, array($codeInitiateur, $codeDestinataire, $codeTypTache,
$codeEtatTache, $numeroAdherent1, $numeroAdherent2, $date1, $date2, $codeDestinataire_C,
$codeDestinataire_C, $objet));
}
return $liste->fetchAll(PDO::FETCH_ASSOC);
}
}