adaptation versements personnes aux nouvelles structures
FossilOrigin-Name: ceca540fd6ead507a1d322c07a884d0aa1b8a44cf9501f8179ddaee4d12df3fb
This commit is contained in:
parent
7dbbe5bfc1
commit
d7faf06f10
@ -74,6 +74,37 @@ class Utils
|
||||
return $db->get($sql);
|
||||
}
|
||||
|
||||
/**
|
||||
* Versements totaux par personne pour une année donnée
|
||||
* @param année
|
||||
*/
|
||||
public static function getVersementsTotaux($annee)
|
||||
{
|
||||
$sql =
|
||||
"SELECT
|
||||
membres.id as idUser,
|
||||
sum(acc_transactions_lines.credit) AS versement
|
||||
FROM
|
||||
acc_transactions_users,
|
||||
membres,
|
||||
acc_transactions
|
||||
INNER JOIN acc_transactions_lines
|
||||
ON acc_transactions_lines.id_transaction = acc_transactions.id
|
||||
WHERE (
|
||||
strftime('%Y', acc_transactions.date) = ?
|
||||
AND
|
||||
acc_transactions_lines.credit > 0
|
||||
AND
|
||||
acc_transactions_users.id_transaction = acc_transactions.id
|
||||
AND
|
||||
acc_transactions_users.id_user = membres.id
|
||||
)
|
||||
GROUP by acc_transactions_users.id_user
|
||||
ORDER by membres.nom COLLATE U_NOCASE;
|
||||
";
|
||||
return DB::getInstance()->get($sql, $annee);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return personnes ayant versé des dons pour une année donnée
|
||||
* @param $annee
|
||||
@ -269,7 +300,7 @@ class Utils
|
||||
* Versements totaux par personne pour une année donnée
|
||||
* @param année
|
||||
*/
|
||||
public static function getVersementsTotaux($annee) {
|
||||
public static function getVersementsTotaux_old($annee) {
|
||||
$sql =
|
||||
"SELECT
|
||||
acc_transactions_users.id_user as idUser,
|
||||
|
@ -31,11 +31,11 @@
|
||||
value=$rang}
|
||||
</td>
|
||||
<td>{$versement.idUser}</td>
|
||||
<td>{$versement.nom}</td>
|
||||
<td class="montant">{$versement.montant|raw|money}</td>
|
||||
<td>{$versement.adresse}</td>
|
||||
<td>{$versement.codePostal}</td>
|
||||
<td>{$versement.ville}</td>
|
||||
<td>{$lesDonateurs[$versement.idUser]->nomPrenom}</td>
|
||||
<td class="montant">{$versement.versement|raw|money}</td>
|
||||
<td>{$lesDonateurs[$versement.idUser]->adresse}</td>
|
||||
<td>{$lesDonateurs[$versement.idUser]->codePostal}</td>
|
||||
<td>{$lesDonateurs[$versement.idUser]->ville}</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
</tbody>
|
||||
|
@ -11,7 +11,7 @@ $lesLignes = f('selected');
|
||||
|
||||
// filtrer les versements sélectionnés
|
||||
$versementsSelectionnes = array();
|
||||
foreach ($lesLignes as $indice => $ligne) {
|
||||
foreach ($lesLignes as $ligne) {
|
||||
$versementsSelectionnes[] = $_SESSION['lesVersements'][$ligne];
|
||||
}
|
||||
// cumuler les versements d'une personne
|
||||
@ -73,8 +73,8 @@ $fichierZip = Utils::makeArchive(
|
||||
|
||||
/**
|
||||
* Cumuler les versements de chaque personne par tarif
|
||||
* @param tableau des versements
|
||||
* @return tableau des versements cumulés
|
||||
* @param tableau des versements triés par idTarif, idUser, date
|
||||
* @return tableau des versements cumulés : id => Personne
|
||||
*/
|
||||
function cumulerVersements($versements)
|
||||
{
|
||||
@ -100,8 +100,7 @@ function cumulerVersements($versements)
|
||||
// créer les infos de la personne, sauf si elle est déjà présente
|
||||
if (!array_key_exists($idPersonne_courant, $totalPersonnes))
|
||||
{
|
||||
$totalPersonnes["$idPersonne_courant"] =
|
||||
Personne::copier($_SESSION['membresDonateurs'][$ligne->idUser]);
|
||||
$totalPersonnes["$idPersonne_courant"] = Personne::copier($_SESSION['membresDonateurs'][$ligne->idUser]);
|
||||
}
|
||||
} else {
|
||||
// cumuler versements
|
||||
|
@ -11,7 +11,7 @@ $lesLignes = f('selected');
|
||||
|
||||
// filtrer les versements sélectionnés
|
||||
$versementsSelectionnes = array();
|
||||
foreach ($lesLignes as $indice => $ligne) {
|
||||
foreach ($lesLignes as $ligne) {
|
||||
$versementsSelectionnes[] = $_SESSION['lesVersementsTotaux'][$ligne];
|
||||
}
|
||||
|
||||
@ -28,7 +28,7 @@ $logoCERFA = PLUGIN_ROOT . "/data/logoCerfa.png";
|
||||
$signature = PLUGIN_ROOT . "/data/default_signature.png";
|
||||
$listeFichiers = [];
|
||||
|
||||
foreach ($versementsSelectionnes as $idPersonne => $personne) {
|
||||
foreach ($versementsSelectionnes as $ligne) {
|
||||
// générer un fichier par reçu
|
||||
$pdf = new RecusPDF(
|
||||
'DejaVu',
|
||||
@ -41,15 +41,15 @@ foreach ($versementsSelectionnes as $idPersonne => $personne) {
|
||||
// extraire les montants des versements
|
||||
$pdf->imprimer_recu(
|
||||
$_SESSION['annee_recu'],
|
||||
$personne->idUser,
|
||||
$personne->nom,
|
||||
array($personne->montant/100),
|
||||
$personne->adresse,
|
||||
$personne->codePostal,
|
||||
$personne->ville
|
||||
$ligne->idUser,
|
||||
$_SESSION['membresDonateurs'][$ligne->idUser]->nomPrenom,
|
||||
array($ligne->versement/100),
|
||||
$_SESSION['membresDonateurs'][$ligne->idUser]->adresse,
|
||||
$_SESSION['membresDonateurs'][$ligne->idUser]->codePostal,
|
||||
$_SESSION['membresDonateurs'][$ligne->idUser]->ville
|
||||
);
|
||||
// fabriquer le nom du fichier PDF
|
||||
$nom = str_replace(' ', '_', $personne->nom);
|
||||
$nom = str_replace(' ', '_', $_SESSION['membresDonateurs'][$ligne->idUser]->nomPrenom);
|
||||
$nom = str_replace("'", "", $nom);
|
||||
// $nomFichier = Utils::getPDFDirectory() . "/" . 'recu_' . $annee_recu . '_' . $nom . '.pdf';
|
||||
$nomFichier = PLUGIN_ROOT . '/pdf/recu_' . $_SESSION['annee_recu'] . '_' . $nom . '.pdf';
|
||||
|
@ -2,19 +2,33 @@
|
||||
|
||||
namespace Garradin;
|
||||
|
||||
use Garradin\Plugin\RecusFiscaux\Personne;
|
||||
use Garradin\Plugin\RecusFiscaux\Utils;
|
||||
|
||||
// vérifier si l'année a bien été sélectionnée au préalable
|
||||
$_SESSION['annee_recu'] = f('annee_recu');
|
||||
// error_log("vp.php::annee_recu = (" .$_SESSION['annee_recu'] . ")");
|
||||
if (! isset($_SESSION['annee_recu']) || $_SESSION['annee_recu'] == "") {
|
||||
\Garradin\Utils::redirect(PLUGIN_URL . 'index.php');
|
||||
}
|
||||
// liste des versements totaux par personne
|
||||
|
||||
// versements totaux par personne
|
||||
$_SESSION['lesVersementsTotaux'] = Utils::getVersementsTotaux($_SESSION['annee_recu']);
|
||||
|
||||
// membres donateurs
|
||||
$membresDonateurs = array();
|
||||
$versementsMembres = Utils::getDonateurs($_SESSION['annee_recu']);
|
||||
foreach ($versementsMembres as $versement) {
|
||||
$membresDonateurs[$versement->idUser] = new Personne($versement->idUser,
|
||||
$versement->nom,
|
||||
$versement->adresse,
|
||||
$versement->codePostal,
|
||||
$versement->ville);
|
||||
}
|
||||
$_SESSION['membresDonateurs'] = $membresDonateurs;
|
||||
|
||||
// préparation de l'affichage
|
||||
$tpl->assign('lesVersementsTotaux', $_SESSION['lesVersementsTotaux']);
|
||||
$tpl->assign('lesDonateurs', $membresDonateurs);
|
||||
$tpl->assign('plugin_css', ['style.css']);
|
||||
|
||||
// envoyer au template
|
||||
|
Loading…
Reference in New Issue
Block a user