openstamanager/modules/interventi/ajax_righe.php

176 lines
5.8 KiB
PHP
Raw Normal View History

<?php
2019-07-12 17:35:14 +02:00
use Modules\Interventi\Intervento;
2019-11-08 15:09:05 +01:00
include_once __DIR__.'/../../core.php';
2018-09-28 16:43:40 +02:00
$show_prezzi = Auth::user()['gruppo'] != 'Tecnici' || (Auth::user()['gruppo'] == 'Tecnici' && setting('Mostra i prezzi al tecnico'));
2019-10-01 18:01:00 +02:00
$intervento = $intervento ?: Intervento::find($id_record);
2019-07-12 17:35:14 +02:00
$righe = $intervento->getRighe();
2019-07-12 17:35:14 +02:00
if (!$righe->isEmpty()) {
echo '
2019-07-12 17:35:14 +02:00
<table class="table table-striped table-hover table-condensed table-bordered">
<thead>
<tr>
<th>'.tr('Descrizione').'</th>
<th class="text-center" width="8%">'.tr('Q.').'</th>
<th class="text-center" width="15%">'.tr('Prezzo di acquisto').'</th>';
2018-09-28 16:43:40 +02:00
if ($show_prezzi) {
echo '
2019-07-12 17:35:14 +02:00
<th class="text-center" width="15%">'.tr('Prezzo di vendita').'</th>
<th class="text-center" width="10%">'.tr('Iva').'</th>
<th class="text-center" width="15%">'.tr('Imponibile').'</th>';
}
2018-07-18 15:20:10 +02:00
if (!$record['flag_completato']) {
echo '
2019-07-12 17:35:14 +02:00
<th class="text-center" width="120" class="text-center">'.tr('#').'</th>';
}
echo '
2019-07-12 17:35:14 +02:00
</tr>
</thead>
<tbody>';
foreach ($righe as $riga) {
$r = $riga->toArray();
$extra = '';
$mancanti = $riga->isArticolo() ? $riga->missing_serials_number : 0;
if ($mancanti > 0) {
$extra = 'class="warning"';
}
$descrizione = (!empty($riga->articolo) ? $riga->articolo->codice.' - ' : '').$riga['descrizione'];
echo '
<tr '.$extra.'>
<td>
'.Modules::link($riga->isArticolo() ? Modules::get('Articoli')['id'] : null, $riga->isArticolo() ? $riga['idarticolo'] : null, $descrizione);
if ($riga->isArticolo()) {
if (!empty($mancanti)) {
echo '
<br><b><small class="text-danger">'.tr('_NUM_ serial mancanti', [
'_NUM_' => $mancanti,
]).'</small></b>';
}
$serials = $riga->serials;
if (!empty($serials)) {
echo '
<br>'.tr('SN').': '.implode(', ', $serials);
}
}
echo '
2019-07-12 17:35:14 +02:00
</td>';
// Quantità
echo '
2019-07-12 17:35:14 +02:00
<td class="text-right">
'.Translator::numberToLocale($r['qta'], 'qta').' '.$r['um'].'
</td>';
//Costo unitario
echo '
2019-07-12 17:35:14 +02:00
<td class="text-right">
'.moneyFormat($riga->prezzo_unitario_acquisto).'
</td>';
2018-09-28 16:43:40 +02:00
if ($show_prezzi) {
// Prezzo unitario
echo '
2019-07-12 17:35:14 +02:00
<td class="text-right">
'.moneyFormat($riga->prezzo_unitario_vendita);
2019-07-11 17:34:06 +02:00
if (abs($r['sconto_unitario']) > 0) {
2019-07-11 17:44:42 +02:00
$text = $r['sconto_unitario'] > 0 ? tr('sconto _TOT_ _TYPE_') : tr('maggiorazione _TOT_ _TYPE_');
echo '
2019-07-12 17:35:14 +02:00
<br><small class="label label-danger">'.replace($text, [
2019-07-11 17:44:42 +02:00
'_TOT_' => Translator::numberToLocale(abs($r['sconto_unitario'])),
'_TYPE_' => ($r['tipo_sconto'] == 'PRC' ? '%' : currency()),
2019-07-11 17:44:42 +02:00
]).'</small>';
}
echo '
2019-07-12 17:35:14 +02:00
</td>';
2018-05-05 09:29:09 +02:00
echo '
2019-07-12 17:35:14 +02:00
<td class="text-right">
'.moneyFormat($r['iva']).'
</td>';
// Prezzo di vendita
echo '
2019-07-12 17:35:14 +02:00
<td class="text-right">
'.moneyFormat($riga->imponibile).'
</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']) {
2019-07-12 17:35:14 +02:00
$link = $riga->isSconto() ? $structure->fileurl('row-edit.php') : $structure->fileurl('add_righe.php');
$link = $riga->isArticolo() ? $structure->fileurl('add_articolo.php') : $link;
2019-03-29 12:46:17 +01:00
echo '
2019-07-12 17:35:14 +02:00
<td class="text-center">';
if ($r['abilita_serial']) {
echo '
2019-07-29 13:16:55 +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'].'\');">
2019-07-12 17:35:14 +02:00
<i class="fa fa-barcode"></i>
</button>';
}
echo '
2019-07-29 13:16:55 +02:00
<button type="button" class="btn btn-warning btn-xs" data-toggle="tooltip" onclick="launch_modal(\''.tr('Modifica').'\', \''.$link.'?id_module='.$id_module.'&id_record='.$id_record.'&idriga='.$r['id'].'\');">
2019-07-12 17:35:14 +02:00
<i class="fa fa-edit"></i>
</button>
2019-10-01 18:01:00 +02:00
<button type="button" class="btn btn-danger btn-xs" data-toggle="tooltip" onclick="if(confirm(\''.tr('Eliminare questa riga?').'\')){ elimina_riga( \''.$r['id'].'\' ); }">
2019-07-12 17:35:14 +02:00
<i class="fa fa-trash"></i>
</button>
</td>';
}
echo '
2019-07-12 17:35:14 +02:00
</tr>';
}
echo '
2019-07-12 17:35:14 +02:00
</tbody>
</table>';
2018-11-01 12:39:54 +01:00
} else {
echo '
2019-07-12 17:35:14 +02:00
<p>'.tr('Nessuna riga presente').'.</p>';
}
?>
<script type="text/javascript">
function elimina_riga( id ){
2019-10-01 18:01:00 +02:00
$.post(globals.rootdir + '/actions.php', {
2019-10-01 18:32:06 +02:00
op: 'delete_riga',
2019-10-01 18:01:00 +02:00
id_module: globals.id_module,
id_record: globals.id_record,
idriga: id
}, function(data, result){
2019-11-19 16:06:50 +01:00
if(result == 'success'){
2019-11-21 13:05:42 +01:00
// Ricarico le righe
2019-11-22 16:28:03 +01:00
$('#righe').load('<?php echo $module->fileurl('ajax_righe.php'); ?>?id_module=<?php echo $id_module; ?>&id_record=<?php echo $id_record; ?>');
2019-11-21 13:05:42 +01:00
// Ricarico la tabella dei costi
2019-11-22 16:28:03 +01:00
$('#costi').load('<?php echo $module->fileurl('ajax_costi.php'); ?>?id_module=<?php echo $id_module; ?>&id_record=<?php echo $id_record; ?>');
2019-11-19 16:06:50 +01:00
// Toast
alertPush();
}
});
}
</script>