From 739a4c8b2559362fab1ac6f54d07af88f9d3b39b Mon Sep 17 00:00:00 2001 From: MatteoPistorello Date: Mon, 29 Nov 2021 15:40:19 +0100 Subject: [PATCH] Aggiunto filtro di ricerca nel Piano dei conti --- modules/partitario/edit.php | 331 ++++++++++++++++++++---------------- 1 file changed, 182 insertions(+), 149 deletions(-) diff --git a/modules/partitario/edit.php b/modules/partitario/edit.php index 6b33a0b4a..b3383c689 100755 --- a/modules/partitario/edit.php +++ b/modules/partitario/edit.php @@ -31,10 +31,16 @@ if ($bilancio_gia_aperto) { } echo ' -
- +
+
+ +
+ +
+ +
'; // Livello 1 @@ -51,7 +57,7 @@ foreach ($primo_livello as $conto_primo) { echo '
-
+

'.$titolo.' @@ -70,158 +76,160 @@ foreach ($primo_livello as $conto_primo) { foreach ($secondo_livello as $conto_secondo) { // Livello 2 echo ' -
- '.Prints::getLink('Mastrino', $conto_secondo['id'], 'btn-info btn-xs', '', null, 'lev=2').' +
+
+ '.Prints::getLink('Mastrino', $conto_secondo['id'], 'btn-info btn-xs', '', null, 'lev=2').' - -
+ +
-
- '.$conto_secondo['numero'].' '.$conto_secondo['descrizione'].' - -
+
+ '.$conto_secondo['numero'].' '.$conto_secondo['descrizione'].' + +
-
- - - - - '; - if ($conto_primo['descrizione'] == 'Economico') { - echo ' - '; - } - echo ' - - - - '; - - // Livello 3 - $query3 = 'SELECT `co_pianodeiconti3`.*, movimenti.numero_movimenti, movimenti.totale, movimenti.totale_reddito, anagrafica.idanagrafica, anagrafica.deleted_at - FROM `co_pianodeiconti3` - LEFT OUTER JOIN ( - SELECT idanagrafica, - idconto_cliente, - idconto_fornitore, - deleted_at - FROM an_anagrafiche - ) AS anagrafica ON co_pianodeiconti3.id IN (anagrafica.idconto_cliente, anagrafica.idconto_fornitore) - LEFT OUTER JOIN ( - SELECT COUNT(idconto) AS numero_movimenti, - idconto, - SUM(totale) AS totale, - SUM(totale_reddito) AS totale_reddito - FROM co_movimenti - WHERE data BETWEEN '.prepare($_SESSION['period_start']).' AND '.prepare($_SESSION['period_end']).' GROUP BY idconto - ) movimenti ON co_pianodeiconti3.id=movimenti.idconto - WHERE `idpianodeiconti2` = '.prepare($conto_secondo['id']).' ORDER BY numero ASC'; - $terzo_livello = $dbo->fetchArray($query3); - foreach ($terzo_livello as $conto_terzo) { - // Se il conto non ha documenti collegati posso eliminarlo - $numero_movimenti = $conto_terzo['numero_movimenti']; - - $totale_conto = $conto_terzo['totale']; - $totale_reddito = $conto_terzo['totale_reddito']; - if ($conto_primo['descrizione'] != 'Patrimoniale') { - $totale_conto = -$totale_conto; - $totale_reddito = -$totale_reddito; - } - - $totale_conto2 += $totale_conto; - $totale_reddito2 += $totale_reddito; - - echo ' - - - - '; +
+
'.tr('Descrizione').''.tr('Importo').''.tr('Importo reddito').'
'; - - // Possibilità di esplodere i movimenti del conto - if (!empty($numero_movimenti)) { - echo ' - '; - } - - // Span con i pulsanti - echo ' - '; - - // Possibilità di visionare l'anagrafica - $id_anagrafica = $conto_terzo['idanagrafica']; - $anagrafica_deleted = $conto_terzo['deleted_at']; - if (isset($id_anagrafica)) { - echo Modules::link('Anagrafiche', $id_anagrafica, ' '); - } - - // Stampa mastrino - if (!empty($numero_movimenti)) { - echo ' - '.Prints::getLink('Mastrino', $conto_terzo['id'], 'btn-info btn-xs', '', null, 'lev=3'); - } - - // Pulsante per aggiornare il totale reddito del conto di livello 3 - echo ' - '; - - // Pulsante per modificare il nome del conto di livello 3 - echo ' - '; - - // Possibilità di eliminare il conto se non ci sono movimenti collegati - if ($numero_movimenti <= 0) { - echo ' - - - '; - } - - echo ' - '; - - // Span con info del conto - echo ' - -  '.$conto_secondo['numero'].'.'.$conto_terzo['numero'].' '.$conto_terzo['descrizione'].($conto_terzo['percentuale_deducibile'] < 100 ? ' ('.tr('deducibile al _PERC_%', ['_PERC_' => Translator::numberToLocale($conto_terzo['percentuale_deducibile'], 0)]).')' : '').' - - - - '.moneyFormat($totale_conto, 2).' -
+ + + + '; if ($conto_primo['descrizione'] == 'Economico') { echo ' - '; + '; } echo ' - '; - } + + - echo ' - + '; - - - - '; - if ($conto_primo['descrizione'] == 'Economico') { - echo ''; - } - echo ' - - -
'.tr('Descrizione').''.tr('Importo').' - '.moneyFormat($totale_reddito, 2).' - '.tr('Importo reddito').'
'.tr('Totale').''.moneyFormat($totale_conto2).''.moneyFormat($totale_reddito2).'
+ // Livello 3 + $query3 = 'SELECT `co_pianodeiconti3`.*, movimenti.numero_movimenti, movimenti.totale, movimenti.totale_reddito, anagrafica.idanagrafica, anagrafica.deleted_at + FROM `co_pianodeiconti3` + LEFT OUTER JOIN ( + SELECT idanagrafica, + idconto_cliente, + idconto_fornitore, + deleted_at + FROM an_anagrafiche + ) AS anagrafica ON co_pianodeiconti3.id IN (anagrafica.idconto_cliente, anagrafica.idconto_fornitore) + LEFT OUTER JOIN ( + SELECT COUNT(idconto) AS numero_movimenti, + idconto, + SUM(totale) AS totale, + SUM(totale_reddito) AS totale_reddito + FROM co_movimenti + WHERE data BETWEEN '.prepare($_SESSION['period_start']).' AND '.prepare($_SESSION['period_end']).' GROUP BY idconto + ) movimenti ON co_pianodeiconti3.id=movimenti.idconto + WHERE `idpianodeiconti2` = '.prepare($conto_secondo['id']).' ORDER BY numero ASC'; + $terzo_livello = $dbo->fetchArray($query3); + foreach ($terzo_livello as $conto_terzo) { + // Se il conto non ha documenti collegati posso eliminarlo + $numero_movimenti = $conto_terzo['numero_movimenti']; -

+ $totale_conto = $conto_terzo['totale']; + $totale_reddito = $conto_terzo['totale_reddito']; + if ($conto_primo['descrizione'] != 'Patrimoniale') { + $totale_conto = -$totale_conto; + $totale_reddito = -$totale_reddito; + } + + $totale_conto2 += $totale_conto; + $totale_reddito2 += $totale_reddito; + + echo ' + + '; + + // Possibilità di esplodere i movimenti del conto + if (!empty($numero_movimenti)) { + echo ' + '; + } + + // Span con i pulsanti + echo ' + '; + + // Possibilità di visionare l'anagrafica + $id_anagrafica = $conto_terzo['idanagrafica']; + $anagrafica_deleted = $conto_terzo['deleted_at']; + if (isset($id_anagrafica)) { + echo Modules::link('Anagrafiche', $id_anagrafica, ' '); + } + + // Stampa mastrino + if (!empty($numero_movimenti)) { + echo ' + '.Prints::getLink('Mastrino', $conto_terzo['id'], 'btn-info btn-xs', '', null, 'lev=3'); + } + + // Pulsante per aggiornare il totale reddito del conto di livello 3 + echo ' + '; + + // Pulsante per modificare il nome del conto di livello 3 + echo ' + '; + + // Possibilità di eliminare il conto se non ci sono movimenti collegati + if ($numero_movimenti <= 0) { + echo ' + + + '; + } + + echo ' + '; + + // Span con info del conto + echo ' + +  '.$conto_secondo['numero'].'.'.$conto_terzo['numero'].' '.$conto_terzo['descrizione'].($conto_terzo['percentuale_deducibile'] < 100 ? ' ('.tr('deducibile al _PERC_%', ['_PERC_' => Translator::numberToLocale($conto_terzo['percentuale_deducibile'], 0)]).')' : '').' + + + + + + '.moneyFormat($totale_conto, 2).' + '; + if ($conto_primo['descrizione'] == 'Economico') { + echo ' + + '.moneyFormat($totale_reddito, 2).' + '; + } + echo ' + '; + } + + echo ' + + + + + '.tr('Totale').' + '.moneyFormat($totale_conto2).''; + if ($conto_primo['descrizione'] == 'Economico') { + echo ''.moneyFormat($totale_reddito2).''; + } + echo ' + + + + +

+
'; // Somma dei totali if ($conto_primo['descrizione'] == 'Patrimoniale') { @@ -245,7 +253,7 @@ foreach ($primo_livello as $conto_primo) { echo '

- '; +
'; // Riepiloghi if ($conto_primo['descrizione'] == 'Patrimoniale') { @@ -348,7 +356,7 @@ foreach ($primo_livello as $conto_primo) { - + @@ -460,4 +468,29 @@ echo ' function aggiornaReddito(id_conto){ openModal("'.tr('Ricalcola importo deducibile').'", "'.$structure->fileurl('aggiorna_reddito.php').'?id=" + id_conto) } + + $("#input-cerca").keyup(function(){ + var text = $(this).val(); + + if( text == "" ){ + $(".conto1").show(); + $(".conto2").show(); + $(".conto3").show(); + $(".totali").show(); + } else { + $(".conto1").hide(); + $(".conto2").hide(); + $(".conto3").hide(); + $(".totali").hide(); + $(".conto1:contains(" + text + ")").show(); + $(".conto2:contains(" + text + ")").show(); + $(".conto3:contains(" + text + ")").show(); + } + }); + + $.expr[":"].contains = $.expr.createPseudo(function(arg) { + return function( elem ) { + return $(elem).text().toUpperCase().indexOf(arg.toUpperCase()) >= 0; + }; + }); ';
'.tr('Utile/perdita').':