Fix calcoli in importazione documenti

Stile del codice
This commit is contained in:
Thomas Zilio 2020-04-20 10:09:40 +02:00
parent 27039d8fec
commit 09e4ab1331
8 changed files with 50 additions and 55 deletions

View File

@ -190,10 +190,10 @@ foreach ($righe as $i => $r) {
echo '
<tr>
<td>
<input type="hidden" id="subtot_'.$i.'" name="subtot['.$r['id'].']" value="'.$r['prezzo_unitario_vendita'].'" />
<input type="hidden" id="sconto_'.$i.'" name="sconto['.$r['id'].']" value="'.$r['sconto'] / $r['qta'].'" />
<input type="hidden" id="iva_'.$i.'" name="iva['.$r['id'].']" value="'.$r['iva'] / $r['qta'].'" />
<input type="hidden" id="qtamax_'.$i.'" value="'.($r['qta_rimanente']).'" />';
<input type="hidden" id="prezzo_unitario_'.$i.'" name="subtot['.$r['id'].']" value="'.$r['prezzo_unitario'].'" />
<input type="hidden" id="sconto_unitario_'.$i.'" name="sconto['.$r['id'].']" value="'.$r['sconto_unitario'].'" />
<input type="hidden" id="iva_unitaria_'.$i.'" name="iva['.$r['id'].']" value="'.$r['iva_unitaria'].'" />
<input type="hidden" id="qta_max_'.$i.'" value="'.($r['qta_rimanente']).'" />';
// Checkbox - da evadere?
echo '
@ -291,24 +291,25 @@ echo '
<script type="text/javascript">
function ricalcola_subtotale_riga(r) {
subtot = $("#subtot_" + r).val();
sconto = $("#sconto_" + r).val();
iva = $("#iva_" + r).val();
var prezzo_unitario = $("#prezzo_unitario_" + r).val();
var sconto = $("#sconto_unitario_" + r).val();
var iva = $("#iva_unitaria_" + r).val();
qtamax = $("#qtamax_" + r).val() ? $("#qtamax_" + r).val() : 0;
var qta_max_input = $("#qta_max_" + r);
var qta_max = qta_max_input.val() ? qta_max_input.val() : 0;
subtot = parseFloat(subtot);
prezzo_unitario = parseFloat(prezzo_unitario);
sconto = parseFloat(sconto);
iva = parseFloat(iva);
qtamax = parseFloat(qtamax);
qta_max = parseFloat(qta_max);
subtot = subtot - sconto;
var prezzo_scontato = prezzo_unitario - sconto;
qta = $("#qta_" + r).val().toEnglish();
var qta = $("#qta_" + r).val().toEnglish();
// Se inserisco una quantità da evadere maggiore di quella rimanente, la imposto al massimo possibile
if (qta > qtamax) {
qta = qtamax;
if (qta > qta_max) {
qta = qta_max;
$('#qta_' + r).val(qta);
}
@ -318,43 +319,44 @@ echo '
qta = 0;
}
$("#serial_" + r).selectClear();
$("#serial_" + r).select2("destroy");
$("#serial_" + r).data('maximum', qta);
var serial_select = $("#serial_" + r);
serial_select.selectClear();
serial_select.select2("destroy");
serial_select.data('maximum', qta);
start_superselect();
subtotale = (subtot * qta + iva * qta).toLocale();
var subtotale = (prezzo_scontato * qta + iva * qta).toLocale();
$("#subtotale_" + r).html(subtotale + " " + globals.currency);
$("#subtotaledettagli_" + r).html((subtot * qta).toLocale() + " + " + (iva * qta).toLocale());
$("#subtotaledettagli_" + r).html((prezzo_scontato * qta).toLocale() + " + " + (iva * qta).toLocale());
ricalcola_totale();
}
function ricalcola_totale() {
totale = 0.00;
totale_qta = 0;
var totale = 0.00;
var totale_qta = 0;
$('input[id*=qta_]').each(function() {
qta = $(this).val().toEnglish();
r = $(this).attr("id").replace("qta_", "");
var qta = $(this).val().toEnglish();
var r = $(this).attr("id").replace("qta_", "");
if (!$("#checked_" + r).is(":checked") || isNaN(qta)) {
qta = 0;
}
subtot = $("#subtot_" + r).val();
sconto = $("#sconto_" + r).val();
iva = $("#iva_" + r).val();
var prezzo_unitario = $("#prezzo_unitario_" + r).val();
var sconto = $("#sconto_unitario_" + r).val();
var iva = $("#iva_unitaria_" + r).val();
subtot = parseFloat(subtot);
prezzo_unitario = parseFloat(prezzo_unitario);
sconto = parseFloat(sconto);
iva = parseFloat(iva);
subtot = subtot - sconto;
var prezzo_scontato = prezzo_unitario - sconto;
if(subtot) {
totale += subtot * qta + iva * qta;
if(prezzo_scontato) {
totale += prezzo_scontato * qta + iva * qta;
}
totale_qta += qta;

View File

@ -26,7 +26,7 @@ switch ($resource) {
($documenti[$i]['n2_documento'] != '') ? $n_documento = $documenti[$i]['n2_documento'] : $n_documento = $documenti[$i]['n_documento'];
$link_id = Modules::get($documenti[$i]['modulo'])['id'];
echo "<tr><td class='first_cell text-left'><a href='".ROOTDIR.'/editor.php?id_module='.$link_id.'&id_record='.$documenti[$i]['id']."' target=\"_blank\" title=\"Apri il documento su una nuova finestra\">".$documenti[$i]['tipo'].". n. ".$n_documento.' del '.Translator::dateToLocale($documenti[$i]['data_documento'])." </a></td>\n";
echo "<tr><td class='first_cell text-left'><a href='".ROOTDIR.'/editor.php?id_module='.$link_id.'&id_record='.$documenti[$i]['id']."' target=\"_blank\" title=\"Apri il documento su una nuova finestra\">".$documenti[$i]['tipo'].'. n. '.$n_documento.' del '.Translator::dateToLocale($documenti[$i]['data_documento'])." </a></td>\n";
echo "<td class='table_cell text-right'>".moneyFormat($documenti[$i]['costo_unitario'])."</td></tr>\n";
array_push($ids, '"'.$documenti[$i]['id'].'"');
}
@ -55,7 +55,7 @@ switch ($resource) {
($documenti[$i]['n2_documento'] != '') ? $n_documento = $documenti[$i]['n2_documento'] : $n_documento = $documenti[$i]['n_documento'];
$link_id = Modules::get($documenti[$i]['modulo'])['id'];
echo "<tr><td class='first_cell text-left'><a href='".ROOTDIR.'/editor.php?id_module='.$link_id.'&id_record='.$documenti[$i]['id']."' target=\"_blank\" title=\"Apri il documento su una nuova finestra\">".$documenti[$i]['tipo'].". n. ".$n_documento.' del '.Translator::dateToLocale($documenti[$i]['data_documento'])." </a></td>\n";
echo "<tr><td class='first_cell text-left'><a href='".ROOTDIR.'/editor.php?id_module='.$link_id.'&id_record='.$documenti[$i]['id']."' target=\"_blank\" title=\"Apri il documento su una nuova finestra\">".$documenti[$i]['tipo'].'. n. '.$n_documento.' del '.Translator::dateToLocale($documenti[$i]['data_documento'])." </a></td>\n";
echo "<td class='table_cell text-right'>".moneyFormat($documenti[$i]['costo_unitario'])."</td></tr>\n";
array_push($ids, '"'.$documenti[$i]['id'].'"');
}
@ -83,7 +83,7 @@ switch ($resource) {
($documenti[$i]['n2_documento'] != '') ? $n_documento = $documenti[$i]['n2_documento'] : $n_documento = $documenti[$i]['n_documento'];
$link_id = Modules::get($documenti[$i]['modulo'])['id'];
echo "<tr><td class='first_cell text-left'><a href='".ROOTDIR.'/editor.php?id_module='.$link_id.'&id_record='.$documenti[$i]['id']."' target=\"_blank\" title=\"Apri il documento su una nuova finestra\">".$documenti[$i]['tipo'].". n. ".$n_documento.' del '.Translator::dateToLocale($documenti[$i]['data_documento'])." </a></td>\n";
echo "<tr><td class='first_cell text-left'><a href='".ROOTDIR.'/editor.php?id_module='.$link_id.'&id_record='.$documenti[$i]['id']."' target=\"_blank\" title=\"Apri il documento su una nuova finestra\">".$documenti[$i]['tipo'].'. n. '.$n_documento.' del '.Translator::dateToLocale($documenti[$i]['data_documento'])." </a></td>\n";
echo "<td class='table_cell text-right'>".moneyFormat($documenti[$i]['costo_unitario'])."</td></tr>\n";
array_push($ids, '"'.$documenti[$i]['id'].'"');
}

View File

@ -401,8 +401,8 @@ if (!empty($elementi)) {
$descrizione = tr('_DOC_ num. _NUM_ del _DATE_ [_STATE_]', [
'_DOC_' => $fattura['tipo_documento'],
'_NUM_' => !empty($fattura['numero_esterno']) ? $fattura['numero_esterno'] : $fattura['numero'],
'_DATE_' => Translator::dateToLocale($fattura['data']),
'_STATE_' => $fattura['stato_documento'],
'_DATE_' => Translator::dateToLocale($fattura['data']),
'_STATE_' => $fattura['stato_documento'],
]);
$modulo = ($fattura['dir'] == 'entrata') ? 'Fatture di vendita' : 'Fatture di acquisto';

View File

@ -64,7 +64,6 @@ switch ($operazione) {
break;
case 'reset':
$dbo->query('DELETE FROM `co_fatturazione_contratti` WHERE `idcontratto`='.prepare($id_record));
flash()->info(tr('Pianificazione rimossa'));

View File

@ -41,7 +41,7 @@ switch (post('op')) {
flash()->info(tr("Se le informazioni inserite corrispondono ai dati di un utente, riceverai a breve un'email all'indirizzo collegato").'.');
redirect(ROOTDIR.'/index.php');
exit();
exit();
break;
case 'update':
@ -58,7 +58,7 @@ switch (post('op')) {
flash()->info(tr('Password cambiata!'));
redirect(ROOTDIR.'/index.php');
exit();
exit();
break;
}
@ -100,7 +100,7 @@ if (Auth::isBrute()) {
}
echo '
<form action="" method="post" class="box box-center-large box-warning" id="reset">
<form action="" method="post" class="box box-center-large box-warning" id="reset">
<div class="box-header with-border text-center">
<a href="'.ROOTDIR.'/index.php"><i class="fa fa-arrow-left btn btn-xs btn-warning pull-left tip" title="'.tr('Torna indietro').'" ></i></a>
<h3 class="box-title">'.$pageTitle.'</h3>
@ -114,22 +114,22 @@ if (empty($token)) {
<p>'.tr("Per reimpostare password, inserisci l'username con cui hai accesso al gestionale e l'indirizzo email associato all'utente").'.<br>
'.tr("Se i dati inseriti risulteranno corretti riceverai un'email dove sarà indicato il link da cui potrai reimpostare la tua password").'.</p>
{[ "type": "text", "label": "'.tr('Username').'", "placeholder": "'.tr('Username').'", "name": "username", "icon-before": "<i class=\"fa fa-user\"></i>", "required": 1 ]}
{[ "type": "email", "label": "'.tr('Email').'", "placeholder": "'.tr('Email').'", "name": "email", "icon-before": "<i class=\"fa fa-envelope\"></i>", "required": 1 ]}';
} else {
echo '
<input type="hidden" name="op" value="update">
<p>'.tr('Inserisci la nuova password per il tuo account').':</p>
{[ "type": "password", "label": "'.tr('Password').'", "name": "password", "required": 1, "strength": "#submit-button", "icon-before": "<i class=\"fa fa-lock\"></i>" ]}';
}
echo '
</div>
<div class="box-footer">
<button type="submit" id="submit-button" class="btn btn-success btn-block">
<i class="fa fa-arrow-right"></i> '.tr('Invia richiesta').'

View File

@ -12,10 +12,10 @@ $totale_iva = $documento->iva;
$totale = $documento->totale;
$volume = $righe->sum(function ($item) {
return $item->isArticolo() ? $item->articolo->volume*$item->qta : 0;
return $item->isArticolo() ? $item->articolo->volume * $item->qta : 0;
});
$peso_lordo = $righe->sum(function ($item) {
return $item->isArticolo() ? $item->articolo->peso_lordo*$item->qta : 0;
return $item->isArticolo() ? $item->articolo->peso_lordo * $item->qta : 0;
});
// TABELLA PRINCIPALE

View File

@ -91,11 +91,8 @@ foreach ($righe as $riga) {
}
}
// Informazioni su CIG, CUP, ...
if ($riga->hasOriginal()) {
// Informazioni su CIG, CUP, ...
if ($riga->hasOriginal()) {
$documento_originale = $riga->getOriginal()->parent;
$num_item = $documento_originale['num_item'];
@ -110,13 +107,10 @@ foreach ($righe as $riga) {
'_CODICE_CUP_' => $codice_cup ? ', CUP: '.$codice_cup : null,
]);
echo '
<br><small>'.$extra_riga.'</small>';
}
echo '
</td>';

View File

@ -15,10 +15,10 @@ $netto_a_pagare = abs($documento->netto);
$show_sconto = $sconto > 0;
$volume = $righe->sum(function ($item) {
return $item->isArticolo() ? $item->articolo->volume*$item->qta : 0;
return $item->isArticolo() ? $item->articolo->volume * $item->qta : 0;
});
$peso_lordo = $righe->sum(function ($item) {
return $item->isArticolo() ? $item->articolo->peso_lordo*$item->qta : 0;
return $item->isArticolo() ? $item->articolo->peso_lordo * $item->qta : 0;
});
$width = round(100 / ($show_sconto ? 5 : 3), 2);