Quando elimino un fattura collegata ad un contratto o un preventivo ripristino la qta evasa nel documento d'origine

This commit is contained in:
Luca 2019-05-06 18:08:22 +02:00
parent d16e9df4b2
commit d4995ab690
2 changed files with 49 additions and 11 deletions

View File

@ -707,27 +707,65 @@ function rimuovi_riga_fattura($id_documento, $id_riga, $dir)
} }
// Rimozione articoli collegati ad un preventivo importato con riga unica // Rimozione articoli collegati ad un preventivo importato con riga unica
if (empty($riga['idarticolo']) && $riga['is_preventivo']) { if (empty($riga['idarticolo']) && $riga['idpreventivo']) {
//rimetto a magazzino gli articoli collegati al preventivo //rimetto a magazzino gli articoli collegati al preventivo
$rsa = $dbo->fetchArray('SELECT idarticolo, qta FROM co_righe_preventivi WHERE idpreventivo = '.prepare($riga['idpreventivo'])); $rsa = $dbo->fetchArray('SELECT id, idarticolo, qta FROM co_righe_preventivi WHERE idpreventivo = '.prepare($riga['idpreventivo']));
for ($i = 0; $i < sizeof($rsa); ++$i) { for ($i = 0; $i < sizeof($rsa); ++$i) {
if (!empty($rsa[$i]['idarticolo'])) {
add_movimento_magazzino($rsa[$i]['idarticolo'], $rsa[$i]['qta'], ['iddocumento' => $id_documento]); 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'],
]
);
}
} }
} }
// Rimozione articoli collegati ad un contratto importato con riga unica // Rimozione articoli collegati ad un contratto importato con riga unica
if (empty($riga['idarticolo']) && $riga['is_contratto']) { if (empty($riga['idarticolo']) && $riga['idcontratto']) {
//rimetto a magazzino gli articoli collegati al contratto //rimetto a magazzino gli articoli collegati al contratto
$rsa = $dbo->fetchArray('SELECT idarticolo, qta FROM co_righe_contratti WHERE idcontratto = '.prepare($riga['idcontratto'])); $rsa = $dbo->fetchArray('SELECT id, idarticolo, qta FROM co_righe_contratti WHERE idcontratto = '.prepare($riga['idcontratto']));
for ($i = 0; $i < sizeof($rsa); ++$i) { for ($i = 0; $i < sizeof($rsa); ++$i) {
if (!empty($rsa[$i]['idarticolo'])) {
add_movimento_magazzino($rsa[$i]['idarticolo'], $rsa[$i]['qta'], ['iddocumento' => $id_documento]); 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'],
]
);
}
} }
} }
//Rimozione righe generiche //Rimozione righe generiche
if (empty($riga['idarticolo'])) { if (empty($riga['idarticolo'])) {
// TODO: possibile ambiguità tra righe molto simili tra loro // TODO: possibile ambiguità tra righe molto simili tra loro

View File

@ -81,6 +81,6 @@ function crea_grafico(values){
} }
</script> </script>
<div class="chart-container" style="width:20vw"> <div class="chart-container" style="width:25em;">
<canvas id="chart"></canvas> <canvas id="chart"></canvas>
</div>'; </div>';