Correzioni minori sulle righe

This commit is contained in:
Dasc3er 2020-09-25 11:03:39 +02:00
parent 9a3f92de54
commit 3ed12713a8
5 changed files with 48 additions and 51 deletions

View File

@ -87,7 +87,7 @@ if (!$righe->isEmpty()) {
</td>'; </td>';
if ($show_prezzi) { if ($show_prezzi) {
//Costo unitario // Costo unitario
echo ' echo '
<td class="text-right"> <td class="text-right">
'.moneyFormat($riga->costo_unitario).' '.moneyFormat($riga->costo_unitario).'

View File

@ -110,7 +110,7 @@ echo '
</div> </div>
<div class="col-md-6"> <div class="col-md-6">
{[ "type": "select", "multiple": "1", "label": "'.tr('Impianti a contratto').'", "name": "idimpianti[]", "help": "'.tr('Impianti sede selezionata').'", "values": "query=SELECT my_impianti.id AS id, my_impianti.nome AS descrizione FROM my_impianti_contratti INNER JOIN my_impianti ON my_impianti_contratti.idimpianto = my_impianti.id WHERE my_impianti_contratti.idcontratto = '.$id_parent.' ORDER BY descrizione", "value": "'.implode(',', $id_impianti).'", "readonly": '.intval($block_edit).' ]} {[ "type": "select", "multiple": "1", "label": "'.tr('Impianti a contratto').'", "name": "idimpianti[]", "help": "'.tr('Impianti della sede selezionata per il Contratto').'", "values": "query=SELECT my_impianti.id AS id, my_impianti.nome AS descrizione FROM my_impianti_contratti INNER JOIN my_impianti ON my_impianti_contratti.idimpianto = my_impianti.id WHERE my_impianti_contratti.idcontratto = '.$id_parent.' ORDER BY descrizione", "value": "'.implode(',', $id_impianti).'", "readonly": '.intval($block_edit).' ]}
</div> </div>
</div> </div>
@ -144,11 +144,15 @@ echo '
<i class="fa fa-plus"></i> '.tr('Riga').' <i class="fa fa-plus"></i> '.tr('Riga').'
</a>'; </a>';
} }
echo ' echo '
</div> </div>
</div> </div>
<div id="righe">'; <div class="clearfix"></div>
<br>
<div id="righe_promemoria">';
include $structure->filepath('row-list.php'); include $structure->filepath('row-list.php');
@ -304,7 +308,7 @@ echo '
}); });
function refreshRighe(id){ function refreshRighe(id) {
$("#righe").load("'.$plugin->fileurl('row-list.php').'?id_plugin='.$id_plugin.'&id_record=" + id + "&add='.$block_edit.'"); $("#righe_promemoria").load("'.$plugin->fileurl('row-list.php').'?id_plugin='.$id_plugin.'&id_record=" + id + "&add='.$block_edit.'");
} }
</script>'; </script>';

View File

@ -54,8 +54,6 @@ if (!$righe->isEmpty()) {
<tbody>'; <tbody>';
foreach ($righe as $riga) { foreach ($righe as $riga) {
$r = $riga->toArray();
$extra = ''; $extra = '';
$mancanti = $riga->isArticolo() ? $riga->missing_serials_number : 0; $mancanti = $riga->isArticolo() ? $riga->missing_serials_number : 0;
if ($mancanti > 0) { if ($mancanti > 0) {
@ -88,45 +86,43 @@ if (!$righe->isEmpty()) {
// Quantità // Quantità
echo ' echo '
<td class="text-right"> <td class="text-right">
'.Translator::numberToLocale($r['qta'], 'qta').' '.$r['um'].' '.Translator::numberToLocale($riga->qta, 'qta').' '.$riga->um.'
</td>'; </td>';
//Costo unitario
echo '
<td class="text-right">
'.moneyFormat($riga->costo_unitario).'
</td>';
if ($show_prezzi) { if ($show_prezzi) {
// Costo unitario
echo '
<td class="text-right">
'.moneyFormat($riga->costo_unitario).'
</td>';
// Prezzo unitario // Prezzo unitario
echo ' echo '
<td class="text-right"> <td class="text-right">
'.moneyFormat($riga->prezzo_unitario); '.moneyFormat($riga->prezzo_unitario);
if (abs($r['sconto_unitario']) > 0) { if (abs($riga->sconto_unitario) > 0) {
$text = $r['sconto_unitario'] > 0 ? tr('sconto _TOT_ _TYPE_') : tr('maggiorazione _TOT_ _TYPE_'); $text = discountInfo($riga);
echo ' echo '
<br><small class="label label-danger">'.replace($text, [ <br><small class="label label-danger">'.$text.'</small>';
'_TOT_' => Translator::numberToLocale(abs($r['sconto_unitario'])),
'_TYPE_' => ($r['tipo_sconto'] == 'PRC' ? '%' : currency()),
]).'</small>';
} }
echo ' echo '
</td>'; </td>';
echo ' echo '
<td class="text-right"> <td class="text-right">
'.moneyFormat($r['iva']).' '.moneyFormat($riga->iva_unitaria).'
</td>'; <br><small class="'.(($riga->aliquota->deleted_at) ? 'text-red' : '').' text-muted">'.$riga->aliquota->descrizione.(($riga->aliquota->esente) ? ' ('.$riga->aliquota->codice_natura_fe.')' : null).'</small>
</td>';
// Prezzo di vendita // Prezzo di vendita
echo ' echo '
<td class="text-right"> <td class="text-right">
'.moneyFormat($riga->imponibile).' '.moneyFormat($riga->importo).'
</td>'; </td>';
} }
// Pulsante per riportare nel magazzino centrale. // Pulsante per riportare nel magazzino centrale.
@ -135,15 +131,15 @@ if (!$righe->isEmpty()) {
echo ' echo '
<td class="text-center">'; <td class="text-center">';
if ($r['abilita_serial']) { if ($riga->abilita_serial) {
echo ' echo '
<button type="button" class="btn btn-info btn-xs" data-toggle="tooltip" onclick="launch_modal(\''.tr('Modifica articoli').'\', \''.base_path().'/modules/fatture/add_serial.php?id_module='.$id_module.'&id_record='.$id_record.'&idarticolo='.$r['idriga'].'&idriga='.$r['id'].'\');"> <button type="button" class="btn btn-info btn-xs" data-toggle="tooltip" onclick="launch_modal(\''.tr('Modifica articoli').'\', \''.base_path().'/modules/fatture/add_serial.php?id_module='.$id_module.'&id_record='.$id_record.'&idarticolo='.$riga->id.'&idriga='.$riga->id.'\');">
<i class="fa fa-barcode"></i> <i class="fa fa-barcode"></i>
</button>'; </button>';
} }
echo ' echo '
<button type="button" class="btn btn-warning btn-xs" data-toggle="tooltip" onclick="launch_modal(\''.tr('Modifica').'\', \''.$structure->fileurl('row-edit.php').'?id_module='.$id_module.'&id_record='.$id_record.'&idriga='.$r['id'].'&type='.urlencode(get_class($riga)).'\');"> <button type="button" class="btn btn-warning btn-xs" data-toggle="tooltip" onclick="launch_modal(\''.tr('Modifica').'\', \''.$structure->fileurl('row-edit.php').'?id_module='.$id_module.'&id_record='.$id_record.'&idriga='.$riga->id.'&type='.urlencode(get_class($riga)).'\');">
<i class="fa fa-edit"></i> <i class="fa fa-edit"></i>
</button> </button>

View File

@ -27,6 +27,7 @@ use Modules\Iva\Aliquota;
* *
* Prevede i seguenti campi nel database: * Prevede i seguenti campi nel database:
* *
* @property float costo_unitario
* @property float prezzo_unitario * @property float prezzo_unitario
* @property float iva_unitaria = prezzo_unitario * percentuale_iva * @property float iva_unitaria = prezzo_unitario * percentuale_iva
* @property float prezzo_unitario_ivato = prezzo_unitario + iva_unitaria * @property float prezzo_unitario_ivato = prezzo_unitario + iva_unitaria
@ -41,6 +42,7 @@ use Modules\Iva\Aliquota;
* @property float iva = (iva_unitaria - sconto_iva_unitario) * qta * @property float iva = (iva_unitaria - sconto_iva_unitario) * qta
* @property float totale = (prezzo_unitario_ivato - sconto_unitario_ivato) * qta [Totale imponibile con IVA] * @property float totale = (prezzo_unitario_ivato - sconto_unitario_ivato) * qta [Totale imponibile con IVA]
* @property float importo = se incorpora_iva: totale, altrimenti: totale_imponibile * @property float importo = se incorpora_iva: totale, altrimenti: totale_imponibile
* @property float spesa = costo_unitario * qta
* *
* Per una estensione del sistema dei totali (Rivalsa, Ritenuta, ...), si consiglia di introdurre un relativo Netto a pagare. [Fatture] * Per una estensione del sistema dei totali (Rivalsa, Ritenuta, ...), si consiglia di introdurre un relativo Netto a pagare. [Fatture]
* *
@ -64,6 +66,17 @@ abstract class Accounting extends Component
'prezzo_unitario_corrente', 'prezzo_unitario_corrente',
'sconto_unitario_corrente', 'sconto_unitario_corrente',
'max_qta', 'max_qta',
'spesa',
'imponibile',
'sconto',
'totale_imponibile',
'iva',
'totale',
];
protected $hidden = [
'document',
'aliquota',
]; ];
public function getIvaIndetraibileAttribute() public function getIvaIndetraibileAttribute()

View File

@ -55,7 +55,7 @@ abstract class Component extends Model
]; ];
protected $hidden = [ protected $hidden = [
'parent', 'document',
]; ];
public function hasOriginalComponent() public function hasOriginalComponent()
@ -183,22 +183,6 @@ abstract class Component extends Model
return $result; return $result;
} }
public function toArray()
{
$array = parent::toArray();
$result = array_merge($array, [
'spesa' => $this->spesa,
'imponibile' => $this->imponibile,
'sconto' => $this->sconto,
'totale_imponibile' => $this->totale_imponibile,
'iva' => $this->iva,
'totale' => $this->totale,
]);
return $result;
}
/** /**
* Copia l'oggetto (articolo, riga, descrizione) nel corrispettivo per il documento indicato. * Copia l'oggetto (articolo, riga, descrizione) nel corrispettivo per il documento indicato.
* *