gestion date début et fin versements

FossilOrigin-Name: 323bbe3ae892ca099aac2f897e592b35b7224c22ce25bd813e9a11dca0cf9f19
This commit is contained in:
engel 2022-05-20 19:43:38 +00:00
parent 7b9b0fda13
commit 4eb8b7c61d
4 changed files with 73 additions and 24 deletions

View file

@ -93,17 +93,18 @@ foreach ($totalPersonnes as $idPersonne => $personne)
$tpl->registerSection('versements',
function () use($personne, $libelles_taux)
{
foreach ($personne->versements as $taux => $montant)
foreach ($personne->versements as $taux => $versement)
{
$ligne['montant'] = $montant;
$ligne['montant'] = $versement->montant;
$ligne['libelle'] = $libelles_taux[$taux];
$ligne['dateMin'] = date("d/m/Y", $versement->dateMin);
$ligne['dateMax'] = date("d/m/Y", $versement->dateMax);
yield $ligne;
}
});
// mentions complémentaires
$donnees = array(
'Date des versements : ' => "année " . $_SESSION['annee_recu'],
'Nature du don : ' => "Numéraire",
'Mode de versement : ' => "chèque et/ou virement"
);
@ -162,6 +163,8 @@ function cumulerVersementsPersonne($versements)
{
$totalPersonnes = array();
$idPersonneCourant = -1;
$dateMin = PHP_INT_MAX;
$dateMax = -1;
$totalVersements = 0;
foreach ($versements as $ligne)
{
@ -172,9 +175,13 @@ function cumulerVersementsPersonne($versements)
{
$totalPersonnes[$idPersonneCourant]->ajouterVersement(
$_SESSION['taux_reduction'],
$totalVersements
$totalVersements,
$dateMin,
$dateMax
);
}
$dateMin = strtotime($ligne->date);
$dateMax = strtotime($ligne->date);
$idPersonneCourant = $ligne->idUser;
$totalVersements = $ligne->versement;
// créer les infos de la personne, sauf si elle est déjà présente
@ -183,14 +190,18 @@ function cumulerVersementsPersonne($versements)
$totalPersonnes["$idPersonneCourant"] = $_SESSION['membresDonateurs'][$ligne->idUser]->clone();
}
} else {
// cumuler versements
// même personne : cumuler versements et mettre à jour les dates
$totalVersements += $ligne->versement;
if (strtotime($ligne->date) < $dateMin) { $dateMin = strtotime($ligne->date); }
if (strtotime($ligne->date) > $dateMax) { $dateMax = strtotime($ligne->date); }
}
}
// et le dernier
$totalPersonnes[$idPersonneCourant]->ajouterVersement(
$_SESSION['taux_reduction'],
$totalVersements
$totalVersements,
$dateMin,
$dateMax
);
return $totalPersonnes;
}
@ -206,6 +217,8 @@ function cumulerVersementsTarif($versements)
$idTarifCourant = -1;
$idPersonneCourant = -1;
$idCompteCourant = -1;
$dateMin = PHP_INT_MAX;
$dateMax = -1;
$totalVersements = 0;
foreach ($versements as $ligne)
{
@ -217,15 +230,19 @@ function cumulerVersementsTarif($versements)
{
if ($idTarifCourant != -1)
{
// changement de tarif ou de personne
// changement de tarif, de personne ou de compte
$tarifCompte = ($idTarifCourant == 0) ?
$idCompteCourant :
$idTarifCourant . "_" . $idCompteCourant;
$totalPersonnes[$idPersonneCourant]->ajouterVersement(
$_SESSION['tauxSelectionnes'][$tarifCompte],
$totalVersements
$totalVersements,
$dateMin,
$dateMax
);
}
$dateMin = strtotime($ligne->date);
$dateMax = strtotime($ligne->date);
$idTarifCourant = $ligne->idTarif;
$idPersonneCourant = $ligne->idUser;
$idCompteCourant = $ligne->idCompte;
@ -236,8 +253,10 @@ function cumulerVersementsTarif($versements)
$totalPersonnes["$idPersonneCourant"] = $_SESSION['membresDonateurs'][$ligne->idUser]->clone();
}
} else {
// cumuler versements
// même personne : cumuler versements et mettre à jour les dates
$totalVersements += $ligne->versement;
if (strtotime($ligne->date) < $dateMin) { $dateMin = strtotime($ligne->date); }
if (strtotime($ligne->date) > $dateMax) { $dateMax = strtotime($ligne->date); }
}
}
// et le dernier
@ -246,7 +265,9 @@ function cumulerVersementsTarif($versements)
$idTarifCourant . "_" . $idCompteCourant;
$totalPersonnes[$idPersonneCourant]->ajouterVersement(
$_SESSION['tauxSelectionnes'][$tarifCompte],
$totalVersements
$totalVersements,
$dateMin,
$dateMax
);
return $totalPersonnes;
}