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