diff --git a/modules/articoli/actions.php b/modules/articoli/actions.php index 071d8df9a..b5fdf1474 100755 --- a/modules/articoli/actions.php +++ b/modules/articoli/actions.php @@ -61,7 +61,6 @@ switch (post('op')) { $articolo->name = post('descrizione'); } $articolo->barcode = post('barcode'); - $articolo->threshold_qta = post('threshold_qta'); $articolo->coefficiente = post('coefficiente'); $articolo->idiva_vendita = post('idiva_vendita'); $articolo->prezzo_acquisto = post('prezzo_acquisto'); @@ -138,7 +137,6 @@ switch (post('op')) { $articolo->id_sottocategoria = post('subcategoria'); $articolo->abilita_serial = post('abilita_serial'); $articolo->ubicazione = post('ubicazione'); - $articolo->threshold_qta = post('threshold_qta'); $articolo->coefficiente = post('coefficiente'); $articolo->idiva_vendita = post('idiva_vendita'); $articolo->prezzo_acquisto = post('prezzo_acquisto'); @@ -405,6 +403,57 @@ switch (post('op')) { ]); } + break; + + case 'update_soglia_minima': + $has_soglia_minima = $dbo->selectOne('mg_scorte_sedi', '*', ['id_articolo' => $id_record, 'id_sede' => post('id_sede')])['threshold_qta']; + + if ($has_soglia_minima) { + if (post('threshold_qta')) { + $dbo->update('mg_scorte_sedi', [ + 'threshold_qta' => post('threshold_qta'), + ],[ + 'id_articolo' => $id_record, + 'id_sede' => post('id_sede'), + ]); + } else { + $dbo->delete('mg_scorte_sedi', [ + 'id_articolo' => $id_record, + 'id_sede' => post('id_sede'), + ]); + } + } else { + $dbo->insert('mg_scorte_sedi', [ + 'id_articolo' => $id_record, + 'id_sede' => post('id_sede'), + 'threshold_qta' => post('threshold_qta'), + ]); + } + + flash()->info(tr('Soglia minima aggiornata!')); + + break; + + case 'update_giacenza': + $data = date('Y-m-d'); + + $qta = post('qta') ?: 0; + $new_qta = post('new_qta') ?: 0; + + $qta_movimento = $new_qta - $qta; + if ($qta_movimento > 0) { + $descrizione = tr('Carico manuale'); + } elseif ($qta_movimento < 0) { + $descrizione = tr('Scarico manuale'); + } + + // Registrazione del movimento con variazione della quantità + $articolo->movimenta($qta_movimento, $descrizione, $data, 1, [ + 'idsede' => post('id_sede') + ]); + + flash()->info(tr('Giacenza aggiornata!')); + break; } diff --git a/modules/articoli/add.php b/modules/articoli/add.php index b47d5ade4..7ec5a8b5b 100755 --- a/modules/articoli/add.php +++ b/modules/articoli/add.php @@ -96,7 +96,7 @@ $aliquota_predefinita = floatval(Aliquota::find($iva_predefinita)->percentuale);
'.tr('Articolo').' | -'.tr('Q.tà').' | +'.tr('Articolo').' | +'.tr('Sede').' | +'.tr('Soglia minima').' | +'.tr('Q.tà').' |
---|---|---|---|---|---|
- '.Modules::link('Articoli', $r['id'], $r['descrizione']).'
- '.$r['codice'].' - |
- - '.Translator::numberToLocale($r['qta'], 'qta').' '.$r['unitamisura'].' - | -||||
+ '.Modules::link('Articoli', $r['id'], $r['codice'].' - '.$r['descrizione']).' + | ++ '.$sede.' + | ++ '.Translator::numberToLocale($r['threshold_qta'], 'qta').' '.$articolo->um.' + | ++ '.Translator::numberToLocale($giacenze[$r['id_sede']][0], 'qta').' '.$articolo->um.' + | +