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

116 lines
5.6 KiB
PHP

<?php
require_once 'Framework/Modele.php';
class Encaissement_temp extends Modele {
public function initEncaissement($codeSociete, $codeApporteur, $codeModePaiement, $codeMoyenPaiement,
$referencePaiement, $nomTireur, $banquePayeur, $numeroBordereau, $dateBordereau, $montant,
$libelleOperation, $dateEncaissement, $dateComptable, $dateCre, $user)
{
$sql = 'DELETE FROM encaissement_temp WHERE (user=?)';
$this->executerRequete($sql, array($user));
$sql = 'DELETE FROM detailencaissement_temp WHERE (user=?)';
$this->executerRequete($sql, array($user));
$sql = 'INSERT INTO encaissement_temp (codeSociete, codeApporteur, codeModePaiement, codeMoyenPaiement, referencePaiement,
nomTireur, banquePayeur, numeroBordereau, dateBordereau, montant, libelleOperation,
dateEncaissement, dateComptable, dateCre, user)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
$this->executerRequete($sql, array($codeSociete, $codeApporteur, $codeModePaiement, $codeMoyenPaiement,
$referencePaiement, $nomTireur, $banquePayeur, $numeroBordereau, $dateBordereau, $montant,
$libelleOperation, $dateEncaissement, $dateComptable, $dateCre, $user));
$idEncaissementTemp = $this->dernierId();
$_SESSION['idEncaissementTemp'] = $idEncaissementTemp;
$_SESSION['codeApporteur'] = $codeApporteur;
return $idEncaissementTemp;
}
public function initEncaissementClient($codeSociete, $idClient, $codeModePaiement, $codeMoyenPaiement, $referencePaiement,
$nomTireur, $banquePayeur, $montant, $libelleOperation, $dateEncaissement, $dateComptable, $dateCre, $user)
{
$sql = 'DELETE FROM encaissement_temp WHERE (user=?)';
$this->executerRequete($sql, array($user));
$sql = 'DELETE FROM detailencaissement_temp WHERE (user=?)';
$this->executerRequete($sql, array($user));
$sql = 'INSERT INTO encaissement_temp (codeSociete, idClient, codeModePaiement, codeMoyenPaiement, referencePaiement,
nomTireur, banquePayeur, montant, libelleOperation, dateEncaissement, dateComptable, dateCre, user)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
$this->executerRequete($sql, array($codeSociete, $idClient, $codeModePaiement, $codeMoyenPaiement, $referencePaiement,
$nomTireur, $banquePayeur, $montant, $libelleOperation, $dateEncaissement, $dateComptable, $dateCre, $user));
$idEncaissementTemp = $this->dernierId();
$_SESSION['idEncaissementTemp'] = $idEncaissementTemp;
return $idEncaissementTemp;
}
public function getEncaissementTemp($user)
{
$sql = 'SELECT A.id AS idEncaissementTemp, A.*, B.libelle as apporteur, C.libelle as modepaiement,
D.libelle as moyenpaiement, D.numeroCompte
from encaissement_temp A
left join apporteur B on (B.codeSociete=A.codeSociete) AND (B.codeApporteur=A.codeApporteur)
left join modepaiement C on (C.codeModePaiement=A.codeModePaiement)
left join moyenpaiement D on (D.codeSociete=A.codeSociete) AND (D.codeMoyenPaiement=A.codeMoyenPaiement)
where A.codeSociete=? AND A.user=? limit 1';
$encaissement = $this->executerRequete($sql, array($_SESSION['codeSociete'], $user));
return $encaissement->fetch(PDO::FETCH_ASSOC);
}
public function getEncaissementTempClient($user, $idClient)
{
$sql = 'SELECT A.id AS idEncaissementTemp, A.*, C.libelle as modepaiement,
D.libelle as moyenpaiement, D.numeroCompte
from encaissement_temp A
left join modepaiement C on (C.codeModePaiement=A.codeModePaiement)
left join moyenpaiement D on (D.codeSociete=A.codeSociete) AND (D.codeMoyenPaiement=A.codeMoyenPaiement)
where (A.codeSociete=?) AND (A.user=?) AND (A.idClient=?) limit 1';
$encaissement = $this->executerRequete($sql, array($_SESSION['codeSociete'], $user, $idClient));
return $encaissement->fetch(PDO::FETCH_ASSOC);
}
public function getEncaissementTempId($idEncaissementTemp) {
$sql = 'SELECT A.id AS idEncaissementTemp, A.*, B.libelle as apporteur, C.libelle as modepaiement,
D.libelle as moyenpaiement, D.numeroCompte
from encaissement_temp A
left join apporteur B on (B.codeSociete=A.codeSociete) AND (B.codeApporteur=A.codeApporteur)
left join modepaiement C on (C.codeModePaiement=A.codeModePaiement)
left join moyenpaiement D on (D.codeSociete=A.codeSociete) AND (D.codeMoyenPaiement=A.codeMoyenPaiement)
where A.id=?';
$encaissement = $this->executerRequete($sql, array($idEncaissementTemp));
return $encaissement->fetch(PDO::FETCH_ASSOC);
}
public function majTotalEncaissement($idEncaissementTemp)
{
$sql = 'select IFNULL(SUM(primeTtc),"0") as montant_selection from detailencaissement_temp where idEncaissement=?';
$resultat = $this->executerRequete($sql, array($idEncaissementTemp));
$ligne = $resultat->fetch(PDO::FETCH_ASSOC);
$montant_selection = $ligne['montant_selection'];
$sql = 'update encaissement_temp set montantSelection = ?, montantEcart = (montant-?) where (id=?)';
$this->executerRequete($sql, array($montant_selection, $montant_selection, $idEncaissementTemp));
$sql = 'update encaissement_temp set ecart = "1", codeEcart = "1" where (id=?) and (montantEcart>0)';
$this->executerRequete($sql, array($idEncaissementTemp));
$sql = 'update encaissement_temp set ecart = "1", codeEcart = "2" where (id=?) and (montantEcart<0)';
$this->executerRequete($sql, array($idEncaissementTemp));
}
public function supprimer($id) {
$sql = 'DELETE FROM encaissement_temp WHERE (id=?)';
$this->executerRequete($sql, array($id));
}
}