gest366/ajax_autocomplete.php

1154 lines
45 KiB
PHP

<?php
include_once(__DIR__."/core.php");
$module_name = save( $_GET['module'] );
if ($user_idanagrafica==""){
//Carico i filtri dei WHERE in base al modulo e all'utente loggato
$qp = "SELECT *, (SELECT idanagrafica FROM zz_utenti WHERE idutente='".$_SESSION['idutente']."') AS idanagrafica, (SELECT name FROM zz_modules WHERE id=idmodule) AS nome_modulo FROM zz_gruppi_modules WHERE idgruppo=(SELECT idgruppo FROM zz_utenti WHERE idutente='".$_SESSION['idutente']."')";
$rsp = $dbo->fetchArray($qp);
for( $i=0; $i<sizeof($rsp); $i++ ){
$additional_where[ $rsp[$i]['nome_modulo'] ] = $rsp[$i]['clause'];
}
$querye = "SELECT *, (SELECT idanagrafica FROM zz_utenti WHERE idutente='".$_SESSION['idutente']."') AS idanagrafica FROM zz_permessi WHERE idgruppo=(SELECT idgruppo FROM zz_utenti WHERE idutente='".$_SESSION['idutente']."') AND idmodule=(SELECT id FROM zz_modules WHERE name='MyImpianti')";
$rse = $dbo->fetchArray($querye);
$user_idanagrafica = $rse[0]['idanagrafica'];
}
$additional_where['Anagrafiche'] = str_replace( "|idtecnico|", $user_idanagrafica, $additional_where['Anagrafiche'] );
$additional_where['Anagrafiche'] = str_replace( "|idagente|", "'".$user_idanagrafica."'", $additional_where['Anagrafiche'] );
$additional_where['Interventi'] = str_replace( "|idtecnico|", "'".$user_idanagrafica."'", $additional_where['Interventi'] );
$additional_where['Interventi'] = str_replace( "|idanagrafica|", "'".$user_idanagrafica."'", $additional_where['Interventi'] );
$additional_where['MyImpianti'] = str_replace( "|idanagrafica|", "'".$user_idanagrafica."'", $additional_where['MyImpianti'] );
$op = save( $_GET['op'] );
switch( $module_name ){
case "Anagrafiche":
//Elenco nomi
if( $op=="get_ragione_sociale" ){
$ragione_sociale = save( $_GET['ragione_sociale'] );
$idagente = save( $_GET['idagente'] );
if ($idagente!=""){
$WHERE_AGENTE = "AND idagente = ".$idagente;
}
$q = "SELECT ragione_sociale FROM an_anagrafiche WHERE deleted=0 AND ragione_sociale LIKE '%$ragione_sociale%' ".$WHERE_AGENTE." ".$additional_where['Anagrafiche']." GROUP BY ragione_sociale ORDER BY ragione_sociale";
$rs = $dbo->fetchArray( $q );
$n = sizeof($rs);
for( $i=0;$i<$n;$i++ ){
echo htmlspecialchars_decode( $rs[$i]['ragione_sociale'], ENT_QUOTES );
if( ($i+1)<$n )
echo '|';
}
}
//Elenco città
else if( $op=="getcitta" ){
$q = "SELECT DISTINCT(citta) FROM an_anagrafiche WHERE 1=1 ".$additional_where['Anagrafiche']." ORDER BY citta";
$rs = $dbo->fetchArray( $q );
$n = sizeof($rs);
for( $i=0;$i<$n;$i++ ){
echo htmlspecialchars_decode( $rs[$i]['citta'], ENT_QUOTES );
if( ($i+1)<$n )
echo '|';
}
}
//Elenco province
else if( $op=="getprovince" ){
$q = "SELECT DISTINCT(provincia) FROM an_anagrafiche WHERE 1=1 ".$additional_where['Anagrafiche']." ORDER BY provincia";
$rs = $dbo->fetchArray( $q );
$n = sizeof($rs);
for( $i=0;$i<$n;$i++ ){
echo html_entity_decode( $rs[$i]['provincia'] );
if( ($i+1)<$n )
echo '|';
}
}
//Elenco cap
else if( $op=="getcap" ){
$q = "SELECT DISTINCT(cap) FROM an_anagrafiche WHERE 1=1 ".$additional_where['Anagrafiche']." ORDER BY cap";
$rs = $dbo->fetchArray( $q );
$n = sizeof($rs);
for( $i=0;$i<$n;$i++ ){
echo html_entity_decode( $rs[$i]['cap'] );
if( ($i+1)<$n )
echo '|';
}
}
//Elenco settori
else if( $op=="getsettori" ){
$q = "SELECT DISTINCT(settore) FROM an_anagrafiche WHERE 1=1 ".$additional_where['Anagrafiche']." ORDER BY settore";
$rs = $dbo->fetchArray( $q );
$n = sizeof($rs);
for( $i=0;$i<$n;$i++ ){
echo html_entity_decode( $rs[$i]['settore'], ENT_QUOTES );
if( ($i+1)<$n )
echo '|';
}
}
//Elenco marche
else if( $op=="getmarche" ){
$q = "SELECT DISTINCT(marche) FROM an_anagrafiche WHERE 1=1 ".$additional_where['Anagrafiche']." ORDER BY marche";
$rs = $dbo->fetchArray( $q );
$n = sizeof($rs);
for( $i=0;$i<$n;$i++ ){
echo html_entity_decode( $rs[$i]['marche'], ENT_QUOTES );
if( ($i+1)<$n )
echo '|';
}
}
//Elenco e-mail - uso la funzione nativa di php "trim" per rimuovere eventuali spazi dalle e-mail
else if( $op=="getemail" ){
$idanagrafica = save( $_GET['idanagrafica'] );
if ($idanagrafica!=""){
$WHERE_IDANAGRAFICA = "AND idanagrafica = ".$idanagrafica;
}
//tutti i referenti per questo cliente
$q = "SELECT DISTINCT(email),idanagrafica,nome FROM an_referenti WHERE 1=1 ".$WHERE_IDANAGRAFICA." ORDER BY idanagrafica";
$rs = $dbo->fetchArray( $q );
$n = sizeof($rs);
for( $i=0;$i<$n;$i++ ){
if (trim($rs[$i]['email'])!=""){
echo html_entity_decode( $rs[$i]['nome']." &lt;".trim($rs[$i]['email'])."&gt;" );
if( ($i)<$n )
echo '|';
}
}
//--
//tutti gli agenti
$q = "SELECT DISTINCT(email),ragione_sociale,an_anagrafiche.idanagrafica FROM an_anagrafiche INNER JOIN an_tipianagrafiche_anagrafiche ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica WHERE idtipoanagrafica=(SELECT idtipoanagrafica FROM an_tipianagrafiche WHERE descrizione='Agente') ORDER BY idanagrafica";
$rs = $dbo->fetchArray( $q );
$n = sizeof($rs);
for( $i=0;$i<$n;$i++ ){
if (trim($rs[$i]['email'])!=""){
echo html_entity_decode( $rs[$i]['nome']." &lt;".trim($rs[$i]['email'])."&gt;" );
if( ($i)<$n )
echo '|';
}
}
//--
//email azienda di questo cliente
$q = "SELECT DISTINCT(email),ragione_sociale,idanagrafica FROM an_anagrafiche WHERE 1=1 ".$WHERE_IDANAGRAFICA." ORDER BY idanagrafica";
$rs = $dbo->fetchArray( $q );
$n = sizeof($rs);
for( $i=0;$i<$n;$i++ ){
if (trim($rs[$i]['email'])!=""){
echo html_entity_decode( $rs[$i]['ragione_sociale']." &lt;".trim($rs[$i]['email'])."&gt;" );
if( ($i+1)<$n )
echo '|';
}
}
}
//Elenco sedi
else if( $op=="get_sedi" ){
$idanagrafica = save( $_GET['idanagrafica'] );
$q = "SELECT id, CONCAT_WS( ' - ', nomesede, citta ) AS descrizione FROM an_sedi WHERE idanagrafica='".$idanagrafica."' ".$additional_where['Anagrafiche']." ORDER BY id";
$rs = $dbo->fetchArray( $q );
$n = sizeof($rs);
for( $i=0;$i<$n;$i++ ){
echo html_entity_decode( $rs[$i]['id'].":".$rs[$i]['descrizione'] );
if( ($i+1)<$n )
echo '|';
}
}
//Elenco sedi con <option>
else if( $op=="get_sedi_select" ){
$idanagrafica = save( $_GET['idanagrafica'] );
$q = "SELECT id, CONCAT_WS( ' - ', nomesede, citta ) AS descrizione FROM an_sedi WHERE idanagrafica='".$idanagrafica."' ".$additional_where['Anagrafiche']." ORDER BY id";
$rs = $dbo->fetchArray( $q );
$n = sizeof($rs);
echo "<option value=\"-1\">- Nessuna -</option>\n";
echo "<option value=\"0\">Sede legale</option>\n";
for( $i=0;$i<$n;$i++ ){
echo "<option value=\"".$rs[$i]['id']."\">".$rs[$i]['descrizione']."</option>\n";
}
}
else if( $op=="get_default_value" ){
$idanagrafica = save( $_GET['idanagrafica'] );
$q = "SELECT idtipointervento_default FROM an_anagrafiche WHERE idanagrafica='".$idanagrafica."' ".$additional_where['Anagrafiche']."";
$rs = $dbo->fetchArray( $q );
echo html_entity_decode( $rs[0]['idtipointervento_default'], ENT_QUOTES );
}
break;
case "Articoli":
//Elenco categorie
if( $op=="getcategorie" ){
$q = "SELECT DISTINCT(categoria) FROM mg_articoli WHERE 1=1 ".$additional_where['Magazzino']." ORDER BY categoria";
$rs = $dbo->fetchArray( $q );
$n = sizeof($rs);
for( $i=0;$i<$n;$i++ ){
echo html_entity_decode( $rs[$i]['categoria'] );
if( ($i+1)<$n )
echo '|';
}
}
//Elenco subcategorie
else if( $op=="getsubcategorie" ){
$q = "SELECT DISTINCT(subcategoria) FROM mg_articoli WHERE 1=1 ".$additional_where['Magazzino']." ORDER BY subcategoria";
$rs = $dbo->fetchArray( $q );
$n = sizeof($rs);
for( $i=0;$i<$n;$i++ ){
echo html_entity_decode( $rs[$i]['subcategoria'] );
if( ($i+1)<$n )
echo '|';
}
}
//Elenco descrizione
else if( $op=="getdescrizione" ){
$q = "SELECT DISTINCT(descrizione) FROM mg_articoli WHERE 1=1 ".$additional_where['Magazzino']." ORDER BY descrizione";
$rs = $dbo->fetchArray( $q );
$n = sizeof($rs);
for( $i=0;$i<$n;$i++ ){
echo html_entity_decode( $rs[$i]['descrizione'] );
if( ($i+1)<$n )
echo '|';
}
}
//Elenco codici
else if( $op=="getcodice" ){
$q = "2SELECT DISTINCT(codice) FROM mg_articoli WHERE 1=1 ".$additional_where['Magazzino']." ORDER BY codice";
$rs = $dbo->fetchArray( $q );
$n = sizeof($rs);
for( $i=0;$i<$n;$i++ ){
echo html_entity_decode( $rs[$i]['codice'] );
if( ($i+1)<$n )
echo '|';
}
}
//Elenco lotti in base all'articolo
else if( $op=="getlotti" ){
$idarticolo = save( $_GET['idarticolo'] );
$q = "SELECT DISTINCT(lotto) FROM mg_prodotti WHERE idarticolo=\"".$idarticolo."\" ".$additional_where['Magazzino']." ORDER BY lotto ASC";
$rs = $dbo->fetchArray( $q );
$n = sizeof($rs);
echo "<option value=''>- Seleziona un lotto -</option>\n";
for( $i=0;$i<$n;$i++ ){
echo "<option value=\"".htmlentities($rs[$i]['lotto'])."\">".htmlentities( $rs[$i]['lotto'] )."</option>\n";
}
}
//Elenco lotti in base all'articolo e lotto
else if( $op=="getserial" ){
$idarticolo = save( $_GET['idarticolo'] );
$lotto = save( $_GET['lotto'] );
$q = "SELECT DISTINCT(serial) FROM mg_prodotti WHERE idarticolo=\"".$idarticolo."\" AND lotto=\"".$lotto."\" AND (serial NOT IN(SELECT serial FROM co_righe_documenti WHERE lotto=\"".$lotto."\" AND serial=mg_prodotti.serial) AND serial NOT IN(SELECT serial FROM or_righe_ordini WHERE lotto=\"".$lotto."\" AND serial=mg_prodotti.serial) AND serial NOT IN(SELECT serial FROM dt_righe_ddt WHERE lotto=\"".$lotto."\" AND serial=mg_prodotti.serial) AND serial NOT IN(SELECT serial FROM mg_articoli_interventi WHERE lotto=\"".$lotto."\" AND serial=mg_prodotti.serial)) ".$additional_where['Magazzino']." ORDER BY serial ASC";
$rs = $dbo->fetchArray( $q );
$n = sizeof($rs);
echo "<option value=''>- Seleziona un serial number -</option>\n";
for( $i=0;$i<$n;$i++ )
echo "<option value=\"".htmlentities($rs[$i]['serial'])."\">".htmlentities( $rs[$i]['serial'] )."</option>\n";
}
//Elenco lotti in base all'articolo, lotto e serial
else if( $op=="getaltro" ){
$idarticolo = save( $_GET['idarticolo'] );
$lotto = save( $_GET['lotto'] );
$serial = save( $_GET['serial'] );
$q = "SELECT DISTINCT(altro) FROM mg_prodotti WHERE idarticolo=\"".$idarticolo."\" AND lotto=\"".$lotto."\" AND serial=\"".$serial."\" AND (altro NOT IN(SELECT altro FROM co_righe_documenti WHERE lotto=\"".$lotto."\" AND serial=\"".$serial."\" AND altro=mg_prodotti.altro) AND altro NOT IN(SELECT altro FROM or_righe_ordini WHERE lotto=\"".$lotto."\" AND serial=\"".$serial."\" AND altro=mg_prodotti.altro) AND altro NOT IN(SELECT altro FROM dt_righe_ddt WHERE lotto=\"".$lotto."\" AND serial=\"".$serial."\" AND altro=mg_prodotti.altro) AND altro NOT IN(SELECT altro FROM mg_articoli_interventi WHERE lotto=\"".$lotto."\" AND serial=\"".$serial."\" AND altro=mg_prodotti.altro)) ".$additional_where['Magazzino']." ORDER BY altro ASC";
$rs = $dbo->fetchArray( $q );
$n = sizeof($rs);
echo "<option value=''>- Seleziona un altro codice -</option>\n";
for( $i=0;$i<$n;$i++ )
echo "<option value=\"".htmlentities($rs[$i]['altro'])."\">".htmlentities( $rs[$i]['altro'] )."</option>\n";
}
//Legge gli ultimi prezzi di vendita di un determinato articolo e li visualizza per suggerire il prezzo di vendita
else if( $op=="getprezzi" ){
$idarticolo = save( $_GET['idarticolo'] );
$idanagrafica = save( $_GET['idanagrafica'] );
$ids = array('""');
if( $idarticolo!='0' && $idarticolo!='' ){
//Ultime 5 vendite al cliente
$fatture = $dbo->fetchArray("SELECT (SELECT idtipodocumento FROM co_documenti WHERE id=iddocumento) AS idtipodocumento , iddocumento, (subtotale/qta)-sconto AS costo_unitario, (SELECT numero FROM co_documenti WHERE id=iddocumento) AS n_fattura, (SELECT numero_esterno FROM co_documenti WHERE id=iddocumento) AS n2_fattura, (SELECT data FROM co_documenti WHERE id=iddocumento) AS data_fattura FROM co_righe_documenti WHERE idarticolo=\"".$idarticolo."\" AND iddocumento IN(SELECT id FROM co_documenti WHERE idtipodocumento IN(SELECT id FROM co_tipidocumento WHERE dir='entrata') AND idanagrafica=\"".$idanagrafica."\") LIMIT 0,5");
echo "<br/><b>Ultime 5 vendite a questo cliente</b>\n";
if( sizeof($fatture)>0 ){
echo "<br/><table cellspacing='0'>\n";
echo "<tr><th width='150'>Documento</th>\n";
echo "<th width='50'>Data</th>\n";
echo "<th width='80'>Totale</th></tr>\n";
for( $i=0; $i<sizeof($fatture); $i++ ){
$descrizione_documento=get_var_tipodoc($fatture[$i]['idtipodocumento'],'descrizione');
( $fatture[$i]['n2_fattura']!='' ) ? $n_fattura=$fatture[$i]['n2_fattura'] : $n_fattura=$fatture[$i]['n_fattura'];
echo "<tr><td class='first_cell'><a href=\"".$rootdir."/editor.php?id_module=".$modules_info['Fatture di vendita']['id']."&id_record=".$fatture[$i]['iddocumento']."\" target=\"_blank\" title=\"Apri il documento su una nuova finestra\">".$descrizione_documento." n<sup>o</sup> ".$n_fattura."</a></td>\n";
echo "<td class='table_cell'>".date( "d/m/Y", strtotime($fatture[$i]['data_fattura']) )."</td>\n";
echo "<td class='table_cell'>".number_format( $fatture[$i]['costo_unitario'], 2, ",", "" )." &euro;</td></tr>\n";
array_push( $ids, "\"".$fatture[$i]['iddocumento']."\"" );
}
echo "</table>\n";
}
else
echo "<br/>... Nessun movimento di questo articolo al cliente ...<br/>\n";
//Ultime 5 vendite totali
$fatture = $dbo->fetchArray("SELECT iddocumento, (subtotale/qta)-sconto AS costo_unitario, (SELECT numero FROM co_documenti WHERE id=iddocumento) AS n_fattura, (SELECT numero_esterno FROM co_documenti WHERE id=iddocumento) AS n2_fattura, (SELECT data FROM co_documenti WHERE id=iddocumento) AS data_fattura FROM co_righe_documenti WHERE idarticolo=\"".$idarticolo."\" AND iddocumento IN(SELECT id FROM co_documenti WHERE idtipodocumento IN(SELECT id FROM co_tipidocumento WHERE dir='entrata') AND id NOT IN(".implode(',', $ids).") ) LIMIT 0,5");
echo "<br/><b>Altre 5 vendite</b>\n";
if( sizeof($fatture)>0 ){
echo "<br/><table cellspacing='0'>\n";
echo "<tr><th width='150'>Documento</th>\n";
echo "<th width='50'>Data</th>\n";
echo "<th width='80'>Totale</th></tr>\n";
for( $i=0; $i<sizeof($fatture); $i++ ){
( $fatture[$i]['n2_fattura']!='' ) ? $n_fattura=$fatture[$i]['n2_fattura'] : $n_fattura=$fatture[$i]['n_fattura'];
echo "<tr><td class='first_cell'><a href=\"".$rootdir."/modules/contabilita/documenti/documenti.php?dir=entrata&iddocumento=".$fatture[$i]['iddocumento']."\" target=\"_blank\" title=\"Apri il documento su una nuova finestra\">Fattura n<sup>o</sup> ".$n_fattura."</a></td>\n";
echo "<td class='table_cell'>".date( "d/m/Y", strtotime($fatture[$i]['data_fattura']) )."</td>\n";
echo "<td class='table_cell'>".number_format( $fatture[$i]['costo_unitario'], 2, ",", "" )." &euro;</td></tr>\n";
}
echo "</table>\n";
}
else
echo "<br/>... Questo articolo non &eacute; ancora stato venduto ad altri ...<br/>\n";
}
}
break;
case "Interventi":
//Elenco nomi
if( $op=="get_ragione_sociale" ){
$ragione_sociale = save( $_GET['ragione_sociale'] );
$q = "SELECT ragione_sociale FROM an_anagrafiche WHERE ragione_sociale LIKE '%$ragione_sociale%' ".$additional_where['Anagrafiche']." ORDER BY ragione_sociale";
$rs = $dbo->fetchArray( $q );
$n = sizeof($rs);
for( $i=0;$i<$n;$i++ ){
echo htmlspecialchars_decode( $rs[$i]['ragione_sociale'], ENT_QUOTES );
if( ($i+1)<$n )
echo '|';
}
}
break;
case "Preventivi":
//Elenco nomi preventivi
if( $op=="get_select_preventivi" ){
$idanagrafica = save( $_GET['idanagrafica'] );
$q = "SELECT co_preventivi.id AS idpreventivo, an_anagrafiche.idanagrafica, nome, idtipointervento FROM co_preventivi INNER JOIN an_anagrafiche ON co_preventivi.idanagrafica=an_anagrafiche.idanagrafica WHERE an_anagrafiche.idanagrafica='$idanagrafica' AND idstato NOT IN (SELECT `id` FROM co_statipreventivi WHERE descrizione='Bozza' OR descrizione='Rifiutato' OR descrizione='Pagato') ".$additional_where['Preventivi'];
$rs = $dbo->fetchArray( $q );
$n = sizeof($rs);
for( $i=0;$i<$n;$i++ ){
echo html_entity_decode( $rs[$i]['idpreventivo'].":".$rs[$i]['nome'].":".$rs[$i]['idtipointervento'] );
if( ($i+1)<$n )
echo '|';
}
}
break;
case "Contratti":
//Elenco nomi preventivi
if( $op=="get_select_contratti" ){
$idanagrafica = save( $_GET['idanagrafica'] );
$q = "SELECT co_contratti.id AS idcontratto, an_anagrafiche.idanagrafica, nome FROM co_contratti INNER JOIN an_anagrafiche ON co_contratti.idanagrafica=an_anagrafiche.idanagrafica WHERE an_anagrafiche.idanagrafica='$idanagrafica' AND idstato NOT IN (SELECT `id` FROM co_staticontratti WHERE descrizione='Bozza' OR descrizione='Rifiutato' OR descrizione='Pagato') ".$additional_where['Contratti'];
$rs = $dbo->fetchArray( $q );
$n = sizeof($rs);
for( $i=0;$i<$n;$i++ ){
echo html_entity_decode( $rs[$i]['idcontratto'].":".$rs[$i]['nome'] );
if( ($i+1)<$n )
echo '|';
}
}
break;
case "Fatture":
//Elenco fatture non pagate per anagrafica
if( $op=="get_fatture" ){
$idanagrafica = save( $_GET['idanagrafica'] );
$q = "SELECT data, co_documenti.id AS iddocumento, co_tipidocumento.descrizione AS tipo_doc, dir FROM co_documenti INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id WHERE co_documenti.idanagrafica='$idanagrafica' AND (idstatodocumento=(SELECT `id` FROM co_statidocumento WHERE descrizione='Emessa') OR (SELECT da_pagare-pagato AS differenza FROM co_scadenziario WHERE NOT iddocumento=co_documenti.id=0) )";
$rs = $dbo->fetchArray( $q );
$n = sizeof($rs);
if( $n>0 ){
echo "<select name='iddocumento' id='iddocumento' class='inputtext'>\n";
for( $i=0;$i<$n;$i++ ){
echo "<option value='".$rs[$i]['iddocumento']."' dir=\"".$rs[$i]['dir']."\">".html_entity_decode( $rs[$i]['tipo_doc'] )." del ".date("d/m/Y", strtotime($rs[$i]['data']))."</option>\n";
}
echo "</select>\n";
}
else
echo "... Nessuna fattura trovata ...";
}
//Elenco causali prima nota
else if( $op=="get_causali" ){
$descrizione = save($_GET['descrizione']);
$q = "SELECT DISTINCT descrizione FROM co_movimenti WHERE descrizione LIKE \"%".$descrizione."%\" AND (iddocumento='' OR iddocumento IS NULL) AND primanota=1 ".$additional_where['Prima nota'];
$rs = $dbo->fetchArray( $q );
$n = sizeof($rs);
if( $n>0 ){
for( $i=0;$i<$n;$i++ ){
echo $rs[$i]['descrizione'];
if( ($i+1)<$n )
echo "|";
}
}
}
break;
case "Ddt":
//Elenco ddt del fornitore scelto
if( $op=="get_ddt" ){
$idfornitore = save( $_GET['idfornitore'] );
$q = "SELECT data, dt_ddt.id AS idddt, numero, dt_tipiddt.descrizione AS tipo_doc, dir FROM dt_ddt INNER JOIN dt_tipiddt ON dt_ddt.idtipoddt=dt_tipiddt.id WHERE dt_ddt.idanagrafica='$idfornitore'";
$rs = $dbo->fetchArray( $q );
$n = sizeof($rs);
if( $n>0 ){
echo "<select name='idddt' id='idddt' class='inputtext'>\n";
echo "<option value=''>- Seleziona un ddt -</option>\n";
for( $i=0;$i<$n;$i++ ){
echo "<option value='".$rs[$i]['idddt']."'>".html_entity_decode( $rs[$i]['tipo_doc'] )." ".$rs[$i]['numero']." del ".date("d/m/Y", strtotime($rs[$i]['data']))."</option>\n";
}
echo "</select>\n";
}
else
echo "... Nessun ddt trovato ...\n";
}
break;
case "FiltroCat":
$idcategoria=save( $_GET['idcategoria'] );
$_SESSION['filtro_categoria'] = $idcategoria ;
break;
case "MyImpianti":
//Elenco ddt del fornitore scelto
if( $op=="get_impianti" ){
$idanagrafica = save( $_GET['idanagrafica'] );
$idsede = save( $_GET['idsede'] );
if( $idsede != '' && $idsede != '-1' && $idsede!='undefined' ){
$q = "SELECT *, (SELECT nomesede FROM an_sedi WHERE id=my_impianti.idsede) AS nomesede FROM my_impianti WHERE idanagrafica=\"".$idanagrafica."\" AND idsede=\"".$idsede."\" ORDER BY idsede";
}
else{
$q = "SELECT *, (SELECT nomesede FROM an_sedi WHERE id=my_impianti.idsede) AS nomesede FROM my_impianti WHERE idanagrafica=\"".$idanagrafica."\" ORDER BY idsede";
}
$rs = $dbo->fetchArray( $q );
$n = sizeof($rs);
for( $i=0; $i<$n; $i++ ){
echo $rs[$i]['id'].":".$rs[$i]['matricola']." - ".$rs[$i]['nome']."\n";
if( ($i+1)<$n )
echo "|";
}
}
break;
}
/*
== Super search ==
Ricerca di un termine su tutti i moduli.
Il risultato è in json
*/
if( $op == "supersearch" ){
$term = save( $_GET['term'] );
$term = str_replace( "/", "\\/", $term );
$i = 0;
if( strlen($term) < 2 ){
echo "null";
exit;
}
/*
Anagrafiche
*/
if( get_permessi('Anagrafiche') != '-' ){
// $campi = array( 'codice', 'ragione_sociale', 'piva', 'codice_fiscale', 'indirizzo', 'indirizzo2', 'citta', 'cap', 'provincia', 'nazione', 'telefono', 'fax', 'cellulare', 'email', 'sitoweb', 'note', 'codicerea', 'settore', 'marche', 'cciaa', 'n_alboartigiani' );
// $campi_text = array( 'Codice', 'Ragione sociale', 'Partita iva', 'Codice fiscale', 'Indirizzo', 'Indirizzo2', 'Città', 'C.A.P.', 'Provincia', 'Nazione', 'Telefono', 'Fax', 'Cellulare', 'Email', 'Sito web', 'Note', 'Codice REA', 'Settore', 'Marche', 'CCIAA', 'Numero di iscrizione albo artigiani' );
$campi = array( 'codice', 'ragione_sociale', 'piva', 'codice_fiscale', 'indirizzo', 'indirizzo2', 'citta', 'cap', 'provincia', 'telefono', 'fax', 'cellulare', 'email', 'sitoweb', 'note', 'codicerea', 'settore', 'marche', 'cciaa', 'n_alboartigiani' );
$campi_text = array( 'Codice', 'Ragione sociale', 'Partita iva', 'Codice fiscale', 'Indirizzo', 'Indirizzo2', 'Città', 'C.A.P.', 'Provincia', 'Telefono', 'Fax', 'Cellulare', 'Email', 'Sito web', 'Note', 'Codice REA', 'Settore', 'Marche', 'CCIAA', 'Numero di iscrizione albo artigiani' );
$rs = $dbo->fetchArray("SELECT id FROM zz_modules WHERE name='Anagrafiche'");
$id_module = $rs[0]['id'];
$build_query = '';
for( $c=0; $c<sizeof($campi); $c++ ){
$build_query .= " OR ".$campi[$c]." LIKE \"%".$term."%\" AND deleted = 0";
}
$rs = $dbo->fetchArray("SELECT * FROM an_anagrafiche WHERE 1=0 ".$build_query);
if( sizeof($rs) > 0 ){
//Loop record corrispondenti alla ricerca
for( $r=0; $r<sizeof($rs); $r++ ){
$result[$r+$i]['link'] = $rootdir."/editor.php?id_module=".$id_module."&id_record=".$rs[$r]['idanagrafica'];
$result[$r+$i]['title'] = $rs[$r]['ragione_sociale'];
$result[$r+$i]['category'] = "Anagrafiche";
$result[$r+$i]['labels'] = array();
//Loop campi da evidenziare
for( $c=0; $c<sizeof($campi); $c++ ){
if( preg_match("/".$term."/i", $rs[$r][ $campi[$c] ]) ){
$text = $rs[$r][ $campi[$c] ];
//Evidenzio la parola cercata nei valori dei campi
preg_match( "/".$term."/i", $rs[$r][ $campi[$c] ], $matches );
for( $m=0; $m<sizeof($matches); $m++ ){
$text = str_replace( $matches[$m], "<span class='highlight'>".$matches[$m]."</span>", $text );
}
array_push( $result[$r+$i]['labels'], $campi_text[$c].": ".$text."<br/>" );
}
}
}
$i += $r;
}
}
//Ricerca anagrafiche per ragione sociale per potere mostrare gli interventi, fatture,
//ordini, ecc della persona ricercata
$idanagrafiche = array('-1');
$ragioni_sociali = array('-1');
$rs = $dbo->fetchArray("SELECT idanagrafica, ragione_sociale FROM an_anagrafiche WHERE ragione_sociale LIKE \"%".$term."%\"");
for( $a=0; $a<sizeof($rs); $a++ ){
array_push( $idanagrafiche, $rs[$a]['idanagrafica'] );
$ragioni_sociali[ $rs[$a]['idanagrafica'] ] = $rs[$a]['ragione_sociale'];
}
/*
Referenti anagrafiche
*/
if( get_permessi('Anagrafiche') != '-' ){
$campi = array( 'nome', 'mansione', 'telefono', 'email' );
$campi_text = array( 'Nome', 'Mansione', 'Telefono', 'Email' );
$build_query = '';
for( $c=0; $c<sizeof($campi); $c++ ){
$build_query .= " OR ".$campi[$c]." LIKE \"%".$term."%\"";
}
$rs = $dbo->fetchArray("SELECT * FROM an_referenti WHERE idanagrafica IN(".implode(',', $idanagrafiche).") ".$build_query);
if( sizeof($rs) > 0 ){
//Loop record corrispondenti alla ricerca
for( $r=0; $r<sizeof($rs); $r++ ){
$result[$r+$i]['link'] = $rootdir."/editor.php?id_module=".$id_module."&id_record=".$rs[$r]['idanagrafica']."#tabs-2";
$result[$r+$i]['title'] = $rs[$r]['nome'];
$result[$r+$i]['category'] = "Referenti";
$result[$r+$i]['labels'] = array();
//Loop campi da evidenziare
for( $c=0; $c<sizeof($campi); $c++ ){
if( preg_match("/".$term."/i", $rs[$r][ $campi[$c] ]) ){
$text = $rs[$r][ $campi[$c] ];
//Evidenzio la parola cercata nei valori dei campi
preg_match( "/".$term."/i", $rs[$r+$i][ $campi[$c] ], $matches );
for( $m=0; $m<sizeof($matches); $m++ ){
$text = str_replace( $matches[$m], "<span class='highlight'>".$matches[$m]."</span>", $text );
}
array_push( $result[$r+$i]['labels'], $campi_text[$c].": ".$text."<br/>" );
}
}
//Aggiunta nome anagrafica come ultimo campo
if( sizeof($ragioni_sociali) > 1 ){
array_push( $result[$r+$i]['labels'], "Anagrafica: ".$ragioni_sociali[ $rs[$r]['idanagrafica'] ]."<br/>" );
}
}
$i += $r;
}
}
/*
Interventi
*/
if( get_permessi('Interventi') != '-' ){
$campi = array( 'idintervento', '(SELECT MIN(orario_inizio) FROM in_interventi_tecnici WHERE idintervento=in_interventi.idintervento)', 'data_richiesta', 'info_sede', 'richiesta', 'descrizione', 'informazioniaggiuntive' );
$campi_text = array( 'Codice intervento', 'Data intervento', 'Data richiesta intervento', 'Sede intervento', 'Richiesta', 'Descrizione', 'Informazioni aggiuntive' );
$rs = $dbo->fetchArray("SELECT id FROM zz_modules WHERE name='Interventi'");
$id_module = $modules_info['Interventi']['id'];
$build_query = '';
for( $c=0; $c<sizeof($campi); $c++ ){
$build_query .= " OR ".$campi[$c]." LIKE \"%".$term."%\"";
}
$additional_where['Interventi'] = str_replace( "AND", "HAVING", $additional_where['Interventi'] );
$build_query .= $additional_where['Interventi'];
$rs = $dbo->fetchArray("SELECT *, (SELECT MIN(orario_inizio) FROM in_interventi_tecnici WHERE idintervento=in_interventi.idintervento) AS data FROM in_interventi WHERE idanagrafica IN(".implode(',', $idanagrafiche).") ".$build_query);
if( sizeof($rs) > 0 ){
//Loop record corrispondenti alla ricerca
for( $r=0; $r<sizeof($rs); $r++ ){
$result[$r+$i]['link'] = $rootdir."/editor.php?id_module=".$id_module."&id_record=".$rs[$r]['idintervento'];
$result[$r+$i]['title'] = "Intervento ".$rs[$r]['idintervento']." del ".date("d/m/Y", strtotime($rs[$r]['data']) );
$result[$r+$i]['category'] = "Interventi";
$result[$r+$i]['labels'] = array();
//Loop campi da evidenziare
for( $c=0; $c<sizeof($campi); $c++ ){
if( preg_match("/".$term."/i", $rs[$r][ $campi[$c] ]) ){
$text = $rs[$r][ $campi[$c] ];
//Evidenzio la parola cercata nei valori dei campi
preg_match( "/".$term."/i", $rs[$r][ $campi[$c] ], $matches );
for( $m=0; $m<sizeof($matches); $m++ ){
$text = str_replace( $matches[$m], "<span class='highlight'>".$matches[$m]."</span>", $text );
}
array_push( $result[$r+$i]['labels'], $campi_text[$c].": ".$text."<br/>" );
}
}
//Aggiunta nome anagrafica come ultimo campo
if( sizeof($ragioni_sociali) > 1 ){
array_push( $result[$r+$i]['labels'], "Anagrafica: ".$ragioni_sociali[ $rs[$r]['idanagrafica'] ]."<br/>" );
}
}
$i += $r;
}
}
/*
Preventivi
*/
if( get_permessi('Contabilita') != '-' ){
$campi = array( 'numero', 'nome', 'descrizione' );
$campi_text = array( 'Codice preventivo', 'Nome', 'Descrizione' );
$rs = $dbo->fetchArray("SELECT id FROM zz_modules WHERE name='Preventivi'");
$id_module = $rs[0]['id'];
$build_query = '';
for( $c=0; $c<sizeof($campi); $c++ ){
$build_query .= " OR ".$campi[$c]." LIKE \"%".$term."%\"";
}
$rs = $dbo->fetchArray("SELECT *, co_preventivi.id AS idpreventivo FROM co_preventivi WHERE idanagrafica IN(".implode(',', $idanagrafiche).") ".$build_query);
if( sizeof($rs) > 0 ){
//Loop record corrispondenti alla ricerca
for( $r=0; $r<sizeof($rs); $r++ ){
$result[$r+$i]['link'] = $rootdir."/editor.php?id_module=".$id_module."&id_record=".$rs[$r]['idpreventivo'];
$result[$r+$i]['title'] = "Preventivo ".$rs[$r]['numero']." del ".date("d/m/Y", strtotime($rs[$r]['data_accettazione']) );
$result[$r+$i]['category'] = "Preventivi";
$result[$r+$i]['labels'] = array();
//Loop campi da evidenziare
for( $c=0; $c<sizeof($campi); $c++ ){
if( preg_match("/".$term."/i", $rs[$r][ $campi[$c] ]) ){
$text = $rs[$r][ $campi[$c] ];
//Evidenzio la parola cercata nei valori dei campi
preg_match( "/".$term."/i", $rs[$r][ $campi[$c] ], $matches );
for( $m=0; $m<sizeof($matches); $m++ ){
$text = str_replace( $matches[$m], "<span class='highlight'>".$matches[$m]."</span>", $text );
}
array_push( $result[$r+$i]['labels'], $campi_text[$c].": ".$text."<br/>" );
}
}
//Aggiunta nome anagrafica come ultimo campo
if( sizeof($ragioni_sociali) > 1 ){
array_push( $result[$r+$i]['labels'], "Anagrafica: ".$ragioni_sociali[ $rs[$r]['idanagrafica'] ]."<br/>" );
}
}
$i += $r;
}
}
/*
Fatture
*/
if( get_permessi('Contabilita') != '-' ){
$campi = array( 'numero', 'numero_esterno', 'data', 'note', 'note_aggiuntive', 'buono_ordine' );
$campi_text = array( 'Numero', 'Numero secondario', 'Data', 'Note', 'Note aggiuntive', 'Buono d\'ordine' );
$build_query = '';
for( $c=0; $c<sizeof($campi); $c++ ){
$build_query .= " OR ".$campi[$c]." LIKE \"%".$term."%\"";
}
$rs = $dbo->fetchArray("SELECT *, co_documenti.id AS iddocumento FROM co_documenti INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id WHERE idanagrafica IN(".implode(',', $idanagrafiche).") ".$build_query);
if( sizeof($rs) > 0 ){
//Loop record corrispondenti alla ricerca
for( $r=0; $r<sizeof($rs); $r++ ){
if( $rs[$r]['numero_esterno'] == '' ){
$numero = $rs[$r]['numero'];
}
else{
$numero = $rs[$r]['numero_esterno'];
}
//Controllo se si tratta di una fattura di acquisto o di vendita e seleziono il modulo opportuno
if ($rs[$r]['dir']=='uscita'){
$rsm = $dbo->fetchArray("SELECT id FROM zz_modules WHERE name = 'Fatture di acquisto'");
$id_module = $rsm[0]['id'];
}else{
$rsm = $dbo->fetchArray("SELECT id FROM zz_modules WHERE name = 'Fatture di vendita'");
$id_module = $rsm[0]['id'];
}
$result[$r+$i]['link'] = $rootdir."/editor.php?id_module=".$id_module."&id_record=".$rs[$r]['iddocumento'];
$result[$r+$i]['title'] = $rs[$r]['descrizione']." n<sup>o</sup> ".$numero." del ".date("d/m/Y", strtotime($rs[$r]['data']) );
$result[$r+$i]['category'] = $rs[$r]['descrizione'];
$result[$r+$i]['labels'] = array();
//Loop campi da evidenziare
for( $c=0; $c<sizeof($campi); $c++ ){
if( preg_match("/".$term."/i", $rs[$r][ $campi[$c] ]) ){
$text = $rs[$r][ $campi[$c] ];
//Evidenzio la parola cercata nei valori dei campi
preg_match( "/".$term."/i", $rs[$r][ $campi[$c] ], $matches );
for( $m=0; $m<sizeof($matches); $m++ ){
$text = str_replace( $matches[$m], "<span class='highlight'>".$matches[$m]."</span>", $text );
}
array_push( $result[$r+$i]['labels'], $campi_text[$c].": ".$text."<br/>" );
}
}
//Aggiunta nome anagrafica come ultimo campo
if( sizeof($ragioni_sociali) > 1 ){
array_push( $result[$r+$i]['labels'], "Anagrafica: ".$ragioni_sociali[ $rs[$r]['idanagrafica'] ]."<br/>" );
}
}
$i += $r;
}
}
/*
Righe fatture
*/
if( get_permessi('Contabilita') != '-' ){
$campi = array( 'descrizione' );
$campi_text = array( 'Riga' );
$build_query = '';
for( $c=0; $c<sizeof($campi); $c++ ){
$build_query .= " OR co_righe_documenti.".$campi[$c]." LIKE \"%".$term."%\"";
}
$rs = $dbo->fetchArray("SELECT co_documenti.*, co_documenti.id AS iddocumento, co_tipidocumento.descrizione AS tipodoc, co_tipidocumento.dir, co_righe_documenti.descrizione FROM co_righe_documenti INNER JOIN (co_documenti INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id) ON co_documenti.id=co_righe_documenti.iddocumento WHERE idanagrafica IN(".implode(',', $idanagrafiche).") ".$build_query);
if( sizeof($rs) > 0 ){
//Loop record corrispondenti alla ricerca
for( $r=0; $r<sizeof($rs); $r++ ){
if( $rs[$r]['numero_esterno'] == '' ){
$numero = $rs[$r]['numero'];
}
else{
$numero = $rs[$r]['numero_esterno'];
}
//Controllo se si tratta di una fattura di acquisto o di vendita e seleziono il modulo opportuno
if ($rs[$r]['dir']=='uscita'){
$rsm = $dbo->fetchArray("SELECT id FROM zz_modules WHERE name = 'Fatture di acquisto'");
$id_module = $rsm[0]['id'];
}else{
$rsm = $dbo->fetchArray("SELECT id FROM zz_modules WHERE name = 'Fatture di vendita'");
$id_module = $rsm[0]['id'];
}
$result[$r+$i]['link'] = $rootdir."/editor.php?id_module=".$id_module."&id_record=".$rs[$r]['iddocumento'];
$result[$r+$i]['title'] = $rs[$r]['tipodoc']." n<sup>o</sup> ".$numero." del ".date("d/m/Y", strtotime($rs[$r]['data']) );
$result[$r+$i]['category'] = $rs[$r]['tipodoc'];
$result[$r+$i]['labels'] = array();
//Loop campi da evidenziare
for( $c=0; $c<sizeof($campi); $c++ ){
if( preg_match("/".$term."/i", $rs[$r][ $campi[$c] ]) ){
$text = $rs[$r][ $campi[$c] ];
//Evidenzio la parola cercata nei valori dei campi
preg_match( "/".$term."/i", $rs[$r][ $campi[$c] ], $matches );
for( $m=0; $m<sizeof($matches); $m++ ){
$text = str_replace( $matches[$m], "<span class='highlight'>".$matches[$m]."</span>", $text );
}
array_push( $result[$r+$i]['labels'], $campi_text[$c].": ".$text."<br/>" );
}
}
//Aggiunta nome anagrafica come ultimo campo
if( sizeof($ragioni_sociali) > 1 ){
array_push( $result[$r+$i]['labels'], "Anagrafica: ".$ragioni_sociali[ $rs[$r]['idanagrafica'] ]."<br/>" );
}
}
$i += $r;
}
}
/*
Articoli
*/
if( get_permessi('Articoli') != '-' ){
// $campi = array( 'codice', 'descrizione', 'categoria', 'subcategoria', 'note' );
// $campi_text = array( 'Codice', 'Descrizione', 'Categoria', 'Subcategoria', 'Note' );
$campi = array( 'codice', 'descrizione', 'note' );
$campi_text = array( 'Codice', 'Descrizione', 'Note' );
$rs = $dbo->fetchArray("SELECT id FROM zz_modules WHERE name='Articoli'");
$id_module = $rs[0]['id'];
$build_query = '';
for( $c=0; $c<sizeof($campi); $c++ ){
$build_query .= " OR ".$campi[$c]." LIKE \"%".$term."%\"";
}
$rs = $dbo->fetchArray("SELECT * FROM mg_articoli WHERE 1=0 ".$build_query);
if( sizeof($rs) > 0 ){
//Loop record corrispondenti alla ricerca
for( $r=0; $r<sizeof($rs); $r++ ){
$result[$r+$i]['link'] = $rootdir."/editor.php?id_module=".$id_module."&id_record=".$rs[$r]['id'];
$result[$r+$i]['title'] = $rs[$r]['codice']." - ".$rs[$r]['descrizione'];
$result[$r+$i]['category'] = "Articoli";
$result[$r+$i]['labels'] = array();
//Loop campi da evidenziare
for( $c=0; $c<sizeof($campi); $c++ ){
if( preg_match("/".$term."/i", $rs[$r][ $campi[$c] ]) ){
$text = $rs[$r][ $campi[$c] ];
//Evidenzio la parola cercata nei valori dei campi
preg_match( "/".$term."/i", $rs[$r][ $campi[$c] ], $matches );
for( $m=0; $m<sizeof($matches); $m++ ){
$text = str_replace( $matches[$m], "<span class='highlight'>".$matches[$m]."</span>", $text );
}
array_push( $result[$r+$i]['labels'], $campi_text[$c].": ".$text."<br/>" );
}
}
}
$i += $r;
}
}
/*
Ddt
*/
if( get_permessi('Magazzino') != '-' ){
$campi = array( 'numero', 'numero_esterno', 'data', 'note' );
$campi_text = array( 'Numero', 'Numero secondario', 'Data', 'Note' );
$build_query = '';
for( $c=0; $c<sizeof($campi); $c++ ){
$build_query .= " OR ".$campi[$c]." LIKE \"%".$term."%\"";
}
$rs = $dbo->fetchArray("SELECT *, dt_ddt.id AS idddt FROM dt_ddt INNER JOIN dt_tipiddt ON dt_ddt.idtipoddt=dt_tipiddt.id WHERE idanagrafica IN(".implode(',', $idanagrafiche).") ".$build_query);
if( sizeof($rs) > 0 ){
//Loop record corrispondenti alla ricerca
for( $r=0; $r<sizeof($rs); $r++ ){
if( $rs[$r]['numero_esterno'] == '' ){
$numero = $rs[$r]['numero'];
}
else{
$numero = $rs[$r]['numero_esterno'];
}
//Controllo se si tratta di un tipo ddt di acquisto o di vendita e seleziono il modulo opportuno
if ($rs[$r]['dir']=='uscita'){
$rsm = $dbo->fetchArray("SELECT id FROM zz_modules WHERE name = 'Ddt di acquisto'");
$id_module = $rsm[0]['id'];
}else{
$rsm = $dbo->fetchArray("SELECT id FROM zz_modules WHERE name = 'Ddt di vendita'");
$id_module = $rsm[0]['id'];
}
$result[$r+$i]['link'] = $rootdir."/editor.php?id_module=".$id_module."&id_record=".$rs[$r]['idddt'];
$result[$r+$i]['title'] = $rs[$r]['descrizione']." n<sup>o</sup> ".$numero." del ".date("d/m/Y", strtotime($rs[$r]['data']) );
$result[$r+$i]['category'] = $rs[$r]['descrizione'];
$result[$r+$i]['labels'] = array();
//Loop campi da evidenziare
for( $c=0; $c<sizeof($campi); $c++ ){
if( preg_match("/".$term."/i", $rs[$r][ $campi[$c] ]) ){
$text = $rs[$r][ $campi[$c] ];
//Evidenzio la parola cercata nei valori dei campi
preg_match( "/".$term."/i", $rs[$r][ $campi[$c] ], $matches );
for( $m=0; $m<sizeof($matches); $m++ ){
$text = str_replace( $matches[$m], "<span class='highlight'>".$matches[$m]."</span>", $text );
}
array_push( $result[$r+$i]['labels'], $campi_text[$c].": ".$text."<br/>" );
}
}
//Aggiunta nome anagrafica come ultimo campo
if( sizeof($ragioni_sociali) > 1 ){
array_push( $result[$r+$i]['labels'], "Anagrafica: ".$ragioni_sociali[ $rs[$r]['idanagrafica'] ]."<br/>" );
}
}
$i += $r;
}
}
/*
Righe ddt
*/
if( get_permessi('Magazzino') != '-' ){
$campi = array( 'descrizione' );
$campi_text = array( 'Riga' );
$build_query = '';
for( $c=0; $c<sizeof($campi); $c++ ){
$build_query .= " OR dt_righe_ddt.".$campi[$c]." LIKE \"%".$term."%\"";
}
$rs = $dbo->fetchArray("SELECT dt_ddt.*, dt_ddt.id AS idddt, dt_tipiddt.descrizione AS tipodoc, dt_tipiddt.dir, dt_righe_ddt.descrizione FROM dt_righe_ddt INNER JOIN (dt_ddt INNER JOIN dt_tipiddt ON dt_ddt.idtipoddt=dt_tipiddt.id) ON dt_ddt.id=dt_righe_ddt.idddt WHERE idanagrafica IN(".implode(',', $idanagrafiche).") ".$build_query);
if( sizeof($rs) > 0 ){
//Loop record corrispondenti alla ricerca
for( $r=0; $r<sizeof($rs); $r++ ){
if( $rs[$r]['numero_esterno'] == '' ){
$numero = $rs[$r]['numero'];
}
else{
$numero = $rs[$r]['numero_esterno'];
}
//Controllo se si tratta di un tipo ddt di acquisto o di vendita e seleziono il modulo opportuno
if ($rs[$r]['dir']=='uscita'){
$rsm = $dbo->fetchArray("SELECT id FROM zz_modules WHERE name = 'Ddt di acquisto'");
$id_module = $rsm[0]['id'];
}else{
$rsm = $dbo->fetchArray("SELECT id FROM zz_modules WHERE name = 'Ddt di vendita'");
$id_module = $rsm[0]['id'];
}
$result[$r+$i]['link'] = $rootdir."/editor.php?id_module=".$id_module."&id_record=".$rs[$r]['idddt'];
//$result[$r+$i]['link'] = $rootdir."/modules/magazzino/ddt/ddt.php?idddt=".$rs[$r]['iddocumento']."&dir=".$rs[$r]['dir'];
$result[$r+$i]['title'] = $rs[$r]['tipodoc']." n<sup>o</sup> ".$numero." del ".date("d/m/Y", strtotime($rs[$r]['data']) );
$result[$r+$i]['category'] = $rs[$r]['tipodoc'];
$result[$r+$i]['labels'] = array();
//Loop campi da evidenziare
for( $c=0; $c<sizeof($campi); $c++ ){
if( preg_match("/".$term."/i", $rs[$r][ $campi[$c] ]) ){
$text = $rs[$r][ $campi[$c] ];
//Evidenzio la parola cercata nei valori dei campi
preg_match( "/".$term."/i", $rs[$r][ $campi[$c] ], $matches );
for( $m=0; $m<sizeof($matches); $m++ ){
$text = str_replace( $matches[$m], "<span class='highlight'>".$matches[$m]."</span>", $text );
}
array_push( $result[$r+$i]['labels'], $campi_text[$c].": ".$text."<br/>" );
}
}
//Aggiunta nome anagrafica come ultimo campo
if( sizeof($ragioni_sociali) > 1 ){
array_push( $result[$r+$i]['labels'], "Anagrafica: ".$ragioni_sociali[ $rs[$r]['idanagrafica'] ]."<br/>" );
}
}
$i += $r;
}
}
/*
MyImpianti
*/
if( get_permessi('MyImpianti') != '-' ){
$campi = array( 'matricola', 'nome', 'descrizione', 'ubicazione', 'occupante', 'proprietario' );
$campi_text = array( 'Matricola', 'Nome', 'Descrizione', 'Ubicazione', 'Occupante', 'Proprietario' );
$rs = $dbo->fetchArray("SELECT id FROM zz_modules WHERE name='MyImpianti'");
$id_module = $rs[0]['id'];
$build_query = '';
for( $c=0; $c<sizeof($campi); $c++ ){
$build_query .= " OR ".$campi[$c]." LIKE \"%".$term."%\"";
}
$additional_where['MyImpianti'] = str_replace( "AND", "HAVING", $additional_where['MyImpianti'] );
$build_query .= $additional_where['MyImpianti'];
$rs = $dbo->fetchArray("SELECT * FROM my_impianti WHERE idanagrafica IN(".implode(',', $idanagrafiche).") ".$build_query);
if( sizeof($rs) > 0 ){
//Loop record corrispondenti alla ricerca
for( $r=0; $r<sizeof($rs); $r++ ){
$result[$r+$i]['link'] = $rootdir."/editor.php?id_module=".$id_module."&id_record=".$rs[$r]['matricola'];
$result[$r+$i]['title'] = $rs[$r]['matricola']." - ".$rs[$r]['nome'];
$result[$r+$i]['category'] = "MyImpianti";
$result[$r+$i]['labels'] = array();
//Loop campi da evidenziare
for( $c=0; $c<sizeof($campi); $c++ ){
if( preg_match("/".$term."/i", $rs[$r][ $campi[$c] ]) ){
$text = $rs[$r][ $campi[$c] ];
//Evidenzio la parola cercata nei valori dei campi
preg_match( "/".$term."/i", $rs[$r][ $campi[$c] ], $matches );
for( $m=0; $m<sizeof($matches); $m++ ){
$text = str_replace( $matches[$m], "<span class='highlight'>".$matches[$m]."</span>", $text );
}
array_push( $result[$r+$i]['labels'], $campi_text[$c].": ".$text."<br/>" );
}
}
//Aggiunta nome anagrafica come ultimo campo
if( sizeof($ragioni_sociali) > 1 ){
array_push( $result[$r+$i]['labels'], "Anagrafica: ".$ragioni_sociali[ $rs[$r]['idanagrafica'] ]."<br/>" );
}
}
$i += $r;
}
}
//Contratti
//Ordini
echo json_encode( $result );
}
?>