mirror of
https://github.com/devcode-it/openstamanager.git
synced 2025-02-03 01:08:08 +01:00
Corretta evasione righe con più righe simili nei documenti da cui si prelevano
This commit is contained in:
parent
5259130709
commit
79053119f7
@ -104,12 +104,12 @@ abstract class Article extends Row
|
||||
|
||||
// Se c'è un collegamento ad un ddt, aggiorno la quantità evasa
|
||||
if (!empty($this->idddt)) {
|
||||
$database->query('UPDATE dt_righe_ddt SET qta_evasa = qta_evasa + '.$diff.' WHERE descrizione = '.prepare($this->descrizione).' AND idarticolo = '.prepare($this->idarticolo).' AND idddt = '.prepare($this->idddt).' AND idiva = '.prepare($this->idiva));
|
||||
$database->query('UPDATE dt_righe_ddt SET qta_evasa = qta_evasa + '.$diff.' WHERE descrizione = '.prepare($this->descrizione).' AND idarticolo = '.prepare($this->idarticolo).' AND idddt = '.prepare($this->idddt).' AND idiva = '.prepare($this->idiva).' AND qta_evasa < qta LIMIT 1');
|
||||
}
|
||||
|
||||
// Se c'è un collegamento ad un ordine, aggiorno la quantità evasa
|
||||
if (!empty($this->idordine)) {
|
||||
$database->query('UPDATE or_righe_ordini SET qta_evasa = qta_evasa + '.$diff.' WHERE descrizione = '.prepare($this->descrizione).' AND idarticolo = '.prepare($this->idarticolo).' AND idordine = '.prepare($this->idordine).' AND idiva = '.prepare($this->idiva));
|
||||
elseif (!empty($this->idordine)) {
|
||||
$database->query('UPDATE or_righe_ordini SET qta_evasa = qta_evasa + '.$diff.' WHERE descrizione = '.prepare($this->descrizione).' AND idarticolo = '.prepare($this->idarticolo).' AND idordine = '.prepare($this->idordine).' AND idiva = '.prepare($this->idiva).' AND qta_evasa < qta LIMIT 1');
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -698,22 +698,19 @@ function rimuovi_riga_fattura($id_documento, $id_riga, $dir)
|
||||
add_movimento_magazzino($riga['idarticolo'], ($dir == 'entrata') ? $riga['qta'] : -$riga['qta'], ['iddocumento' => $id_documento]);
|
||||
}
|
||||
|
||||
// TODO: possibile ambiguità tra righe molto simili tra loro
|
||||
// Se l'articolo è stato inserito in fattura tramite un preventivo devo sanare la qta_evasa
|
||||
if (!empty($riga['idpreventivo'])) {
|
||||
$dbo->query('UPDATE co_righe_preventivi SET qta_evasa=qta_evasa-'.$riga['qta'].' WHERE qta='.prepare($riga['qta']).' AND idarticolo='.prepare($riga['idarticolo']).' AND idpreventivo='.prepare($riga['idpreventivo']));
|
||||
$dbo->query('UPDATE co_righe_preventivi SET qta_evasa=qta_evasa-'.$riga['qta'].' WHERE qta='.prepare($riga['qta']).' AND idarticolo='.prepare($riga['idarticolo']).' AND idpreventivo='.prepare($riga['idpreventivo']).' AND qta_evasa > 0 LIMIT 1');
|
||||
}
|
||||
|
||||
// TODO: possibile ambiguità tra righe molto simili tra loro
|
||||
// Se l'articolo è stato inserito in fattura tramite un ddt devo sanare la qta_evasa
|
||||
if (!empty($riga['idddt'])) {
|
||||
$dbo->query('UPDATE dt_righe_ddt SET qta_evasa=qta_evasa-'.$riga['qta'].' WHERE qta='.prepare($riga['qta']).' AND idarticolo='.prepare($riga['idarticolo']).' AND idddt='.prepare($riga['idddt']));
|
||||
$dbo->query('UPDATE dt_righe_ddt SET qta_evasa=qta_evasa-'.$riga['qta'].' WHERE qta='.prepare($riga['qta']).' AND idarticolo='.prepare($riga['idarticolo']).' AND idddt='.prepare($riga['idddt']).' AND qta_evasa > 0 LIMIT 1');
|
||||
}
|
||||
|
||||
// TODO: possibile ambiguità tra righe molto simili tra loro
|
||||
// Se l'articolo è stato inserito in fattura tramite un ordine devo sanare la qta_evasa
|
||||
if (!empty($riga['idordine'])) {
|
||||
$dbo->query('UPDATE or_righe_ordini SET qta_evasa=qta_evasa-'.$riga['qta'].' WHERE qta='.prepare($riga['qta']).' AND idarticolo='.prepare($riga['idarticolo']).' AND idordine='.prepare($riga['idordine']));
|
||||
elseif (!empty($riga['idordine'])) {
|
||||
$dbo->query('UPDATE or_righe_ordini SET qta_evasa=qta_evasa-'.$riga['qta'].' WHERE qta='.prepare($riga['qta']).' AND idarticolo='.prepare($riga['idarticolo']).' AND idordine='.prepare($riga['idordine']).' AND qta_evasa > 0 LIMIT 1');
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user