From 8b6e562cc1925768641b296b94e2799b5111703d Mon Sep 17 00:00:00 2001 From: Luca Date: Wed, 21 Feb 2018 12:57:15 +0100 Subject: [PATCH] Fix eliminazione interventi dalla fattura, non venivano riportati nello stato fatturato + aggiunto 'Fatturato' tra gli stati da considerare completati --- modules/fatture/actions.php | 28 ++++++++++++++-------------- update/2_3_1.sql | 3 +++ 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/modules/fatture/actions.php b/modules/fatture/actions.php index 7a8c68f0e..984c9308e 100755 --- a/modules/fatture/actions.php +++ b/modules/fatture/actions.php @@ -1114,10 +1114,6 @@ switch (post('op')) { $id_record = $rsp[0]['iddocumento']; $idintervento = $rsp[0]['idintervento']; - $query = 'DELETE FROM `co_righe_documenti` WHERE iddocumento='.prepare($id_record).' AND id='.prepare($idriga); - - $dbo->query($query); - // Ricalcolo inps, ritenuta e bollo if ($dir == 'entrata') { ricalcola_costiagg_fattura($id_record); @@ -1126,19 +1122,23 @@ switch (post('op')) { } // Lettura interventi collegati - $query = 'SELECT id, idintervento FROM co_righe_documenti WHERE iddocumento='.prepare($id_record).' AND idintervento IS NOT NULL'; - $rs = $dbo->fetchArray($query); + //$query = 'SELECT id, idintervento FROM co_righe_documenti WHERE iddocumento='.prepare($id_record).' AND idintervento IS NOT NULL'; + //$rs = $dbo->fetchArray($query); // Se ci sono degli interventi collegati li rimetto nello stato "Completato" - for ($i = 0; $i < sizeof($rs); ++$i) { - $dbo->query("UPDATE in_interventi SET idstatointervento='OK' WHERE id=".prepare($rs[$i]['idintervento'])); + //for ($i = 0; $i < sizeof($rs); ++$i) { + $dbo->query("UPDATE in_interventi SET idstatointervento='OK' WHERE id=".prepare($idintervento)); - // Rimuovo dalla fattura gli articoli collegati all'intervento - $rs2 = $dbo->fetchArray('SELECT idarticolo FROM mg_articoli_interventi WHERE idintervento='.prepare($idintervento)); - for ($j = 0; $j < sizeof($rs2); ++$j) { - rimuovi_articolo_dafattura($rs[0]['idarticolo'], $id_record, $rs[0]['idrigadocumento']); - } - } + // Rimuovo dalla fattura gli articoli collegati all'intervento + $rs2 = $dbo->fetchArray('SELECT idarticolo FROM mg_articoli_interventi WHERE idintervento='.prepare($idintervento)); + for ($j = 0; $j < sizeof($rs2); ++$j) { + rimuovi_articolo_dafattura($rs[0]['idarticolo'], $id_record, $rs[0]['idrigadocumento']); + } + //} + + //rimuovo riga da co_righe_documenti + $query = 'DELETE FROM `co_righe_documenti` WHERE iddocumento='.prepare($id_record).' AND id='.prepare($idriga); + $dbo->query($query); $_SESSION['infos'][] = tr('Intervento _NUM_ rimosso!', [ '_NUM_' => $idintervento, diff --git a/update/2_3_1.sql b/update/2_3_1.sql index 304ce1f63..abf35f04c 100644 --- a/update/2_3_1.sql +++ b/update/2_3_1.sql @@ -69,3 +69,6 @@ UPDATE `in_statiintervento` SET `can_delete` = 0 WHERE `idstatointervento` IN( ' -- Impostazione di tutti gli eventuali altri tipi di intervento a modificabili e cancellabili UPDATE `in_statiintervento` SET `can_delete` = 1 WHERE `idstatointervento` NOT IN( 'FAT', 'OK', 'CALL', 'WIP' ); + +-- Lo stato 'FAT' รจ da considerarsi completato +UPDATE `in_statiintervento` SET `completato` = '1' WHERE `in_statiintervento`.`idstatointervento` = 'FAT'; \ No newline at end of file