From 46315d1e8517cc33df718f83bd1fdd749ab47a4d Mon Sep 17 00:00:00 2001 From: Dasc3er Date: Thu, 10 Sep 2020 17:30:18 +0200 Subject: [PATCH] Ricerca per i riferimenti FE --- modules/fatture/ajax/select.php | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/modules/fatture/ajax/select.php b/modules/fatture/ajax/select.php index 549fcf04f..12f15892d 100644 --- a/modules/fatture/ajax/select.php +++ b/modules/fatture/ajax/select.php @@ -14,6 +14,16 @@ switch ($resource) { return []; } + // Campi di ricerca + $search_fields = []; + if (!empty($search)) { + $search_fields[] = "IF(numero_esterno != '', numero_esterno, numero) LIKE ".prepare('%'.$search.'%'); + $search_fields[] = "DATE_FORMAT(data, '%d/%m/%Y') LIKE ".prepare('%'.$search.'%'); + } + + $where = implode(' OR ', $search_fields); + $where = $where ? '('.$where.')' : '1=1'; + $query_ordini = "SELECT or_ordini.id, CONCAT('Ordine num. ', IF(numero_esterno != '', numero_esterno, numero), ' del ', DATE_FORMAT(data, '%d/%m/%Y'), ' [', (SELECT descrizione FROM or_statiordine WHERE id = idstatoordine) , ']') AS text, 'Ordini' AS optgroup, @@ -21,11 +31,11 @@ switch ($resource) { FROM or_ordini WHERE idanagrafica = ".prepare($id_anagrafica)." AND idstatoordine IN ( - SELECT id FROM or_statiordine WHERE descrizione!='Fatturato' + SELECT id FROM or_statiordine WHERE descrizione != 'Fatturato' ) AND idtipoordine IN ( SELECT id FROM or_tipiordine WHERE dir = ".prepare($direzione).' - ) + ) AND |where| ORDER BY data DESC, numero DESC'; $query_ddt = "SELECT dt_ddt.id, @@ -35,13 +45,22 @@ switch ($resource) { FROM dt_ddt WHERE idanagrafica = ".prepare($id_anagrafica)." AND idstatoddt IN ( - SELECT id FROM dt_statiddt WHERE descrizione!='Fatturato' + SELECT id FROM dt_statiddt WHERE descrizione != 'Fatturato' ) AND idtipoddt IN ( SELECT id FROM dt_tipiddt WHERE dir=".prepare($direzione).' - ) + ) AND |where| ORDER BY data DESC, numero DESC'; + // Sostituzione per la ricerca + $query_ordini = replace($query_ordini, [ + '|where|' => $where, + ]); + + $query_ddt = replace($query_ddt, [ + '|where|' => $where, + ]); + $ordini = $database->fetchArray($query_ordini); $ddt = $database->fetchArray($query_ddt); $results = array_merge($ordini, $ddt);