Fix Stampa bilancio
This commit is contained in:
parent
d8d967bdb1
commit
f595acd3e2
|
@ -40,19 +40,15 @@ echo '
|
|||
<tbody>';
|
||||
// Mostra le righe delle attività
|
||||
foreach ($liv2_patrimoniale as $liv2_p) {
|
||||
if ($liv2_p['totale'] > 0) {
|
||||
$totale_attivita += $liv2_p['totale'];
|
||||
echo '
|
||||
<tr>
|
||||
<td><b>'.$liv2_p['numero'].'</b></td>
|
||||
<td><b>'.$liv2_p['descrizione'].'</b></td>
|
||||
<td class="text-right"><b>'.numberFormat($liv2_p['totale'], 2).'</b></td>
|
||||
</tr>';
|
||||
|
||||
foreach ($liv3_patrimoniale as $liv3_p) {
|
||||
$livello3 = '';
|
||||
$totale_livello3 = 0;
|
||||
foreach ($liv3_patrimoniale as $liv3_p) {
|
||||
if ($liv3_p['totale'] > 0) {
|
||||
// Visualizzo solo i conti di livello 3 relativi al conto di livello 2
|
||||
if ($liv2_p['id'] == $liv3_p['idpianodeiconti2'] && $liv3_p['totale'] != 0) {
|
||||
echo '
|
||||
$totale_attivita += $liv3_p['totale'];
|
||||
$totale_livello3 += $liv3_p['totale'];
|
||||
$livello3 .= '
|
||||
<tr>
|
||||
<td>'.$liv3_p['numero'].'</td>
|
||||
<td>'.$liv3_p['descrizione'].'</td>
|
||||
|
@ -60,25 +56,39 @@ echo '
|
|||
</tr>';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (empty(get('elenco_analitico'))) {
|
||||
if ($liv2_p['id'] == setting('Conto di secondo livello per i crediti clienti')) {
|
||||
echo '
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>Clienti</td>
|
||||
<td class="text-right">'.numberFormat($crediti_clienti, 2).'</td>
|
||||
</tr>';
|
||||
} elseif ($liv2_p['id'] == setting('Conto di secondo livello per i debiti fornitori')) {
|
||||
echo '
|
||||
if (empty(get('elenco_analitico'))) {
|
||||
if ($liv2_p['id'] == setting('Conto di secondo livello per i crediti clienti') && $crediti_clienti > 0) {
|
||||
$totale_attivita += $crediti_clienti;
|
||||
$totale_livello3 += $crediti_clienti;
|
||||
$livello3 .= '
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>Fornitori</td>
|
||||
<td class="text-right">'.numberFormat($debiti_fornitori, 2).'</td>
|
||||
<td>Clienti</td>
|
||||
<td class="text-right">'.numberFormat($crediti_clienti, 2).'</td>
|
||||
</tr>';
|
||||
}
|
||||
} elseif ($liv2_p['id'] == setting('Conto di secondo livello per i debiti fornitori') && $debiti_fornitori > 0) {
|
||||
$totale_attivita += $debiti_fornitori;
|
||||
$totale_livello3 += $debiti_fornitori;
|
||||
$livello3 .= '
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>Fornitori</td>
|
||||
<td class="text-right">'.numberFormat($debiti_fornitori, 2).'</td>
|
||||
</tr>';
|
||||
}
|
||||
}
|
||||
|
||||
if ($totale_livello3 != 0) {
|
||||
echo '
|
||||
<tr>
|
||||
<td><b>'.$liv2_p['numero'].'</b></td>
|
||||
<td><b>'.$liv2_p['descrizione'].'</b></td>
|
||||
<td class="text-right"><b>'.numberFormat($totale_livello3, 2).'</b></td>
|
||||
</tr>';
|
||||
echo $livello3;
|
||||
}
|
||||
}
|
||||
echo '
|
||||
<tr>
|
||||
|
@ -119,43 +129,54 @@ echo '
|
|||
$i = 0;
|
||||
// Mostra le righe delle passività
|
||||
foreach ($liv2_patrimoniale as $liv2_p) {
|
||||
if ($liv2_p['totale'] < 0) {
|
||||
$totale_passivita += $liv2_p['totale'];
|
||||
$livello3 = '';
|
||||
$totale_livello3 = 0;
|
||||
foreach ($liv3_patrimoniale as $liv3_p) {
|
||||
if ($liv3_p['totale'] < 0) {
|
||||
// Visualizzo solo i conti di livello 3 relativi al conto di livello 2
|
||||
if ($liv2_p['id'] == $liv3_p['idpianodeiconti2'] && $liv3_p['totale'] != 0) {
|
||||
$totale_passivita += $liv3_p['totale'];
|
||||
$totale_livello3 += $liv3_p['totale'];
|
||||
$livello3 .= '
|
||||
<tr>
|
||||
<td>'.$liv3_p['numero'].'</td>
|
||||
<td>'.$liv3_p['descrizione'].'</td>
|
||||
<td class="text-right">'.numberFormat(abs($liv3_p['totale']), 2).'</td>
|
||||
</tr>';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (empty(get('elenco_analitico'))) {
|
||||
if ($liv2_p['id'] == setting('Conto di secondo livello per i crediti clienti') && $crediti_clienti < 0) {
|
||||
$totale_passivita += $crediti_clienti;
|
||||
$totale_livello3 += $crediti_clienti;
|
||||
$livello3 .= '
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>Clienti</td>
|
||||
<td class="text-right">'.numberFormat(abs($crediti_clienti), 2).'</td>
|
||||
</tr>';
|
||||
} elseif ($liv2_p['id'] == setting('Conto di secondo livello per i debiti fornitori') && $debiti_fornitori < 0) {
|
||||
$totale_passivita += $debiti_fornitori;
|
||||
$totale_livello3 += $debiti_fornitori;
|
||||
$livello3 .= '
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>Fornitori</td>
|
||||
<td class="text-right">'.numberFormat(abs($debiti_fornitori), 2).'</td>
|
||||
</tr>';
|
||||
}
|
||||
}
|
||||
|
||||
if ($totale_livello3 != 0) {
|
||||
echo '
|
||||
<tr>
|
||||
<td><b>'.$liv2_p['numero'].'</b></td>
|
||||
<td><b>'.$liv2_p['descrizione'].'</b></td>
|
||||
<td class="text-right"><b>'.numberFormat(abs($liv2_p['totale']), 2).'</b></td>
|
||||
<td class="text-right"><b>'.numberFormat(abs($totale_livello3), 2).'</b></td>
|
||||
</tr>';
|
||||
|
||||
foreach ($liv3_patrimoniale as $liv3_p) {
|
||||
if ($liv2_p['id'] == $liv3_p['idpianodeiconti2'] && $liv3_p['totale'] != 0) {
|
||||
echo '
|
||||
<tr>
|
||||
<td>'.$liv3_p['numero'].'</td>
|
||||
<td>'.$liv3_p['descrizione'].'</td>
|
||||
<td class="text-right">'.numberFormat(-$liv3_p['totale'], 2).'</td>
|
||||
</tr>';
|
||||
}
|
||||
}
|
||||
|
||||
if (empty(get('elenco_analitico'))) {
|
||||
if ($liv2_p['id'] == setting('Conto di secondo livello per i crediti clienti')) {
|
||||
echo '
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>Clienti</td>
|
||||
<td class="text-right">'.numberFormat(abs($crediti_clienti), 2).'</td>
|
||||
</tr>';
|
||||
} elseif ($liv2_p['id'] == setting('Conto di secondo livello per i debiti fornitori')) {
|
||||
echo '
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>Fornitori</td>
|
||||
<td class="text-right">'.numberFormat(abs($debiti_fornitori), 2).'</td>
|
||||
</tr>';
|
||||
}
|
||||
}
|
||||
echo $livello3;
|
||||
}
|
||||
}
|
||||
echo '
|
||||
|
@ -205,29 +226,39 @@ echo '
|
|||
<tbody>';
|
||||
// Mostra le righe dei costi
|
||||
foreach ($liv2_economico as $liv2_e) {
|
||||
if ($liv2_e['totale'] > 0) {
|
||||
$totale_costi += $liv2_e['totale'];
|
||||
echo '
|
||||
<tr>
|
||||
<td><b>'.$liv2_e['numero'].'</b></td>
|
||||
<td><b>'.$liv2_e['descrizione'].'</b></td>
|
||||
<td class="text-right"><b>'.numberFormat($liv2_e['totale'], 2).'</b></td>
|
||||
<td class="text-right"><b>'.numberFormat($liv2_e['totale_reddito'], 2).'</b></td>
|
||||
</tr>';
|
||||
|
||||
foreach ($liv3_economico as $liv3_e) {
|
||||
$livello3 = '';
|
||||
$totale_livello3 = 0;
|
||||
$totale_reddito_livello3 = 0;
|
||||
foreach ($liv3_economico as $liv3_e) {
|
||||
if ($liv3_e['totale'] > 0) {
|
||||
// Visualizzo solo i conti di livello 3 relativi al conto di livello 2
|
||||
if ($liv2_e['id'] == $liv3_e['idpianodeiconti2'] && $liv3_e['totale'] != 0) {
|
||||
echo '
|
||||
$totale_costi += $liv3_e['totale'];
|
||||
$totale_livello3 += $liv3_e['totale'];
|
||||
$totale_reddito_livello3 += $liv3_e['totale_reddito'];
|
||||
$livello3 .= '
|
||||
<tr>
|
||||
<td>'.$liv3_e['numero'].'</td>
|
||||
<td>'.$liv3_e['descrizione'].'</td>
|
||||
<td class="text-right">'.numberFormat($liv3_e['totale'], 2).'</td>
|
||||
<td class="text-right">'.numberFormat($liv3_e['totale_reddito'], 2).'</td>
|
||||
<td class="text-right">'.numberFormat(abs($liv3_e['totale']), 2).'</td>
|
||||
<td class="text-right">'.numberFormat(abs($liv3_e['totale_reddito']), 2).'</td>
|
||||
</tr>';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($totale_livello3 != 0) {
|
||||
echo '
|
||||
<tr>
|
||||
<td><b>'.$liv2_e['numero'].'</b></td>
|
||||
<td><b>'.$liv2_e['descrizione'].'</b></td>
|
||||
<td class="text-right"><b>'.numberFormat(abs($totale_livello3), 2).'</b></td>
|
||||
<td class="text-right"><b>'.numberFormat(abs($totale_reddito_livello3), 2).'</b></td>
|
||||
</tr>';
|
||||
echo $livello3;
|
||||
}
|
||||
}
|
||||
|
||||
echo '
|
||||
<tr>
|
||||
<td colspan="2"><h6><b>Totale costi</b></h6></td>
|
||||
|
@ -269,19 +300,17 @@ echo '
|
|||
<tbody>';
|
||||
// Mostra le righe dei ricavi
|
||||
foreach ($liv2_economico as $liv2_e) {
|
||||
if ($liv2_e['totale'] < 0) {
|
||||
$totale_ricavi += $liv2_e['totale'];
|
||||
echo '
|
||||
<tr>
|
||||
<td><b>'.$liv2_e['numero'].'</b></td>
|
||||
<td><b>'.$liv2_e['descrizione'].'</b></td>
|
||||
<td class="text-right"><b>'.numberFormat(abs($liv2_e['totale']), 2).'</b></td>
|
||||
<td class="text-right"><b>'.numberFormat(abs($liv2_e['totale_reddito']), 2).'</b></td>
|
||||
</tr>';
|
||||
|
||||
foreach ($liv3_economico as $liv3_e) {
|
||||
$livello3 = '';
|
||||
$totale_livello3 = 0;
|
||||
$totale_reddito_livello3 = 0;
|
||||
foreach ($liv3_economico as $liv3_e) {
|
||||
if ($liv3_e['totale'] < 0) {
|
||||
// Visualizzo solo i conti di livello 3 relativi al conto di livello 2
|
||||
if ($liv2_e['id'] == $liv3_e['idpianodeiconti2'] && $liv3_e['totale'] != 0) {
|
||||
echo '
|
||||
$totale_ricavi += $liv3_e['totale'];
|
||||
$totale_livello3 += $liv3_e['totale'];
|
||||
$totale_reddito_livello3 += $liv3_e['totale_reddito'];
|
||||
$livello3 .= '
|
||||
<tr>
|
||||
<td>'.$liv3_e['numero'].'</td>
|
||||
<td>'.$liv3_e['descrizione'].'</td>
|
||||
|
@ -291,6 +320,17 @@ echo '
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($totale_livello3 != 0) {
|
||||
echo '
|
||||
<tr>
|
||||
<td><b>'.$liv2_e['numero'].'</b></td>
|
||||
<td><b>'.$liv2_e['descrizione'].'</b></td>
|
||||
<td class="text-right"><b>'.numberFormat(abs($totale_livello3), 2).'</b></td>
|
||||
<td class="text-right"><b>'.numberFormat(abs($totale_reddito_livello3), 2).'</b></td>
|
||||
</tr>';
|
||||
echo $livello3;
|
||||
}
|
||||
}
|
||||
echo '
|
||||
<tr>
|
||||
|
|
|
@ -37,7 +37,7 @@ $liv3_economico = $dbo->fetchArray('SELECT co_pianodeiconti3.numero AS numero,
|
|||
|
||||
$utile_perdita = $dbo->fetchOne('SELECT SUM(totale) AS totale FROM `co_movimenti` WHERE idconto IN(SELECT id FROM co_pianodeiconti3 WHERE idpianodeiconti2 IN(SELECT id FROM co_pianodeiconti2 WHERE idpianodeiconti1=(SELECT id FROM co_pianodeiconti1 WHERE descrizione="Economico")))AND co_movimenti.data>='.prepare($date_start).' AND co_movimenti.data<='.prepare($date_end))['totale'];
|
||||
|
||||
$debiti_fornitori = $dbo->fetchArray('
|
||||
$debiti_fornitori_attivita = $dbo->fetchArray('
|
||||
SELECT
|
||||
co_pianodeiconti3.numero AS numero,
|
||||
co_pianodeiconti3.descrizione AS descrizione,
|
||||
|
@ -48,18 +48,19 @@ FROM
|
|||
INNER JOIN co_pianodeiconti3 ON co_movimenti.idconto=co_pianodeiconti3.id
|
||||
INNER JOIN co_pianodeiconti2 ON co_pianodeiconti3.idpianodeiconti2=co_pianodeiconti2.id
|
||||
WHERE
|
||||
co_pianodeiconti2.descrizione='.prepare(setting('Conto di secondo livello per i debiti fornitori')).'
|
||||
co_pianodeiconti2.id='.prepare(setting('Conto di secondo livello per i debiti fornitori')).'
|
||||
AND co_pianodeiconti3.id IN (SELECT idconto_fornitore FROM an_anagrafiche)
|
||||
AND co_movimenti.data>='.prepare($date_start).'
|
||||
AND co_movimenti.data<='.prepare($date_end).'
|
||||
AND co_movimenti.totale > 0
|
||||
GROUP BY
|
||||
idconto
|
||||
ORDER BY
|
||||
co_pianodeiconti2.numero');
|
||||
|
||||
$debiti_fornitori = sum(array_column($debiti_fornitori, 'totale'));
|
||||
$debiti_fornitori_attivita = sum(array_column($debiti_fornitori_attivita, 'totale'));
|
||||
|
||||
$crediti_clienti = $dbo->fetchArray('
|
||||
$crediti_clienti_attivita = $dbo->fetchArray('
|
||||
SELECT
|
||||
co_pianodeiconti3.numero AS numero,
|
||||
co_pianodeiconti3.descrizione AS descrizione,
|
||||
|
@ -74,9 +75,59 @@ WHERE
|
|||
AND co_pianodeiconti3.id IN (SELECT idconto_cliente FROM an_anagrafiche)
|
||||
AND co_movimenti.data>='.prepare($date_start).'
|
||||
AND co_movimenti.data<='.prepare($date_end).'
|
||||
AND co_movimenti.totale > 0
|
||||
GROUP BY
|
||||
idconto
|
||||
ORDER BY
|
||||
co_pianodeiconti2.numero');
|
||||
|
||||
$crediti_clienti = sum(array_column($crediti_clienti, 'totale'));
|
||||
$crediti_clienti_attivita = sum(array_column($crediti_clienti_attivita, 'totale'));
|
||||
|
||||
$debiti_fornitori_passivita = $dbo->fetchArray('
|
||||
SELECT
|
||||
co_pianodeiconti3.numero AS numero,
|
||||
co_pianodeiconti3.descrizione AS descrizione,
|
||||
SUM(totale) AS totale,
|
||||
co_pianodeiconti3.idpianodeiconti2 AS idpianodeiconti2
|
||||
FROM
|
||||
`co_movimenti`
|
||||
INNER JOIN co_pianodeiconti3 ON co_movimenti.idconto=co_pianodeiconti3.id
|
||||
INNER JOIN co_pianodeiconti2 ON co_pianodeiconti3.idpianodeiconti2=co_pianodeiconti2.id
|
||||
WHERE
|
||||
co_pianodeiconti2.id='.prepare(setting('Conto di secondo livello per i debiti fornitori')).'
|
||||
AND co_pianodeiconti3.id IN (SELECT idconto_fornitore FROM an_anagrafiche)
|
||||
AND co_movimenti.data>='.prepare($date_start).'
|
||||
AND co_movimenti.data<='.prepare($date_end).'
|
||||
AND co_movimenti.totale < 0
|
||||
GROUP BY
|
||||
idconto
|
||||
ORDER BY
|
||||
co_pianodeiconti2.numero');
|
||||
|
||||
$debiti_fornitori_passivita = sum(array_column($debiti_fornitori_passivita, 'totale'));
|
||||
|
||||
$crediti_clienti_passivita = $dbo->fetchArray('
|
||||
SELECT
|
||||
co_pianodeiconti3.numero AS numero,
|
||||
co_pianodeiconti3.descrizione AS descrizione,
|
||||
SUM(totale) AS totale,
|
||||
co_pianodeiconti3.idpianodeiconti2 AS idpianodeiconti2
|
||||
FROM
|
||||
`co_movimenti`
|
||||
INNER JOIN co_pianodeiconti3 ON co_movimenti.idconto=co_pianodeiconti3.id
|
||||
INNER JOIN co_pianodeiconti2 ON co_pianodeiconti3.idpianodeiconti2=co_pianodeiconti2.id
|
||||
WHERE
|
||||
co_pianodeiconti2.id='.prepare(setting('Conto di secondo livello per i crediti clienti')).'
|
||||
AND co_pianodeiconti3.id IN (SELECT idconto_cliente FROM an_anagrafiche)
|
||||
AND co_movimenti.data>='.prepare($date_start).'
|
||||
AND co_movimenti.data<='.prepare($date_end).'
|
||||
AND co_movimenti.totale < 0
|
||||
GROUP BY
|
||||
idconto
|
||||
ORDER BY
|
||||
co_pianodeiconti2.numero');
|
||||
|
||||
$crediti_clienti_passivita = sum(array_column($crediti_clienti_passivita, 'totale'));
|
||||
|
||||
$crediti_clienti = $crediti_clienti_attivita + $crediti_clienti_passivita;
|
||||
$debiti_fornitori = $debiti_fornitori_attivita + $debiti_fornitori_passivita;
|
Loading…
Reference in New Issue