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