From 1816dcfe86a5cce0e4761e4fcc48f4674bc79a45 Mon Sep 17 00:00:00 2001 From: Thomas Zilio Date: Fri, 22 Feb 2019 16:37:59 +0100 Subject: [PATCH] Miglioramento api interventi --- modules/interventi/api/retrieve.php | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/modules/interventi/api/retrieve.php b/modules/interventi/api/retrieve.php index 3c6ea21de..e6144d9c1 100644 --- a/modules/interventi/api/retrieve.php +++ b/modules/interventi/api/retrieve.php @@ -48,6 +48,7 @@ switch ($resource) { // Periodo per selezionare interventi $today = date('Y-m-d'); $period_end = date('Y-m-d', strtotime($today.' +7 days')); + $period_start = date('Y-m-d', strtotime($today.' -2 months')); $query = "SELECT `in_interventi`.`id`, `in_interventi`.`codice`, @@ -64,7 +65,7 @@ switch ($resource) { `in_interventi`.`firma_file`, IF(firma_data = '0000-00-00 00:00:00', '', firma_data) AS `firma_data`, `in_interventi`.firma_nome, - (SELECT GROUP_CONCAT( CONCAT(my_impianti.matricola, ' - ', my_impianti.nome) SEPARATOR ', ') FROM (my_impianti_interventi INNER JOIN my_impianti ON my_impianti_interventi.idimpianto=my_impianti.id) WHERE my_impianti_interventi.idintervento = `in_interventi`.`id`) AS `impianti`, + (SELECT GROUP_CONCAT(CONCAT(my_impianti.matricola, ' - ', my_impianti.nome) SEPARATOR ', ') FROM (my_impianti_interventi INNER JOIN my_impianti ON my_impianti_interventi.idimpianto=my_impianti.id) WHERE my_impianti_interventi.idintervento = `in_interventi`.`id`) AS `impianti`, (SELECT MAX(`orario_fine`) FROM `in_interventi_tecnici` WHERE `in_interventi_tecnici`.`idintervento` = `in_interventi`.`id`) AS `data`, (SELECT GROUP_CONCAT(DISTINCT ragione_sociale SEPARATOR ', ') FROM `in_interventi_tecnici` INNER JOIN `an_anagrafiche` ON `in_interventi_tecnici`.`idtecnico` = `an_anagrafiche`.`idanagrafica` WHERE `in_interventi_tecnici`.`idintervento` = `in_interventi`.`id`) AS `tecnici`, `in_statiintervento`.`colore` AS `bgcolor`, @@ -74,9 +75,9 @@ switch ($resource) { INNER JOIN `in_statiintervento` ON `in_interventi`.`idstatointervento` = `in_statiintervento`.`idstatointervento` INNER JOIN `an_anagrafiche` ON `in_interventi`.`idanagrafica` = `an_anagrafiche`.`idanagrafica` LEFT JOIN `an_sedi` ON `in_interventi`.`idsede` = `an_sedi`.`id` - WHERE (SELECT MAX(`orario_fine`) FROM `in_interventi_tecnici` WHERE `in_interventi_tecnici`.`idintervento` = `in_interventi`.`id`) <= :period_end"; + WHERE EXISTS(SELECT `orario_fine` FROM `in_interventi_tecnici` WHERE `in_interventi_tecnici`.`idintervento` = `in_interventi`.`id` AND `orario_fine` BETWEEN :period_start AND :period_end)"; - // TODO: rimosse seguenti clausole: + // TODO: rimosse le seguenti clausole // WHERE `in_interventi`.idstatointervento IN(SELECT idstatointervento FROM in_statiintervento WHERE app_download=1) // nel database ufficiale manca in_statiintervento.app_download @@ -86,6 +87,7 @@ switch ($resource) { $parameters = [ ':period_end' => $period_end, + ':period_start' => $period_start, ]; break;