mirror of
https://github.com/devcode-it/openstamanager.git
synced 2025-02-16 19:40:44 +01:00
Fix ripristino qta_evasa
This commit is contained in:
parent
acff84977c
commit
5fcdb7f918
@ -48,6 +48,9 @@ Il formato utilizzato è basato sulle linee guida di [Keep a Changelog](http://k
|
||||
- Miglioramento del sistema di importazione delle ricevute delle Fatture Elettroniche, per permetterne il caricamento manuale
|
||||
- Standardizzazione dei nomi predefiniti delle stampa e dei relativi file generati
|
||||
|
||||
### Rimosso (Removed)
|
||||
- Supporto ai raggruppamenti di **Contratti** e **Preventivi** nelle **Fatture**
|
||||
|
||||
### Fixed
|
||||
|
||||
- Fix export delle tabelle principali in Excel
|
||||
|
@ -151,10 +151,10 @@ switch (post('op')) {
|
||||
|
||||
// eliminazione documento
|
||||
case 'delete':
|
||||
$rs = $dbo->fetchArray('SELECT id FROM co_righe_documenti WHERE iddocumento='.prepare($id_record));
|
||||
$righe = $dbo->fetchArray('SELECT id FROM co_righe_documenti WHERE iddocumento='.prepare($id_record));
|
||||
|
||||
// Controllo sui seriali
|
||||
foreach ($rs as $r) {
|
||||
foreach ($righe as $r) {
|
||||
$non_rimovibili = seriali_non_rimuovibili('id_riga_documento', $r['id'], $dir);
|
||||
if (!empty($non_rimovibili)) {
|
||||
flash()->error(tr('Alcuni serial number sono già stati utilizzati!'));
|
||||
@ -163,16 +163,10 @@ switch (post('op')) {
|
||||
}
|
||||
}
|
||||
|
||||
// Rimozione righe
|
||||
foreach ($rs as $r) {
|
||||
rimuovi_riga_fattura($id_record, $r['id'], $dir);
|
||||
}
|
||||
|
||||
// Se ci sono dei preventivi collegati li rimetto nello stato "In attesa di pagamento"
|
||||
$rs = $dbo->fetchArray('SELECT idpreventivo FROM co_righe_documenti WHERE iddocumento='.prepare($id_record).' AND idpreventivo IS NOT NULL');
|
||||
for ($i = 0; $i < sizeof($rs); ++$i) {
|
||||
$dbo->query("UPDATE co_preventivi SET idstato=(SELECT id FROM co_statipreventivi WHERE descrizione='In lavorazione') WHERE id=".prepare($rs[$i]['idpreventivo']));
|
||||
$dbo->query('UPDATE co_righe_preventivi SET qta_evasa=0 WHERE idpreventivo='.prepare($rs[$i]['idpreventivo']));
|
||||
}
|
||||
|
||||
// Se ci sono degli interventi collegati li rimetto nello stato "Completato"
|
||||
@ -181,6 +175,11 @@ switch (post('op')) {
|
||||
$dbo->query("UPDATE in_interventi SET idstatointervento = (SELECT idstatointervento FROM in_statiintervento WHERE descrizione = 'Completato') WHERE id=".prepare($rs[$i]['idintervento']));
|
||||
}
|
||||
|
||||
// Rimozione righe
|
||||
foreach ($righe as $r) {
|
||||
rimuovi_riga_fattura($id_record, $r['id'], $dir);
|
||||
}
|
||||
|
||||
elimina_scadenza($id_record);
|
||||
elimina_movimento($id_record);
|
||||
|
||||
|
@ -696,51 +696,15 @@ function rimuovi_riga_fattura($id_documento, $id_riga, $dir)
|
||||
}
|
||||
|
||||
// Rimozione articoli collegati ad un preventivo importato con riga unica
|
||||
if (empty($riga['idarticolo']) && $riga['idpreventivo']) {
|
||||
//rimetto a magazzino gli articoli collegati al preventivo
|
||||
$rsa = $dbo->fetchArray('SELECT id, idarticolo, qta FROM co_righe_preventivi WHERE idpreventivo = '.prepare($riga['idpreventivo']));
|
||||
for ($i = 0; $i < sizeof($rsa); ++$i) {
|
||||
if ($riga['is_preventivo']) {
|
||||
if (!empty($rsa[$i]['idarticolo'])) {
|
||||
add_movimento_magazzino($rsa[$i]['idarticolo'], $rsa[$i]['qta'], ['iddocumento' => $id_documento]);
|
||||
}
|
||||
} else {
|
||||
$qta_evasa = $rsa[$i]['qta_evasa'] + $riga['qta'];
|
||||
// Ripristino le quantità da evadere nel preventivo
|
||||
$dbo->update('co_righe_preventivi',
|
||||
[
|
||||
'qta_evasa' => $qta_evasa,
|
||||
],
|
||||
[
|
||||
'id' => $rsa[$i]['id'],
|
||||
]
|
||||
);
|
||||
}
|
||||
}
|
||||
if ($riga['idpreventivo']) {
|
||||
$query = 'UPDATE co_righe_preventivi SET qta_evasa = qta_evasa - '.$riga['qta'].' WHERE idarticolo='.prepare($riga['idarticolo']).' AND descrizione = '.prepare($riga['descrizione']).' AND idpreventivo = '.prepare($riga['idpreventivo']);
|
||||
$dbo->query($query);
|
||||
}
|
||||
|
||||
// Rimozione articoli collegati ad un contratto importato con riga unica
|
||||
if (empty($riga['idarticolo']) && $riga['idcontratto']) {
|
||||
//rimetto a magazzino gli articoli collegati al contratto
|
||||
$rsa = $dbo->fetchArray('SELECT id, idarticolo, qta FROM co_righe_contratti WHERE idcontratto = '.prepare($riga['idcontratto']));
|
||||
for ($i = 0; $i < sizeof($rsa); ++$i) {
|
||||
if ($riga['is_contratto']) {
|
||||
if (!empty($rsa[$i]['idarticolo'])) {
|
||||
add_movimento_magazzino($rsa[$i]['idarticolo'], $rsa[$i]['qta'], ['iddocumento' => $id_documento]);
|
||||
}
|
||||
} else {
|
||||
$qta_evasa = $rsa[$i]['qta_evasa'] + $riga['qta'];
|
||||
// Ripristino le quantità da evadere nel contratto
|
||||
$dbo->update('co_righe_contratti',
|
||||
[
|
||||
'qta_evasa' => $qta_evasa,
|
||||
],
|
||||
[
|
||||
'id' => $rsa[$i]['id'],
|
||||
]
|
||||
);
|
||||
}
|
||||
}
|
||||
if ($riga['idcontratto']) {
|
||||
$query = 'UPDATE co_righe_contratti SET qta_evasa = qta_evasa - '.$riga['qta'].' WHERE idarticolo='.prepare($riga['idarticolo']).' AND descrizione = '.prepare($riga['descrizione']).' AND idcontratto = '.prepare($riga['idcontratto']);
|
||||
$dbo->query($query);
|
||||
}
|
||||
|
||||
//Rimozione righe generiche
|
||||
|
Loading…
x
Reference in New Issue
Block a user