2017-09-08 17:03:47 +02:00
< ? php
include_once __DIR__ . '/../../core.php' ;
$report_name = 'ddt_' . $numero . '.pdf' ;
$autofill = [
'count' => 0 ,
'words' => 70 ,
'rows' => 16 ,
'additional' => 15 ,
2017-09-21 15:51:39 +02:00
'columns' => $options [ 'pricing' ] ? 5 : 2 ,
2017-09-08 17:03:47 +02:00
];
2017-09-13 11:15:31 +02:00
$imponibile = [];
$iva = [];
$sconto = [];
2017-09-08 17:03:47 +02:00
// Intestazione tabella per righe
echo "
2017-09-12 16:45:18 +02:00
< table class = 'table table-striped table-bordered' id = 'contents' >
2017-09-08 17:03:47 +02:00
< thead >
< tr >
2017-09-10 14:35:41 +02:00
< th class = 'text-center' > " .tr('Descrizione', [], ['upper' => true]). " </ th >
2017-09-13 11:15:31 +02:00
< th class = 'text-center' style = 'width:10%' > " .tr('Q.tà', [], ['upper' => true]).'</th>';
2017-09-08 17:03:47 +02:00
2017-09-21 15:51:39 +02:00
if ( $options [ 'pricing' ]) {
2017-09-08 17:03:47 +02:00
echo "
2017-09-12 16:45:18 +02:00
< th class = 'text-center' style = 'width:15%' > " .tr('Prezzo unitario', [], ['upper' => true]). " </ th >
2017-09-10 14:35:41 +02:00
< th class = 'text-center' style = 'width:15%' > " .tr('Importo', [], ['upper' => true]). " </ th >
2017-09-13 11:15:31 +02:00
< th class = 'text-center' style = 'width:10%' > " .tr('IVA', [], ['upper' => true]).' (%)</th>';
2017-09-08 17:03:47 +02:00
}
echo '
</ tr >
</ thead >
< tbody > ' ;
// Righe
2017-09-21 15:51:39 +02:00
$rs_gen = $dbo -> fetchArray ( 'SELECT *, (SELECT percentuale FROM co_iva WHERE id=idiva) AS perc_iva, IFNULL((SELECT peso_lordo FROM mg_articoli WHERE id=idarticolo),0) * qta AS peso_lordo, IFNULL((SELECT volume FROM mg_articoli WHERE id=idarticolo),0) * qta AS volume FROM `dt_righe_ddt` WHERE idddt=' . prepare ( $id_record ));
2017-09-08 17:03:47 +02:00
foreach ( $rs_gen as $r ) {
2017-09-13 11:15:31 +02:00
$count = 0 ;
$count += ceil ( strlen ( $r [ 'descrizione' ]) / $autofill [ 'words' ]);
$count += substr_count ( $r [ 'descrizione' ], PHP_EOL );
2017-09-08 17:03:47 +02:00
2017-09-13 11:15:31 +02:00
echo '
< tr >
< td >
'.nl2br($r[' descrizione ' ]);
// Aggiunta riferimento a ordine
if ( ! empty ( $r [ 'idordine' ])) {
$rso = $dbo -> fetchArray ( 'SELECT numero, numero_esterno, data FROM or_ordini WHERE id=' . prepare ( $r [ 'idordine' ]));
$numero = ! empty ( $rso [ 0 ][ 'numero_esterno' ]) ? $rso [ 0 ][ 'numero_esterno' ] : $rso [ 0 ][ 'numero' ];
2017-09-08 17:03:47 +02:00
echo '
2017-09-15 09:48:56 +02:00
< br />< small > '.tr(' Rif . ordine num . _NUM_ del _DATE_ ' , [
2017-09-13 11:15:31 +02:00
'_NUM_' => $numero ,
'_DATE_' => Translator :: dateToLocale ( $rso [ 0 ][ 'data' ]),
]) . '</small>' ;
2017-09-08 17:03:47 +02:00
2017-09-13 11:15:31 +02:00
if ( $count <= 1 ) {
$count += 0.4 ;
}
}
2017-09-08 17:03:47 +02:00
2017-09-13 11:15:31 +02:00
echo '
</ td > ' ;
2017-09-08 17:03:47 +02:00
2018-01-18 19:03:06 +01:00
echo '
< td class = " text-center " > ' ;
2018-02-15 16:44:16 +01:00
if ( empty ( $r [ 'is_descrizione' ])) {
2018-02-03 13:55:09 +01:00
echo
2018-01-18 19:03:06 +01:00
Translator :: numberToLocale ( $r [ 'qta' ]) . ' ' . $r [ 'um' ];
}
echo '
2017-09-13 11:15:31 +02:00
</ td > ' ;
2017-09-08 17:03:47 +02:00
2017-09-21 15:51:39 +02:00
if ( $options [ 'pricing' ]) {
2018-02-03 13:55:09 +01:00
// Prezzo unitario
2017-09-13 11:15:31 +02:00
echo "
2018-02-03 13:55:09 +01:00
< td class = 'text-right' > " ;
if ( empty ( $r [ 'is_descrizione' ])) {
echo '
'.Translator::numberToLocale($r[' subtotale '] / $r[' qta ']).' & euro ; ' ;
2018-01-18 19:03:06 +01:00
}
echo '
2017-09-13 11:15:31 +02:00
</ td > ' ;
2017-09-08 17:03:47 +02:00
2017-09-13 11:15:31 +02:00
// Imponibile
echo "
2018-01-18 19:03:06 +01:00
< td class = 'text-right' > " ;
2018-02-15 16:44:16 +01:00
if ( empty ( $r [ 'is_descrizione' ])) {
2018-01-18 19:03:06 +01:00
echo
Translator :: numberToLocale ( $r [ 'subtotale' ]) . ' €' ;
if ( $r [ 'sconto' ] > 0 ) {
if ( $count <= 1 ) {
$count += 0.4 ;
}
echo '
< br >< small class = " help-block " >- '.tr(' sconto _TOT_ _TYPE_ ' , [
'_TOT_' => Translator :: numberToLocale ( $r [ 'sconto_unitario' ]),
'_TYPE_' => ( $r [ 'tipo_sconto' ] == 'PRC' ? '%' : '€' ),
]) . '</small>' ;
2017-09-13 11:15:31 +02:00
}
2017-09-08 17:03:47 +02:00
}
echo '
2017-09-13 11:15:31 +02:00
</ td > ' ;
2017-09-08 17:03:47 +02:00
2017-09-13 11:15:31 +02:00
// Iva
echo "
2018-01-18 19:03:06 +01:00
< td class = 'text-center' > " ;
2018-02-15 16:44:16 +01:00
if ( empty ( $r [ 'is_descrizione' ])) {
2018-01-18 19:03:06 +01:00
echo
Translator :: numberToLocale ( $r [ 'perc_iva' ]);
}
echo '
2017-09-13 11:15:31 +02:00
</ td > ' ;
2017-09-08 17:03:47 +02:00
}
2017-09-13 11:15:31 +02:00
echo '
</ tr > ' ;
$autofill [ 'count' ] += $count ;
$imponibile [] = $r [ 'subtotale' ];
$iva [] = $r [ 'iva' ];
$sconto [] = $r [ 'sconto' ];
2017-09-08 17:03:47 +02:00
}
echo '
| autofill |
</ tbody >
</ table > ' ;
// Info per il footer
2017-09-13 11:15:31 +02:00
$imponibile = sum ( $imponibile ) - sum ( $sconto );
$iva = sum ( $iva );
$totale = $imponibile + $iva ;
$volume = sum ( array_column ( $rs_gen , 'volume' ));
$peso_lordo = sum ( array_column ( $rs_gen , 'peso_lordo' ));