From 2590a58e18a8ca13ee5f23ca2f1d861a0e71e19f Mon Sep 17 00:00:00 2001 From: Fabio Lovato Date: Sat, 10 Feb 2018 19:42:52 +0100 Subject: [PATCH] Bugfix #21 --- modules/partitario/edit.php | 56 ++++---- .../pdfgen.partitario_mastrino.php | 125 +++++++++--------- 2 files changed, 91 insertions(+), 90 deletions(-) mode change 100644 => 100755 modules/partitario/edit.php mode change 100644 => 100755 templates/partitario_mastrino/pdfgen.partitario_mastrino.php diff --git a/modules/partitario/edit.php b/modules/partitario/edit.php old mode 100644 new mode 100755 index 0d2a4b72c..159c0413b --- a/modules/partitario/edit.php +++ b/modules/partitario/edit.php @@ -11,11 +11,11 @@ $n1 = sizeof($rs1); // Livello 1 for ($x = 0; $x < $n1; ++$x) { - $totale_attivita = 0.00; - $totale_passivita = 0.00; + $totale_attivita = []; + $totale_passivita = []; - $costi = 0.00; - $ricavi = 0.00; + $costi = []; + $ricavi = []; if ($rs1[$x]['descrizione'] == 'Economico') { echo "

Conto economico

\n"; @@ -54,7 +54,7 @@ for ($x = 0; $x < $n1; ++$x) { echo " \n"; for ($z = 0; $z < $n3; ++$z) { - $totale_conto_liv3 = 0.00; + $totale_conto_liv3 = []; echo " \n"; echo " \n"; } // Fine livello3 @@ -193,9 +193,9 @@ for ($x = 0; $x < $n1; ++$x) { if ($rs1[$x]['descrizione'] == 'Patrimoniale') { // Riepilogo - $attivita = abs($totale_attivita); - $passivita = abs($totale_passivita); - $utile_perdita = abs($totale_ricavi) - abs($totale_costi); + $attivita = abs(sum($totale_attivita)); + $passivita = abs(sum($totale_passivita)); + $utile_perdita = abs(sum($totale_ricavi)) - abs(sum($totale_costi)); if ($utile_perdita < 0) { $pareggio1 = $attivita + abs($utile_perdita); $pareggio2 = abs($passivita); @@ -230,7 +230,7 @@ for ($x = 0; $x < $n1; ++$x) { echo "

Perdita d'esercizio:

\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; @@ -239,7 +239,7 @@ for ($x = 0; $x < $n1; ++$x) { echo "

Utile:

\n"; echo "\n"; echo "\n"; } @@ -248,7 +248,7 @@ for ($x = 0; $x < $n1; ++$x) { echo "

Totale a pareggio:

\n"; echo "\n"; echo "\n"; echo "\n"; @@ -257,13 +257,13 @@ for ($x = 0; $x < $n1; ++$x) { echo "

Totale a pareggio:

\n"; echo "\n"; echo "\n"; echo '
\n"; @@ -102,7 +102,7 @@ for ($x = 0; $x < $n1; ++$x) { echo '
\n"; if (sizeof($rs) > 0) { - $totale_conto_liv3 = 0.00; + $totale_conto_liv3 = []; echo " \n"; echo " \n"; @@ -117,7 +117,7 @@ for ($x = 0; $x < $n1; ++$x) { if ($rs[$i]['iddocumento'] != '') { $module = ($rs[$i]['dir'] == 'entrata') ? Modules::get('Fatture di vendita')['id'] : Modules::get('Fatture di acquisto')['id']; echo "".$rs[$i]['descrizione']."\n"; - // echo " ".$rs[$i]['descrizione']."\n"; + // echo " ".$rs[$i]['descrizione']."\n"; } else { echo ' '.$rs[$i]['descrizione']."\n"; } @@ -137,9 +137,9 @@ for ($x = 0; $x < $n1; ++$x) { echo " \n"; if ($rs1[$x]['descrizione'] == 'Patrimoniale') { - $totale_conto_liv3 += $rs[$i]['totale']; + $totale_conto_liv3[] = $rs[$i]['totale']; } else { - $totale_conto_liv3 -= $rs[$i]['totale']; + $totale_conto_liv3[] = -$rs[$i]['totale']; } } @@ -150,9 +150,9 @@ for ($x = 0; $x < $n1; ++$x) { echo " \n"; if ($rs1[$x]['descrizione'] == 'Patrimoniale') { - $totale_conto_liv3 += $rs[$i]['totale']; + $totale_conto_liv3[] = $rs[$i]['totale']; } else { - $totale_conto_liv3 -= $rs[$i]['totale']; + $totale_conto_liv3[] = -$rs[$i]['totale']; } } echo " \n"; @@ -160,16 +160,16 @@ for ($x = 0; $x < $n1; ++$x) { // Somma dei totali if ($rs1[$x]['descrizione'] == 'Patrimoniale') { - if ($totale_conto_liv3 > 0) { - $totale_attivita += $totale_conto_liv3; + if (sum($totale_conto_liv3) > 0) { + $totale_attivita[] = abs(sum($totale_conto_liv3)); } else { - $totale_passivita += $totale_conto_liv3; + $totale_passivita[] = abs(sum($totale_conto_liv3)); } } else { - if ($totale_conto_liv3 > 0) { - $totale_ricavi += $totale_conto_liv3; + if (sum($totale_conto_liv3) > 0) { + $totale_ricavi[] = abs(sum($totale_conto_liv3)); } else { - $totale_costi += $totale_conto_liv3; + $totale_costi[] = abs(sum($totale_conto_liv3)); } } echo "
Causale
\n"; @@ -178,7 +178,7 @@ for ($x = 0; $x < $n1; ++$x) { echo "
\n"; - echo Translator::numberToLocale($totale_conto_liv3)." €\n"; + echo Translator::numberToLocale(sum($totale_conto_liv3))." €\n"; echo "
\n"; - echo "

".Translator::numberToLocale($utile_perdita)." €

\n"; + echo "

".Translator::numberToLocale(sum($utile_perdita))." €

\n"; echo "
\n"; - echo "

".Translator::numberToLocale($utile_perdita)." €

\n"; + echo "

".Translator::numberToLocale(sum($utile_perdita))." €

\n"; echo "
\n"; - echo "

".Translator::numberToLocale($pareggio1)." €

\n"; + echo "

".Translator::numberToLocale(sum($pareggio1))." €

\n"; echo "
\n"; - echo "

".Translator::numberToLocale($pareggio2)." €

\n"; + echo "

".Translator::numberToLocale(sum($pareggio2))." €

\n"; echo "
'; } else { - echo "

RICAVI: ".Translator::numberToLocale($totale_ricavi)." €

\n"; - echo "

COSTI: ".Translator::numberToLocale(abs($totale_costi))." €

\n"; - echo "

UTILE/PERDITA: ".Translator::numberToLocale($totale_ricavi - abs($totale_costi))." €

\n"; + echo "

RICAVI: ".Translator::numberToLocale(sum($totale_ricavi))." €

\n"; + echo "

COSTI: ".Translator::numberToLocale(sum(abs($totale_costi)))." €

\n"; + echo "

UTILE/PERDITA: ".Translator::numberToLocale(sum($totale_ricavi) - sum(abs($totale_costi)))." €

\n"; } } diff --git a/templates/partitario_mastrino/pdfgen.partitario_mastrino.php b/templates/partitario_mastrino/pdfgen.partitario_mastrino.php old mode 100644 new mode 100755 index fa059465e..137ea3e6b --- a/templates/partitario_mastrino/pdfgen.partitario_mastrino.php +++ b/templates/partitario_mastrino/pdfgen.partitario_mastrino.php @@ -51,11 +51,11 @@ if (get('lev') == '3') { \n"; - // Inizializzo saldo finale - $saldo_finale = 0; + // Inizializzo saldo finale + $saldo_finale = []; - // Calcolo saldo iniziale - $rs = $dbo->fetchArray('SELECT SUM(totale) AS totale FROM co_movimenti WHERE idconto="'.$idconto.'" AND data < "'.$_SESSION['period_start'].'"'); + // Calcolo saldo iniziale + $rs = $dbo->fetchArray('SELECT SUM(totale) AS totale FROM co_movimenti WHERE idconto="'.$idconto.'" AND data < "'.$_SESSION['period_start'].'"'); $saldo_iniziale = $rs[0]['totale']; $saldo_finale = $saldo_iniziale; @@ -82,19 +82,19 @@ if (get('lev') == '3') { $body .= " ".Translator::dateToLocale($rs[$i]['data'])."".$rs[$i]['descrizione']."".$dare."".$avere."\n"; - $saldo_finale += $rs[$i]['totale']; + $saldo_finale[] = $rs[$i]['totale']; } - if ($saldo_finale < 0) { + if ( sum($saldo_finale) < 0) { $dare = ''; - $avere = abs($saldo_finale); + $avere = abs( sum($saldo_finale) ); } else { - $dare = abs($saldo_finale); + $dare = abs( sum($saldo_finale) ); $avere = ''; } - // Mostro il saldo finale - $body .= " SALDO FINALE".Translator::numberToLocale(abs($dare))."".Translator::numberToLocale(abs($avere))."\n"; + // Mostro il saldo finale + $body .= " SALDO FINALE".Translator::numberToLocale( abs( sum($dare) ) )."".Translator::numberToLocale( abs( sum($avere) ) )."\n"; $body .= " \n"; @@ -106,37 +106,38 @@ elseif (get('lev') == '2') { \n"; - // Ciclo fra i sotto-conti di livello 2 - $rs3 = $dbo->fetchArray('SELECT id, numero, descrizione FROM co_pianodeiconti3 WHERE idpianodeiconti2="'.$idconto.'"'); + // Ciclo fra i sotto-conti di livello 2 + $rs3 = $dbo->fetchArray('SELECT id, numero, descrizione FROM co_pianodeiconti3 WHERE idpianodeiconti2="'.$idconto.'"'); for ($z = 0; $z < sizeof($rs3); ++$z) { + $v_dare = []; + $v_avere = []; + // Inizializzo saldo finale - $saldo_finale = 0; + $saldo_finale = []; - // Calcolo saldo iniziale - $rs = $dbo->fetchArray('SELECT SUM(totale) AS totale FROM co_movimenti WHERE idconto="'.$rs3[$z]['id'].'" AND data < "'.$_SESSION['period_start'].'"'); + // Calcolo saldo iniziale + $rs = $dbo->fetchArray('SELECT SUM(totale) AS totale FROM co_movimenti WHERE idconto="'.$rs3[$z]['id'].'" AND data < "'.$_SESSION['period_start'].'"'); $saldo_iniziale = $rs[0]['totale']; - $saldo_finale = $saldo_iniziale; + $saldo_finale[] = $saldo_iniziale; - if ($saldo_iniziale < 0) { - $dare = ''; - $avere = abs($saldo_iniziale); + if ( $saldo_iniziale < 0) { + $v_avere[] = abs( $saldo_iniziale ); } else { - $dare = abs($saldo_iniziale); - $avere = ''; + $v_dare[] = abs( $saldo_iniziale ); } $rs = $dbo->fetchArray('SELECT * FROM co_movimenti WHERE idconto="'.$rs3[$z]['id'].'" AND data >= "'.$_SESSION['period_start'].'" AND data <= "'.$_SESSION['period_end'].'" ORDER BY data ASC'); for ($i = 0; $i < sizeof($rs); ++$i) { if ($rs[$i]['totale'] >= 0) { - $dare += abs($rs[$i]['totale']); + $v_dare[] = abs($rs[$i]['totale']); } else { - $avere += abs($rs[$i]['totale']); + $v_avere[] = abs($rs[$i]['totale']); } } - $totale = $dare - $avere; + $totale = sum($v_dare) - sum($v_avere); if ($totale >= 0) { $dare = Translator::numberToLocale(abs($totale)); @@ -146,8 +147,8 @@ elseif (get('lev') == '2') { $avere = Translator::numberToLocale(abs($totale)); } - // Mostro il saldo finale del conto di livello 3 - $body .= " ".$rs3[$z]['numero'].' '.$rs3[$z]['descrizione']."".$dare."".$avere."\n"; + // Mostro il saldo finale del conto di livello 3 + $body .= " ".$rs3[$z]['numero'].' '.$rs3[$z]['descrizione']."".$dare."".$avere."\n"; } $body .= " @@ -156,73 +157,73 @@ elseif (get('lev') == '2') { // Stampa completa bilancio elseif (get('lev') == '1') { - $ricavi = 0; - $costi = 0; - $totale_attivita = 0; - $totale_passivita = 0; + $ricavi = []; + $costi = []; + $totale_attivita = []; + $totale_passivita = []; $body .= "\n"; - // Ciclo fra il conto principale scelto (Economico o Patrimoniale) - $rs1 = $dbo->fetchArray('SELECT id, numero, descrizione FROM co_pianodeiconti1 WHERE id="'.$idconto.'" ORDER BY numero DESC'); + // Ciclo fra il conto principale scelto (Economico o Patrimoniale) + $rs1 = $dbo->fetchArray('SELECT id, numero, descrizione FROM co_pianodeiconti1 WHERE id="'.$idconto.'" ORDER BY numero DESC'); for ($x = 0; $x < sizeof($rs1); ++$x) { // Ciclo fra i sotto-conti di livello 1 - $rs2 = $dbo->fetchArray('SELECT id, numero, descrizione FROM co_pianodeiconti2 WHERE idpianodeiconti1="'.$rs1[$x]['id'].'"'); + $rs2 = $dbo->fetchArray('SELECT id, numero, descrizione FROM co_pianodeiconti2 WHERE idpianodeiconti1="'.$rs1[$x]['id'].'"'); for ($y = 0; $y < sizeof($rs2); ++$y) { $body .= " \n"; - // Ciclo fra i sotto-conti di livello 2 - $rs3 = $dbo->fetchArray('SELECT id, numero, descrizione FROM co_pianodeiconti3 WHERE idpianodeiconti2="'.$rs2[$y]['id'].'"'); + // Ciclo fra i sotto-conti di livello 2 + $rs3 = $dbo->fetchArray('SELECT id, numero, descrizione FROM co_pianodeiconti3 WHERE idpianodeiconti2="'.$rs2[$y]['id'].'"'); for ($z = 0; $z < sizeof($rs3); ++$z) { - $dare = 0; - $avere = 0; + $v_dare = []; + $v_avere = []; $rs = $dbo->fetchArray('SELECT * FROM co_movimenti WHERE idconto="'.$rs3[$z]['id'].'" AND data >= "'.$_SESSION['period_start'].'" AND data <= "'.$_SESSION['period_end'].'" ORDER BY data ASC'); for ($i = 0; $i < sizeof($rs); ++$i) { if ($rs[$i]['totale'] >= 0) { - $dare += abs($rs[$i]['totale']); + $v_dare[] = abs($rs[$i]['totale']); } else { - $avere += abs($rs[$i]['totale']); + $v_avere[] = abs($rs[$i]['totale']); } } - $totale = $dare - $avere; + $totale = sum($v_dare) - sum($v_avere); if ($totale >= 0) { $dare = abs($totale); $avere = 0; - $totale_attivita += $dare; - $costi += abs($dare); + $totale_attivita[] = $dare; + $costi[] = abs($dare); } else { $dare = 0; $avere = abs($totale); - $totale_passivita += $avere; - $ricavi += abs($avere); + $totale_passivita[] = $avere; + $ricavi[] = abs($avere); } - // Mostro il saldo finale del conto di livello 3 - $body .= " \n"; + // Mostro il saldo finale del conto di livello 3 + $body .= " \n"; } } } // Stampa "Costi/Ricavi" se conto economico if ($rs1[0]['descrizione'] == 'Economico') { - $body .= " \n"; - $body .= " \n"; - $body .= " \n"; + $body .= " \n"; + $body .= " \n"; + $body .= " \n"; } // Stampa "Attività/Passività" se stato patrimoniale else { - $costi = 0; - $ricavi = 0; + $costi = []; + $ricavi = []; // Ciclo fra il conto economico per calcolare l'utile o la perdita $rs1 = $dbo->fetchArray('SELECT id, numero, descrizione FROM co_pianodeiconti1 WHERE NOT id="'.$idconto.'" ORDER BY numero DESC'); @@ -237,29 +238,29 @@ elseif (get('lev') == '1') { for ($z = 0; $z < sizeof($rs3); ++$z) { // Inizializzo saldo finale - $saldo_finale = 0; + $saldo_finale = []; // Calcolo saldo iniziale $rs = $dbo->fetchArray('SELECT SUM(totale) AS totale FROM co_movimenti WHERE idconto="'.$rs2[$y]['id'].'" AND data < "'.$_SESSION['period_start'].'"'); - $dare = 0; - $avere = 0; + $dare = []; + $avere = []; $rs = $dbo->fetchArray('SELECT * FROM co_movimenti WHERE idconto="'.$rs3[$z]['id'].'" AND data >= "'.$_SESSION['period_start'].'" AND data <= "'.$_SESSION['period_end'].'" ORDER BY data ASC'); for ($i = 0; $i < sizeof($rs); ++$i) { if ($rs[$i]['totale'] >= 0) { - $dare += abs($rs[$i]['totale']); + $dare[] = abs($rs[$i]['totale']); } else { - $avere += abs($rs[$i]['totale']); + $avere[] = abs($rs[$i]['totale']); } } - $totale = $dare - $avere; + $totale = sum($dare) - sum($avere); if ($totale >= 0) { - $costi += abs($totale); + $costi[] = abs($totale); } else { - $ricavi += abs($totale); + $ricavi[] = abs($totale); } } } @@ -269,9 +270,9 @@ elseif (get('lev') == '1') { $body .= "
".$rs2[$y]['numero'].' '.$rs2[$y]['descrizione']."
".$rs3[$z]['numero'].' '.$rs3[$z]['descrizione']."".Translator::numberToLocale(abs($dare))."".Translator::numberToLocale(abs($avere))."
".$rs3[$z]['numero'].' '.$rs3[$z]['descrizione']."".Translator::numberToLocale(abs($dare))."".Translator::numberToLocale(abs($avere))."
RICAVI".Translator::numberToLocale($ricavi)."
COSTI".Translator::numberToLocale($costi)."
UTILE".Translator::numberToLocale($ricavi - $costi)."
RICAVI".Translator::numberToLocale( sum($ricavi) )."
COSTI".Translator::numberToLocale( sum($costi) )."
UTILE".Translator::numberToLocale( sum($ricavi) - sum($costi) )."
\n"; // Tabella di riepilogo finale - $totale_attivita = abs($totale_attivita); - $totale_passivita = abs($totale_passivita); - $utile_perdita = abs($ricavi) - abs($costi); + $totale_attivita = abs( sum($totale_attivita) ); + $totale_passivita = abs( sum($totale_passivita) ); + $utile_perdita = abs( sum($ricavi) ) - abs( sum($costi) ); if ($utile_perdita < 0) { $pareggio1 = $totale_attivita + abs($utile_perdita);