prestation/Modele/Produit.php
2025-12-05 10:42:46 +00:00

77 lines
3.9 KiB
PHP
Executable File

<?php
require_once 'Framework/Modele.php';
class Produit extends Modele {
public function getProduits($codeProduit=null,$libelle=null,$reseau=null) {
$codeProduit = contruireParamLike($codeProduit);
$libelle = contruireParamLike($libelle);
$reseau = contruireParamLike($reseau);
$sql = 'select A.id, A.codeSociete, A.codeProduit, A.libelle, A.codeEtatProduit, A.dateEtat, A.codeBaseTarification,
B.libelle as baseTarification, A.primeFixe, A.primeFamille, A.primeIndividu, A.codeReseau, C.libelle as reseausoins
from produit A
left join basetarification B on (B.codeBaseTarification=A.codeBaseTarification)
left join reseausoins C on (C.codeSociete=A.codeSociete AND C.codeReseau=A.codeReseau)
WHERE (A.codeSociete=? AND A.codeProduit LIKE ? AND A.libelle LIKE ? AND C.libelle LIKE ?) order by A.libelle';
$produits = $this->executerRequete($sql, array($_SESSION['p_codeSociete'],$codeProduit,$libelle,$reseau));
return $produits;
}
public function getProduit($id) {
$sql = 'select A.id, A.codeSociete, A.codeProduit, A.libelle, A.codeEtatProduit, A.dateEtat, A.codeBaseTarification,
B.libelle as baseTarification, A.primeFixe, A.primeFamille, A.primeIndividu, A.codeReseau, C.libelle as reseausoins
from produit A
left join basetarification B on (B.codeBaseTarification=A.codeBaseTarification)
left join reseausoins C on (C.codeSociete=A.codeSociete AND C.codeReseau=A.codeReseau)
WHERE (A.codeSociete=?) AND (A.id=?)';
$produit = $this->executerRequete($sql, array($_SESSION['p_codeSociete'], $id));
if ($produit->rowCount() > 0)
return $produit->fetch(PDO::FETCH_ASSOC);
else
throw new Exception("Aucun produit ne correspond à cet id : '$id'");
}
public function getnombreProduit()
{
$sql = 'select count(*) as nbProduit FROM produit A WHERE (A.codeSociete=?)';
$resultat = $this->executerRequete($sql, array($_SESSION['p_codeSociete']));
$ligne = $resultat->fetch(PDO::FETCH_ASSOC);
return $ligne['nbProduit'];
}
public function ajouter($codeSociete,$codeProduit, $libelle, $codeEtatProduit, $dateEtat, $codeBaseTarification, $primeFixe,
$primeFamille, $primeIndividu, $codeReseau) {
$sql = 'INSERT INTO produit (codeSociete, codeProduit, libelle, codeEtatProduit, dateEtat, codeBaseTarification, primeFixe,
primeFamille, primeIndividu, codeReseau)
VALUES (?,?,?,?,?,?,?,?,?,?)';
$this->executerRequete($sql, array($codeSociete, $codeProduit, $libelle, $codeEtatProduit, $dateEtat, $codeBaseTarification, $primeFixe,
$primeFamille, $primeIndividu, $codeReseau));
}
public function modifier($id, $codeProduit, $libelle, $codeEtatProduit, $dateEtat, $codeBaseTarification, $primeFixe,
$primeFamille, $primeIndividu, $codeReseau) {
$sql = 'UPDATE produit SET codeProduit=?, libelle=?, codeEtatProduit=?, dateEtat=?, codeBaseTarification=?, primeFixe=?,
primeFamille=?, primeIndividu=?, codeReseau=?
where (id=?)';
$this->executerRequete($sql, array($codeProduit, $libelle, $codeEtatProduit, $dateEtat, $codeBaseTarification, $primeFixe,
$primeFamille, $primeIndividu, $codeReseau, $id));
}
public function supprimer($id) {
$sql = 'DELETE FROM produit WHERE (id=?)';
$this->executerRequete($sql, array($id));
}
public function existeligne($codeProduit) {
$sql = 'select id FROM produit WHERE (codeSociete=?) and (codeProduit=?)';
$resultat = $this->executerRequete($sql, array($_SESSION['p_codeSociete'],$codeProduit));
return ($resultat->rowCount() > 0);
}
public function getListe() {
$sql = 'SELECT codeProduit as `code`, libelle FROM produit WHERE (codeSociete=?) order by libelle';
$liste = $this->executerRequete($sql,array($_SESSION['p_codeSociete']));
return $liste->fetchAll(PDO::FETCH_ASSOC);
}
}