executerRequete($sql, array($_SESSION['codeSociete'],$numeroQuittance)); return ($resultat->rowCount() > 0); } public function getDenierNumeroQuittance() { $sql = 'select dernierNumeroQuittance from numerotationquittance WHERE (codeSociete=?)'; $resultat = $this->executerRequete($sql, array($_SESSION['codeSociete'])); if ($resultat->rowCount() == 0) { $sql = 'INSERT INTO numerotationquittance (codeSociete, dernierNumeroQuittance) values (?,?)'; $this->executerRequete($sql, array($_SESSION['codeSociete'], "1")); return "0"; } else { $ligne = $resultat->fetch(PDO::FETCH_ASSOC); return $ligne['dernierNumeroQuittance']; } } public function setDenierNumeroQuittance($numeroQuittance) { $sql = 'update numerotationquittance set dernierNumeroQuittance=? WHERE (codeSociete=?)'; $this->executerRequete($sql, array($numeroQuittance, $_SESSION['codeSociete'])); } public function facturer($idPolice, $numeroQuittance, $nbAliment) { $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 FROM beneficiaire A WHERE (A.codeSociete=?) AND (A.idPolice=?) AND (A.codeEtatFacturation ="9") AND (A.primeTtc!=0)'; $totaafacturer = $this->executerRequete($sql, array($_SESSION['codeSociete'], $idPolice)); $prime = $totaafacturer->fetch(PDO::FETCH_ASSOC); $dateEmission = date("Y-m-d"); $dateCre = date("Y-m-d"); $user = $_SESSION['login']; $primeNette = $prime['primeNette']; $primeHt = $prime['primeHt']; $taxe = $prime['taxe']; $fraisCarte = $prime['fraisCarte']; $primeTtc = $prime['primeTtc']; $commission = $prime['commission']; $idQuittance = $this->ajouter($idPolice, $numeroQuittance, $dateEmission, $primeNette, $primeHt, $taxe, $fraisCarte, $primeTtc, $commission, $dateCre, $user, $nbAliment); return $idQuittance; } public function ajouter($idPolice, $numeroQuittance, $dateEmission, $primeNette, $primeHt, $taxe, $fraisCarte, $primeTtc, $commission, $dateCre, $user, $nbAliment) { $sql = 'INSERT INTO quittance (codeSociete, idClient, numeroClient, idPolice, numeroPolice, numeroQuittance, codeTypeAvenant, codeTypeOperation, numeroAvenant, dateEffet, dateEcheance, dateEmission, primeNette, primeHt, taxe, fraisCarte, primeTtc, commission, dateCre, user, nbAliment, deduireComm) SELECT codeSociete, idClient, numeroClient, A.id AS idPolice, numeroPolice, ? AS numeroQuittance, A.codeTypeAvenant, "EMI" AS codeTypeOperation, numeroAvenant, dateEffet, dateEcheance, ? AS dateEmission, ? AS primeNette, ? As primeHt, ? AS taxe, ? AS fraisCarte, ? AS primeTtc, ? AS commission, ? AS dateCre, ? AS user, ? as nbAliment, deduireComm FROM police A WHERE (id=?)'; $this->executerRequete($sql, array($numeroQuittance, $dateEmission, $primeNette, $primeHt, $taxe, $fraisCarte, $primeTtc, $commission, $dateCre, $user, $nbAliment, $idPolice)); return $this->dernierId(); } public function solderquittance($idQuittance) { $idEncaissementTemp = $_SESSION['idEncaissementTemp']; $dateCre = date("Y-m-d"); $user = $_SESSION['login']; $sql = 'insert into detailencaissement_temp (codeSociete, idEncaissement, idQuittance, numeroQuittance, primeNette, primeNetteCie, accessoireCie, assesoireApporteur, accessoire, primeHt, taxe, fraisCarte, commission, commissionAutre, primeTtc, dateCre, user, regle, anc_solde, deduireComm, idPolice) select codeSociete, ? as idEncaissement, id as idQuittance, numeroQuittance, primeNette, primeNetteCie, accessoireCie, assesoireApporteur, accessoire, primeHt, taxe, fraisCarte, commission, commissionAutre, (primeTtc-encaisse) as primeTtc, ? as dateCre, ? user, "1" as regle, (primeTtc-encaisse) as anc_solde, deduireComm, idPolice from quittance where id=?'; $this->executerRequete($sql, array($idEncaissementTemp, $dateCre, $user, $idQuittance)); } public function ajouteracomptequittance($idQuittance, $montantAcpte, $primeTtcAcpte) { $idEncaissementTemp = $_SESSION['idEncaissementTemp']; $dateCre = date("Y-m-d"); $user = $_SESSION['login']; $rapport = 0; if($primeTtcAcpte!=0) { $rapport =($montantAcpte/$primeTtcAcpte); } $sql = 'insert into detailencaissement_temp (codeSociete, idEncaissement, idQuittance, numeroQuittance, primeNette, primeNetteCie, accessoireCie, assesoireApporteur, accessoire, primeHt, taxe, fraisCarte, commission, commissionAutre, primeTtc, dateCre, user, anc_solde, deduireComm, idPolice) select codeSociete, ? as idEncaissement, id as idQuittance, numeroQuittance, primeNette*?, primeNetteCie*?, accessoireCie*?, assesoireApporteur*?, accessoire*?, primeHt*?, taxe*?, fraisCarte*?, commission*?, commissionAutre*?, primeTtc*?, ? as dateCre, ? user, (primeTtc-encaisse) as anc_solde, deduireComm, idPolice from quittance where id=?'; $this->executerRequete($sql, array($idEncaissementTemp, $rapport, $rapport, $rapport, $rapport, $rapport, $rapport, $rapport, $rapport, $rapport, $rapport, $rapport, $dateCre, $user, $idQuittance)); } public function getQuittance($numeroQuittance) { } public function getQuittanceId($idQuittance) { $sql = 'SELECT A.id, A.id AS idQuittance, A.numeroQuittance, A.codeTypeAvenant, B.libelle AS typeavenant, B.libelleEng AS typeavenantEng, A.codeTypeOperation, C.libelle AS typeoperation, C.libelleEng AS typeoperationEng, A.numeroAvenant, A.dateEffet, A.dateEcheance, libelleQuittance, A.dateEmission, A.primeNette, A.primeHt, A.taxe, A.fraisCarte, A.primeTtc, A.commission, A.encaisse, (A.primeTtc-A.encaisse) AS solde, nbAliment, numeroEmission FROM quittance A LEFT JOIN typeavenant B ON (B.codeTypeAvenant=A.codeTypeAvenant) LEFT JOIN typeoperation C ON (C.codeTypeOperation=A.codeTypeOperation) WHERE A.id=?'; $resultat = $this->executerRequete($sql, array($idQuittance)); return $resultat->fetch(PDO::FETCH_ASSOC); } public function supprimer($id) { $sql = 'DELETE FROM quittance WHERE (id=?)'; $this->executerRequete($sql, array($id)); } public function getQuittancesId($idPolice) { $dateJour = date("Y-m-d"); $sql = 'call sp_emissions_police(?, ?)'; $quittances = $this->executerRequete($sql, array($idPolice, $dateJour)); return $quittances->fetchAll(PDO::FETCH_ASSOC); } public function getQuittancesimpayees($idClient) { $sql = 'SELECT A.*, (A.primeTtc-A.encaisse) AS solde, B.idEncaissement FROM quittance A left join detailencaissement_temp B on (B.codeSociete=A.codeSociete) and (B.idQuittance=A.id) WHERE (A.idClient=?) AND (A.primeTtc!=A.encaisse) ORDER BY numeroQuittance'; $quittances = $this->executerRequete($sql, array($idClient)); return $quittances; } public function getTotalQuittance($idPolice) { $dateJour = date("Y-m-d"); $sql = 'call sp_emissions_total_police(?, ?)'; $totalquittance = $this->executerRequete($sql, array($idPolice, $dateJour)); return $totalquittance->fetch(PDO::FETCH_ASSOC); } public function getTotalQuittanceImpayee($idClient) { $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 quittance A WHERE (idClient=?) AND (primeTtc!=encaisse)'; $totalquittance = $this->executerRequete($sql, array($idClient)); return $totalquittance->fetch(PDO::FETCH_ASSOC); } public function getQuittancesEmission($idEmission) { $sql = 'call sp_get_quittances_emission(?)'; $resultat = $this->executerRequete($sql, array($idEmission)); return $resultat->fetchAll(PDO::FETCH_ASSOC); } public function getTotalQuittanceEmission($idEmission) { $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 quittance A WHERE (A.idEmission=?)'; $totalquittance = $this->executerRequete($sql, array($idEmission)); return $totalquittance->fetch(PDO::FETCH_ASSOC); } public function getQuittancesPolicePeriode($idPolice, $debut, $fin) { $sql = 'call sp_emissions_police_periode(?, ?, ?)'; $quittances = $this->executerRequete($sql, array($idPolice, $debut, $fin)); return $quittances->fetchAll(PDO::FETCH_ASSOC); } public function getTotalQuittancePeriode($idPolice, $debut, $fin) { $sql = 'call sp_emissions_total_police_periode(?, ?, ?)'; $totalquittance = $this->executerRequete($sql, array($idPolice, $debut, $fin)); return $totalquittance->fetch(PDO::FETCH_ASSOC); } public function getQuittanceIdExport($idQuittance) { $sql = 'call sp_get_quittance_id(?)'; $resultat = $this->executerRequete($sql, array($idQuittance)); return $resultat->fetch(PDO::FETCH_ASSOC); } }