0 ORDER BY data DESC, numero DESC'; $query_ddt = "SELECT dt_ddt.id, CONCAT('DDT num. ', IF(numero_esterno != '', numero_esterno, numero), ' del ', DATE_FORMAT(data, '%d/%m/%Y'), ' [', (SELECT descrizione FROM dt_statiddt WHERE id = idstatoddt) , ']') AS text, 'DDT' AS optgroup, 'ddt' AS tipo, 'uscita' AS dir FROM dt_ddt INNER JOIN dt_righe_ddt ON dt_righe_ddt.idddt = dt_ddt.id WHERE idanagrafica = ".prepare($id_anagrafica)." AND idstatoddt IN ( SELECT id FROM dt_statiddt WHERE descrizione != 'Fatturato' ) AND idtipoddt IN ( SELECT id FROM dt_tipiddt WHERE dir=".prepare($direzione).' ) AND |where| GROUP BY dt_ddt.id HAVING SUM(dt_righe_ddt.qta - dt_righe_ddt.qta_evasa) > 0 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); break; case 'riferimenti-vendita-fe': $direzione = 'entrata'; $id_articolo = $superselect['id_articolo']; if (empty($id_articolo)) { 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, 'ordine' AS tipo, 'entrata' AS dir FROM or_ordini INNER JOIN or_righe_ordini ON or_righe_ordini.idordine = or_ordini.id WHERE idarticolo = ".prepare($id_articolo)." AND idstatoordine IN ( SELECT id FROM or_statiordine WHERE descrizione != 'Fatturato' ) AND idtipoordine IN ( SELECT id FROM or_tipiordine WHERE dir = ".prepare($direzione).' ) AND |where| GROUP BY or_ordini.id ORDER BY data DESC, numero DESC'; $query_ddt = "SELECT dt_ddt.id, CONCAT('DDT num. ', IF(numero_esterno != '', numero_esterno, numero), ' del ', DATE_FORMAT(data, '%d/%m/%Y'), ' [', (SELECT descrizione FROM dt_statiddt WHERE id = idstatoddt) , ']') AS text, 'DDT' AS optgroup, 'ddt' AS tipo, 'entrata' AS dir FROM dt_ddt INNER JOIN dt_righe_ddt ON dt_righe_ddt.idddt = dt_ddt.id WHERE idarticolo = ".prepare($id_articolo)." AND idstatoddt IN ( SELECT id FROM dt_statiddt WHERE descrizione != 'Fatturato' ) AND idtipoddt IN ( SELECT id FROM dt_tipiddt WHERE dir=".prepare($direzione).' ) AND |where| GROUP BY dt_ddt.id HAVING SUM(dt_righe_ddt.qta - dt_righe_ddt.qta_evasa) > 0 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); break; }