Ricerca per i riferimenti FE

This commit is contained in:
Dasc3er 2020-09-10 17:30:18 +02:00
parent 2048821190
commit 46315d1e85
1 changed files with 23 additions and 4 deletions

View File

@ -14,6 +14,16 @@ switch ($resource) {
return []; 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, $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, 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, 'Ordini' AS optgroup,
@ -21,11 +31,11 @@ switch ($resource) {
FROM or_ordini FROM or_ordini
WHERE idanagrafica = ".prepare($id_anagrafica)." AND WHERE idanagrafica = ".prepare($id_anagrafica)." AND
idstatoordine IN ( idstatoordine IN (
SELECT id FROM or_statiordine WHERE descrizione!='Fatturato' SELECT id FROM or_statiordine WHERE descrizione != 'Fatturato'
) AND ) AND
idtipoordine IN ( idtipoordine IN (
SELECT id FROM or_tipiordine WHERE dir = ".prepare($direzione).' SELECT id FROM or_tipiordine WHERE dir = ".prepare($direzione).'
) ) AND |where|
ORDER BY data DESC, numero DESC'; ORDER BY data DESC, numero DESC';
$query_ddt = "SELECT dt_ddt.id, $query_ddt = "SELECT dt_ddt.id,
@ -35,13 +45,22 @@ switch ($resource) {
FROM dt_ddt FROM dt_ddt
WHERE idanagrafica = ".prepare($id_anagrafica)." AND WHERE idanagrafica = ".prepare($id_anagrafica)." AND
idstatoddt IN ( idstatoddt IN (
SELECT id FROM dt_statiddt WHERE descrizione!='Fatturato' SELECT id FROM dt_statiddt WHERE descrizione != 'Fatturato'
) AND ) AND
idtipoddt IN ( idtipoddt IN (
SELECT id FROM dt_tipiddt WHERE dir=".prepare($direzione).' SELECT id FROM dt_tipiddt WHERE dir=".prepare($direzione).'
) ) AND |where|
ORDER BY data DESC, numero DESC'; 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); $ordini = $database->fetchArray($query_ordini);
$ddt = $database->fetchArray($query_ddt); $ddt = $database->fetchArray($query_ddt);
$results = array_merge($ordini, $ddt); $results = array_merge($ordini, $ddt);