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

84 lines
3.5 KiB
PHP

<?php
require_once 'Framework/Modele.php';
class Affection extends Modele
{
public function getListe($codeTypeAffection)
{
$codeSociete = $_SESSION['p_codeSociete'];
if ($_SESSION['p_AffectionVisible']=="1")
{
if (isset($_SESSION['p_lang']) && $_SESSION['p_lang']=="en_US")
{
$sql = 'SELECT codeAffection AS `code`, libelleEng as libelle FROM p_affection
WHERE (codeSociete=? AND codeTypeAffection=?) ORDER BY libelleEng;';
}
else
{
$sql = 'SELECT codeAffection AS `code`, libelle FROM p_affection
WHERE (codeSociete=? AND codeTypeAffection=?) ORDER BY libelle;';
}
}
else
{
$sql = 'SELECT codeAffection AS `code`, codeAffection as libelle FROM p_affection
WHERE (codeSociete=? AND codeTypeAffection=?) ORDER BY codeAffection;';
}
$resultat = $this->executerRequete($sql, array($codeSociete, $codeTypeAffection));
return $resultat->fetchAll(PDO::FETCH_ASSOC);
}
public function getAffections($codeAffection=null,$libelle=null) {
$codeAffection = contruireParamLike($codeAffection);
$libelle = contruireParamLike($libelle);
$sql = 'SELECT A.id, A.codeSociete, A.codeAffection, A.libelle, A.codeType, B.libelle as libelleType
FROM affection A left join typeaffection B on (B.codeSociete=A.codeSociete AND B.codeType=A.codeType)
WHERE (A.codeSociete=? AND A.codeAffection LIKE ? AND A.libelle LIKE ?) order by A.libelle';
$resultat = $this->executerRequete($sql, array($_SESSION['p_codeSociete'],$codeAffection,$libelle));
return $resultat->fetchAll(PDO::FETCH_ASSOC);
}
public function getAffection($id) {
$sql = 'SELECT A.id, A.codeSociete, A.codeAffection, A.libelle, A.codeType, B.libelle as libelleType
FROM affection A left join typeaffection B on (B.codeSociete=A.codeSociete AND B.codeType=A.codeType)
WHERE (A.codeSociete=?) AND (A.id=?)';
$affection = $this->executerRequete($sql, array($_SESSION['p_codeSociete'], $id));
if ($affection->rowCount() > 0)
return $affection->fetch(PDO::FETCH_ASSOC);
else
throw new Exception("Aucun affection ne correspond à cet id : '$id'");
}
public function getnombreAffection()
{
$sql = 'select count(*) as nbAffection FROM affection A WHERE (A.codeSociete=?)';
$resultat = $this->executerRequete($sql, array($_SESSION['p_codeSociete']));
$ligne = $resultat->fetch(PDO::FETCH_ASSOC);
return $ligne['nbAffection'];
}
public function ajouter($codeSociete, $codeAffection, $libelle, $codeType) {
$sql = 'INSERT INTO affection (codeSociete, codeAffection, libelle, codeType) VALUES (?,?,?,?)';
$this->executerRequete($sql, array($codeSociete, $codeAffection, $libelle, $codeType));
}
public function modifier($id, $codeAffection, $libelle, $codeType) {
$sql = 'UPDATE affection SET codeAffection=?, libelle=?, codeType=? where (id=?)';
$this->executerRequete($sql, array($codeAffection, $libelle, $codeType, $id));
}
public function supprimer($id) {
$sql = 'DELETE FROM affection WHERE (id=?)';
$this->executerRequete($sql, array($id));
}
public function existeligne($codeAffection) {
$sql = 'select id FROM affection WHERE (codeSociete=?) and (codeAffection=?)';
$resultat = $this->executerRequete($sql, array($_SESSION['p_codeSociete'],$codeAffection));
return ($resultat->rowCount() > 0);
}
}