simplification cumul versements
FossilOrigin-Name: e4a942b3cc6913da11da2dfd480b2f71703c1781911e8d7c5e0a57c1b170bfd8
This commit is contained in:
parent
83cc830fb1
commit
b1645828fc
@ -13,7 +13,7 @@ class Personne
|
|||||||
public $codePostal;
|
public $codePostal;
|
||||||
public $ville;
|
public $ville;
|
||||||
public $courriel;
|
public $courriel;
|
||||||
public $versements; // tableau des versements totaux par activité/tarif
|
public $versements; // versements par taux de réduction
|
||||||
|
|
||||||
public function __construct(
|
public function __construct(
|
||||||
$id,
|
$id,
|
||||||
@ -30,7 +30,7 @@ class Personne
|
|||||||
$this->codePostal = $codePostal;
|
$this->codePostal = $codePostal;
|
||||||
$this->ville = $ville;
|
$this->ville = $ville;
|
||||||
$this->courriel = $courriel;
|
$this->courriel = $courriel;
|
||||||
$this->versements = array();
|
$this->versements = array(); // clé = tarif, valeur = montant
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -49,24 +49,21 @@ class Personne
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* ajouter un versement
|
* ajouter un versement
|
||||||
* @param $idActivite
|
|
||||||
* @param $idTarif
|
|
||||||
* @param $montant
|
|
||||||
* @param $tauxReduction
|
* @param $tauxReduction
|
||||||
|
* @param $montant
|
||||||
*/
|
*/
|
||||||
public function ajouterVersement(
|
public function ajouterVersement(
|
||||||
$idActivite,
|
$tauxReduction,
|
||||||
$idTarif,
|
$montant
|
||||||
$montant,
|
|
||||||
$tauxReduction
|
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
$this->versements[] =
|
if (array_key_exists($tauxReduction, $this->versements))
|
||||||
new Versement(
|
{
|
||||||
$idActivite,
|
$this->versements[$tauxReduction] += $montant;
|
||||||
$idTarif,
|
}
|
||||||
$montant,
|
else
|
||||||
$tauxReduction
|
{
|
||||||
);
|
$this->versements[$tauxReduction] = $montant;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -72,6 +72,7 @@ class Utils
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @return versements correspondants à l'année et aux tarifs donnés
|
* @return versements correspondants à l'année et aux tarifs donnés
|
||||||
|
* triés par tarif, nom, date
|
||||||
* @param $annee
|
* @param $annee
|
||||||
* @param array $tarifs
|
* @param array $tarifs
|
||||||
* @param array $champsNom : liste non vide des champs de nom/prénom
|
* @param array $champsNom : liste non vide des champs de nom/prénom
|
||||||
@ -209,7 +210,7 @@ class Utils
|
|||||||
* @param $annee
|
* @param $annee
|
||||||
* @param array $champsNom : champs qui définissent le nom et le prénom d'une personne
|
* @param array $champsNom : champs qui définissent le nom et le prénom d'une personne
|
||||||
*/
|
*/
|
||||||
public static function getDonateurs($annee, $champsNom)
|
public static function getDonateurs($annee, $champsNom) : array
|
||||||
{
|
{
|
||||||
// concaténer les champs nom/prénoms pour la sélection
|
// concaténer les champs nom/prénoms pour la sélection
|
||||||
$nom = 'trim(' . Utils::combinerChamps($champsNom) . ') as nom,';
|
$nom = 'trim(' . Utils::combinerChamps($champsNom) . ') as nom,';
|
||||||
@ -241,7 +242,16 @@ class Utils
|
|||||||
GROUP by membres.id
|
GROUP by membres.id
|
||||||
ORDER by " . $tri . " COLLATE U_NOCASE
|
ORDER by " . $tri . " COLLATE U_NOCASE
|
||||||
";
|
";
|
||||||
return DB::getInstance()->get($sql, $annee);
|
$donateurs = array();
|
||||||
|
foreach (DB::getInstance()->iterate($sql, $annee) as $personne)
|
||||||
|
{
|
||||||
|
$donateurs[$personne->idUser] = new Personne($personne->idUser,
|
||||||
|
$personne->nom,
|
||||||
|
$personne->adresse,
|
||||||
|
$personne->codePostal,
|
||||||
|
$personne->ville);
|
||||||
|
}
|
||||||
|
return $donateurs;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function getLignesReduction($lesTaux)
|
public static function getLignesReduction($lesTaux)
|
||||||
|
@ -61,22 +61,12 @@ foreach ($totalPersonnes as $idPersonne => $personne)
|
|||||||
$articlesCGI,
|
$articlesCGI,
|
||||||
$signature
|
$signature
|
||||||
);
|
);
|
||||||
// extraire les montants des versements
|
|
||||||
$lesMontants = array();
|
|
||||||
foreach ($personne->versements as $versement)
|
|
||||||
{
|
|
||||||
if (array_key_exists($versement->tauxReduction, $lesMontants)) {
|
|
||||||
$lesMontants[$versement->tauxReduction] += $versement->montant;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
$lesMontants[$versement->tauxReduction] = $versement->montant;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$html->imprimer_recu(
|
$html->imprimer_recu(
|
||||||
$_SESSION['annee_recu'],
|
$_SESSION['annee_recu'],
|
||||||
$personne->id,
|
$personne->id,
|
||||||
$personne->nomPrenom,
|
$personne->nomPrenom,
|
||||||
$lesMontants,
|
$personne->versements,
|
||||||
$personne->adresse,
|
$personne->adresse,
|
||||||
$personne->codePostal,
|
$personne->codePostal,
|
||||||
$personne->ville
|
$personne->ville
|
||||||
@ -117,12 +107,12 @@ function cumulerVersements($versements)
|
|||||||
$ligne->idUser != $idPersonneCourant
|
$ligne->idUser != $idPersonneCourant
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
if ($idTarifCourant != -1) {
|
if ($idTarifCourant != -1)
|
||||||
|
{
|
||||||
|
// changement de tarif ou de personne
|
||||||
$totalPersonnes[$idPersonneCourant]->ajouterVersement(
|
$totalPersonnes[$idPersonneCourant]->ajouterVersement(
|
||||||
$_SESSION['lesTarifs'][$idTarifCourant]->idActivite,
|
$_SESSION['tauxSelectionnes'][$idTarifCourant],
|
||||||
$idTarifCourant,
|
$totalVersements/100
|
||||||
$totalVersements/100,
|
|
||||||
$_SESSION['tauxSelectionnes'][$idTarifCourant]
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
$idTarifCourant = $ligne->idTarif;
|
$idTarifCourant = $ligne->idTarif;
|
||||||
@ -140,10 +130,8 @@ function cumulerVersements($versements)
|
|||||||
}
|
}
|
||||||
// et le dernier
|
// et le dernier
|
||||||
$totalPersonnes[$idPersonneCourant]->ajouterVersement(
|
$totalPersonnes[$idPersonneCourant]->ajouterVersement(
|
||||||
$_SESSION['lesTarifs'][$idTarifCourant]->idActivite,
|
$_SESSION['tauxSelectionnes'][$idTarifCourant],
|
||||||
$idTarifCourant,
|
$totalVersements/100
|
||||||
$totalVersements/100,
|
|
||||||
$_SESSION['tauxSelectionnes'][$idTarifCourant]
|
|
||||||
);
|
);
|
||||||
return $totalPersonnes;
|
return $totalPersonnes;
|
||||||
}
|
}
|
||||||
|
@ -64,22 +64,11 @@ foreach ($totalPersonnes as $idPersonne => $personne)
|
|||||||
$signature
|
$signature
|
||||||
);
|
);
|
||||||
|
|
||||||
// extraire les montants des versements
|
|
||||||
$lesMontants = array();
|
|
||||||
foreach ($personne->versements as $versement)
|
|
||||||
{
|
|
||||||
if (array_key_exists($versement->tauxReduction, $lesMontants)) {
|
|
||||||
$lesMontants[$versement->tauxReduction] += $versement->montant;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
$lesMontants[$versement->tauxReduction] = $versement->montant;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$html->imprimer_recu(
|
$html->imprimer_recu(
|
||||||
$_SESSION['annee_recu'],
|
$_SESSION['annee_recu'],
|
||||||
$personne->id,
|
$personne->id,
|
||||||
$personne->nomPrenom,
|
$personne->nomPrenom,
|
||||||
$lesMontants,
|
$personne->versements,
|
||||||
$personne->adresse,
|
$personne->adresse,
|
||||||
$personne->codePostal,
|
$personne->codePostal,
|
||||||
$personne->ville
|
$personne->ville
|
||||||
@ -120,10 +109,8 @@ function cumulerVersements($versements)
|
|||||||
if ($idPersonneCourant != -1)
|
if ($idPersonneCourant != -1)
|
||||||
{
|
{
|
||||||
$totalPersonnes[$idPersonneCourant]->ajouterVersement(
|
$totalPersonnes[$idPersonneCourant]->ajouterVersement(
|
||||||
0,
|
$_SESSION['taux_reduction'],
|
||||||
0,
|
$totalVersements/100
|
||||||
$totalVersements/100,
|
|
||||||
$_SESSION['taux_reduction']
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
$idPersonneCourant = $ligne->idUser;
|
$idPersonneCourant = $ligne->idUser;
|
||||||
@ -140,10 +127,8 @@ function cumulerVersements($versements)
|
|||||||
}
|
}
|
||||||
// et le dernier
|
// et le dernier
|
||||||
$totalPersonnes[$idPersonneCourant]->ajouterVersement(
|
$totalPersonnes[$idPersonneCourant]->ajouterVersement(
|
||||||
0,
|
$_SESSION['taux_reduction'],
|
||||||
0,
|
$totalVersements/100
|
||||||
$totalVersements/100,
|
|
||||||
$_SESSION['taux_reduction']
|
|
||||||
);
|
);
|
||||||
return $totalPersonnes;
|
return $totalPersonnes;
|
||||||
}
|
}
|
||||||
|
@ -40,14 +40,14 @@ $_SESSION['tauxSelectionnes'] = $tauxSelectionnes;
|
|||||||
// obtenir les instances de tarifs correspondant à la sélection
|
// obtenir les instances de tarifs correspondant à la sélection
|
||||||
$lesTarifs = array();
|
$lesTarifs = array();
|
||||||
foreach (Utils::getTarifs($tarifsSelectionnes) as $ot) {
|
foreach (Utils::getTarifs($tarifsSelectionnes) as $ot) {
|
||||||
$lesTarifs[$ot->id] = Tarif::copier($ot);
|
$lesTarifs[$ot->id] = $ot;
|
||||||
}
|
}
|
||||||
$_SESSION['lesTarifs'] = $lesTarifs;
|
$_SESSION['lesTarifs'] = $lesTarifs;
|
||||||
|
|
||||||
// activités correspondants aux tarifs sélectionnés
|
// activités correspondants aux tarifs sélectionnés
|
||||||
$lesActivites = array();
|
$lesActivites = array();
|
||||||
foreach (Utils::getActivites($tarifsSelectionnes) as $activite) {
|
foreach (Utils::getActivites($tarifsSelectionnes) as $activite) {
|
||||||
$lesActivites[$activite->id] = Activite::copier($activite);
|
$lesActivites[$activite->id] = $activite;
|
||||||
}
|
}
|
||||||
$_SESSION['lesActivites'] = $lesActivites;
|
$_SESSION['lesActivites'] = $lesActivites;
|
||||||
|
|
||||||
@ -57,18 +57,8 @@ $_SESSION['lesVersements'] = Utils::getVersementsTarifs($_SESSION['annee_recu'],
|
|||||||
$champsNom);
|
$champsNom);
|
||||||
|
|
||||||
// membres donateurs
|
// membres donateurs
|
||||||
$versementsMembres = Utils::getDonateurs($_SESSION['annee_recu'],
|
$_SESSION['membresDonateurs'] = Utils::getDonateurs($_SESSION['annee_recu'],
|
||||||
$champsNom);
|
$champsNom);
|
||||||
$membresDonateurs = array();
|
|
||||||
foreach ($versementsMembres as $versement) {
|
|
||||||
$membresDonateurs[$versement->idUser] = new Personne($versement->idUser,
|
|
||||||
$versement->nom,
|
|
||||||
$versement->adresse,
|
|
||||||
$versement->codePostal,
|
|
||||||
$versement->ville);
|
|
||||||
}
|
|
||||||
$_SESSION['membresDonateurs'] = $membresDonateurs;
|
|
||||||
|
|
||||||
// ------------------------------------------------------------------------
|
// ------------------------------------------------------------------------
|
||||||
// fonctions pour l'affichage
|
// fonctions pour l'affichage
|
||||||
|
|
||||||
|
@ -29,18 +29,8 @@ $_SESSION['lesVersements'] = Utils::getVersementsPersonnes($_SESSION['annee_recu
|
|||||||
$champsNom);
|
$champsNom);
|
||||||
|
|
||||||
// membres donateurs
|
// membres donateurs
|
||||||
$versementsMembres = Utils::getDonateurs($_SESSION['annee_recu'],
|
$_SESSION['membresDonateurs'] = Utils::getDonateurs($_SESSION['annee_recu'],
|
||||||
$champsNom);
|
$champsNom);
|
||||||
$membresDonateurs = array();
|
|
||||||
foreach ($versementsMembres as $versement) {
|
|
||||||
$membresDonateurs[$versement->idUser] = new Personne($versement->idUser,
|
|
||||||
$versement->nom,
|
|
||||||
$versement->adresse,
|
|
||||||
$versement->codePostal,
|
|
||||||
$versement->ville);
|
|
||||||
}
|
|
||||||
$_SESSION['membresDonateurs'] = $membresDonateurs;
|
|
||||||
|
|
||||||
// ------------------------------------------------------------------------
|
// ------------------------------------------------------------------------
|
||||||
// fonctions pour l'affichage
|
// fonctions pour l'affichage
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user