359 lines
15 KiB
PHP
359 lines
15 KiB
PHP
<?php
|
|
/*
|
|
* OpenSTAManager: il software gestionale open source per l'assistenza tecnica e la fatturazione
|
|
* Copyright (C) DevCode s.r.l.
|
|
*
|
|
* This program is free software: you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation, either version 3 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
include_once __DIR__.'/../../core.php';
|
|
|
|
// Stato Patrimoniale
|
|
echo '
|
|
<h4>Stato Patrimoniale</h3>
|
|
|
|
<div class="row">
|
|
<div class="col-md-6 pull-left" style="width:49%;" >
|
|
<table class="table table-striped table-bordered" style="overflow:hidden;" id="contents">
|
|
<thead>
|
|
<tr>
|
|
<th colspan="3"><h5>Attività</h5></th>
|
|
</tr>
|
|
<tr>
|
|
<th width="15%">CONTO</th>
|
|
<th width="60%">DESCRIZIONE</th>
|
|
<th width="25%">SALDO</th>
|
|
|
|
</tr>
|
|
</thead>
|
|
<tbody>';
|
|
// Mostra le righe delle attività
|
|
foreach ($liv2_patrimoniale as $liv2_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) {
|
|
$totale_attivita += $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($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_attivita += $crediti_clienti;
|
|
$totale_livello3 += $crediti_clienti;
|
|
$livello3 .= '
|
|
<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') && $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>
|
|
<td colspan="2"><h6><b>Totale Attività</b></h6></td>
|
|
<td class="text-right" style="font-size:8pt;"><b>'.numberFormat(abs($totale_attivita), 2).'</b></td>
|
|
</tr>';
|
|
if ($utile_perdita > 0) {
|
|
echo '
|
|
<tr>
|
|
<td colspan="2"><h6><b>Perdita</b></h6></td>
|
|
<td class="text-right" style="font-size:8pt;"><b>'.numberFormat(abs($utile_perdita), 2).'</b></td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="2"><h6><b>Totale a pareggio</b></h6></td>
|
|
<td class="text-right" style="font-size:8pt;"><b>'.numberFormat(abs($totale_attivita) + abs($utile_perdita), 2).'</b></td>
|
|
</tr>';
|
|
}
|
|
echo '
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="col-md-6 pull-right" style="width:49%;" >
|
|
<table class="table table-striped table-bordered" style="overflow:hidden;" id="contents">
|
|
<thead>
|
|
<tr>
|
|
|
|
<th colspan="3"><h5>Passività</h5></th>
|
|
</tr>
|
|
<tr>
|
|
<th width="20%">CONTO</th>
|
|
<th width="55%">DESCRIZIONE</th>
|
|
<th width="25%">SALDO</th>
|
|
|
|
</tr>
|
|
</thead>
|
|
<tbody>';
|
|
$i = 0;
|
|
// Mostra le righe delle passività
|
|
foreach ($liv2_patrimoniale as $liv2_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) {
|
|
$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($totale_livello3), 2).'</b></td>
|
|
</tr>';
|
|
echo $livello3;
|
|
}
|
|
}
|
|
echo '
|
|
<tr>
|
|
<td colspan="2"><h6><b>Totale Passività</b></h6></td>
|
|
<td class="text-right" style="font-size:8pt;"><b>'.numberFormat(abs($totale_passivita), 2).'</b></td>
|
|
</tr>';
|
|
if ($utile_perdita < 0) {
|
|
echo '
|
|
<tr>
|
|
<td colspan="2"><h6><b>Utile</b></h6></td>
|
|
<td class="text-right" style="font-size:8pt;"><b>'.numberFormat(abs($utile_perdita), 2).'</b></td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="2"><h6><b>Totale a pareggio</b></h6></td>
|
|
<td class="text-right" style="font-size:8pt;"><b>'.numberFormat(abs($totale_passivita) + abs($utile_perdita), 2).'</b></td>
|
|
</tr>';
|
|
}
|
|
echo '
|
|
</tbody>
|
|
</table>
|
|
|
|
</div>
|
|
</div>';
|
|
|
|
// Conto economico
|
|
echo '
|
|
<pagebreak>
|
|
<h4>Conto Economico</h4>
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-md-6 pull-left" style="width:49%;" >
|
|
|
|
<table class="table table-striped table-bordered" style=" overflow:hidden;" id="contents">
|
|
<thead>
|
|
<tr>
|
|
<th colspan="4"><h5>Costi</h5></th>
|
|
</tr>
|
|
<tr>
|
|
<th width="12%">CONTO</th>
|
|
<th>DESCRIZIONE</th>
|
|
<th width="21%">SALDO</th>
|
|
<th width="21%">REDDITO</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>';
|
|
// Mostra le righe dei costi
|
|
foreach ($liv2_economico as $liv2_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) {
|
|
$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(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>
|
|
<td class="text-right" style="font-size:8pt;"><b>'.numberFormat(abs($totale_costi), 2).'</b></td>
|
|
<td></td>
|
|
</tr>';
|
|
if ($utile_perdita < 0) {
|
|
echo '
|
|
<tr>
|
|
<td colspan="2"><h6><b>Utile</b></h6></td>
|
|
<td class="text-right" style="font-size:8pt;"><b>'.numberFormat(abs($utile_perdita), 2).'</b></td>
|
|
<td></td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="2"><h6><b>Totale a pareggio</b></h6></td>
|
|
<td class="text-right" style="font-size:8pt;"><b>'.numberFormat(abs($totale_costi) + abs($utile_perdita), 2).'</b></td>
|
|
<td></td>
|
|
</tr>';
|
|
}
|
|
echo '
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="col-md-6 pull-right" style="width:49%;" >
|
|
|
|
<table class="table table-striped table-bordered" style=" overflow:hidden;" id="contents">
|
|
<thead>
|
|
<tr>
|
|
<th colspan="4"><h5>Ricavi</h5></th>
|
|
</tr>
|
|
<tr>
|
|
<th width="12%">CONTO</th>
|
|
<th>DESCRIZIONE</th>
|
|
<th width="21%">SALDO</th>
|
|
<th width="21%">REDDITO</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>';
|
|
// Mostra le righe dei ricavi
|
|
foreach ($liv2_economico as $liv2_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) {
|
|
$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>
|
|
<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 ricavi</b></h6></td>
|
|
<td style="font-size:8pt;" class="text-right"><b>'.numberFormat(abs($totale_ricavi), 2).'</b></td>
|
|
<td></td>
|
|
</tr>';
|
|
if ($utile_perdita > 0) {
|
|
echo '
|
|
<tr>
|
|
<td colspan="2"><h6><b>Perdita</b></h6></td>
|
|
<td class="text-right" style="font-size:8pt;"><b>'.numberFormat(abs($utile_perdita), 2).'</b></td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="2"><h6><b>Totale a pareggio</b></td>
|
|
<td class="text-right" style="font-size:8pt;"><b>'.numberFormat(abs($totale_ricavi) + abs($utile_perdita), 2).'</b></td>
|
|
<td></td>
|
|
</tr>';
|
|
}
|
|
echo '
|
|
</tbody>
|
|
</table>
|
|
|
|
</div>
|
|
</div>';
|