form( 'idconto' );
$module_name = "Piano dei conti";
include_once( $docroot."/lib/permissions_check.php" );
//carica report html
$report = file_get_contents ($docroot."/templates/partitario_mastrino/partitario.html");
$body = file_get_contents ($docroot."/templates/partitario_mastrino/partitario_body.html");
include_once( "pdfgen_variables.php" );
//Calcolo il percorso piano dei conti
if( $html->form('lev') == '3' ){
$rs = $dbo->fetchArray("SELECT idpianodeiconti2, CONCAT_WS(' ', numero, descrizione ) AS descrizione FROM co_pianodeiconti3 WHERE id=\"".$idconto."\"");
$percorso = $rs[0]['descrizione'];
$idpianodeiconti2 = $rs[0]['idpianodeiconti2'];
$rs = $dbo->fetchArray("SELECT idpianodeiconti1, CONCAT_WS(' ', numero, descrizione ) AS descrizione FROM co_pianodeiconti2 WHERE id=\"".$idpianodeiconti2."\"");
$percorso = $rs[0]['descrizione']."
".$percorso;
$idpianodeiconti1 = $rs[0]['idpianodeiconti1'];
$rs = $dbo->fetchArray("SELECT CONCAT_WS(' ', numero, descrizione ) AS descrizione FROM co_pianodeiconti1 WHERE id=\"".$idpianodeiconti1."\"");
( $rs[0]['descrizione'] == '01 Patrimoniale' ) ? $descrizione="Stato patrimoniale" : $descrizione="Conto economico";
$percorso = $descrizione."
".$percorso;
}
elseif( $html->form('lev') == '2' ){
$rs = $dbo->fetchArray("SELECT idpianodeiconti1, CONCAT_WS(' ', numero, descrizione ) AS descrizione FROM co_pianodeiconti2 WHERE id=\"".$idconto."\"");
$percorso = $rs[0]['descrizione']."
".$percorso;
$idpianodeiconti1 = $rs[0]['idpianodeiconti1'];
$rs = $dbo->fetchArray("SELECT CONCAT_WS(' ', numero, descrizione ) AS descrizione FROM co_pianodeiconti1 WHERE id=\"".$idpianodeiconti1."\"");
( $rs[0]['descrizione'] == '01 Patrimoniale' ) ? $descrizione="Stato patrimoniale" : $descrizione="Conto economico";
$percorso = $descrizione."
".$percorso;
}
elseif( $html->form('lev') == '1' ){
$rs = $dbo->fetchArray("SELECT CONCAT_WS(' ', numero, descrizione ) AS descrizione FROM co_pianodeiconti1 WHERE id=\"".$idconto."\"");
( $rs[0]['descrizione'] == '01 Patrimoniale' ) ? $descrizione="Stato patrimoniale" : $descrizione="Conto economico";
$percorso = $descrizione."
";
}
$body = str_replace( "|percorso|", $percorso, $body );
$body = str_replace( "|info_fornitore|", $f_ragionesociale."
".$f_indirizzo."
".$f_citta, $body );
$body = str_replace( "|period_start|", date("d/m/Y", strtotime($_SESSION['period_start'])), $body );
$body = str_replace( "|period_end|", date("d/m/Y", strtotime($_SESSION['period_end'])), $body );
//Stampa da livello 3
if( $html->form('lev') == '3' ){
$body .= "
\n";
//Inizializzo saldo finale
$saldo_finale = 0;
//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;
if( $saldo_iniziale < 0 ){
$dare = '';
$avere = abs($saldo_iniziale);
}
else{
$dare = abs($saldo_iniziale);
$avere = '';
}
$body .= " | SALDO INIZIALE | ".number_format( abs($dare), get_var("Cifre decimali"), ",", "." )." | ".number_format( abs($avere), get_var("Cifre decimali"), ",", "." )." |
\n";
$rs = $dbo->fetchArray("SELECT * FROM co_movimenti WHERE idconto=\"".$idconto."\" AND data >= \"".$_SESSION['period_start']."\" AND data <= \"".$_SESSION['period_end']."\" ORDER BY data ASC");
for( $i=0; $i= 0 ){
$dare = number_format( abs($rs[$i]['totale']), get_var("Cifre decimali"), ",", "." );
$avere = "";
}
else{
$dare = "";
$avere = number_format( abs($rs[$i]['totale']), get_var("Cifre decimali"), ",", "." );
}
$body .= " ".date( "d/m/Y", strtotime($rs[$i]['data']) )." | ".$rs[$i]['descrizione']." | ".$dare." | ".$avere." |
\n";
$saldo_finale += $rs[$i]['totale'];
}
if( $saldo_finale < 0 ){
$dare = '';
$avere = abs($saldo_finale);
}
else{
$dare = abs($saldo_finale);
$avere = '';
}
//Mostro il saldo finale
$body .= " | SALDO FINALE | ".number_format( abs($dare), get_var("Cifre decimali"), ",", "." )." | ".number_format( abs($avere), get_var("Cifre decimali"), ",", "." )." |
\n";
$body .="
\n";
}
//Stampa da livello 2
elseif( $html->form('lev') == '2' ){
$body .= "
\n";
//Ciclo fra i sotto-conti di livello 2
$rs3 = $dbo->fetchArray("SELECT id, numero, descrizione FROM co_pianodeiconti3 WHERE idpianodeiconti2=\"".$idconto."\"");
for( $z=0; $zfetchArray("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;
if( $saldo_iniziale < 0 ){
$dare = '';
$avere = abs($saldo_iniziale);
}
else{
$dare = abs($saldo_iniziale);
$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= 0 ){
$dare += abs($rs[$i]['totale']);
}
else{
$avere += abs($rs[$i]['totale']);
}
}
$totale = $dare - $avere;
if( $totale >= 0 ){
$dare = number_format( abs($totale), get_var("Cifre decimali"), ",", "." );
$avere = "";
}
else{
$dare = "";
$avere = number_format( abs($totale), get_var("Cifre decimali"), ",", "." );
}
//Mostro il saldo finale del conto di livello 3
$body .= " | ".$rs3[$z]['numero']." ".$rs3[$z]['descrizione']." | ".$dare." | ".$avere." |
\n";
}
$body .="
\n";
}
//Stampa completa bilancio
elseif( $html->form('lev') == '1' ){
$ricavi = 0;
$costi = 0;
$totale_attivita = 0;
$totale_passivita = 0;
$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");
for( $x=0; $xfetchArray("SELECT id, numero, descrizione FROM co_pianodeiconti2 WHERE idpianodeiconti1=\"".$rs1[$x]['id']."\"");
for( $y=0; $y\n";
//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; $zfetchArray("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= 0 ){
$dare += abs($rs[$i]['totale']);
}
else{
$avere += abs($rs[$i]['totale']);
}
}
$totale = $dare - $avere;
if( $totale >= 0 ){
$dare = abs($totale);
$avere = 0;
$totale_attivita += $dare;
$costi += abs($dare);
}
else{
$dare = 0;
$avere = abs($totale);
$totale_passivita += $avere;
$ricavi += abs($avere);
}
//Mostro il saldo finale del conto di livello 3
$body .= " | ".$rs3[$z]['numero']." ".$rs3[$z]['descrizione']." | ".number_format( abs($dare), get_var("Cifre decimali"), ",", "." )." | ".number_format( abs($avere), get_var("Cifre decimali"), ",", "." )." |
\n";
}
}
}
//Stampa "Costi/Ricavi" se conto economico
if( $rs1[0]['descrizione'] == 'Economico' ){
$body .= " RICAVI | ".number_format( $ricavi, 2, ",", "." )." |
\n";
$body .= " COSTI | ".number_format( $costi, 2, ",", "." )." |
\n";
$body .= " UTILE | ".number_format( $ricavi - $costi, 2, ",", "." )." |
\n";
}
//Stampa "Attività/Passività" se stato patrimoniale
else{
$costi = 0;
$ricavi = 0;
//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");
for( $x=0; $xfetchArray("SELECT id, numero, descrizione FROM co_pianodeiconti2 WHERE idpianodeiconti1=\"".$rs1[$x]['id']."\"");
for( $y=0; $yfetchArray("SELECT id, numero, descrizione FROM co_pianodeiconti3 WHERE idpianodeiconti2=\"".$rs2[$y]['id']."\"");
for( $z=0; $zfetchArray("SELECT SUM(totale) AS totale FROM co_movimenti WHERE idconto=\"".$rs2[$y]['id']."\" AND data < \"".$_SESSION['period_start']."\"");
$dare = 0;
$avere = 0;
$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= 0 ){
$dare += abs($rs[$i]['totale']);
}
else{
$avere += abs($rs[$i]['totale']);
}
}
$totale = $dare - $avere;
if( $totale >= 0 ){
$costi += abs($totale);
}
else{
$ricavi += abs($totale);
}
}
}
}
$body .=" \n";
$body .= "
\n";
//Tabella di riepilogo finale
$totale_attivita = abs($totale_attivita);
$totale_passivita = abs($totale_passivita);
$utile_perdita = abs($ricavi) - abs($costi);
if( $utile_perdita<0 ){
$pareggio1 = $totale_attivita + abs($utile_perdita);
$pareggio2 = abs($totale_passivita);
}
else{
$pareggio1 = $totale_attivita;
$pareggio2 = abs($totale_passivita) + abs($utile_perdita);
}
$body .= "
\n";
//Attività
$body .= " TOTALE ATTIVITÀ | ".number_format( $totale_attivita, get_var("Cifre decimali"), ",", "." )." | \n";
//Passività
$body .= " PASSIVITÀ | ".number_format( $totale_passivita, get_var("Cifre decimali"), ",", "." )." |
\n";
if( $utile_perdita < 0 ){
//Perdita d'esercizio
$body .= " PERDITA D'ESERCIZIO | ".number_format( abs($utile_perdita), get_var("Cifre decimali"), ",", "." )." | \n";
//Utile
$body .= " | |
\n";
} else {
//Perdita d'esercizio
$body .= " | | \n";
//Utile
$body .= " UTILE | ".number_format( abs($utile_perdita), get_var("Cifre decimali"), ",", "." )." |
\n";
}
//PAREGGIO 1
$body .= " TOTALE A PAREGGIO | ".number_format( $pareggio1, get_var("Cifre decimali"), ",", "." )." | \n";
//PAREGGIO 2
$body .= " TOTALE A PAREGGIO | ".number_format( $pareggio2, get_var("Cifre decimali"), ",", "." )." |
\n";
}
$body .="
\n";
}
$report_name = "mastrino.pdf";
?>