Bugfix distribuito

This commit is contained in:
Thomas Zilio 2017-09-18 18:50:37 +02:00
parent b2973f1c40
commit 6eb751afb6
4 changed files with 38 additions and 38 deletions

View File

@ -108,19 +108,16 @@ switch (post('op')) {
$idarticolo = post('idarticolo');
$qta = post('qta');
// Decremento la quantità dal magazzino centrale
add_movimento_magazzino($idarticolo, -$qta, ['idautomezzo' => $id_record]);
// Verifico se nell'automezzo c'è già questo articolo
$rs = $dbo->fetchArray("SELECT id, qta FROM mg_articoli_automezzi WHERE idarticolo=".prepare($idarticolo)." AND idautomezzo=".prepare($id_record));
// Se nell'automezzo c'è già questo articolo incremento la quantità...
if (!empty($rs) && $rs[0]['qta'] >= 0) {
$dbo->query('UPDATE mg_articoli_automezzi SET qta=qta+'.$qta." WHERE id=".prepare($rs[0]['id']));
} else { // ...altrimenti inserisco la scorta nell'automezzo da zero
$dbo->query('INSERT INTO mg_articoli_automezzi(idarticolo, idautomezzo, qta) VALUES ('.prepare($idarticolo).', '.prepare($id_record).', '.prepare($qta).')');
// Se nell'automezzo non c'è già questo articolo inserisco la scorta nell'automezzo da zero
if (empty($rs)) {
$dbo->query('INSERT INTO mg_articoli_automezzi(idarticolo, idautomezzo, qta) VALUES ('.prepare($idarticolo).', '.prepare($id_record).', 0)');
}
// Decremento la quantità dal magazzino centrale
add_movimento_magazzino($idarticolo, -$qta, ['idautomezzo' => $id_record]);
$_SESSION['infos'][] = tr("Caricato il magazzino dell'automezzo!");
break;

View File

@ -37,6 +37,8 @@ switch (filter('op')) {
$qp = 'SELECT *, (SELECT descrizione FROM in_tipiintervento WHERE idtipointervento=co_righe_contratti.idtipointervento) AS tipointervento FROM co_righe_contratti WHERE idcontratto='.prepare($id_record).' ORDER BY data_richiesta ASC';
$rsp = $dbo->fetchArray($qp);
$pianificabile = $dbo->fetchNum('SELECT id FROM co_staticontratti WHERE pianificabile = 1 AND descrizione = '.prepare($records[0]['stato']));
echo '
<div class="box">
<div class="box-header with-border">
@ -95,10 +97,8 @@ if (count($rsp) != 0) {
<td align="right">';
if (empty($rsp[$i]['idintervento'])) {
if($records[0]['stato'] != 'Bozza' && $records[0]['stato'] != 'Rifiutato'){
echo '
<button type="button" class="btn btn-primary btn-sm" title="Pianifica ora..." data-toggle="tooltip" onclick="launch_modal(\'Pianifica intervento\', \''.$rootdir.'/add.php?id_module='.Modules::getModule('Interventi')['id'].'&ref=interventi_contratti&idcontratto='.$id_record.'&idcontratto_riga='.$rsp[$i]['id'].'\');"><i class="fa fa-calendar"></i></button>';
}
<button type="button" class="btn btn-primary btn-sm" title="Pianifica ora..." data-toggle="tooltip" onclick="launch_modal(\'Pianifica intervento\', \''.$rootdir.'/add.php?id_module='.Modules::getModule('Interventi')['id'].'&ref=interventi_contratti&idcontratto='.$id_record.'&idcontratto_riga='.$rsp[$i]['id'].'\');"'.(!empty($pianificabile) ? '' : ' disabled').'><i class="fa fa-calendar"></i></button>';
echo '
<button type="button" class="btn btn-danger btn-sm ask" data-op="depianifica" data-id="'.$rsp[$i]['id'].'">

View File

@ -218,43 +218,42 @@ echo '
<script type="text/javascript">
function ricalcola_subtotale_riga( r ){
subtot = $("#subtot_"+r).val().toEnglish();
subtot = $("#subtot_"+r).val();
sconto = $("#sconto_"+r).val();
iva = $("#iva_"+r).val();
sconto = $("#sconto_"+r).val().toEnglish();
subtot = subtot-sconto;
qtamax = $("#qtamax_"+r).val() ? $("#qtamax_"+r).val() : 0;
qta = $("#qta_"+r).val().toEnglish();
if( isNaN(qta) ){
qta = 0;
}
subtot = parseFloat(subtot);
sconto = parseFloat(sconto);
iva = parseFloat(iva);
qtamax = parseFloat(qtamax);
qtamax = $("#qtamax_"+r).val().toEnglish();
if( isNaN(qtamax) ){
qtamax = 0;
}
iva = $("#iva_"+r).val().toEnglish();
// Se inserisco una quantità da evadere maggiore di quella rimanente, la imposto al massimo possibile
if( qta>qtamax ){
qta = qtamax.toFixedLocale(2);
$('#qta_'+r).val( qta );
}
subtot = subtot - sconto;
$("#serial_"+r).selectClear();
$("#serial_"+r).select2("destroy");
$("#serial_"+r).data('maximum', qta);
start_superselect();
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;
$('#qta_'+r).val(qta);
}
// Se tolgo la spunta della casella dell'evasione devo azzerare i conteggi
if( !$('#checked_'+r).is(':checked') ){
if(isNaN(qta) || !$('#checked_'+r).is(':checked')){
qta = 0;
}
subtotale = (subtot*qta+iva*qta).toFixedLocale(2);
subtotale = (subtot * qta + iva * qta).toFixedLocale(2);
$("#subtotale_"+r).html(subtotale+" &euro;");
$("#subtotaledettagli_"+r).html( (subtot*qta).toFixed(2)+" + " + (iva*qta).toFixed(2) );
$("#subtotaledettagli_"+r).html((subtot * qta).toFixedLocale(2) + " + " + (iva * qta).toFixedLocale(2));
ricalcola_totale();
}
@ -269,13 +268,16 @@ echo '
qta = 0;
}
subtot = $("#subtot_"+r).val().toEnglish();
subtot = $("#subtot_"+r).val();
sconto = $("#sconto_"+r).val();
iva = $("#iva_"+r).val();
subtot = parseFloat(subtot);
sconto = parseFloat(sconto);
iva = parseFloat(iva);
sconto = $("#sconto_"+r).val().toEnglish();
subtot = subtot-sconto;
iva = $("#iva_"+r).val().toEnglish();
totale += subtot*qta+iva*qta;
r++;

View File

@ -15,6 +15,7 @@ $numero = !empty($records[0]['numero_esterno']) ?$records[0]['numero_esterno'] :
// Sostituzioni specifiche
$custom = [
'tipo_doc' => Stringy\Stringy::create($records[0]['tipo_doc'])->toUpperCase(),
'numero_doc' => $numero,
'data' => Translator::dateToLocale($records[0]['data']),
'pagamento' => $records[0]['tipo_pagamento'],