restructuration et correction inexactitude
FossilOrigin-Name: 43b3c9482d218f8e655a0fd54931824b1f51c9c40a767c637a6e7f5202f4944d
This commit is contained in:
parent
aa3b56d066
commit
8e19aaf526
@ -185,18 +185,20 @@ class Utils
|
||||
|
||||
/**
|
||||
* @return versements correspondants à :
|
||||
* @param $annee : année fiscale
|
||||
* @param array $tarifsComptes : tarifs sélectionnés et comptes associés
|
||||
* @param array $champsNom : liste non vide des champs de nom/prénom
|
||||
* @param $annee : année fiscale
|
||||
* @param array $tarifs : tarifs sélectionnés
|
||||
* @param array $comptes : comptes associés aux tarifs
|
||||
* @param array $champsNom : liste non vide des champs de nom/prénom
|
||||
* @remarks tri par tarif, nom, compte, date
|
||||
*/
|
||||
public static function getVersementsTarifsComptes($annee,
|
||||
$tarifsComptes,
|
||||
$tarifs,
|
||||
$comptes,
|
||||
$champsNom)
|
||||
{
|
||||
$db = DB::getInstance();
|
||||
$tri = Utils::combinerTri($champsNom);
|
||||
$condition = Utils::combinerTarifsComptes($tarifsComptes);
|
||||
$condition = Utils::combinerTarifsComptes($tarifs, $comptes);
|
||||
$sql = sprintf(
|
||||
'SELECT
|
||||
services_fees.id as idTarif,
|
||||
@ -369,16 +371,17 @@ class Utils
|
||||
/**
|
||||
* combiner chaque tarif avec le numéro de compte associé
|
||||
*/
|
||||
private static function combinerTarifsComptes($tarifsComptes)
|
||||
private static function combinerTarifsComptes($tarifs, $comptes)
|
||||
{
|
||||
$condition = '(';
|
||||
$lesCond = array_map(fn($e1, $e2) : string =>
|
||||
"(services_fees.id = '$e1' AND acc_accounts.id = '$e2')",
|
||||
$tarifs, $comptes);
|
||||
$nb = 0;
|
||||
foreach ($tarifsComptes as $elem)
|
||||
foreach ($lesCond as $cond)
|
||||
{
|
||||
$tarif = substr($elem, 0, strpos($elem, '_'));
|
||||
$compte = substr($elem, 1 + strpos($elem, '_'));
|
||||
if ($nb > 0) { $condition .= ' OR '; }
|
||||
$condition .= "(services_fees.id = '$tarif' AND acc_accounts.id = '$compte')";
|
||||
$condition .= $cond;
|
||||
++$nb;
|
||||
}
|
||||
$condition .= ')';
|
||||
|
@ -55,11 +55,19 @@ if (isset($_SESSION['comptesSelectionnes']))
|
||||
}
|
||||
$_SESSION['tauxSelectionnes'] = $tauxSelectionnes;
|
||||
|
||||
$lesTarifs = array_map(fn($elem) : string =>
|
||||
strpos($elem, '_') !== false ? substr($elem, 0, strpos($elem, '_')) : "",
|
||||
$tarifsSelectionnes);
|
||||
$lesComptes = array_map(fn($elem) : string =>
|
||||
strpos($elem, '_') !== false ? substr($elem, 1 + strpos($elem, '_')) : "",
|
||||
$tarifsSelectionnes);
|
||||
|
||||
# versements des tarifs sélectionnées et de leur compte associé
|
||||
$_SESSION['lesVersements'] =
|
||||
Utils::getVersementsTarifsComptes(
|
||||
$_SESSION['annee_recu'],
|
||||
array_keys($_SESSION['tauxSelectionnes']),
|
||||
$lesTarifs,
|
||||
$lesComptes,
|
||||
$champsNom);
|
||||
|
||||
// ajouter les versements sans tarif (tri par nom, compte, date)
|
||||
|
Loading…
Reference in New Issue
Block a user