executerRequete($sql, array($_SESSION['codeSociete'],$numeroEncaissement)); return ($resultat->rowCount() > 0); } public function getDenierNumeroEncaissement() { $sql = 'select dernierNumeroEncaissement from numerotationencaissement WHERE (codeSociete=?)'; $resultat = $this->executerRequete($sql, array($_SESSION['codeSociete'])); if ($resultat->rowCount() == 0) { $sql = 'INSERT INTO numerotationencaissement (codeSociete, dernierNumeroEncaissement) values (?,?)'; $this->executerRequete($sql, array($_SESSION['codeSociete'], "1")); return "0"; } else { $ligne = $resultat->fetch(PDO::FETCH_ASSOC); return $ligne['dernierNumeroEncaissement']; } } public function setDenierNumeroEncaissement($numeroEncaissement) { $sql = 'update numerotationencaissement set dernierNumeroEncaissement=? WHERE (codeSociete=?)'; $this->executerRequete($sql, array($numeroEncaissement, $_SESSION['codeSociete'])); } public function EnregistrerDepot($idEncaissementTemp, $numeroEncaissement) { $sql = 'insert into encaissement (codeSociete, sens, numeroEncaissement, codeApporteur, codeModePaiement, codeMoyenPaiement, referencePaiement, nomTireur, banquePayeur, numeroBordereau, dateBordereau, montant, libelleOperation, dateEncaissement, dateComptable, ecart, codeEcart, dateCre, user, affecte) select codeSociete, sens, ? as numeroEncaissement, codeApporteur, codeModePaiement, codeMoyenPaiement, referencePaiement, nomTireur, banquePayeur, numeroBordereau, dateBordereau, montant, libelleOperation, dateEncaissement, dateComptable, ecart, codeEcart, dateCre, user, 0 as affecte from encaissement_temp where id=?'; $encaissement = $this->executerRequete($sql, array($numeroEncaissement, $idEncaissementTemp)); $dernierId = $this->dernierId(); $user = $_SESSION['login']; $sql = 'DELETE FROM encaissement_temp WHERE (user=?)'; $this->executerRequete($sql, array($user)); return $dernierId; } public function EnregistrerBordereau($idEncaissementTemp) { $user = $_SESSION['login']; $idSaisie = $_SESSION['idSaisie']; $sql = 'CALL sp_Enregistrer_encaissementgarant(?, ?, ?);'; $resultat = $this->executerRequete($sql, array($idEncaissementTemp, $user, $idSaisie))->fetch(PDO::FETCH_ASSOC);; $idEncaissementGarant = $resultat['idEncaissementGarant']; $_SESSION['idEncaissementGarant'] = $idEncaissementGarant; return $idEncaissementGarant; } public function EncaisserQuittance($montant, $primeTtc_Q, $idQuittance, $numeroEncaissement, $codeModePaiement, $codeMoyenPaiement, $referencePaiement, $nomTireur, $banquePayeur, $libelleOperation, $dateEncaissement, $dateComptable, $dateCre, $anc_solde) { $user = $_SESSION['login']; $rapport = 0; if($primeTtc_Q!=0) { $rapport =($montant/$primeTtc_Q); } $sql = 'insert into encaissement (codeSociete, numeroEncaissement, codeApporteur, codeModePaiement, codeMoyenPaiement, referencePaiement, nomTireur, banquePayeur, numeroBordereau, dateBordereau, montant, libelleOperation, dateEncaissement, dateComptable, ecart, codeEcart, dateCre, user, affecte, idClient, idPolice) select A.codeSociete, ? as numeroEncaissement, B.codeApporteur, ? as codeModePaiement, ? as codeMoyenPaiement, ? as referencePaiement, ? as nomTireur, ? as banquePayeur, ? as numeroBordereau, ? as dateBordereau, ? as montant, ? as libelleOperation, ? as dateEncaissement, ? as dateComptable, "0" as ecart, "0" as codeEcart, ? as dateCre, ? as user, ? as affecte, A.idClient, A.idPolice from quittance A join police B on (B.id=A.idPolice) where A.id=?'; $this->executerRequete($sql, array($numeroEncaissement, $codeModePaiement, $codeMoyenPaiement, $referencePaiement, $nomTireur, $banquePayeur, $numeroEncaissement, $dateEncaissement, $montant, $libelleOperation, $dateEncaissement, $dateComptable, $dateCre, $user, $montant, $idQuittance)); $dernierId = $this->dernierId(); $idEncaissement = $dernierId; $_SESSION['idEncaissement'] = $idEncaissement; $sql = 'insert into detailencaissement (codeSociete, idEncaissement, numeroEncaissement, idQuittance, numeroQuittance, primeNette, primeNetteCie, accessoireCie, assesoireApporteur, accessoire, primeHt, taxe, fraisCarte, commission, commissionAutre, primeTtc, dateCre, user, anc_solde, deduireComm, idPolice) select codeSociete, ? as idEncaissement, ? as numeroEncaissement, id as idQuittance, numeroQuittance, primeNette*?, primeNetteCie*?, accessoireCie*?, assesoireApporteur*?, accessoire*?, primeHt*?, taxe*?, fraisCarte*?, commission*?, commissionAutre*?, primeTtc*?, ? as dateCre, ? as user, (primeTtc-encaisse) as anc_solde, deduireComm, idPolice from quittance where id=?'; $this->executerRequete($sql, array($idEncaissement, $numeroEncaissement, $rapport, $rapport, $rapport, $rapport, $rapport, $rapport, $rapport, $rapport, $rapport, $rapport, $rapport, $dateCre, $user, $idQuittance)); $sql = 'update quittance set encaisse = (encaisse+?) where (id=?)'; $this->executerRequete($sql, array($montant, $idQuittance)); if($anc_solde==$montant) { $sql = 'update quittance set regle="1" where (id=?)'; $this->executerRequete($sql, array($idQuittance)); } return $dernierId; } public function getEncaissementId($idEncaissement) { $sql = 'CALL sp_get_encaissement_garant_id(?);'; $encaissement = $this->executerRequete($sql, array($idEncaissement)); return $encaissement->fetch(PDO::FETCH_ASSOC); } public function supprimer($id) { $sql = 'DELETE FROM encaissement WHERE (id=?)'; $this->executerRequete($sql, array($id)); } public function getEncaissementsPolice($idPolice) { $sql = 'SELECT id, numeroQuittance, numeroAvenant, codeTypeOperation, codeTypeAvenant, dateEffet, dateEcheance, dateEmission, primeNette, commission, commissionAutre, accessoire, primeHt, taxe, fraisCarte, primeTtc, encaisse, (primeTtc-encaisse) AS solde, nbAliment FROM quittance WHERE (idPolice=?) ORDER BY numeroQuittance DESC'; $quittances = $this->executerRequete($sql, array($idPolice)); return $quittances; } public function getTotalENcaissementPolice($idPolice) { $sql = 'select IFNULL(sum(primeNette),"0") as primeNette, IFNULL(sum(commission),"0") as commission, IFNULL(sum(commissionAutre),"0") as commissionAutre, IFNULL(sum(accessoire),"0") as accessoire, 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.idPolice=?)'; $totalquittance = $this->executerRequete($sql, array($idPolice)); return $totalquittance->fetch(PDO::FETCH_ASSOC); } public function getEncaissementNo($numeroEncaissement) { $codeSociete = $_SESSION['codeSociete']; $sql = 'CALL sp_get_ancaissement_no(?, ?);'; $resultat = $this->executerRequete($sql, array($codeSociete, $numeroEncaissement)); return $resultat->fetch(PDO::FETCH_ASSOC); } public function getencaissementattente($debut, $fin) { $sql = 'call sp_get_encaissements_attente(?, ?)'; $resultat = $this->executerRequete($sql, array($debut, $fin)); return $resultat->fetchAll(PDO::FETCH_ASSOC); } public function getEncaissementsClient($idClient, $codeModePaiement, $valide) { $codeModePaiement = contruireParamLike($codeModePaiement); $valide = contruireParamLike($valide); $sql = 'CALL sp_get_encaissements_client(?, ?, ?);'; $resultat = $this->executerRequete($sql, array($idClient, $codeModePaiement, $valide)); return $resultat->fetchAll(PDO::FETCH_ASSOC); } public function getgarant(){ $sql = "SELECT codeGcAssureur AS code, CONCAT(libelle, ' [',codeGcAssureur,']') as libelle FROM gc_assureur WHERE codeSociete=? AND actif = '1' AND codeGcAssureur<>'AUC' ORDER BY libelle;"; $resultat = $this->executerRequete($sql,array($_SESSION['codeSociete'])); return $resultat->fetchAll(PDO::FETCH_ASSOC); } }