Fusion branche erreur
FossilOrigin-Name: 09ef8d69690d791cf31449295a4dcbfef62f018dcb059978cff8ffb499276c32
This commit is contained in:
commit
aa3b56d066
@ -185,19 +185,18 @@ class Utils
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @return versements correspondants à :
|
* @return versements correspondants à :
|
||||||
* @param $annee : année fiscale
|
* @param $annee : année fiscale
|
||||||
* @param $tarifs : tarifs sélectionnés
|
* @param array $tarifsComptes : tarifs sélectionnés et comptes associés
|
||||||
* @param array $comptes : comptes associés aux 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
|
|
||||||
* @remarks tri par tarif, nom, compte, date
|
* @remarks tri par tarif, nom, compte, date
|
||||||
*/
|
*/
|
||||||
public static function getVersementsTarifsComptes($annee,
|
public static function getVersementsTarifsComptes($annee,
|
||||||
$tarifs,
|
$tarifsComptes,
|
||||||
$comptes,
|
|
||||||
$champsNom)
|
$champsNom)
|
||||||
{
|
{
|
||||||
$db = DB::getInstance();
|
$db = DB::getInstance();
|
||||||
$tri = Utils::combinerTri($champsNom);
|
$tri = Utils::combinerTri($champsNom);
|
||||||
|
$condition = Utils::combinerTarifsComptes($tarifsComptes);
|
||||||
$sql = sprintf(
|
$sql = sprintf(
|
||||||
'SELECT
|
'SELECT
|
||||||
services_fees.id as idTarif,
|
services_fees.id as idTarif,
|
||||||
@ -220,17 +219,13 @@ class Utils
|
|||||||
INNER JOIN acc_accounts
|
INNER JOIN acc_accounts
|
||||||
ON acc_transactions_lines.id_account = acc_accounts.id
|
ON acc_transactions_lines.id_account = acc_accounts.id
|
||||||
WHERE
|
WHERE
|
||||||
(strftime(%s, acc_transactions.date) = "%d"
|
(strftime("%%Y", acc_transactions.date) = "%d"
|
||||||
AND
|
AND
|
||||||
services_fees.%s
|
%s
|
||||||
AND
|
|
||||||
acc_accounts.%s
|
|
||||||
)
|
)
|
||||||
ORDER by services_fees.id, %s, acc_accounts.code, acc_transactions.date',
|
ORDER by services_fees.id, %s, acc_accounts.code, acc_transactions.date',
|
||||||
'"%Y"',
|
|
||||||
$annee,
|
$annee,
|
||||||
$db->where('id', 'in', $tarifs),
|
$condition,
|
||||||
$db->where('id', 'in', $comptes),
|
|
||||||
$tri
|
$tri
|
||||||
);
|
);
|
||||||
return $db->get($sql);
|
return $db->get($sql);
|
||||||
@ -371,6 +366,25 @@ class Utils
|
|||||||
return $tri;
|
return $tri;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* combiner chaque tarif avec le numéro de compte associé
|
||||||
|
*/
|
||||||
|
private static function combinerTarifsComptes($tarifsComptes)
|
||||||
|
{
|
||||||
|
$condition = '(';
|
||||||
|
$nb = 0;
|
||||||
|
foreach ($tarifsComptes as $elem)
|
||||||
|
{
|
||||||
|
$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')";
|
||||||
|
++$nb;
|
||||||
|
}
|
||||||
|
$condition .= ')';
|
||||||
|
return $condition;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return liste des années fiscales
|
* @return liste des années fiscales
|
||||||
*/
|
*/
|
||||||
|
@ -36,43 +36,42 @@ else if (! isset($_SESSION['tauxSelectionnes'])) {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
// taux de réduction associés
|
// taux de réduction associés
|
||||||
if (isset($tarifsSelectionnes) && isset($_SESSION['comptesSelectionnes']))
|
$tauxSelectionnes = array();
|
||||||
|
if (isset($tarifsSelectionnes))
|
||||||
{
|
{
|
||||||
$tauxSelectionnes = array();
|
|
||||||
foreach ($tarifsSelectionnes as $idTarif)
|
foreach ($tarifsSelectionnes as $idTarif)
|
||||||
{
|
{
|
||||||
$nomRadio = "taux_reduction_" . $idTarif;
|
$nomRadio = "taux_reduction_" . $idTarif;
|
||||||
$tauxSelectionnes[$idTarif] = f("$nomRadio");
|
$tauxSelectionnes[$idTarif] = f("$nomRadio");
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
if (isset($_SESSION['comptesSelectionnes']))
|
||||||
|
{
|
||||||
foreach ($_SESSION['comptesSelectionnes'] as $idCompte)
|
foreach ($_SESSION['comptesSelectionnes'] as $idCompte)
|
||||||
{
|
{
|
||||||
$nomRadio = "taux_reduction_" . $idCompte;
|
$nomRadio = "taux_reduction_" . $idCompte;
|
||||||
$tauxSelectionnes[$idCompte] = f("$nomRadio");
|
$tauxSelectionnes[$idCompte] = f("$nomRadio");
|
||||||
}
|
}
|
||||||
$_SESSION['tauxSelectionnes'] = $tauxSelectionnes;
|
|
||||||
}
|
}
|
||||||
|
$_SESSION['tauxSelectionnes'] = $tauxSelectionnes;
|
||||||
|
|
||||||
$lesTarifs = array_map(fn($elem) : string =>
|
# versements des tarifs sélectionnées et de leur compte associé
|
||||||
strpos($elem, '_') !== false ? substr($elem, 0, strpos($elem, '_')) : "",
|
|
||||||
array_keys($_SESSION['tauxSelectionnes']));
|
|
||||||
$lesComptes = array_map(fn($elem) : string =>
|
|
||||||
strpos($elem, '_') !== false ? substr($elem, 1 + strpos($elem, '_')) : "",
|
|
||||||
array_keys($_SESSION['tauxSelectionnes']));
|
|
||||||
|
|
||||||
$_SESSION['lesVersements'] =
|
$_SESSION['lesVersements'] =
|
||||||
Utils::getVersementsTarifsComptes(
|
Utils::getVersementsTarifsComptes(
|
||||||
$_SESSION['annee_recu'],
|
$_SESSION['annee_recu'],
|
||||||
$lesTarifs,
|
array_keys($_SESSION['tauxSelectionnes']),
|
||||||
$lesComptes,
|
|
||||||
$champsNom);
|
$champsNom);
|
||||||
|
|
||||||
// ajouter les versements sans tarif (tri par nom, compte, date)
|
// ajouter les versements sans tarif (tri par nom, compte, date)
|
||||||
$versementsSansTarif = Utils::getVersementsComptes($_SESSION['annee_recu'],
|
if (isset($_SESSION['comptesSelectionnes']))
|
||||||
$_SESSION['comptesSelectionnes'],
|
|
||||||
$champsNom);
|
|
||||||
foreach ($versementsSansTarif as $versement)
|
|
||||||
{
|
{
|
||||||
$_SESSION['lesVersements'][] = $versement;
|
$versementsSansTarif = Utils::getVersementsComptes($_SESSION['annee_recu'],
|
||||||
|
$_SESSION['comptesSelectionnes'],
|
||||||
|
$champsNom);
|
||||||
|
foreach ($versementsSansTarif as $versement)
|
||||||
|
{
|
||||||
|
$_SESSION['lesVersements'][] = $versement;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// préparation de l'affichage
|
// préparation de l'affichage
|
||||||
$tpl->assign('lesVersements', $_SESSION['lesVersements']);
|
$tpl->assign('lesVersements', $_SESSION['lesVersements']);
|
||||||
|
Loading…
Reference in New Issue
Block a user