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

131 lines
4.4 KiB
PHP
Executable File

<?php
require_once 'Framework/Modele.php';
class Emission extends Modele {
public function existeligne($numeroEmission) {
$sql = 'select id FROM emission WHERE (codeSociete=?) and (numeroEmission=?)';
$resultat = $this->executerRequete($sql, array($_SESSION['codeSociete'],$numeroEmission));
return ($resultat->rowCount() > 0);
}
public function facturer($idPolice, $numeroEmission, $numeroQuittance)
{
$sql = 'call sp_init_echeancier(?, ?, ?, ?, ?)';
$resultat = $this->executerRequete($sql, array($idPolice, $numeroEmission, $numeroQuittance, $_SESSION['login'], $_SESSION['codeSociete']));
$ligne = $resultat->fetch(PDO::FETCH_ASSOC);
return $ligne['idEmission'];
}
public function getDenierNumeroEmission()
{
$sql = 'select dernierNumeroEmission from numerotationemission WHERE (codeSociete=?)';
$resultat = $this->executerRequete($sql, array($_SESSION['codeSociete']));
if ($resultat->rowCount() == 0)
{
$sql = 'INSERT INTO numerotationemission (codeSociete, dernierNumeroEmission) values (?,?)';
$this->executerRequete($sql, array($_SESSION['codeSociete'], "1"));
return "0";
} else
{
$ligne = $resultat->fetch(PDO::FETCH_ASSOC);
return $ligne['dernierNumeroEmission'];
}
}
public function setDenierNumeroEmission($numeroEmission)
{
$sql = 'update numerotationemission set dernierNumeroEmission=? WHERE (codeSociete=?)';
$this->executerRequete($sql, array($numeroEmission, $_SESSION['codeSociete']));
}
public function getEmissionId($idEmission)
{
$sql = 'CALL sp_get_emission_id(?);';
$resultat = $this->executerRequete($sql, array($idEmission));
return $resultat->fetch(PDO::FETCH_ASSOC);
}
public function supprimer($id) {
$sql = 'DELETE FROM Emission WHERE (id=?)';
$this->executerRequete($sql, array($id));
}
public function getEmissionsId($idPolice) {
$sql = 'SELECT id, numeroEmission, numeroAvenant, codeTypeOperation, codeTypeAvenant,
dateEffet, dateEcheance, dateEmission, primeNette, commission, primeHt, taxe, fraisCarte,
primeTtc, encaisse, (primeTtc-encaisse) AS solde, nbAliment FROM emission WHERE (idPolice=?)
ORDER BY numeroEmission DESC';
$emissions = $this->executerRequete($sql, array($idPolice));
return $emissions;
}
public function getTotalEmission($idPolice) {
$sql = 'select IFNULL(sum(primeNette),"0") as primeNette, IFNULL(sum(commission),"0") as commission,
IFNULL(sum(primeHt),"0") as primeHt, IFNULL(sum(taxe),"0") as taxe,
IFNULL(sum(fraisCarte),"0") as fraisCarte, IFNULL(sum(primeTtc),"0") as primeTtc,
IFNULL(sum(encaisse),"0") as encaisse, IFNULL(sum(primeTtc-encaisse),"0") as solde
FROM emission A WHERE (A.idPolice=?)';
$totalemission = $this->executerRequete($sql, array($idPolice));
return $totalemission->fetch(PDO::FETCH_ASSOC);
}
public function getEmissionNo($numeroEmission)
{
$codeSociete = $_SESSION['codeSociete'];
$sql = 'CALL sp_get_emission_no(?, ?);';
$resultat = $this->executerRequete($sql, array($codeSociete, $numeroEmission));
return $resultat->fetch(PDO::FETCH_ASSOC);
}
public function getbeneficiaireprimeemission($idEmission)
{
$sql = 'CALL sp_get_beneficiaire_prime_emission(?);';
$resultat = $this->executerRequete($sql, array($idEmission));
return $resultat->fetchAll(PDO::FETCH_ASSOC);
}
public function getbeneficiaireprimeadherent($idAdherent, $debutPeriode, $finPeriode)
{
if (est_anglophone())
{
$sql = 'call sp_get_beneficiaire_prime_adherent_eng(?, ?, ?)';
}
else
{
$sql = 'call sp_get_beneficiaire_prime_adherent(?, ?, ?)';
}
$resultat = $this->executerRequete($sql, array($idAdherent, $debutPeriode, $finPeriode));
return $resultat->fetchAll(PDO::FETCH_ASSOC);
}
public function getbeneficiaireprimebeneficiaire($idBeneficiaire, $debutPeriode, $finPeriode)
{
if (est_anglophone())
{
$sql = 'call sp_get_beneficiaire_prime_beneficiaire_eng(?, ?, ?)';
}
else
{
$sql = 'call sp_get_beneficiaire_prime_beneficiaire(?, ?, ?)';
}
$resultat = $this->executerRequete($sql, array($idBeneficiaire, $debutPeriode, $finPeriode));
return $resultat->fetchAll(PDO::FETCH_ASSOC);
}
}