2017-08-04 16:28:16 +02:00
< ? php
include_once __DIR__ . '/../../core.php' ;
2018-06-26 09:41:43 +02:00
include_once Modules :: filepath ( 'Articoli' , 'modutil.php' );
2017-08-04 16:28:16 +02:00
2018-09-28 16:43:40 +02:00
$show_prezzi = Auth :: user ()[ 'gruppo' ] != 'Tecnici' || ( Auth :: user ()[ 'gruppo' ] == 'Tecnici' && setting ( 'Mostra i prezzi al tecnico' ));
2017-09-11 11:28:39 +02:00
$query = 'SELECT *, (SELECT codice FROM mg_articoli WHERE id=mg_articoli_interventi.idarticolo) AS codice, mg_articoli_interventi.id AS idriga, (SELECT prc_guadagno FROM mg_listini WHERE id=(SELECT idlistino_vendite FROM an_anagrafiche WHERE idanagrafica=(SELECT idanagrafica FROM in_interventi WHERE id=mg_articoli_interventi.idintervento) ) ) AS prc_guadagno FROM mg_articoli_interventi WHERE idintervento=' . prepare ( $id_record ) . ' ' . Modules :: getAdditionalsQuery ( 'Magazzino' );
2017-08-04 16:28:16 +02:00
$rs = $dbo -> fetchArray ( $query );
if ( ! empty ( $rs )) {
echo '
< table class = " table table-striped table-condensed table-hover table-bordered " >
< tr >
2017-09-04 12:02:29 +02:00
< th > '.tr(' Articolo ').' </ th >
< th width = " 8% " > '.tr(' Q . tà ').' </ th > ' ;
2017-08-04 16:28:16 +02:00
2018-09-28 16:43:40 +02:00
if ( $show_prezzi ) {
2017-08-04 16:28:16 +02:00
echo '
2017-09-04 12:02:29 +02:00
< th width = " 15% " > '.tr(' Prezzo di acquisto ').' </ th > ' ;
2017-08-04 16:28:16 +02:00
}
2018-09-28 16:43:40 +02:00
if ( $show_prezzi ) {
2017-08-04 16:28:16 +02:00
echo '
2017-09-04 12:02:29 +02:00
< th width = " 15% " > '.tr(' Prezzo di vendita ').' </ th >
2018-03-19 18:11:51 +01:00
< th width = " 10% " > '.tr(' Iva ').' </ th >
< th width = " 15% " > '.tr(' Imponibile ').' </ th > ' ;
2017-08-04 16:28:16 +02:00
}
2018-07-18 15:20:10 +02:00
if ( ! $record [ 'flag_completato' ]) {
2017-08-04 16:28:16 +02:00
echo '
2018-09-28 16:43:40 +02:00
< th width = " 120 " class = " text-center " > '.tr(' #').'</th>';
2017-08-04 16:28:16 +02:00
}
echo '
</ tr > ' ;
foreach ( $rs as $r ) {
2018-02-19 17:48:04 +01:00
$extra = '' ;
$mancanti = 0 ;
2017-09-05 17:31:58 +02:00
// Individuazione dei seriali
if ( ! empty ( $r [ 'idarticolo' ]) && ! empty ( $r [ 'abilita_serial' ])) {
$serials = array_column ( $dbo -> fetchArray ( 'SELECT serial FROM mg_prodotti WHERE serial IS NOT NULL AND id_riga_intervento=' . prepare ( $r [ 'id' ])), 'serial' );
$mancanti = $r [ 'qta' ] - count ( $serials );
if ( $mancanti > 0 ) {
$extra = 'class="warning"' ;
} else {
$mancanti = 0 ;
2017-08-04 16:28:16 +02:00
}
}
echo '
< tr '.$extra.' >
< td >
< input type = " hidden " name = " id " value = " '. $r['id'] .' " >
2017-12-14 16:17:34 +01:00
'.Modules::link(' Articoli ', $r[' idarticolo '], (!empty($r[' codice ']) ? $r[' codice '].' - ' : ' ').$r[' descrizione ' ]);
2017-08-04 16:28:16 +02:00
// Info extra (lotto, serial, altro)
if ( ! empty ( $r [ 'abilita_serial' ])) {
if ( ! empty ( $mancanti )) {
echo '
2017-09-10 14:35:41 +02:00
< br >< b >< small class = " text-danger " > '.tr(' _NUM_ serial mancanti ' , [
'_NUM_' => $mancanti ,
]) . '</small></b>' ;
2017-08-04 16:28:16 +02:00
}
if ( ! empty ( $serials )) {
echo '
2017-09-04 12:02:29 +02:00
< br > '.tr(' SN ').' : '.implode(' , ' , $serials );
2017-08-04 16:28:16 +02:00
}
}
echo '
</ td > ' ;
// Quantità
echo '
< td class = " text-right " >
2018-06-29 13:35:39 +02:00
'.Translator::numberToLocale($r[' qta '], ' qta ').' '.$r[' um '].'
2017-08-04 16:28:16 +02:00
</ td > ' ;
2018-09-28 16:43:40 +02:00
if ( $show_prezzi ) {
2017-08-04 16:28:16 +02:00
echo '
< td class = " text-right " >
'.Translator::numberToLocale($r[' prezzo_acquisto ']).' & euro ;
</ td > ' ;
}
2018-09-28 16:43:40 +02:00
if ( $show_prezzi ) {
2017-08-04 16:28:16 +02:00
// Prezzo unitario
echo '
< td class = " text-right " >
'.Translator::numberToLocale($r[' prezzo_vendita ']).' & euro ; ' ;
if ( $r [ 'sconto_unitario' ] > 0 ) {
echo '
< br >< span class = " label label-danger " >
2017-09-15 09:48:56 +02:00
- '.tr(' sconto _TOT_ _TYPE_ ' , [
'_TOT_' => Translator :: numberToLocale ( $r [ 'sconto_unitario' ]),
2017-09-21 10:01:07 +02:00
'_TYPE_' => ( $r [ 'tipo_sconto' ] == 'PRC' ? '%' : '€' ),
2017-09-15 09:48:56 +02:00
]) . '
2017-08-04 16:28:16 +02:00
</ span > ' ;
}
2018-03-19 18:11:51 +01:00
echo '
</ td > ' ;
2018-05-05 09:29:09 +02:00
2018-03-19 18:11:51 +01:00
echo '
< td class = " text-right " >
< span > '.Translator::numberToLocale($r[' iva ']).' </ span > & euro ; ' ;
2017-08-04 16:28:16 +02:00
echo '
</ td > ' ;
// Prezzo di vendita
echo '
< td class = " text-right " >
< span class = " prezzo_articolo " > '.Translator::numberToLocale(sum($r[' prezzo_vendita '] * $r[' qta '], -$r[' sconto '])).' </ span > & euro ;
</ td > ' ;
}
// Pulsante per riportare nel magazzino centrale.
// Visibile solo se l'intervento non è stato nè fatturato nè completato.
2018-07-18 15:20:10 +02:00
if ( ! $record [ 'flag_completato' ]) {
2017-08-04 16:28:16 +02:00
echo '
2018-09-28 16:43:40 +02:00
< td class = " text-center " > ' ;
2017-08-04 16:28:16 +02:00
if ( $r [ 'abilita_serial' ]) {
echo '
2017-09-05 17:31:58 +02:00
< button type = " button " class = " btn btn-info btn-xs " data - toggle = " tooltip " onclick = " launch_modal( \ ''.tr('Modifica articoli').' \ ', \ ''. $rootdir .'/modules/fatture/add_serial.php?id_module='. $id_module .'&id_record='. $id_record .'&idarticolo='. $r['idriga'] .'&idriga='. $r['id'] .' \ ', 1); " >< i class = " fa fa-barcode " ></ i ></ button > ' ;
2017-08-04 16:28:16 +02:00
}
echo '
2017-09-04 12:02:29 +02:00
< button type = " button " class = " btn btn-warning btn-xs " data - toggle = " tooltip " onclick = " launch_modal( \ ''.tr('Modifica articoli').' \ ', \ ''. $rootdir .'/modules/interventi/add_articolo.php?id_module='. $id_module .'&id_record='. $id_record .'&idriga='. $r['idriga'] .' \ ', 1); " >< i class = " fa fa-edit " ></ i ></ button >
2017-08-04 16:28:16 +02:00
2017-09-04 12:02:29 +02:00
< button type = " button " class = " btn btn-danger btn-xs " data - toggle = " tooltip " title = " Riporta in magazzino " onclick = " if(confirm( \ ''.tr('Riportare questo articolo in magazzino?').' \ ') ) { ritorna_al_magazzino( \ ''. $r['id'] .' \ '); } " >< i class = " fa fa-angle-double-left " ></ i > < i class = " fa fa-truck " ></ i ></ button >
2017-08-04 16:28:16 +02:00
</ td > ' ;
}
echo '
</ tr > ' ;
}
echo '
</ table > ' ;
2018-11-01 12:39:54 +01:00
} else {
echo '
< p > '.tr(' Nessun articolo presente ').' .</ p > ' ;
2017-08-04 16:28:16 +02:00
}
2018-11-01 12:39:54 +01:00
2017-08-04 16:28:16 +02:00
?>
< script type = " text/javascript " >
function ritorna_al_magazzino ( id ){
2018-02-18 19:53:23 +01:00
$ . post ( globals . rootdir + '/modules/interventi/actions.php' , { op : 'unlink_articolo' , idriga : id , id_record : '<?php echo $id_record; ?>' , id_module : '<?php echo $id_module; ?>' }, function ( data , result ){
2017-08-04 16:28:16 +02:00
if ( result == 'success' ){
// ricarico l'elenco degli articoli
2018-02-18 19:53:23 +01:00
$ ( '#articoli' ) . load ( globals . rootdir + '/modules/interventi/ajax_articoli.php?id_module=<?php echo $id_module; ?>&id_record=<?php echo $id_record; ?>' );
2017-08-04 16:28:16 +02:00
2018-02-18 19:53:23 +01:00
$ ( '#costi' ) . load ( globals . rootdir + '/modules/interventi/ajax_costi.php?id_module=<?php echo $id_module; ?>&id_record=<?php echo $id_record; ?>' );
2017-08-04 16:28:16 +02:00
}
});
}
</ script >