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'); $idarticolo = post('idarticolo');
$qta = post('qta'); $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)); $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à... // Se nell'automezzo non c'è già questo articolo inserisco la scorta nell'automezzo da zero
if (!empty($rs) && $rs[0]['qta'] >= 0) { if (empty($rs)) {
$dbo->query('UPDATE mg_articoli_automezzi SET qta=qta+'.$qta." WHERE id=".prepare($rs[0]['id'])); $dbo->query('INSERT INTO mg_articoli_automezzi(idarticolo, idautomezzo, qta) VALUES ('.prepare($idarticolo).', '.prepare($id_record).', 0)');
} 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).')');
} }
// Decremento la quantità dal magazzino centrale
add_movimento_magazzino($idarticolo, -$qta, ['idautomezzo' => $id_record]);
$_SESSION['infos'][] = tr("Caricato il magazzino dell'automezzo!"); $_SESSION['infos'][] = tr("Caricato il magazzino dell'automezzo!");
break; 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'; $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); $rsp = $dbo->fetchArray($qp);
$pianificabile = $dbo->fetchNum('SELECT id FROM co_staticontratti WHERE pianificabile = 1 AND descrizione = '.prepare($records[0]['stato']));
echo ' echo '
<div class="box"> <div class="box">
<div class="box-header with-border"> <div class="box-header with-border">
@ -95,10 +97,8 @@ if (count($rsp) != 0) {
<td align="right">'; <td align="right">';
if (empty($rsp[$i]['idintervento'])) { if (empty($rsp[$i]['idintervento'])) {
if($records[0]['stato'] != 'Bozza' && $records[0]['stato'] != 'Rifiutato'){
echo ' 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 ' echo '
<button type="button" class="btn btn-danger btn-sm ask" data-op="depianifica" data-id="'.$rsp[$i]['id'].'"> <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"> <script type="text/javascript">
function ricalcola_subtotale_riga( r ){ function ricalcola_subtotale_riga( r ){
subtot = $("#subtot_"+r).val().toEnglish(); subtot = $("#subtot_"+r).val();
sconto = $("#sconto_"+r).val();
iva = $("#iva_"+r).val();
qtamax = $("#qtamax_"+r).val() ? $("#qtamax_"+r).val() : 0;
subtot = parseFloat(subtot);
sconto = parseFloat(sconto);
iva = parseFloat(iva);
qtamax = parseFloat(qtamax);
sconto = $("#sconto_"+r).val().toEnglish();
subtot = subtot - sconto; subtot = subtot - sconto;
qta = $("#qta_"+r).val().toEnglish();
if( isNaN(qta) ){
qta = 0;
}
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 );
}
$("#serial_"+r).selectClear(); $("#serial_"+r).selectClear();
$("#serial_"+r).select2("destroy"); $("#serial_"+r).select2("destroy");
$("#serial_"+r).data('maximum', qta); $("#serial_"+r).data('maximum', qta);
start_superselect(); 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 // 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; qta = 0;
} }
subtotale = (subtot * qta + iva * qta).toFixedLocale(2); subtotale = (subtot * qta + iva * qta).toFixedLocale(2);
$("#subtotale_"+r).html(subtotale+" &euro;"); $("#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(); ricalcola_totale();
} }
@ -269,13 +268,16 @@ echo '
qta = 0; 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; subtot = subtot-sconto;
iva = $("#iva_"+r).val().toEnglish();
totale += subtot*qta+iva*qta; totale += subtot*qta+iva*qta;
r++; r++;

View File

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