';
// Livello 2
$query2 = "SELECT * FROM `co_pianodeiconti2` WHERE idpianodeiconti1='".$conto_primo['id']."' ORDER BY numero ASC";
$secondo_livello = $dbo->fetchArray($query2);
foreach ($secondo_livello as $conto_secondo) {
// Livello 2
echo '
';
// Livello 3
$query3 = 'SELECT `co_pianodeiconti3`.*, `clienti`.`idanagrafica` AS id_cliente, `fornitori`.`idanagrafica` AS id_fornitore FROM `co_pianodeiconti3` LEFT OUTER JOIN `an_anagrafiche` `clienti` ON `clienti`.`idconto_cliente` = `co_pianodeiconti3`.`id` LEFT OUTER JOIN `an_anagrafiche` `fornitori` ON `fornitori`.`idconto_fornitore` = `co_pianodeiconti3`.`id` 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 = $dbo->fetchNum('SELECT id FROM co_movimenti WHERE idconto = '.prepare($conto_terzo['id']));
// Calcolo totale conto da elenco movimenti di questo conto
$query = 'SELECT co_movimenti.*, dir FROM co_movimenti
LEFT OUTER JOIN co_documenti ON co_movimenti.iddocumento = co_documenti.id
LEFT OUTER JOIN co_tipidocumento ON co_documenti.idtipodocumento = co_tipidocumento.id
WHERE co_movimenti.idconto='.prepare($conto_terzo['id']).' AND co_movimenti.data >= '.prepare($_SESSION['period_start']).' AND co_movimenti.data <= '.prepare($_SESSION['period_end']).' ORDER BY co_movimenti.data DESC';
$movimenti = $dbo->fetchArray($query);
$totale_conto = sum(array_column($movimenti, 'totale'));
$totale_conto = ($conto_primo['descrizione'] == 'Patrimoniale') ? $totale_conto : -$totale_conto;
// Somma dei totali
if ($conto_primo['descrizione'] == 'Patrimoniale') {
if ($totale_conto > 0) {
$totale_attivita[] = abs($totale_conto);
} else {
$totale_passivita[] = abs($totale_conto);
}
} else {
if ($totale_conto > 0) {
$totale_ricavi[] = abs($totale_conto);
} else {
$totale_costi[] = abs($totale_conto);
}
}
echo '
';
if (!empty($movimenti)) {
echo '
';
}
$id_anagrafica = $conto_terzo['id_cliente'] ?: $conto_terzo['id_fornitore'];
echo '
';
// Stampa mastrino
if (!empty($movimenti)) {
echo '
'.Prints::getLink('Mastrino', $conto_terzo['id'], 'btn-info btn-xs', '', null, 'lev=3');
}
if ($numero_movimenti <= 0 && !empty($conto_terzo['can_delete'])) {
echo '
';
}
// Possibilità di modificare il nome del conto livello3
if (!empty($conto_terzo['can_edit'])) {
echo '
';
}
echo '
'.$conto_secondo['numero'].'.'.$conto_terzo['numero'].' '.$conto_terzo['descrizione'].' '.(isset($id_anagrafica) ? Modules::link('Anagrafiche', $id_anagrafica, 'Anagrafica', null) : '').'
'.moneyFormat(sum($totale_conto), 2).'
';
}
echo '
';
// Possibilità di inserire un nuovo conto
echo '