<?php
	//Libera Memória para funções do PHP, tabelas maiores com apenas 128MB estava estourando a memória ao usar a função utf8_encode
  ini_set('memory_limit', '2048M');

  header('Content-type: application/json');
// Tabelas a serem integradas, login do banco, senha e configuração de auditoria
	require_once("config.php");

	// Locais do banco e parãmetros de configuração
  require_once("config_ini.php");

	// Função para retorno do último manifesto
  require_once("ultimomanifesto.php");

	// Função verificar flex acumulado
  require_once("flexacumulado.php");

  // Config para buscar o diponibilizar
  require_once("./phone_gap/dao/ConfigDAO.class.php");

	// Comprime a página
  ob_start('ob_gzhandler');

	// Tabela que será integrada
  	$TAB = $_GET["tabela"];
  	$DATAHORAINI = $_GET["datahoraini"];
    $DATAHORAFIN = $_GET["datahorafin"];

	// Supervisão
	$supervisao = $_GET["supervisao"];

  	$CODPRODUTO = @$_GET["codproduto"];

  	$CODCLIENTE = @$_GET["codcliente"];

    if ($DATAHORAINI != "") {
      $SQLDATAHORA = "select DATEADD(-10 MINUTE TO CAST('".$DATAHORAINI."' AS TIMESTAMP)) HORAINI, DATEADD(+10 MINUTE TO CAST('".$DATAHORAFIN."' AS TIMESTAMP)) HORAFIN ".
          "from RDB\$DATABASE";
      $query2 = ibase_query($conexao, $SQLDATAHORA);
      $query2 = ibase_fetch_object($query2);
      if ($query2 != null) {
        $DATAHORAINI = $query2->HORAINI;
        $DATAHORAFIN = $query2->HORAFIN;
      }
    }

  	if (! tabela($TAB))
    	echo "erro";
  	else {
    //definir um índice de busca para não repetir dados da tabela z_ echo "diodio";
    $indice = null;
    //Tabela CF_ICMS por ser uma union fui obrigado a colocar a parte o indice
    if ($TAB == "cf_icms") {
        $indice[] = "CODCLASSFISCAL";
        $indice[] = "CODPRODUTO";
        $indice[] = "NRO";
    } else {
      if ($TAB == "manifesto") //manifesto busca tabela vendas como índice
        $TAB_IND = "vendas";
      else if ($TAB == "manifesto_prods") //manifesto busca tabela vendas_prods como índice
        $TAB_IND = "vendas_prods";
      else if ($TAB == "roteirizacoes")
        $TAB_IND = "roteirizacoes_clientes";
      else if ($TAB == "estoque_reserva")
        $TAB_IND = "produtos";
      else
        $TAB_IND = $TAB;

      $qryIndice =
          "select ID.RDB\$FIELD_NAME CAMPO ".
          "from RDB\$INDICES I, RDB\$INDEX_SEGMENTS ID ".
          "where I.RDB\$INDEX_NAME = ID.RDB\$INDEX_NAME ".
          "and I.RDB\$RELATION_NAME = '".strtoupper($TAB_IND)."' ".
          "and I.RDB\$UNIQUE_FLAG = 1 ".
          "and (I.RDB\$INDEX_NAME starting with 'PK_' OR I.RDB\$INDEX_NAME = 'ITENS_OBRIG_SEG') ".
          "order by ID.RDB\$FIELD_POSITION ";
      $qryIndice = ibase_query($conexao, $qryIndice);
      while($rowIndice = ibase_fetch_object($qryIndice))
        $indice[] = $rowIndice->CAMPO;
    }
    $CAMPOS = "";
    $WHERE = "";
    $query = null;
    $configdao = new ConfigDAO();

	// Cidades
    if ($TAB == "cidades")
      $CAMPOS = "CODCIDADE,CIDADE,UF,NROREGIAO";

	// Bairros
    else if ($TAB == "bairros")
      $CAMPOS = "CODBAIRRO,DESCRICAO";

	// Condições de Pagto.
    else IF ($TAB == "cpagto")
      $CAMPOS = "CODCPAGTO,DESCRICAO,VALVENDEDOR,case when coalesce(TIPO,'V') in ('T', 'V') then  ENVIARPALM else 'F' end ENVIAR,COND_ESPECIAL,(SELECT NUMDIAS FROM NUMDIAS_CPAGTO(P.DIASPRIMPARC, P.NROPARCELAS,  P.DIASPARCELAS)) NUMDIAS, ".
          "NROPARCELAS, CASE WHEN COALESCE(NROPARCELAS,0) > 1 AND COALESCE(DIASPRIMPARC,0) <= 0 and coalesce(DEFINIRVENCIMENTO,'F') = 'F' THEN 'T' ELSE 'F' END DEFINIRDESDOBRAM, ".
          "DIASPRIMPARC, DIASPARCELAS, PERCACRESC, PERCDESCONTO, DEFINIRVENCIMENTO, SITUACAO, VALREPRES";

	// Portadores
    else IF ($TAB == "portadores")
      $CAMPOS = "CODPORTADOR,DESCRICAO,ENVIARPALM ENVIAR,TIPOVENDA,CODCPAGTO,COBRANCA,NIVELVENDA,VALVEND,BAIXACONTA,BLOQ_DIGI_VAL,VALMAXVEND,PERMITE_DESDOBR,VALDESPESA,CODBANCO,PAGTO_COBRANCA,LIBERAR_DESDOBR, SITUACAO, IMPRIMIR_PIX, DESCONTAR_LIMITE_CREDITO, valrepres, valmaxrepres";

	// Grupos
    else IF ($TAB == "grupos")
      $CAMPOS = "CODGRUPO,DESCRICAO,DESCONTOMAX,VENDA,PRECOUNICO,ACRESCIMOMAX,PERCBASETROCA,SITUACAO,PERCACRESC_PRECOPF,CODEMPRESA";

	// Clientes - Integração de Supervisão
    else IF ($TAB == "clientes" && ($supervisao == 1)) {

		$query = "SELECT CL.ID, CL.CODCLIENTE, CL.NOME, ".
      ($configdao->getDisponibilizar()->getClientes_mult_vends() ?
        "(select first 1 CV.CODVENDEDOR from CLI_VENDEDORES CV, VENDEDORES VE ".
        "where CV.CODVENDEDOR = VE.CODVENDEDOR AND CV.CODCLIENTE = CL.CODCLIENTE ".
        ($_GET["codvendedor"] > 0 ? "AND (VE.CODVENDEDOR = ".$_GET["codvendedor"]." OR VE.CODSUPERVISOR = ".$_GET["codvendedor"].") " : "").") CODVENDEDOR_SUPER":
        "CL.CODVENDEDOR CODVENDEDOR_SUPER").
      ", 'U' OPER, ".

			"CL.FANTASIA, CL.ENDERECO, CL.CODBAIRRO, CL.CODCIDADE, CL.CEP, CL.FONE1, CL.CELULAR, CL.FAX, " .
			"CL.PESSOA, CL.CNPJ, CL.IE, CL.DATANASC, CL.CAIXAPOSTAL, ".
			"CL.EMAIL, CL.DATACADASTRO, CL.PONTOREFERENCIA, " .
			"CL.SITUACAO, CL.NUMERO, CL.STATUS_FINAN, ".
			"CL.CODREDE, CL.CODCPAGTO, CL.RENDIMENTO, CL.CONSUM_FINAL, CL.LATITUDE, CL.LONGITUDE, CL.EMAIL_NFE, ".
			"CL.CODSEGMENTO, ".
			"CL.CODPORTADOR, ".

			"CASE WHEN ".
			"(SELECT FIRST 1 P.DATAHORA FROM PEDIDOS P WHERE CL.CODCLIENTE = P.CODCLIENTE and P.TIPO <> 'M' ".
			"AND P.DATAHORA >= '".$DATAHORAINI."' AND P.DATAHORA <= '".$DATAHORAFIN."' ".
			($_GET["codvendedor"] > 0 ? " AND P.CODVENDEDOR = ".$_GET["codvendedor"] : "").
			" ORDER BY 1 DESC) IS NOT NULL THEN ".
			"(SELECT FIRST 1 P.DATAHORA FROM PEDIDOS P WHERE CL.CODCLIENTE = P.CODCLIENTE and P.TIPO <> 'M' AND P.DATAHORA >= '".$DATAHORAINI."'  ".
			"AND P.DATAHORA <= '".$DATAHORAFIN."' ".
			($_GET["codvendedor"] > 0 ? " AND P.CODVENDEDOR = ".$_GET["codvendedor"]  : "").
			" ORDER BY 1 DESC) ".
			"WHEN ".
			"(SELECT FIRST 1 CN.DATA FROM CLI_NAOVISITADOS CN WHERE CL.CODCLIENTE = CN.CODCLIENTE ".
			"AND CAST(CN.DATA ||' 23:00' AS TIMESTAMP) >= '".$DATAHORAINI."' AND CAST(CN.DATA ||' 23:00' AS TIMESTAMP) <= '".$DATAHORAFIN."' ".
			($_GET["codvendedor"] > 0 ? "	AND CN.CODVENDEDOR = ".$_GET["codvendedor"] : "") .
			" ORDER BY 1 DESC) IS NOT NULL THEN ".
			"(SELECT FIRST 1 CAST(CN.DATA ||' 23:00' AS TIMESTAMP) FROM CLI_NAOVISITADOS CN WHERE CL.CODCLIENTE = CN.CODCLIENTE ".
      "AND CAST(CN.DATA ||' 23:00' AS TIMESTAMP) >= '".$DATAHORAINI."'  ".
			"AND CAST(CN.DATA ||' 23:00' AS TIMESTAMP) <= '".$DATAHORAFIN."' AND CN.CODVENDEDOR = ".$_GET["codvendedor"] ." ORDER BY 1 DESC) ".
			"ELSE ".
			"	(SELECT FIRST 1 CAST(T.DATA ||' '|| T.HORA AS TIMESTAMP) FROM TF02_DST T WHERE CL.CODCLIENTE = T.CODCLIENTE  ".
			"	AND CAST(T.DATA ||' '|| T.HORA AS TIMESTAMP) >= '".$DATAHORAINI."' ".
			"	AND CAST(T.DATA ||' '|| T.HORA AS TIMESTAMP) <= '".$DATAHORAFIN."' AND T.CODVENDEDOR = ".$_GET["codvendedor"] .
			" ORDER BY 1 DESC) ".
			"END DATA_SUPERVISAO, CL.CONTRIBUINTE, CL.DATAVERIFTELEFONE, CL.EFETUAR_PESQVAREJO, CL.CLIENTEMONITORADO, ".
			"CL.DESTACARSTRETIDO,CL.CONTROLA_VALORMINPORT, CL.CODROTA, CL.DATAHORA_CRIACAO, CL.DATAHORA_EXCLUSAO ".

			"FROM CLIENTES CL ".
			"WHERE 1=1 ".
      ($_GET["codvendedor"] > 0 ?
		  ($configdao->getDisponibilizar()->getClientes_mult_vends() ?
			  " and (select count(CV.CODVENDEDOR) from CLI_VENDEDORES CV, VENDEDORES VE ".
			  "where CV.CODVENDEDOR = VE.CODVENDEDOR AND CV.CODCLIENTE = CL.CODCLIENTE ".
			  "AND (VE.CODVENDEDOR = ".$_GET["codvendedor"]." OR VE.CODSUPERVISOR = ".$_GET["codvendedor"].")) > 0" :
		" and CL.CODVENDEDOR = ".$_GET["codvendedor"])
	   : "").
	  ($CODCLIENTE > 0 ? " AND CL.CODCLIENTE = ".$CODCLIENTE :
			" AND ((SELECT COUNT(P.NROPEDIDO) FROM PEDIDOS P WHERE 1=1 and P.TIPO <> 'M' and CL.CODCLIENTE = P.CODCLIENTE AND P.DATAHORA >= '".$DATAHORAINI."'  ".
			"	AND P.DATAHORA <= '".$DATAHORAFIN."' ".
			"   AND P.CODVENDEDOR = ".$_GET["codvendedor"].
			"   AND P.SITUACAO <> 4 ".
			"   AND P.TIPO in ('V','4') ".
			") > 0 ".
			"   OR ".
		    "(SELECT COUNT(T.ID) FROM TF02_DST T WHERE CL.CODCLIENTE = T.CODCLIENTE ".
			" AND CAST(T.DATA ||' '|| T.HORA AS TIMESTAMP) >= '".$DATAHORAINI."'  ".
			" AND CAST(T.DATA ||' '|| T.HORA AS TIMESTAMP) <= '".$DATAHORAFIN."' ".
			" AND T.CODVENDEDOR =".$_GET["codvendedor"] .") > 0 ".
			"   OR ".
		    "(SELECT COUNT(CN.NRO) FROM CLI_NAOVISITADOS CN WHERE CL.CODCLIENTE = CN.CODCLIENTE ".
			" AND CAST(CN.DATA ||' 23:00' AS TIMESTAMP) >= '".$DATAHORAINI."'  ".
			" AND CAST(CN.DATA ||' 23:00' AS TIMESTAMP) <= '".$DATAHORAFIN."' ".
			" AND CN.CODVENDEDOR =".$_GET["codvendedor"] .") > 0) "
		).
	   "ORDER BY 4 ";

			//echo $query; die;
	}


	// Clientes
    else IF ($TAB == "clientes" && ($supervisao == 0)) {
      //CLIENTES - MONTAR TODO O SQL
      $codvendedor_equip = vendedorEquipe($_GET["codvendedor"]);
      $campos = //"select DISTINCT " .
	    "P.ID,P.CODCLIENTE,P.NOME,P.FANTASIA,P.ENDERECO,P.CODBAIRRO,P.CODCIDADE,P.CEP,P.FONE1,P.CELULAR,P.FAX,P.PESSOA,P.CNPJ,P.IE,P.DATANASC,P.CAIXAPOSTAL,".
      "P.EMAIL,P.DATACADASTRO,P.PONTOREFERENCIA,".
      ($configdao->getDisponibilizar()->getClientes_mult_vends() ?
        "(select first 1 CV.CODVENDEDOR from CLI_VENDEDORES CV, VENDEDORES VE ".
        "where CV.CODVENDEDOR = VE.CODVENDEDOR AND CV.CODCLIENTE = P.CODCLIENTE ".
        "AND (VE.CODVENDEDOR = ".$codvendedor_equip." OR VE.CODSUPERVISOR = ".$codvendedor_equip.")) CODVENDEDOR":
        "P.CODVENDEDOR").
      ", P.SITUACAO,P.NUMERO,P.STATUS_FINAN, ".
      "P.CODREDE, P.CODCPAGTO, P.RENDIMENTO, P.CONSUM_FINAL, P.LATITUDE, P.LONGITUDE, P.EMAIL_NFE, P.CODSEGMENTO, ".
		  "P.CODPORTADOR, P.CREDITOCLIENTE, P.CONTRIBUINTE, P.OPC_TRIBUTARIA, P.ULT_VERIFICACAO, P.DATAVERIFTELEFONE, P.NROREGIAO, P.QTDE_CHECKOUTS, ".
      "P.EMITE_NOTA_DEVOL, P.EFETUAR_PESQVAREJO, P.COMPLEMENTO, P.LIBERARCOMODATO, P.CODEMPRESA, P.COBRARFRETE, P.BLOQUEIOSEFAZ, P.DADOS_NFCE, ".
      "P.COBRARVALORDESPESAS, P.TIPODOC, P.MATREC_LIMALERTA, P.MATREC_LIMBLOQUE, P.MATREC_SALDO, P.CLIENTEMONITORADO, P.DESCRICAORESTR,  P.OBS, ".
	  "P.CONTROLA_VALORMINPORT, P.CODBANCO, P.EXIGIR_OC, P.CODROTA, P.DATAHORA_CRIACAO, P.DATAHORA_EXCLUSAO ";
		
      $WHERE = "where P.CODCLIENTE IS NOT NULL";
      $ORDER = "";
      //-- PRIMEIRA INTEGRAÇÃO BUSCA DE CLIENTES --//
      if ($DATAHORAINI == "") {
        $query = "select  ".$campos.", 'I' OPER from CLIENTES P ";
        $ORDER = " order by P.CODCLIENTE";
        $WHERE .= " and coalesce(SITUACAO, '') <> 'I'";
        if ($configdao->getDisponibilizar()->getClientes_mult_vends() && ! $mostrar_todos_clientes) {
          //NOVO PROCESSO
          $WHERE .= " and (select count(CV.CODVENDEDOR) from CLI_VENDEDORES CV, VENDEDORES VE ".
              "where CV.CODVENDEDOR = VE.CODVENDEDOR AND CV.CODCLIENTE = P.CODCLIENTE ".
              "AND (VE.CODVENDEDOR = ".$codvendedor_equip." OR VE.CODSUPERVISOR = ".$codvendedor_equip.")) > 0";
        } else if (! $mostrar_todos_clientes)
          //TODOS OS CLIENTES DO VENDEDOR OU QUE ESTÃO CADASTRADOS NA ROTA
          $WHERE .= " and ((SELECT COUNT(VE.CODVENDEDOR) FROM VENDEDORES VE WHERE VE.CODVENDEDOR = P.CODVENDEDOR ".
              " AND (VE.CODVENDEDOR = ".$codvendedor_equip." OR VE.CODSUPERVISOR = ".$codvendedor_equip.")) > 0 ".
              " OR ".
              "(SELECT COUNT(R.CODROTA) ".
              " FROM ROTEIRIZACOES_CLIENTES RC ".
              " JOIN ROTEIRIZACOES R ON RC.CODROTA = R.CODROTA ".
              " JOIN VENDEDORES VE ON R.CODVENDEDOR = VE.CODVENDEDOR AND (VE.CODVENDEDOR = ".$codvendedor_equip." OR VE.CODSUPERVISOR = ".$codvendedor_equip.") ".
              " WHERE RC.CODCLIENTE = P.CODCLIENTE ".
              ") > 0 ".
              ")";
        $query .= $WHERE." ".$ORDER;
      //-- INTEGRAÇÃO INCREMENTAL PELA Z_CLIENTES --//
      } else {
          $query =
                  "select P.DATAINT, P.NROINT, P.OPERACAO OPER, ".$campos.
                  " from Z_CLIENTES P ".
                  "WHERE P.DATAINT >= dateadd(-5 minute to cast('".$DATAHORAINI."' as timestamp)) ".
                  "AND P.DATAINT <= ' " .$DATAHORAFIN." ' ".

                  "union all ".

                  "select Z.DATAINT, Z.NROINT, 'I' OPER, ".$campos.
                  " from CLIENTES P ".
                  "join Z_CLI_VENDEDORES Z ON P.CODCLIENTE = Z.CODCLIENTE ".
                      " and (Z.CODVENDEDOR = ".$codvendedor_equip." OR Z.CODVENDEDOR_ANT = ".$codvendedor_equip.")".
                  "WHERE Z.DATAINT >= dateadd(-5 minute to cast('".$DATAHORAINI."' as timestamp)) ".
                  "AND Z.DATAINT <= '".$DATAHORAFIN."' ".

                  "union all ".

                  "select ZC.DATAINT, ZC.NROINT, 'I' OPER, ".$campos.
                  " from Z_ROTEIRIZACOES_CLIENTES ZC ".
                  "JOIN ROTEIRIZACOES R ON ZC.CODROTA = R.CODROTA ".
                  "JOIN VENDEDORES VE ON R.CODVENDEDOR = VE.CODVENDEDOR AND (VE.CODVENDEDOR = ".$codvendedor_equip." OR VE.CODSUPERVISOR = ".$codvendedor_equip.") ".
                  " JOIN CLIENTES P ON ZC.CODCLIENTE = P.CODCLIENTE ".
                  "WHERE ZC.DATAINT >= dateadd(-5 minute to cast('".$DATAHORAINI."' as timestamp)) ".
                  "AND ZC.DATAINT <= '".$DATAHORAFIN."' ".

                  " order by 1,2";
      }
      //echo $query."\n\n\n\n";

	// Visitas
	} else IF ($TAB == "visitas_android" && $supervisao == 1) {
      $dataini = $DATAHORAINI;
      $datafin = $DATAHORAFIN;
      $query =
          "select 'I' oper, va.id, va.nrovisita, va.codvendedor, va.codcliente, va.codrota, va.nrorota, va.diasemana ,va.data, va.hora, ".
          "case when va.rota = 'T' then 1 else 0 end rota, ".
          "case when va.positiva = 'T' then 1 else 0 end positiva, ".
          "case when va.concluida = 'T' then 1 else 0 end concluida, va.obs, va.turno, va.datafin, va.horafin ".
          "from VISITAS_ANDROID VA ".
          ($_GET["codvendedor"] > 0 ? "JOIN VENDEDORES VE ON VA.CODVENDEDOR = VE.CODVENDEDOR and (VE.CODVENDEDOR = ".$_GET["codvendedor"]." OR VE.TIPO IN ('S', 'C')) " : "").
          "where CAST(VA.DATA||' 00:02' AS TIMESTAMP) >= '".$dataini."' ".
          ($CODCLIENTE > 0 ? "and VA.CODCLIENTE = ".$CODCLIENTE :
		  "AND VA.CODCLIENTE in ".
          "(SELECT P.CODCLIENTE ".
          " FROM PEDIDOS P ".
          " WHERE P.DATAHORA >= '".$dataini."' ".
          " AND P.DATAHORA <= '".$datafin."' ".
          ($_GET["codvendedor"] > 0 ? " AND P.CODVENDEDOR = ".$_GET["codvendedor"] : "").
          " AND P.SITUACAO <> 4 ".
          " AND P.TIPO in (   'V','4') ".
          " AND P.CODCLIENTE = VA.CODCLIENTE ".
          " ".
          " UNION ".
          " ".
          " SELECT T.CODCLIENTE ".
          " FROM TF02_DST T ".
          " WHERE CAST(T.DATA ||' '|| T.HORA AS TIMESTAMP) >= '".$dataini."' ".
          " AND CAST(T.DATA ||' '|| T.HORA AS TIMESTAMP) <= '".$datafin."' ".
          " AND T.CODVENDEDOR = ".$_GET["codvendedor"].
          " AND T.CODCLIENTE = VA.CODCLIENTE ".
          ")");
	//echo $query; die;
	// Visitas
  } else if ($TAB == "visitas_android") {
    $codvendedor_equip = vendedorEquipe($_GET["codvendedor"]);
    //Só integrar as visitas android quando o vendedor for de equipe
    $CAMPOS =  "id, nrovisita, codvendedor, codcliente, codrota, nrorota, diasemana, data, hora, turno, datafin, horafin, ".
          "case when rota = 'T' then 1 else 0 end rota, ".
          "case when positiva = 'T' then 1 else 0 end positiva, ".
          "case when concluida = 'T' then 1 else 0 end concluida ";
    $WHERE = "";
    if ($DATAHORAINI == "")
      $WHERE .= " and P.DATA >= CURRENT_DATE - 1";
    //Somente importar dados de visita quando for equipe
    else
      $WHERE .=
            " AND (SELECT COUNT(CODVENDEDOR) FROM VENDEDORES ".
            " WHERE (CODVENDEDOR = ".$_GET["codvendedor"]." AND CODVENDEDOR_EQUIP IS NOT NULL) or CODVENDEDOR_EQUIP = ".$_GET["codvendedor"].") > 0 ".
            " AND P.CODVENDEDOR in (select CODVENDEDOR from VENDEDORES ".
            "where CODVENDEDOR = ".$codvendedor_equip." or CODVENDEDOR_EQUIP = ".$codvendedor_equip.")";
  // Planos de Ação
	} else IF ($TAB == "plano_acao") {
      $CAMPOS = "id, nroplano, data, dataprazo, codvendedor, situacao, cast(substring(planoacao from 1 for 500) as varchar(500)) PLANOACAO ";
      $WHERE = " and codsupervisor = ".$_GET["codvendedor"];

	// Pedidos
    } else IF ($TAB == "pedidos") {
       	 $CAMPOS = "ID,NROPEDIDO,DATA,CODCLIENTE,SITUACAO,DATAENTREGA,CODCPAGTO,VALPRODS,".
			"PERCDESCONTO,VALDESCONTO,VALTOTAL,TIPO,OBS,VALIPI,STATUS,CODVENDEDOR,".
			"CODPORTADOR,RENDIMENTO,PADRAO_PEDIDO,NROMANIFESTO,SITTROCA,PERCDEVOL,TIPODOC,VALSERVICO,VALORFRETE,EMITE_NOTA_DEVOL,NROVEND_KM,DATAHORA, ".
			"CODATENDENTE, TOT_RENTAB, NROORC, VALDESPOUTRAS, CALCULOUDESPOUTRAS, REQUER_EXPEDICAO,DATAHORAFAT, DATAFINALIZACAO, EDICAO_WMCMOBILE ";
		  //só enviar chave de acesso e nº venda quando for a primeira integração pois tem controles no sistema android
		  //e a chave de acesso deve ser buscada
		  $CAMPOS .= ", CASE WHEN (COALESCE(P.NROMANIFESTO, 0) > 0 OR COALESCE(P.PADRAO_PEDIDO, '') = 'R') THEN (select V.CHAVEACESSO from VENDAS V where P.NROVENDA = V.NROVENDA and V.SITUACAO = 'I') END CHAVEACESSO ".
					 ", CASE WHEN (COALESCE(P.NROMANIFESTO, 0) > 0 OR COALESCE(P.PADRAO_PEDIDO, '') = 'R') THEN (select V.NRODOCUMENTO from VENDAS V where P.NROVENDA = V.NROVENDA and V.SITUACAO = 'I') END NRODOCUMENTO ".
					 ", CASE WHEN (COALESCE(P.NROMANIFESTO, 0) > 0 OR COALESCE(P.PADRAO_PEDIDO, '') = 'R') THEN P.NROVENDA END NROVENDA ";
		  if ($DATAHORAINI == "")
			$CAMPOS .=
				", CASE WHEN P.DATAHORA <= COALESCE( ".
				"  (SELECT MAX(CAST(F.DATA||' '||F.HORA AS TIMESTAMP)) FROM FECHAMENTO_MANIFESTO F ".
				"WHERE F.NROMANIFESTO = P.NROMANIFESTO), '31.12.1899') THEN 1 ELSE 0 END FECHAMENTO ";
	  if ($supervisao == 1) { //supervisao comparar a datahora da emissão do pedido, por causa de contingências
        $query = "select DISTINCT 'I' OPER, ".$CAMPOS.
            "\n from PEDIDOS p ".
            "\n WHERE 1=1 ".
			($_GET["codvendedor"] > 0 ?  " and P.CODVENDEDOR = ".$_GET["codvendedor"]."\n " : "").
			($CODCLIENTE > 0 ? " and P.CODCLIENTE = " .$CODCLIENTE : "").
            "\n and P.datahora >= '".$DATAHORAINI."' ".
            "\n and P.datahora <= '".$DATAHORAFIN."' and P.TIPO <> 'M' ".
            "\n order by datahora, nropedido";
	  }else{
		  $codvendedor = vendedorEquipe($_GET["codvendedor"]);
		  $WHERE = " AND (P.CODVENDEDOR in ".
			  "(select CODVENDEDOR from VENDEDORES where CODVENDEDOR = ".$codvendedor." or (P.PADRAO_PEDIDO = 'R' AND CODVENDEDOR_EQUIP = ".$codvendedor.")) ".
			  " or P.CODVENDEDOR_HIST in ".
			  "(select CODVENDEDOR from VENDEDORES where CODVENDEDOR = ".$codvendedor." or (P.PADRAO_PEDIDO = 'R' AND CODVENDEDOR_EQUIP = ".$codvendedor."))";
		  if ($DATAHORAINI != "")
			$WHERE .= " or P.CODVENDEDOR_ANT in ".
				"(select CODVENDEDOR from VENDEDORES where CODVENDEDOR = ".$codvendedor." or (P.PADRAO_PEDIDO = 'R' AND CODVENDEDOR_EQUIP = ".$codvendedor.")) ";
		  $WHERE .= ")";
          //Não integrar pedidos de trocas
          if ($naointegrarpedtroca)
            $WHERE .= " and P.TIPO <> 'T' ";
          if ($DATAHORAINI == "") {
			$padraopedido = padraopedido($_GET["codvendedor"]);
			$dias_imp_ped = $dias_historico_peds;
			if ($dias_imp_ped == 0)
			  $dias_imp_ped = 30;
			if ($padraopedido == "R") {
			  //Buscar todos os pedidos do manifesto e/ou do mês atual por causa do flex
			  $nromanifesto = ultimomanifesto($_GET["codvendedor"]);
			  $WHERE .= " and (NROMANIFESTO = ".$nromanifesto." or DATA >= CURRENT_DATE-".$dias_imp_ped.")";
			} else
			  $WHERE .= " and DATA >= CURRENT_DATE-".$dias_imp_ped;
		  } 
	  }

	// Ped. Prods
    } else IF ($TAB == "ped_prods" && $supervisao == 1) { //supervisao comparar a datahora da emissão do pedido, por causa de contingências
      $query =
        "select distinct 'I' OPER, PP.NROPEDIDO,PP.NROITEM,PP.CODPRODUTO,PP.DESCRICAO,PP.QTDE,PP.PRECO,PP.VALTOTAL,PP.PRECO_S_DESC,PP.QTDEAUX,P.VALORFRETE\n".
        "from PEDIDOS P \n".
        "join PED_PRODS PP on P.NROPEDIDO = PP.NROPEDIDO \n".
        "where 1=1 ".
		($_GET["codvendedor"] > 0 ? "and P.CODVENDEDOR = ".$_GET["codvendedor"]."\n " : "").
		($CODCLIENTE > 0 ? " and P.CODCLIENTE = " .$CODCLIENTE : "").
        "and P.DATAHORA >= '".$DATAHORAINI."' \n".
        "and P.DATAHORA <= '".$DATAHORAFIN."' and P.TIPO <> 'M' \n".
        "order by P.DATAHORA, P.NROPEDIDO, PP.NROITEM\n";
    } else IF ($TAB == "ped_prods") {
      $CAMPOS = "P.NROPEDIDO,P.NROITEM,P.CODPRODUTO,P.DESCRICAO,P.QTDE,P.PRECO,P.VALTOTAL,P.PRECO_S_DESC,P.VALACUMULAFLEXBONIF,P.VALORFRETE, P.VALFLEX, P.UN, ".
        "P.VALACUMULAFLEXVENDA, P.NAOGERAVERBA, P.RENTABILIDADE, P.QTDEAUX, P.VALDESPOUTRAS, P.CONSIG_CLI, P.CONSIG_TIPO, P.VALFCPST, P.NROCOMBOPROD, P.BONIFIC, P.VALIPI, P.PERCIPI, P.SUCATA, P.VALOR_SUCATA, P.APLICARFLEX, P.NROITEMPED_NFE, P.UNDIG ";
      $codvendedor = vendedorEquipe($_GET["codvendedor"]);
      $filtroevend = " AND (P1.CODVENDEDOR in ".
          "(select CODVENDEDOR from VENDEDORES where CODVENDEDOR = ".$codvendedor." or (P1.PADRAO_PEDIDO = 'R' AND CODVENDEDOR_EQUIP = ".$codvendedor.")) ".
          " OR P1.CODVENDEDOR_HIST in ".
          "(select CODVENDEDOR from VENDEDORES where CODVENDEDOR = ".$codvendedor." or (P1.PADRAO_PEDIDO = 'R' AND CODVENDEDOR_EQUIP = ".$codvendedor."))) ";
      if ($DATAHORAINI == "") {
        $query = "select 'I' OPER, ".$CAMPOS." ".
                 "from PEDIDOS P1 ".
                 "join PED_PRODS P ON P1.NROPEDIDO = P.NROPEDIDO ".
                 "WHERE P1.NROPEDIDO IS NOT NULL ".
                 ($naointegrarpedtroca ? " and P1.TIPO <> 'T' " : "");	
        $padraopedido = padraopedido($_GET["codvendedor"]);
        $dias_imp_ped = $dias_historico_peds;
        if ($dias_imp_ped == 0)
          $dias_imp_ped = 30;
        if ($padraopedido == "R"){
          $nromanifesto = ultimomanifesto($_GET["codvendedor"]);
          //Buscar todos os pedidos do manifesto e/ou do mês atual por causa do flex
          $query .= " and (P1.NROMANIFESTO = ".$nromanifesto." or P1.DATA >= CURRENT_DATE-".$dias_imp_ped.") ".
                 $filtroevend;
        } else {
           $query .= " and P1.DATA >= CURRENT_DATE - ".$dias_imp_ped." and P1.CODVENDEDOR = ".$_GET["codvendedor"];
        }
      } else
        $WHERE = " AND (select first 1 P1.CODVENDEDOR ".
                "from PEDIDOS " .
                " P1 where p.NROPEDIDO = P1.NROPEDIDO ".
                $filtroevend.
                ($naointegrarpedtroca ? " and P1.TIPO <> 'T' " : "").
                ") > 0 ";
	//PED_SERVS
	} else if ($TAB == "ped_servs") {
		$CAMPOS = "NROPEDIDO, NROITEM, SERVICO, VALUNIT, QTDE, VALOR VALTOTAL, case COMISSAO when 'T' then 1 else 0 end COMISSAO";
		if ($DATAHORAINI == "") {
			$padraopedido = padraopedido($_GET["codvendedor"]);
			$dias_imp_ped = $dias_historico_peds;
			if ($dias_imp_ped == 0)
			  $dias_imp_ped = 30;
			if ($padraopedido == "R") {
				$nromanifesto = ultimomanifesto($_GET["codvendedor"]);
				$WHERE .= 	" and (select count(P1.NROPEDIDO) from PEDIDOS P1 where P1.NROPEDIDO = P.NROPEDIDO ".
							"and (P1.NROMANIFESTO = ".$nromanifesto." or P1.DATA >= CURRENT_DATE-".$dias_imp_ped.")) > 0";
			} else {
				$WHERE .=	" and (select count(P1.NROPEDIDO) from PEDIDOS P1 where P1.NROPEDIDO = P.NROPEDIDO ".
								"and ".$_GET["codvendedor"]." in (P1.CODVENDEDOR , P1.CODVENDEDOR_HIST) AND P1.DATA >= CURRENT_DATE-".$dias_imp_ped.") > 0";
			}
		} else {
			$WHERE = " AND (select first 1 P1.CODVENDEDOR ".
					"from PEDIDOS " .
					" P1 where p.NROPEDIDO = P1.NROPEDIDO ".
					"and ".$_GET["codvendedor"] . " IN (p1.codvendedor, p1.codvendedor_hist) ".
					") > 0 ";
		}
    } else IF ($TAB == "pedidos_indeniz") {
      $CAMPOS = "NROINDENIZ,NROPEDIDO,TIPOINDENIZ,CODVENDEDOR,ID";
      if ($DATAHORAINI == "") {
        $padraopedido = padraopedido($_GET["codvendedor"]);
        if ($padraopedido == "R") {
          $nromanifesto = ultimomanifesto($_GET["codvendedor"]);
          $WHERE .= " and (select count(P1.NROPEDIDO) from PEDIDOS P1 where P1.NROPEDIDO = P.NROPEDIDO ".
              "and P1.NROMANIFESTO = ".$nromanifesto.") > 0";
        } else
          $WHERE .= " and (select count(P1.NROPEDIDO) from PEDIDOS P1 where P1.NROPEDIDO = P.NROPEDIDO and P1.DATA >= CURRENT_DATE - 30 ".
              "and P1.CODVENDEDOR = ".$_GET["codvendedor"].") > 0";
      } else
        $WHERE = " AND (select first 1 P1.CODVENDEDOR ".
                "from PEDIDOS " .
                " P1 where p.NROPEDIDO = P1.NROPEDIDO ".
                "and p1.codvendedor = ".$_GET["codvendedor"] .
                ") > 0 ";
    } else IF ($TAB == "pedidos_indeniz_prods") {
      $CAMPOS = "NROINDENIZ,NRO,CODPRODUTO,QTDE,PRECO,CAST(OBS AS VARCHAR(1000)) OBS,CODVENDEDOR,ID,DATAVALIDADE,NROITEM,UN";
      if ($DATAHORAINI == "") {
        $padraopedido = padraopedido($_GET["codvendedor"]);
        if ($padraopedido == "R") {
          $nromanifesto = ultimomanifesto($_GET["codvendedor"]);
          $WHERE .= " and (select count(P1.NROPEDIDO) from PEDIDOS P1, PEDIDOS_INDENIZ PIZ where P1.NROPEDIDO = PIZ.NROPEDIDO AND PIZ.NROINDENIZ = P.NROINDENIZ ".
              "and P1.NROMANIFESTO = ".$nromanifesto.") > 0";
        } else
          $WHERE .= " and (select count(P1.NROPEDIDO) from PEDIDOS P1, PEDIDOS_INDENIZ PIZ where P1.NROPEDIDO = PIZ.NROPEDIDO AND PIZ.NROINDENIZ = P.NROINDENIZ and P1.DATA >= CURRENT_DATE - 30 ".
              "and P1.CODVENDEDOR = ".$_GET["codvendedor"].") > 0";
      } else
        $WHERE = " AND (select first 1 P1.CODVENDEDOR ".
                "from PEDIDOS P1, PEDIDOS_INDENIZ PIZ where P1.NROPEDIDO = PIZ.NROPEDIDO AND PIZ.NROINDENIZ = P.NROINDENIZ ".
                "and p1.codvendedor = ".$_GET["codvendedor"] .
                ") > 0 ";

	// Produtos
    } else IF ($TAB == "produtos") {
      $CAMPOS = "CODPRODUTO,PRODUTO,PERCIPI,CODGRUPO,PRECOVENDA,SITUACAO,".
        "ENVIARPALM ENVIAR, ESTOQUEATUAL, PRECOMINIMO, CODCLASSFISCAL, ".
        "SITTRIB, UN, CODBARRASFAB, ".
        "CODMARCA, CODFAMILIA, CODLINHA, CODSUBGRUPO, QTDE_EMB, TIPOPRODUTO, COR_RGB_MOBILE, PRECOCUSTO, OBS, OBSINTERNA, NAOGERAFLEX, CODINTERNO, ".
        "PRECOMAXIMO, EMBALAGEM, CODPRODUTO_MASTER, (SELECT PC.CODCUSTO FROM PROD_CUSTOS PC WHERE PC.CODPRODUTO = P.CODPRODUTO) CODCUSTO, OBRIGAR_QTDEAUX, CODCOR, TAMANHO, PESOBRUTO, APLICARFLEX, ".
        /* PERCREDUCAO E PERCICMS NÃO SÃO MAIS USADOS*/
        "0 PERCREDUCAO, 0 PERCICMS, PESOLIQ, PRECOBASE_ST, QTDE_CONV, PESO_SUCATA, PERMITE_DESCONTAR_SUCATA,  LIB_EST_DISP_MOBILE, TIPO_ARMAZENAGEM ";
      if ($DATAHORAINI == "")
	  	// Conforme solicitação 3923, está integrando todos os Produtos
        $WHERE = " and coalesce(ENVIARPALM, '') = 'T'"; //and coalesce(SITUACAO, '') = 'A'";
      if ($CODPRODUTO != "")
        $WHERE = " and CODPRODUTO IN (".$CODPRODUTO.")";
	// Produtos Custos
    } else IF ($TAB == "prod_custos") {
      if ($DATAHORAINI != "")
        $CAMPOS = "CODPRODUTO, NROCUSTO, CODCUSTO ";
      else
        throw new Exception("Tabela prod_custos só deve ser integrada com datahoraini preenchido!");
	// Promoções
    } else IF ($TAB == "promocoes") {
      $CAMPOS = "NROPROMOCAO,DATAINICIAL,DATAFINAL,NAODESCONTARFLEX,PERMITEDESCCPAGTO,NAOEXIBIRDESCONTO,NAOGERAVERBA,COR_RGB,DESCRICAO,VOLUMES,SUGERIRPRECOTABELA,TIPO_VOLUME, APLICARFLEX, CODEMPRESA";
      if ($DATAHORAINI == "")
        $WHERE = "AND CURRENT_DATE <= P.DATAFINAL";
	// Promoções Produtos
    } else IF ($TAB == "promocoes_prods") {
      $CAMPOS = "NROPROMOCAO,NROITEM,CODPRODUTO,VALORPROMOCAO,PRECOMINIMO,QTDE,UN,PRECOMAXIMO,VALOR,QTDEPROMO";
      if ($DATAHORAINI == "")
        $WHERE = " and (select count(PRO.NROPROMOCAO) from PROMOCOES PRO where CURRENT_DATE <= PRO.DATAFINAL AND P.NROPROMOCAO = PRO.NROPROMOCAO) > 0";
	// Promoções Clientes
    } else IF ($TAB == "promocoes_cli") {
      $CAMPOS = "NROPROMOCAO,NRO,CODCLIENTE,CODREDE,CODSEGMENTO,CODVENDEDOR,CODGRUPOVEND";
      if ($DATAHORAINI == "")
        $WHERE = " and (select count(PRO.NROPROMOCAO) from PROMOCOES PRO where CURRENT_DATE <= PRO.DATAFINAL AND P.NROPROMOCAO = PRO.NROPROMOCAO) > 0";
	// Produtos - Lista de Preços
    } else IF ($TAB == "prod_listaprecos") {
      $query2 = ibase_query($conexao,
          "select coalesce(V.TIPO, 'V') TIPO ".
          " from VENDEDORES V where v.CODVENDEDOR = ".$_GET["codvendedor"]);
      $query2 = ibase_fetch_object($query2);
      $CAMPOS = "CODPRODUTO,CODLISTA,PRECO,UN,PRECO_AUTORIZADO,PERCDESC_APLICAVEL,TIPO,PERCDESC_MAX,PERCACRESC_MAX";
      if ($query2 != null) {
        if ($DATAHORAINI == "")
          $WHERE = " and (P.TIPO = 'O' OR P.TIPO = '".$query2->TIPO."')";
        else
          $WHERE = " and (P.TIPO = 'O' OR P.TIPO = '".$query2->TIPO."' or P.TIPO_ANT = 'O' OR P.TIPO_ANT = '".$query2->TIPO."')";
      }
	// Listas de Preços - Clientes
    } else IF ($TAB == "listaprecos_cli") {
       $CAMPOS = "CODLISTA,NRO,CODCLIENTE,CODREDE,CODSEGMENTO,UF,PESSOA,CODVENDEDOR,CODEMPRESA,OPC_TRIBUTARIA, CONTRIBUINTE, NROREGIAO, CODCIDADE, CONSUM_FINAL";

	// Clientes - Portadores DST
    } else IF ($TAB == "cli_portadores_dst") {
      //se pegar ta tabela Z_ buscar o codportador_ant no caso de alteração da chave primária
      $CAMPOS = "CODCLIENTE,CODPORTADOR";
	  /* DDS-3977 - Regra de primeira importação removida
      if ($DATAHORAINI == "" and ! $mostrar_todos_clientes)
        $WHERE = 
          ($_GET["codvendedor"] > 0 
          ?
            ($configdao->getDisponibilizar()->getClientes_mult_vends() 
            ?
              " and (select count(CV.CODVENDEDOR) from CLI_VENDEDORES CV, VENDEDORES VE ".
              "      where CV.CODVENDEDOR = VE.CODVENDEDOR AND CV.CODCLIENTE = P.CODCLIENTE ".
              "        and (VE.CODVENDEDOR = ".$_GET["codvendedor"]." or VE.CODSUPERVISOR = ".$_GET["codvendedor"].")) > 0"
            :
              " and (select CL.CODVENDEDOR from CLIENTES CL where P.CODCLIENTE = CL.CODCLIENTE) = ".$_GET["codvendedor"])
          : "");     
      */

	// Estoque Pré-Venda
    } else IF ($TAB == "estprevenda") {
      $CAMPOS = "NROEST, DATAINICIAL, DATAFINAL, DATAENTREGA, CODVENDEDOR,SITUACAO SIT_ESTPREVENDA ";
      if ($DATAHORAINI == "")
      //primeira integração apenas os registro de estoque pré venda anteriores a 1 Mês
        $WHERE = " and DATAINICIAL >= CURRENT_DATE - 30";
	// Estoque Pré-Venda - Produtos
    } else IF ($TAB == "estprevenda_prods") {
      $CAMPOS = "NROEST,NRO,CODPRODUTO,QTDE";
      //primeira integração apenas os registro de estoque pré venda anteriores a 1 Mês
      if ($DATAHORAINI == "")
        $WHERE = " and (select count(E.NROEST) from ESTPREVENDA E where E.DATAINICIAL >= CURRENT_DATE - 30 and e.NROEST = p.NROEST) > 0";

	// Manifesto
    } else IF ($TAB == "manifesto" || $TAB == "manifesto_prods") {
      $vendedor_manifesto = vendedorEquipe($_GET["codvendedor"]);
      if ($DATAHORAINI != "")
        $query =
          "SELECT DISTINCT V.OPERACAO OPER, V.NROVENDA, 0 NRORECARGA, 0 NRORETORNO, V.DATA DATAINICIAL, " .
		      "V.DATALIMITE_MAN DATAFINAL, V.DATALIMITE_MAN DATAENTREGA, V.CODVENDEDOR, V.SITUACAO, V.NRODOCUMENTO, V.VLCOBRANCAANT, V.DATAINT, '' MANIF_RET_TOTAL, V.FECHAMENTO, V.DATAFECHAMENTO ".
          "FROM Z_VENDAS V ".
          "where SUBSTRING(V.CODNATOPER FROM 1 FOR 5) IN ('5.904', '5.414', '6.904', '6.414', '5.415', '6.415', '5.657','6.657') ".
          " and coalesce(V.NRORECARGA, 0) <= 0 ".
          " and V.CODVENDEDOR = ".$vendedor_manifesto.
          " and V.dataint >= '".$DATAHORAINI."' ".
          " and V.dataint <= '".$DATAHORAFIN."' ".
          " and V.SITUACAO IN ('I', 'C') ".

          "union ".

          "SELECT DISTINCT V.OPERACAO OPER, V.NROVENDA, V.NRORECARGA, 0 NRORETORNO, V.DATA DATAINICIAL, ".
		      "V.DATALIMITE_MAN DATAFINAL, V.DATALIMITE_MAN DATAENTREGA, V.CODVENDEDOR, V.SITUACAO, V.NRODOCUMENTO, V.VLCOBRANCAANT, V.DATAINT, '' MANIF_RET_TOTAL, V.FECHAMENTO, V.DATAFECHAMENTO ".
          "FROM Z_VENDAS V ".
          //"join VENDAS V1 on V.NRORECARGA = V1.NRODOCUMENTO and ".
          //"SUBSTRING(V1.CODNATOPER FROM 1 FOR 5) IN ('5.904', '5.414', '6.904', '6.414', '5.415', '6.415', '5.657','6.657') ".
          "where coalesce(V.NRORECARGA, 0) > 0 ".
          " and V.CODVENDEDOR = ".$vendedor_manifesto.
          " and V.dataint >= '".$DATAHORAINI."' ".
          " and V.dataint <= '".$DATAHORAFIN."' ".
          " and V.SITUACAO IN ('I', 'C') ".

		      "union ".

		      "select distinct V2.OPERACAO OPER, V2.NROVENDA, 0 NRORECARGA, V2.NROMANIFESTO NRORETORNO, ".
			    "V2.DATA DATAINICIAL, V2.DATALIMITE_MAN DATAFINAL, ".
		      "V2.DATALIMITE_MAN DATAENTREGA, V2.CODVENDEDOR, V2.SITUACAO, V2.NRODOCUMENTO, V2.VLCOBRANCAANT, V2.DATAINT, V2.MANIF_RET_TOTAL, V2.FECHAMENTO, V2.DATAFECHAMENTO ".
		      "from Z_VENDAS V2 ".
		      //"join VENDAS V1 on V1.NRODOCUMENTO = V2.NROMANIFESTO ".
		      "where coalesce(V2.NROMANIFESTO, 0) > 0 ".
		      "and V2.TIPONOTA = 'E' ".
          "and V2.CODVENDEDOR = ".$vendedor_manifesto." ".
          "and V2.dataint >= '".$DATAHORAINI."' ".
          "and V2.dataint <= '".$DATAHORAFIN."' ".
          "and V2.SITUACAO IN ('I', 'C') ".
          "order by 9 desc, 2 DESC, 12";
      else {
        //buscar último manifesto do vendedor
        $nromanifesto = ultimomanifesto($vendedor_manifesto);

        $query =

          "SELECT 'I' OPER , V.NROVENDA, 0 NRORECARGA, 0 NRORETORNO, V.DATA DATAINICIAL, V.DATALIMITE_MAN DATAFINAL, ".
		  "V.DATALIMITE_MAN DATAENTREGA, V.CODVENDEDOR, V.SITUACAO, V.NRODOCUMENTO, V.VLCOBRANCAANT, CAST(1 AS INTEGER) CONFIRMADO, '' MANIF_RET_TOTAL, V.FECHAMENTO, V.DATAFECHAMENTO ".
          "FROM VENDAS V ".
          "where SUBSTRING(V.CODNATOPER FROM 1 FOR 5) IN ('5.904', '5.414', '6.904', '6.414', '5.415', '6.415', '5.657','6.657') ".
          " and coalesce(V.NRORECARGA, 0) <= 0 ".
          " and V.CODVENDEDOR = ".$vendedor_manifesto.
          " and V.NRODOCUMENTO = ".$nromanifesto.
          " and V.SITUACAO = 'I' ".

          " union ".

          "SELECT 'I' OPER, V.NROVENDA, V.NRORECARGA, 0 NRORETORNO, V.DATA DATAINICIAL, V.DATALIMITE_MAN DATAFINAL, ".
		  "V.DATALIMITE_MAN DATAENTREGA, V.CODVENDEDOR, V.SITUACAO, V.NRODOCUMENTO, V.VLCOBRANCAANT, CAST(1 AS INTEGER) CONFIRMADO, '' MANIF_RET_TOTAL, V.FECHAMENTO, V.DATAFECHAMENTO ".
          "FROM VENDAS V ".
          "where coalesce(V.NRORECARGA, 0) > 0 ".
          " and V.CODVENDEDOR = ".$vendedor_manifesto.
          " AND V.NRORECARGA = ".$nromanifesto.
          " and V.SITUACAO = 'I' ".

          " union ".

          "select distinct 'I' OPER, V2.NROVENDA, 0 NRORECARGA, V2.NROMANIFESTO NRORETORNO, V2.DATA DATAINICIAL, V2.DATALIMITE_MAN DATAFINAL, ".
		      "V2.DATALIMITE_MAN DATAENTREGA, V2.CODVENDEDOR, V2.SITUACAO, V2.NRODOCUMENTO, V2.VLCOBRANCAANT, CAST(1 AS INTEGER) CONFIRMADO, V2.MANIF_RET_TOTAL, V2.FECHAMENTO, V2.DATAFECHAMENTO ".
		      "from VENDAS V2 ".
		      "where coalesce(V2.NROMANIFESTO, 0) > 0 ".
		      "and V2.TIPONOTA = 'E' ".
          "and V2.CODVENDEDOR = ".$vendedor_manifesto." ".
          " AND V2.NROMANIFESTO = ".$nromanifesto.
          "and V2.SITUACAO = 'I' ".
          "order by 2 DESC";
      }

        // Para manifesto produtos utiliza query de manifesto e gera sql in dos nro de vendas
        if ($TAB == "manifesto_prods") {
          $query2 = ibase_query($conexao, $query);
          $sqlIn = " and VP.NROVENDA in (-1";
          while($row = ibase_fetch_assoc($query2))
              $sqlIn .= ",".$row["NROVENDA"];


          $query = "SELECT 'I' OPER, VP.NROVENDA, VP.NROITEM, VP.CODPRODUTO, CASE WHEN V.TIPONOTA = 'E' THEN -VP.QTDE ELSE VP.QTDE END QTDE, ".
		  	"VP.PRECO, VP.UN, CASE WHEN V.TIPONOTA = 'E' THEN -VP.QTDEAUX ELSE VP.QTDEAUX END QTDEAUX ".
            "FROM VENDAS_PRODS VP, VENDAS V ".
            "where V.NROVENDA = VP.NROVENDA ".
            $sqlIn. ") ORDER BY VP.NROVENDA, VP.NROITEM";
        }

	// Empresas
    } else IF ($TAB == "empresas") {
	  $query = "select 'I' OPER, codempresa, nome, fantasia, endereco, numero, codbairro, codcidade, cep, fone1, cnpj, ie, tipo_pesq_varejo, codtipoest, ".
             "credicms,  exib_mens_credsn, responsavelpromiss, cor_rgb, preco_sucata, obrigaripi ".
             "from empresas ";
	// Próx. Nro. NF
    } else IF ($TAB == "proxnronf") {
      $query = "select 'I' OPER, NROSERIE,NRONF,'E' TIPODOC from PROXNRONF ".
               " where NROSERIE = case when (select count(VE.CODVENDEDOR) from VENDEDORES VE where VE.NROSERIE is not null) > 0 then ".
               "(select VE.NROSERIE from VENDEDORES VE where VE.CODVENDEDOR = ".$_GET["codvendedor"].") else ".$_GET["codvendedor"]." + 10 end ".
               " union all ".
               "select 'I' OPER, P.NROSERIE, P.NRONF, P.TIPODOC ".
               "from PROXNRONF P ".
               "join VENDEDORES VE ON P.NROSERIE = VE.NROSERIE_NFCE ".
               "where P.TIPODOC = 'F' and VE.CODVENDEDOR = ".$_GET["codvendedor"];

	// Estados
    } else IF ($TAB == "estados") {
      $CAMPOS = "UF,PERCICMS,PERCICMS_ST,PERCFCP";

	// Nat. Operação
    } else IF ($TAB == "natoperacao") {
      $query =
          "SELECT 'U' OPER, N.CODNATOPER, N.DESCRICAO, N.SITTRIB, N.CALCULAIPI, N.IPISOBREICMS, N.CODNATOPER_ST, M.DESCRICAO OBS, N.CALCULARFRETE, N.INCIDEDIFERICMS, N.CODIPI, N.ENQ_IPI\n".
          "FROM NATOPERACAO N \n".
          "LEFT JOIN MENSNATOPERACAO M ON N.CODMENSAGEM = M.CODMENSAGEM\n".
          "where N.CODNATOPER IN (".
          "    select N2.CODNATOPER ".
          "    from TIPOSPEDIDOS T ".
          "    JOIN PEDIDOS_NATUREZA P ON T.TIPO = P.TIPOPEDIDO ".
          "    /*SELECIONANDO NATOPERACAO E NATOPERACAO VENDEDOR */ ".
          "    join NATOPERACAO N on N.CODNATOPER IN (P.CODNATOPER, P.CODNATOPER_VEND) ".
          "    /*SELECIONANDO NATUREZA QUE EMITE DUPLICATA */ ".
          "    LEFT join NATOPERACAO N1 on N.CODNATOPER_ST = N1.CODNATOPER ".
          "    /*BUSCANDO AS DUAS NATUREZAS NORMAL E ST */ ".
          "    join NATOPERACAO N2 on N2.CODNATOPER IN (N.CODNATOPER,  N1.CODNATOPER) ".
          ") order by 2";
	// Classificações Fiscais
    } else IF ($TAB == "classfiscal") {
      /* SITTRIB, PERCREDUCAO, PERCICMS, PERCREDALIQUOTA NÃO SÃO MAIS USADOS*/
      $CAMPOS = "CODCLASSFISCAL, COD_NCM, EXIBIR_ICMS_OBS, '' SITTRIB, 0 PERCREDUCAO, 0 PERCICMS, 0 PERCREDALIQUOTA, CODIPI, CODIPI_ENT, PERCIPI, ENQ_IPI";

      $WHERE = " AND COD_NCM IS NOT NULL";

	// Cf. Subst.
    } else IF ($TAB == "cf_subst") {
      $CAMPOS = "NRO, CODCLASSFISCAL, UF, PERC, CODPRODUTO, CODINCISO, PERCREDUCAO_ST, PERC_ST_ORIG, UF_ORIGEM, PERCREDUCAO_BASE,COMSUBSTITUICAO,CODREDE, CODEMPRESA";

	// Trocas
    } else IF ($TAB == "trocas") {
      $CAMPOS = "NROTROCA, ID, CODPRODUTO, QTDE, NROPEDIDO, PRECO, TOTAL, QTDE_ENT, QTDE_REAPR, MOTIVO, QTDEFUTURA,CODVENDEDOR,CODMOTIVO,QTDEAUX";
      $codvendedor = vendedorEquipe($_GET["codvendedor"]);
      $WHERE = " AND P.CODVENDEDOR in ".
          "(select CODVENDEDOR from VENDEDORES where CODVENDEDOR = ".$codvendedor." or CODVENDEDOR_EQUIP = ".$codvendedor.")";;
      $dias_imp_ped = $dias_historico_peds;
      if ($dias_imp_ped == 0)
        $dias_imp_ped = 30;
     if ($DATAHORAINI == "") {
        $padraopedido = padraopedido($_GET["codvendedor"]);
        if ($padraopedido == "R") {
          $nromanifesto = ultimomanifesto($_GET["codvendedor"]);
          $WHERE .= " and (select count(P1.NROPEDIDO) from PEDIDOS P1 where P1.NROPEDIDO = P.NROPEDIDO ".
              "and (P1.NROMANIFESTO = ".$nromanifesto." or P1.DATA >= CURRENT_DATE-".$dias_imp_ped.")) > 0";
        } else
          $WHERE .= " and DATA >= CURRENT_DATE-".$dias_imp_ped;
      } else
        $WHERE .= " and DATA >= CURRENT_DATE-".$dias_imp_ped;

	// Vend. Rotas DST
    } else IF ($TAB == "vend_rotas_dst") {
      $CAMPOS = "CODVENDEDOR, NROROTA, CODCIDADE, CODCLIENTE, DIASEMANA, SEMANA ";
      $WHERE = " AND CODVENDEDOR = ".$_GET["codvendedor"];

	// Justificativas
    } else if ($TAB == "justificativas") {
      $CAMPOS = "codjust, descricao, situacao, obrigarobs";
  //TF02_DST - justificativa não compra
    } else if ($TAB == "tf02_dst" && $supervisao == 1) {
      $query = " select 'I' oper, ID, CODCLIENTE, CODCIDADE, MOTIVO, OBS, CODVENDEDOR, CODJUST, HORA, DATA, ID_, NROVEND_KM ".
               " from TF02_DST ".
               " where 1=1 ".
			   ($_GET["codvendedor"] > 0 ? " and CODVENDEDOR = ".$_GET["codvendedor"] : "").
			   ($CODCLIENTE > 0 ? " and CODCLIENTE = " .$CODCLIENTE : "").
			         " AND CAST(DATA AS TIMESTAMP) >= '".$DATAHORAINI."' ".
			         "AND CAST(DATA AS TIMESTAMP) <= '".$DATAHORAFIN."' ";
    } else IF ($TAB == "tf02_dst" && $supervisao != 1) {
      $CAMPOS = " id, codcliente, codcidade, motivo, obs, codvendedor, codjust, hora, data, ID_, NROVEND_KM ";
      $WHERE = " and codvendedor = ".$_GET["codvendedor"];
      if ($DATAHORAINI == "")
        $WHERE .= " and DATA >= CURRENT_DATE-30";


	// Config. Clientes - Cores
    } else IF ($TAB == "config_cli_cores") {
      $CAMPOS = " nro, cor, prazo, cor_rgb ";

	// Cores
    } else IF ($TAB == "cores") {
      $CAMPOS = " codcor, descricao  ";

	//Produto Fotos
	} else if ($TAB == "prod_fotos") {
		$CAMPOS = "codfoto, codproduto, nrofoto, caminho";

	// Grupos de Contas
    } else IF ($TAB == "gruposcontas") {
      $CAMPOS = " codgrupo, descricao, situacao ";

	// Desepsas do Vendedor
    } else IF ($TAB == "despesas_vend") {
      $CAMPOS = " nrodespesa, data, codgrupo, codvendedor, historico, valor, nromanifesto, id, codportador, qtde, nrodocumento, conferido, dataconferido ";
      $WHERE = " and codvendedor = ".$_GET["codvendedor"];

	// Marcas
    } else IF ($TAB == "marcas") {
      $CAMPOS = " codmarca, descricao, rendimento, situacao ";

	// Promoções do Vendedor
    } else IF ($TAB == "promocoes_vend") {
      $CAMPOS = " nropromocao, codvendedor ";
      if ($DATAHORAINI == "")
        $WHERE = " and (select count(PRO.NROPROMOCAO) from PROMOCOES PRO where CURRENT_DATE BETWEEN PRO.DATAINICIAL AND PRO.DATAFINAL AND P.NROPROMOCAO = PRO.NROPROMOCAO) > 0";

	// Config. Valores
    } else IF ($TAB == "config_valores") {
      $CAMPOS = " nro, codportador, codcpagto, valormin, valormax, tipoped, padrao_pedido, origem, pontuacao ";

	// Famílias
    } else IF ($TAB == "familias") {
      $CAMPOS = " codfamilia, descricao, situacao ";

	// Orçamentos
    } else if ($TAB == "orcamentos") {
      $CAMPOS = " nroorc, data, codcliente, codcpagto, obs, valtotal, id ";
      $WHERE = " and codvendedor = ".$_GET["codvendedor"];

	// Orçamentos - Itens
    } else if ($TAB == "orc_itens") {
      $CAMPOS = " nroorc, nroitem, codproduto, qtde, preco, valtotal, percdesconto, valdesconto ";
      $WHERE = "and (select first 1 o.codvendedor " .
			"from orcamentos o ".
			"where o.nroorc = p.nroorc ".
			"and o.codvendedor = ".$_GET["codvendedor"]." ".
			") > 0";

	// Bonificações
    } else if ($TAB == "bonificacoes") {
      $CAMPOS = " codbonif, descricao, datainicial, datafinal, contribuinte, padrao_pedido, codempresa, aplicar_flex ";

	// Bonificações - Itens
    } else if ($TAB == "bonif_itens") {
      $CAMPOS = " codbonif, nroitem, codfamilia, qtdevenda, qtdebonif, limitebonif, codgrupo, codsubgrupo, codproduto, tipobonif, vendaini, vendafin, percbonif, limitevendedor";

	// Bonificações - Participantes
    } else if ($TAB == "bonif_participantes") {
		$CAMPOS = " codbonif, nropart, codvendedor, codcliente, codrede,codgrupovend ";

	// Bonificações - Exceções
    } else if ($TAB == "bonif_excecoes") {
		$CAMPOS = " codbonif, nro, codcliente, codrede ";

	// Bonificações - Produtos Bloqueados
    } else if ($TAB == "bonif_prodbloq") {
		$CAMPOS = " codbonif, numero, codproduto ";

	// Veiculos
    } else if ($TAB == "transp_veiculos") {
	    $CAMPOS = " nroveiculo, veiculo, placa, uf, capaccarga ";

	//Roteirizações
	} else if ($TAB == "roteirizacoes") {
		date_default_timezone_set('UTC');
    //Buscando vendedor
    $codvendedor_equip = $_GET["codvendedor"];
		// Constrói o SQL de Seleção (Statement)
		$stmt = "select codvendedor, codrota, nrorota, ordem, ".
			"current_date - dataint_ diasint ".
			"from roteirizacoes_aux ".
			"where codvendedor = ".$codvendedor_equip;

		// Efetua a Consulta (Statement Handler)
		$sth = ibase_query($conexao, $stmt) or die(ibase_errmsg);

		// Verifica se a consulta retorna alguma coisa e, caso retorne,
		// associa a consulta (Statement Handler) a uma linha de objetos
		if($row = ibase_fetch_object($sth)){
			// Atribui a variáveis os resultados da seleção
			$codrota = $row->CODROTA;
			$nrorota = $row->NROROTA;
			$ordem = $row->ORDEM;
			$diasint = $row->DIASINT;
		}

		// Verifica se existe algum valor para a variável $diasint
		// e de acordo com o resultado define a rota como válida ou não
		if(!isset($diasint))
			$rota_valida = false;
		// Se a rota foi atualizada a mais de uma semana, é
		// inválida e deve passar para a próxima na ordenação
		else if ($diasint <= 7)
			$rota_valida = true;
		else
			$rota_valida = false;

		// Se a rota tiver menos de 7 dias procede a seleção com os argumentos da linha
		if($rota_valida){
			$query = "select rc.codrota, rc.nrorota, rc.nro, rc.ordem, rc.codcliente, rc.diasemana, rr.descricao ".
				"from roteirizacoes r ".
				"left join roteirizacoes_rotas rr on rr.codrota = r.codrota ".
				"left join roteirizacoes_clientes rc on rc.codrota = rr.codrota and rc.nrorota = rr.nrorota ".
				"where rc.ordem is not null ".
				"and rc.codrota =  ".$codrota." ".
				"and rc.nrorota =  ".$nrorota." ".
				"order by rr.ordem, rc.ordem";
		// Caso a rota tenha mais de 7 dias, seleciona a próxima rota da roteirização, de acordo com a ordem
		} else {
			// Quando as variáveis abaixo não estão definidas, é devido a tabela de ROTEIRIZACAO_AUX
			// ainda não conter nenhum dado do Vendedor, assim sendo seleciona-se sua primeira Rota e Ordem
			if(!isset($codrota)){
				$stmt = "select first 1 rr.codrota, rr.nrorota, rr.ordem ".
					"from roteirizacoes r ".
					"left join roteirizacoes_rotas rr on rr.codrota = r.codrota ".
					"where codvendedor = ".$codvendedor_equip;
				$sth = ibase_query($conexao, $stmt);
				if($row = ibase_fetch_object($sth)){
					$codrota = $row->CODROTA;
					$nrorota = $row->NROROTA;
					$ordem = $row->ORDEM;
				};
			// Se as variáveis estiverem definidas, ou seja, se ROTEIRIZACAO_AUX conter dados, segue abaixo
			} else if (isset($ordem)) {
				// Seleciona a próxima ordem...
				$stmt = "select ordem from roteirizacoes_rotas ".
					"where codrota = ".$codrota." ".
					"and ordem > ".$ordem." ".
					"order by ordem";
				$sth = ibase_query($conexao, $stmt) or die(ibase_errmsg);
				$row = ibase_fetch_object($sth);

				if(isset($row->ORDEM)){
					$ordem = $row->ORDEM;
				// Caso a ordenação termine, volta para a primeira
				} else {
					$ordem = 1;
				}
			}

			if(isset($codrota) && isset($ordem)){

				$stmt = "select rr.codrota, rr.nrorota, rr.ordem ".
					"from roteirizacoes r ".
					"left join roteirizacoes_rotas rr on rr.codrota = r.codrota ".
					"where rr.ordem is not null ".
					"and rr.codrota = ".$codrota." ".
					"and rr.ordem = ".$ordem." ".
					"order by rr.ordem ";
				$sth = ibase_query($conexao, $stmt) or die(ibase_errmsg);
				$row = ibase_fetch_object($sth);

				// Obtém o primeiro dia da semana

				// Aqui utiliza a função date para obter o dia da semana em inglês,
				// compara e se é Domingo...
				if(date("l") == "Sunday")
					// Se for Domindo, pega a data atual
					$data = date("d.m.Y");
				else
					// Se não for domingo pega a data do último Domingo
					$data = date("d.m.Y", strtotime('Last Sunday', time()));

				// Faz um update ou insert na tabela ROTEIRIZACAO_AUX com os dados da próxima rota, data integração e ordem
				$stmt = "update or insert into ROTEIRIZACOES_AUX (CODVENDEDOR, CODROTA, NROROTA, ORDEM, DATAINT_) ".
						"values(?, ?, ?, ?, ?)";

				// Prepara o update com os parâmetros vazios
				$sth = ibase_prepare($conexao, $stmt);

				// Nro. Rota
				$nrorota = $row->NROROTA;

				// Executa o update e define os parâmetros
				ibase_execute($sth,
						$codvendedor_equip, // CODVENDEDOR
						$codrota, // CODROTA
						$nrorota, // NROROTA
						$ordem, // ORDEM
						$data // DATAINT
				);
			}
		}

		$query = "select 'I' oper, rc.codrota, rc.nrorota, rc.nro, rc.ordem, rc.codcliente, rc.diasemana, rr.descricao, ".

			"case when ".
			"	(select codrota from roteirizacoes_aux where codvendedor = r.codvendedor) = r.codrota ".
			"	and (select nrorota from roteirizacoes_aux where codvendedor = r.codvendedor) = rr.nrorota then ".
			"	1 ".
			"else ".
			"	0 ".
			"end ativa, r.codvendedor, rc.turno ".

			"from roteirizacoes r ".
			"left join roteirizacoes_rotas rr on rr.codrota = r.codrota ".
			"left join roteirizacoes_clientes rc on rc.codrota = rr.codrota and rc.nrorota = rr.nrorota ".
			"join vendedores ve on r.codvendedor = ve.codvendedor ".
            /*"where rc.ordem is not null ".
			" and r.codvendedor = ".$_GET["codvendedor"].*/

			/*"where (select codrota from roteirizacoes_aux where codvendedor = r.codvendedor) = r.codrota ".
			"	and (select nrorota from roteirizacoes_aux where codvendedor = r.codvendedor) = rr.nrorota and rc.ordem is not null ".*/
			" where (VE.CODVENDEDOR = ".$codvendedor_equip." OR VE.CODSUPERVISOR = ".$codvendedor_equip.") ".
			" order by rr.ordem, rc.ordem";
	// Famílias - Linha
    } else IF ($TAB == "familias_linha") {
      $CAMPOS = " codfamilia, codlinha, descricao ";

	// Situacao - Follow
    } else IF ($TAB == "situacao_follow") {
      $CAMPOS = " codsituacao, descricao ";

	 // Clientes - Equipamentos
    } else IF ($TAB == "cli_equipamentos") {
        $CAMPOS = "nroequip, codcliente, data, descricao, qtde, nrodocumento, datavencto, codproduto";
		$WHERE = " and CODCLIENTE  in (select c.codcliente ".
				"from clientes c ".
				"where c.CODVENDEDOR = ".$_GET["codvendedor"].")";
		if ($DATAHORAINI == "")
			$WHERE .= " and DATA = CURRENT_DATE";
	// Clientes - Agendamentos
    } else IF ($TAB == "cli_agendamentos") {
      $CAMPOS = " codcliente, nroitem, data, obs, codsitfollow, id ";
      $WHERE = " and CODVENDEDOR = ".$_GET["codvendedor"];
      if ($DATAHORAINI == "")
        $WHERE .= " and DATA = CURRENT_DATE";
	// Clientes - Estoque
    } else IF ($TAB == "cli_estoque") {
      $CAMPOS = " codcliente, codproduto, qtde, estoque ";
	  if ($DATAHORAINI == ""){
		   $dias_imp_ped = $dias_historico_peds;
		  if ($dias_imp_ped == 0)
			$dias_imp_ped = 30;
		  $WHERE .= " and DATA >= CURRENT_DATE-".$dias_imp_ped.
					($_GET["codvendedor"] > 0 ? " and CODVENDEDOR = ".$_GET["codvendedor"] : "");
	  }else{
		  $WHERE .= " and codcliente is null";
	  }
	// Merchandising
	} else if ($TAB == "merchandising"){
	  $CAMPOS = "nropergunta, nroperguntasup, descricao, tipo, situacao ";

	// Mensagens
	} else if ($TAB == "mensagens" && $supervisao == 1) {
	  $query = "SELECT 'I' OPER, m.nromensagem, m.data, m.codsupervisor, m.codvendedor, m.codcliente, m.mensagem, m.id ".
      "from MENSAGENS M ".
      "join CLIENTES CL ON M.CODCLIENTE = CL.CODCLIENTE ".
			"WHERE 1=1 ".
			($_GET["codvendedor"] > 0 ? " and CL.CODVENDEDOR = ".$_GET["codvendedor"] ." " : " ").
			($CODCLIENTE > 0 ? " and CL.CODCLIENTE = " .$CODCLIENTE : "").
			" AND ((SELECT COUNT(P.NROPEDIDO) FROM PEDIDOS P WHERE CL.CODCLIENTE = P.CODCLIENTE AND P.DATAHORA >= '".$DATAHORAINI."'  ".
			"	AND P.DATAHORA <= '".$DATAHORAFIN."' ".
			($_GET["codvendedor"] > 0 ? " AND P.CODVENDEDOR = ".$_GET["codvendedor"] : "").
			($CODCLIENTE > 0 ? " and P.CODCLIENTE = ".$CODCLIENTE : "").
			"   AND P.SITUACAO <> 4 ".
			"   AND P.TIPO in ('V','4') ".
			") > 0 ".
			"   OR ".
		  "(SELECT COUNT(T.ID) FROM TF02_DST T WHERE CL.CODCLIENTE = T.CODCLIENTE ".
			" AND CAST(T.DATA ||' '|| T.HORA AS TIMESTAMP) >= '".$DATAHORAINI."'  ".
			" AND CAST(T.DATA ||' '|| T.HORA AS TIMESTAMP) <= '".$DATAHORAFIN."' AND T.CODVENDEDOR =".$_GET["codvendedor"] .") > 0 ".
			"   OR ".
		  "(SELECT COUNT(CN.NRO) FROM CLI_NAOVISITADOS CN WHERE CL.CODCLIENTE = CN.CODCLIENTE ".
			" AND CAST(CN.DATA ||' 23:00' AS TIMESTAMP) >= '".$DATAHORAINI."'  ".
			" AND CAST(CN.DATA ||' 23:00' AS TIMESTAMP) <= '".$DATAHORAFIN."' AND CN.CODVENDEDOR =".$_GET["codvendedor"] .") > 0) ";
	} else if ($TAB == "mensagens" && $supervisao == 0) {
	  $CAMPOS = "nromensagem, data, codsupervisor, codvendedor, codcliente, mensagem, id, lida";
    $WHERE = " and P.CODVENDEDOR = ".$_GET["codvendedor"];
    if ($DATAHORAINI == "")
      $WHERE .= " and DATA >= CURRENT_DATE-100";
	// Pesquisas de Merchandising
	} else if (($TAB == "pesquisas_merchan") && ($supervisao == 1)){
	  $query = "select 'I' oper, P.NROPESQUISA, P.DATA, P.CODCLIENTE, P.CODVENDEDOR, P.HORA ".
             "from PESQUISAS_MERCHAN P ".
             "where 1=1 ".
			 ($_GET["codvendedor"] > 0 ? "and P.CODVENDEDOR = ".$_GET["codvendedor"]." " : "").
			 ($CODCLIENTE > 0 ? " and P.CODCLIENTE = ".$CODCLIENTE : "").
			       " AND CAST(P.DATA AS TIMESTAMP) >= '".$DATAHORAINI."' ".
			       " AND CAST(P.DATA AS TIMESTAMP) <= '".$DATAHORAFIN."' ";

	// Pesquisas de Merchandising = Itens
	} else if (($TAB == "pesquisas_merchan_itens") && ($supervisao == 1)){

		$query =
			"SELECT 'I' OPER, PI.NROPESQUISA, PI.NRO, PI.NROPERGUNTA, PI.NRORESP ".
			"FROM PESQUISAS_MERCHAN P ".
			"LEFT JOIN PESQUISAS_MERCHAN_ITENS PI ON PI.NROPESQUISA = P.NROPESQUISA ".
			"WHERE P.NROPESQUISA IS NOT NULL ".
			($_GET["codvendedor"] > 0 ? " AND P.CODVENDEDOR = ".$_GET["codvendedor"]." " : "").
			($CODCLIENTE > 0 ? " and P.CODCLIENTE = ".$CODCLIENTE : "").
			" AND CAST(P.DATA AS TIMESTAMP) >= '".$DATAHORAINI."' ".
			"AND CAST(P.DATA AS TIMESTAMP) <= '".$DATAHORAFIN."' ";

	// Distribuição
	} else if (($TAB == "distribuicao") && ($supervisao == 1)){
	  $query ="SELECT 'I' OPER, D.DATA, D.HORA, D.CODCLIENTE, D.CODVENDEDOR, D.NRODISTR ".
            "from DISTRIBUICAO D ".
            " where 1=1 ".
			($_GET["codvendedor"] > 0 ? " and D.CODVENDEDOR = ".$_GET["codvendedor"] : "").
			($CODCLIENTE > 0 ? " and D.CODCLIENTE = " .$CODCLIENTE : "").
			      " AND CAST(D.DATA AS TIMESTAMP) >= '".$DATAHORAINI."' ".
			      "AND CAST(D.DATA AS TIMESTAMP) <= '".$DATAHORAFIN."' ";
	} else if (($TAB == "distribuicao_itens") && ($supervisao == 1)){
  //Distribuicao itens
		$query =
			"SELECT 'I' OPER, DI.NRODISTR, DI.NRO, DI.CODGRUPO, DI.CODSUBGRUPO ".
			"FROM DISTRIBUICAO D ".
			"JOIN DISTRIBUICAO_ITENS DI ON D.NRODISTR = DI.NRODISTR ".
			"WHERE D.NRODISTR IS NOT NULL ".
			($_GET["codvendedor"] > 0 ? " and D.CODVENDEDOR = ".$_GET["codvendedor"] : "").
			($CODCLIENTE > 0 ? " and D.CODCLIENTE = ".$CODCLIENTE : "").
			" AND CAST(D.DATA AS TIMESTAMP) >= '".$DATAHORAINI."' ".
			"AND CAST(D.DATA AS TIMESTAMP) <= '".$DATAHORAFIN."' ";

	// Subgrupo
	} else if ($TAB == "subgrupos"){
	  $CAMPOS = "codgrupo, codsubgrupo, descricao, situacao, desc_max, acrescimomax";

	// fechamento manifesto
	} else if ($TAB == "fechamento_manifesto") {
	  $CAMPOS = " nrofechamento, nromanifesto, codvendedor, data, id, datareceb, valor, hora, saldoandroid ";
    //condição absurda para que na primeira importação não busque nada
    if ($DATAHORAINI == "") {
      $nromanifesto = ultimomanifesto($_GET["codvendedor"]);
      $WHERE = " and NROMANIFESTO = ".$nromanifesto;
    } else
      $WHERE = " and coalesce(codvendedor, 0) = ".$_GET["codvendedor"];
	// fechamento manifesto - portador
	} else if ($TAB == "fechamento_manifesto_port") {
	  $CAMPOS = "nrofechamento, codportador, codvendedor, id, valor";
    //condição absurda para que na primeira importação não busque nada
    if ($DATAHORAINI == "") {
      $nromanifesto = ultimomanifesto($_GET["codvendedor"]);
      $WHERE = " and (select count(F.NROFECHAMENTO) from FECHAMENTO_MANIFESTO F ".
          "where P.NROFECHAMENTO = F.NROFECHAMENTO and f.NROMANIFESTO = ".$nromanifesto.") > 0";
    } else
      $WHERE = " and coalesce(codvendedor, 0) = ".$_GET["codvendedor"];
	// contasreceber
	} else if ($TAB == "contasreceber") {
	  $CAMPOS = "nrolancto, codcliente, dataemissao, datavencto, valor, valorpago, codportador, situacao, nrodocumento, nroparc, codvendedor, ".
        "coalesce(valdespesas,0) + coalesce(VALDESPOUT,0) valdespesas, valorjuros, codbanco, valormulta, valordespesas_baixa, identif_pix, hash_pix";

    // Condição absurda caso não for informado para importar contas no android
    if (!$usar_cobrancas)
      	$WHERE = " and NROLANCTO is null ";
    else if ($DATAHORAINI == "")
        $WHERE = " and (SITUACAO = 'A' OR SITUACAO = 'R') ";
	if ($configdao->getDisponibilizar()->getClientes_mult_vends()){
		$WHERE .= " and exists( ".
		"    select first 1 1 ".
		"    from cli_vendedores cv ".
		"    where cv.codcliente = p.codcliente and ".
		"         (cv.codvendedor = ".$_GET["codvendedor"]." or ".
		"          cv.codvendedor = (select first 1 codsupervisor ".
		"                            from vendedores ".
		"                            where codvendedor = ".$_GET["codvendedor"]." ))) ";  
	}
    else if ($DATAHORAINI == "")
      $WHERE .= " and (P.CODVENDEDOR = ".$_GET["codvendedor"]." or ".
          "(select V.CODSUPERVISOR from VENDEDORES V where V.CODVENDEDOR = P.CODVENDEDOR) = ".$_GET["codvendedor"].")";
    ELSE
      $WHERE .= " and (".
          "P.CODVENDEDOR = ".$_GET["codvendedor"]." or ".
          "(select V.CODSUPERVISOR from VENDEDORES V where V.CODVENDEDOR = P.CODVENDEDOR) = ".$_GET["codvendedor"]." or ".
          "P.CODVENDEDOR_ANT = ".$_GET["codvendedor"]." or ".
          "(select V.CODSUPERVISOR from VENDEDORES V where V.CODVENDEDOR = P.CODVENDEDOR_ANT) = ".$_GET["codvendedor"].")";
	// contasreceber pagto
	} else if ($TAB == "contasreceber_pagto") {
	  $CAMPOS = "NROLANCTO, NRO, CODVENDEDOR, ID, DATAPAGTO, VALOR, CODPORTADOR, NROLANCTO_LAN, HORAPAGTO, VALDESPESAS, VALORJUROS, NROMANIFESTO, VALMULTA";
    if ($DATAHORAINI == "") {
      $padraopedido = padraopedido($_GET["codvendedor"]);
      if ($padraopedido == "R") {
          $nromanifesto = ultimomanifesto($_GET["codvendedor"]);
          $WHERE .= " and p.NROMANIFESTO = ".$nromanifesto;

          $CAMPOS .= ", CASE WHEN cast(P.DATAPAGTO||' '||coalesce(P.HORAPAGTO, '00:00') as timestamp) <= COALESCE( ".
            "  (SELECT MAX(CAST(F.DATA||' '||F.HORA AS TIMESTAMP)) FROM FECHAMENTO_MANIFESTO F ".
            "WHERE F.NROMANIFESTO = ".$nromanifesto."), '31.12.1899') THEN 1 ELSE 0 END FECHAMENTO ";
      } else
          $WHERE = " and NROLANCTO is null";



    } else
      $WHERE = " and CODVENDEDOR = ".$_GET["codvendedor"];
	// cobrança
	} else if ($TAB == "cobranca_android") {
	  $CAMPOS = "nrocobranca, codvendedor, id, codcliente, nrofechamento, data, valor, nromanifesto ";
    //condição absurda para que na primeira importação não busque nada
    if ($DATAHORAINI == "") {
      $nromanifesto = ultimomanifesto($_GET["codvendedor"]);
      $WHERE = " and P.NROMANIFESTO = ".$nromanifesto;
    } else
      $WHERE = " and coalesce(codvendedor, 0) = ".$_GET["codvendedor"];
	// cobrança portador
	} else if ($TAB == "cobranca_port") {
	  $CAMPOS = "nrocobranca, codportador, valor, codvendedor, id";
    //condição absurda para que na primeira importação não busque nada
    if ($DATAHORAINI == "") {
      $nromanifesto = ultimomanifesto($_GET["codvendedor"]);
      $WHERE = " and (select count(C.NROCOBRANCA) from COBRANCA_ANDROID C ".
          "where C.NROCOBRANCA = P.NROCOBRANCA and C.NROMANIFESTO = ".$nromanifesto.") > 0";
    } else
      $WHERE = " and coalesce(codvendedor, 0) = ".$_GET["codvendedor"];
	// cobrança contas receber
	} else if ($TAB == "cobranca_crec") {
	  $CAMPOS = "nrocobranca, nrolancto, valorpago, codvendedor, id";
    //condição absurda para que na primeira importação não busque nada
    if ($DATAHORAINI == "") {
      $nromanifesto = ultimomanifesto($_GET["codvendedor"]);
      $WHERE = " and (select count(C.NROCOBRANCA) from COBRANCA_ANDROID C ".
          "where C.NROCOBRANCA = P.NROCOBRANCA and C.NROMANIFESTO = ".$nromanifesto.") > 0";
    } else
      $WHERE = " and coalesce(codvendedor, 0) = ".$_GET["codvendedor"];
	// ped desdobramento
	} else if ($TAB == "ped_desdobramento") {
	  $CAMPOS = "NROPEDIDO, NRODESDOBRAMENTO, ID, CODVENDEDOR, CODPORTADOR, VALOR, NROPARC";
    //PRIMEIRA INTEGRAÇÃO BUSCAR DADOS SÓ DO ÚLTIMO MANIFESTO
    if ($DATAHORAINI == "") {
      $nromanifesto = ultimomanifesto($_GET["codvendedor"]);
      $WHERE = " and (select count(P1.NROPEDIDO) from PEDIDOS P1 ".
          "where P1.NROPEDIDO = P.NROPEDIDO and P1.NROMANIFESTO = ".$nromanifesto.") > 0";
    } else
      $WHERE = " and coalesce(codvendedor, 0) = ".$_GET["codvendedor"];
	// tipos pedidos
	} else if ($TAB == "tipospedidos") {
     $query = "select 'U' OPER, T.TIPO, T.DESCRICAO, T.CODPORTADOR, \n".
              "NUMPEDS, DIASPEDS ".
              "from TIPOSPEDIDOS T \n".
              "join VENDEDORES VE ON VE.CODVENDEDOR = ".$_GET["codvendedor"];
  //  $CAMPOS = "TIPO,DESCRICAO,CODPORTADOR";
	// credito cliente
	} else if ($TAB == "clientes_credito") {
    $CAMPOS = "CODCLIENTE,CREDITOCLIENTE,DATAHORACRED";
    if ($CODCLIENTE > 0)
      $WHERE = " and CODCLIENTE = ".$CODCLIENTE;
	// segmentos
	} else if ($TAB == "segmentos") {
    $CAMPOS = "CODSEGMENTO,DESCRICAO, SITUACAO";
	// Vendedores
	} else if ($TAB == "vendedores"){
	  $CAMPOS = "codvendedor, nome, codsupervisor, tipo, situacao, codvendedor_equip, cnpj, tipo_bloq_horarios, controla_limitecred,codbanco,visitasequencial, codtipoest, codrota";
	// Vendedores - Flex Mensal
	} else if ($TAB == "vendedores_flex_mensal"){
    flexacumulado($_GET["codvendedor"]);
	  $CAMPOS = "codvendedor, nro, mes, ano, valor, valorbonif, coalesce(padrao_pedido,'') padrao_pedido ";
      $WHERE = " and coalesce(codvendedor, 0) = ".$_GET["codvendedor"];
	// Pesquisas de Preço
	} else if ($TAB == "pesquisas_preco") {
	  $CAMPOS = "codpesquisa, descricao, datainicial, datafinal, nromodelo, periodomes";
	// Perguntas Supervisor
	} else if ($TAB == "perguntas_supervisor") {
	  $CAMPOS = "codpergunta, descricao, situacao";
	} else if ($TAB == "pesquisas_preco_itens") {
	  $CAMPOS = "codpesquisa, nroitem, codproduto, codgrupo, codsubgrupo";
	} else if ($TAB == "pesquisas_preco_ranges") {
	  $CAMPOS = "codpesquisa, nroitem, nrorange, valorinicial, valorfinal";
	//Descontos Qtde Mínima
  } else if ($TAB == "descontos_qtdemin") {
	  $CAMPOS = "nrodesc, codproduto, codgrupo, codsubgrupo, qtdeminima, percdesconto, situacao, codgrupovend, codcpagto, descontar_flex,NAOGERAVERBA, CODFAMILIA, SUGERIRPRECOTABELA, APLICARFLEX, CODEMPRESA";
    if ($DATAHORAINI == "")
      $WHERE = " and situacao = 'A'";
  //Horarios_vendedores
  } else if ($TAB == "horarios_vendedores") {
	  $CAMPOS = "codvendedor, nro, diasemana, hora, horaini, horafin";
    $WHERE = " and codvendedor = ".$_GET["codvendedor"];
  //MIX OBRIGATORIO
  } else if ($TAB == "mix_obrigatorio") {
	  $CAMPOS = "NROMIX, DATA, HORA, CODCLIENTE, CODVENDEDOR, NROCHECKOUT, NROMODELO, TIPO";
    if ($supervisao == 1)
	    $query = "select 'I' OPER, M.nromix, M.codcliente, M.codvendedor, M.data, M.hora ".
             "from mix_obrigatorio M ".
             "where 1=1 ".
			 ($_GET["codvendedor"] > 0 ? " and M.codvendedor = ".$_GET["codvendedor"] : "").
			 ($CODCLIENTE > 0 ? " and M.CODCLIENTE = ".$CODCLIENTE : "").
			       "AND CAST(M.DATA AS TIMESTAMP) >= '".$DATAHORAINI."' ".
			       "AND CAST(M.DATA AS TIMESTAMP) <= '".$DATAHORAFIN."' ";
    else if ($DATAHORAINI == "")
      $WHERE = " and codvendedor = ".$_GET["codvendedor"]."  and DATA >= CURRENT_DATE-30";
    else
    //Não receber dados da tabela z_
      $WHERE = " and NROMIX IS NULL";
  //MIX OBRIGATORIO ITENS
  } else if ($TAB == "mix_obrigatorio_itens") {
	  $CAMPOS = "nromix, nro, codproduto";
    if ($supervisao == 1)
	    $query = "select 'I' OPER, mi.nromix, mi.nro, mi.codproduto ".
             "from mix_obrigatorio M ".
             "join mix_obrigatorio_itens mi on m.nromix = mi.nromix ".
             "where 1=1 ".
			 ($_GET["codvendedor"] > 0 ? " and M.codvendedor = ".$_GET["codvendedor"] : "").
			 ($CODCLIENTE > 0 ? " and M.CODCLIENTE = ".$CODCLIENTE : "").
			       " AND CAST(M.DATA AS TIMESTAMP) >= '".$DATAHORAINI."' ".
			       "AND CAST(M.DATA AS TIMESTAMP) <= '".$DATAHORAFIN."' ";
    else if ($DATAHORAINI == "") {
	    $query = "select 'I' OPER, mi.nromix, mi.nro, mi.codproduto ".
             "from mix_obrigatorio M ".
             "join mix_obrigatorio_itens mi on m.nromix = mi.nromix ".
             "where M.codvendedor = ".$_GET["codvendedor"].
			       "AND CAST(M.DATA AS TIMESTAMP) >= CURRENT_DATE-30 ";
    } else
    //Não receber dados da tabela z_
      $WHERE = " and NROMIX IS NULL";
	//ESTOQUE RESERVADO
  } else if ($TAB == "estoque_reserva") {
	  if ($configdao->getDisponibilizar()->getEstoqueReservado()) {
		  $query = "select p.codproduto, coalesce(sum(P.RESERVADO),0) as ESTOQUE_RESERVA ".
						  "from produtos_reservados p ".
						     ($CODPRODUTO != "" ? " where P.CODPRODUTO IN (".$CODPRODUTO.") " : "").
						  "group by 1";
		} else if (($bloquear_est_disp || $exibir_est_disponivel) && $processo != 'PCSISTEMAS') {
      //if ($DATAHORAINI == "")
        $query =
		"select CODPRODUTO, sum(ESTOQUE_RESERVA) ESTOQUE_RESERVA \n".
		"from (\n".
        "  select PP.CODPRODUTO, sum(\n".
        "         case\n".
        "           when coalesce(PUN.FATOR, 0) > 0 and coalesce(PRN.FATOR, 0) > 0 then PP.QTDE * PUN.FATOR / PRN.FATOR\n".
        "           else PP.QTDE\n".
        "         end) ESTOQUE_RESERVA \n".
        "  from PEDIDOS P\n".
        "  left join PED_PRODS PP on P.NROPEDIDO = PP.NROPEDIDO\n".
        "  left join PRODUTOS PR on PP.CODPRODUTO = PR.CODPRODUTO\n".
        "  left join PRODUTOS_UNCONV PUN on PP.CODPRODUTO = PUN.CODPRODUTO and PP.UN = PUN.UN\n".
        "  left join PRODUTOS_UNCONV PRN on PP.CODPRODUTO = PRN.CODPRODUTO and PR.UN = PRN.UN\n".
        "  join VENDEDORES VE on VE.CODVENDEDOR = ".$_GET["codvendedor"].
		"  join EMPRESAS E ON P.CODEMPRESA = E.CODEMPRESA AND (COALESCE(VE.CODEMPRESA,1) = E.CODEMPRESA ". 
																	  ($configdao->getDisponibilizar()->getTiposEstoque() ? " or E.CODTIPOEST = VE.CODTIPOEST ) " : ") ").
        "  where P.SITUACAO not in (3, 4) and\n".
        "        P.TIPO <> 'R' \n".
          ($CODPRODUTO != "" ? " and PP.CODPRODUTO IN (".$CODPRODUTO.") " : "").
        "  group by 1\n".
        "\n".
        "  union all\n".
        "\n".
        "  select PP.CODPRODUTO, sum(\n".
        "         case\n".
        "           when coalesce(PUN.FATOR, 0) > 0 and coalesce(PRN.FATOR, 0) > 0 then -PV.QTDE * PUN.FATOR / PRN.FATOR\n".
        "           else -PV.QTDE\n".
        "         end)\n".
        "  from PEDIDOS P\n".
        "  left join PED_PRODS PP on P.NROPEDIDO = PP.NROPEDIDO\n".
        "  join PED_PRODS_VENDS PV on PP.NROPEDIDO = PV.NROPEDIDO and PP.NROITEM = PV.NROITEM\n".
        "  left join PRODUTOS PR on PP.CODPRODUTO = PR.CODPRODUTO\n".
        "  left join PRODUTOS_UNCONV PUN on PP.CODPRODUTO = PUN.CODPRODUTO and PP.UN = PUN.UN\n".
        "  left join PRODUTOS_UNCONV PRN on PP.CODPRODUTO = PRN.CODPRODUTO and PR.UN = PRN.UN\n".
        "  join VENDEDORES VE on VE.CODVENDEDOR = ".$_GET["codvendedor"].
        "  join EMPRESAS E ON P.CODEMPRESA = E.CODEMPRESA AND COALESCE(VE.CODEMPRESA,1) = E.CODEMPRESA ".
        "  where P.SITUACAO = 2 and\n".
        "        P.TIPO <> 'R' \n".
          ($CODPRODUTO != "" ? " and PP.CODPRODUTO IN (".$CODPRODUTO.") " : "").
        "  group by 1\n".
        "\n".
        "  union all\n".
        "\n".
        "  select T.CODPRODUTO, sum(T.QTDE)\n".
        "  from PEDIDOS P\n".
        "  join TROCAS T on P.NROPEDIDO = T.NROPEDIDO\n".
        "  join VENDEDORES VE on VE.CODVENDEDOR = ".$_GET["codvendedor"].
        "  join EMPRESAS E ON P.CODEMPRESA = E.CODEMPRESA AND COALESCE(VE.CODEMPRESA,1) = E.CODEMPRESA ".
        "  where P.SITUACAO not in (3, 4) and\n".
        "        P.TIPO <> 'R' \n".
          ($CODPRODUTO != "" ? " and T.CODPRODUTO IN (".$CODPRODUTO.") " : "").
        "  group by 1\n".
        "\n".
        "  union all\n".
        "  select PR.CODPRODUTO, sum(OC.QTDE)\n".
        "  from ORDENSPRODUCAO P\n".
        "  join ORDPROD_COMPOSICAO OC on P.NROORDEM = OC.NROORDEM\n".
        "  join PRODUTOS PR on PR.CODPRODUTO = OC.CODPRODUTOCOMP\n".
        "  join VENDEDORES VE on VE.CODVENDEDOR = ".$_GET["codvendedor"].
        "  join EMPRESAS E ON P.CODEMPRESA = E.CODEMPRESA AND COALESCE(VE.CODEMPRESA,1) = E.CODEMPRESA ".
        "  where P.SITUACAO = 1 and\n".
        "        PR.TIPOPRODUTO = 'M' " .
         ($CODPRODUTO != "" ? " and PR.CODPRODUTO IN (".$CODPRODUTO.") " : "").
        "  group by 1\n".
		")\n".
		"group by 1";




    } else
      $query = "select CODPRODUTO, 0 ESTOQUE_RESERVA, 'I' OPER from PRODUTOS PR where PR.CODPRODUTO IS NULL";
	//RESUMO CHECAGENS
  } else if ($TAB == "resumo_checagens") {
	  $CAMPOS = "nrochecagem, codsupervisor, id, data, codvendedor, substring(obs from 1 for 500) obs";
    $WHERE = " and codsupervisor = ".$_GET["codvendedor"];
    if ($DATAHORAINI == "")
      $WHERE .= " and data >= CURRENT_DATE-60";
	//CF_ICMS
  } else if ($TAB == "cf_icms") {
	  if ($DATAHORAINI == "")
      $query =
          "SELECT 'I' OPER, '' CODPRODUTO, CODCLASSFISCAL, NRO, UF, PERCICMS, PERCREDUCAO, SITTRIB, PERCREDALIQUOTA, PERCICMS_ST, UF_ORIGEM, ".
          "PERCDIFERIMENTO, CONTRIBUINTE, CODREDE, CODEMPRESA, CONSUM_FINAL, OPC_TRIBUTARIA, PERCFCP,PERCICMSCRED, CODINCISO ".
          "FROM CF_ICMS ".
          " ".
          "UNION ALL ".
          " ".
          "SELECT 'I' OPER, CODPRODUTO, 0 CODCLASSFISCAL, NRO, UF, PERCICMS, PERCREDUCAO, SITTRIB, PERCREDALIQUOTA, PERCICMS_ST, UF_ORIGEM, ".
          "PERCDIFERIMENTO, CONTRIBUINTE, CODREDE, CODEMPRESA, CONSUM_FINAL, OPC_TRIBUTARIA, PERCFCP,PERCICMSCRED, 0 AS CODINCISO ".
          "FROM PROD_ICMS";
    else
      $query =
          "SELECT OPERACAO OPER, '' CODPRODUTO, CODCLASSFISCAL, NRO, UF, PERCICMS, PERCREDUCAO, SITTRIB, PERCREDALIQUOTA, PERCICMS_ST, UF_ORIGEM, ".
          "PERCDIFERIMENTO, CONTRIBUINTE, CODREDE, CODEMPRESA, CONSUM_FINAL, OPC_TRIBUTARIA, PERCFCP,PERCICMSCRED, CODINCISO ".
          "FROM Z_CF_ICMS ".
          "where DATAINT BETWEEN '".$DATAHORAINI."' AND '".$DATAHORAFIN."' ".
          " ".
          "UNION ALL ".
          " ".
          "SELECT OPERACAO OPER, CODPRODUTO, 0 CODCLASSFISCAL, NRO, UF, PERCICMS, PERCREDUCAO, SITTRIB, PERCREDALIQUOTA, PERCICMS_ST, UF_ORIGEM, ".
          "PERCDIFERIMENTO, CONTRIBUINTE, CODREDE, CODEMPRESA, CONSUM_FINAL, OPC_TRIBUTARIA, PERCFCP,PERCICMSCRED, 0 as CODINCISO ".
          "FROM Z_PROD_ICMS ".
          "where DATAINT BETWEEN '".$DATAHORAINI."' AND '".$DATAHORAFIN."'";
	//PERGUNTAS PDV
  } else if ($TAB == "perguntaspdv") {
	  $CAMPOS = "codpergunta,descricao,codintegracao,nromodelo,periodomes";
	//RELATORIO PDV
  } else if ($TAB == "relatoriopdv") {
	  if ($DATAHORAINI == "")
      $query = "SELECT 'I' OPER, S2.NROREL, S2.CODVENDEDOR, S2.CODCLIENTE, S2.DATA, S2.HORA, S2.CODPERGUNTA, S2.QTDE ".
          "FROM ".
          " ".
          "(select R.CODVENDEDOR, R.CODCLIENTE, R.CODPERGUNTA, MAX(NROREL) NROREL ".
          " from RELATORIOPDV R ".
          " JOIN CLIENTES CL ON R.CODCLIENTE = CL.CODCLIENTE ".
          " JOIN VENDEDORES VE ON R.CODVENDEDOR = VE.CODVENDEDOR ".
          " WHERE VE.CODVENDEDOR = ".$_GET["codvendedor"].
          " GROUP BY 1, 2, 3) S1 ".
          " ".
          "JOIN (select R.NROREL, R.CODVENDEDOR, R.CODCLIENTE, R.DATA, R.HORA, R.CODPERGUNTA, R.QTDE ".
          "      from RELATORIOPDV R ".
          "      JOIN CLIENTES CL ON R.CODCLIENTE = CL.CODCLIENTE ".
          "      JOIN VENDEDORES VE ON R.CODVENDEDOR = VE.CODVENDEDOR ".
          "      WHERE VE.CODVENDEDOR = ".$_GET["codvendedor"].") S2 ".
          " ".
          "ON S1.CODVENDEDOR = S2.CODVENDEDOR AND S1.CODCLIENTE = S2.CODCLIENTE AND S1.CODPERGUNTA = S2.CODPERGUNTA AND S1.NROREL = S2.NROREL ".
          "order by 1";
    else
    //Não importar o que esta na tabela Z_!!!
      $query = "select 'I' OPER, R.NROREL, R.CODVENDEDOR, R.CODCLIENTE, R.DATA, R.HORA, R.CODPERGUNTA, R.QTDE from RELATORIOPDV R where R.NROREL IS NULL";
	//BLOQPRODS
  } else if ($TAB == "bloqprods") {
	  $CAMPOS = "codbloqueio, descricao, data";
	//BLOQPRODS CONFIG
  } else if ($TAB == "bloqprods_config") {
	  $CAMPOS = "codbloqueio,nro,codfamilia,codgrupo,codsubgrupo,codproduto,codmarca";
	//BLOQPRODS PARA
  } else if ($TAB == "bloqprods_para") {
	  $CAMPOS = "codbloqueio,nro,codgrupovend,codvendedor,tipoped,modeloped,codcliente,codrede,codsegmento,codcidade";
	//VENDA MULTIPLA
  } else if ($TAB == "vendamultipla") {
	  $CAMPOS = "nro,codfamilia,codgrupo,codsubgrupo,codproduto,padrao_pedido,codgrupovend,codvendedor,qtde,undig,tipopedido,tipo,codempresa,item";
	//ALERTA PRODS
  } else if ($TAB == "alertaprods") {
	  $CAMPOS = "nroalerta,descricao,periodoini,periodofin,situacao,periodohistorico";
	//ALERTA PRODS
  } else if ($TAB == "alertaprods_prods") {
	  $CAMPOS = "nroalerta,nro,codfamilia,codgrupo,codsubgrupo,codproduto";
	//ALERTA PRODS
  } else if ($TAB == "alertaprods_vends") {
	  $CAMPOS = "nroalerta,nro,codgrupovend,codvendedor";
	//PESQ VAREJO
  } else if ($TAB == "pesq_varejo") {
	  $CAMPOS = "nropesquisa, descricao, data, situacao, todossegmentos, cli_roteirizados, tipo, todosvendedores";
	//PESQ VAREJO SEG
  } else if ($TAB == "pesq_varejo_seg") {
	  $CAMPOS = "nrosegmento, nropesquisa, codsegmento";
	//PESQ VAREJO MODELO
  } else if ($TAB == "pesq_varejo_modelo") {
	  $CAMPOS = "nromodelo, nropesquisa, descricao, tipomodelo, situacao";
	//PESQ VAREJO PRESENCA
  } else if ($TAB == "pesq_varejo_presenca") {
	  $CAMPOS = "nropresenca, nromodelo, codproduto, periodomes";
	//PESQ VAREJO EXIBEXTRA
  } else if ($TAB == "pesq_varejo_exibextra") {
	  $CAMPOS = "nroexib, nromodelo, codproduto, periodomes, descricao";
    //	CLASSFISCAL_IPI
  }else if ($TAB == "classfiscal_ipi") {
	  $CAMPOS = "nro, codclassfiscal, codempresa, tipo, cstipi, percipi, enq_ipi";
	// IPI  
  }else if ($TAB == "ipi") {
	  $CAMPOS = "codipi, descricao, cstipi, percipi, tipoipi";
	  //MOVLOTEMANIF
  } else if ($TAB == "movlotemanif") {
	  if ($processo != "DITALIA") {
      //Usando tabela LOTES_MOV
      $CAMPOS1 = "P.NROCONTROLE NROMOV, P.NROMANIFESTO, P.CODPRODUTO, P.NROLOTE, ".
	  "CASE WHEN P.NROVENDA is not null then 
		case when (select substring(CODNATOPER from 1 for 1) ".
			  "from VENDAS ".
			  "where NROVENDA = P.NROVENDA) in ('1', '2')  ".
		"then 'S' else 'E' end ".
	  "else 'S' END TIPO, ".
	  "P.SITUACAO, P.QTDE, P.NROVENDA, P.NROITEM_VENDA NROITEM_VEN, P.NROPEDIDO, P.NROITEM_PEDIDO NROITEM_PED, ".
          "P.CODVENDEDOR, P.ID, P.NROTROCA, (SELECT DATA_VALIDADE FROM LOTES L WHERE L.NROLOTE = P.NROLOTE) DATAVALIDADE, (SELECT LOTE FROM LOTES L WHERE L.NROLOTE = P.NROLOTE) LOTE";
      if ($DATAHORAINI == "") {
        $query = "select 'U' oper, ".$CAMPOS1.", localtimestamp DATAHORA from LOTES_MOV P ".
            "where CODVENDEDOR = ".$_GET["codvendedor"];
        if (@$_GET["nropedido"] > 0) {
			$query .= " and NROPEDIDO = ".$_GET["nropedido"];
		} else {
		   $padraopedido = padraopedido($_GET["codvendedor"]);
           if (($padraopedido == "R") or ($padraopedido == "A")) {
             $nromanifesto = ultimomanifesto($_GET["codvendedor"]);
             $query .= " and NROMANIFESTO = ".$nromanifesto;
           } else
             $query .= " and NROMOV is null";
		}
      } else {
		$query =
				"select P.DATAHORA, P.OPER, P.NROMOV, P.NROMANIFESTO, P.CODPRODUTO, P.NROLOTE, P.TIPO, P.SITUACAO, P.QTDE, " .
				" P.NROVENDA, P.NROITEM_VEN, P.NROPEDIDO, P.NROITEM_PED, P.CODVENDEDOR, P.ID, " .
				" P.NROTROCA, P.DATAVALIDADE, P.LOTE ".
				"from (".
				"   select P.DATAINT DATAHORA, P.NROINT, P.OPERACAO oper, ".$CAMPOS1." from Z_LOTES_MOV P ".
				"   where CODVENDEDOR = ".$_GET["codvendedor"].
				"     and p.dataint >= '".$DATAHORAINI."' ".
				"     and p.dataint <= '".$DATAHORAFIN."' ".
				"   union ".
				"   select l.DATAHORA, null NROINT, 'U' oper, ".$CAMPOS1." from LOTES_MOV P ".
				"   join LOTES L on P.NROLOTE = L.NROLOTE ".
				"   where P.CODVENDEDOR = ".$_GET["codvendedor"].
				"     and L.datahora >= '".$DATAHORAINI."' ".
				"     and L.datahora <= '".$DATAHORAFIN."' ".
				"	order by 1, 2 nulls last ".
				") P";
      }
    } else {
    //Usando tabela MOVLOTEMANIF
      $CAMPOS = "NROMOV, DATAHORA, NROMANIFESTO, CODPRODUTO, NROLOTE, TIPO, SITUACAO, QTDE, NROVENDA, NROITEM_VEN, NROPEDIDO, NROITEM_PED, CODVENDEDOR, ID, NROTROCA, DATAVALIDADE, '' LOTE";
      $WHERE = " and CODVENDEDOR = ".$_GET["codvendedor"];
      if ($DATAHORAINI == "") {
        $padraopedido = padraopedido($_GET["codvendedor"]);
        if ($padraopedido == "R") {
          $nromanifesto = ultimomanifesto($_GET["codvendedor"]);
          $WHERE .= " and NROMANIFESTO = ".$nromanifesto;
        } 
      }
    }
	//VENDEDORES KM
  } else if ($TAB == "vend_km") {
	  $CAMPOS = "NRO, CODVENDEDOR, ID, DATA, KMINICIAL, KMFINAL, NROVEICULO, HORAINICIAL, HORAFINAL, FECHADO";
    $WHERE = " and CODVENDEDOR = ".$_GET["codvendedor"];
    if ($DATAHORAINI == "") {
      $query2 = "select coalesce(MAX(NRO),0) NRO from VEND_KM where CODVENDEDOR = ".$_GET["codvendedor"];
      $query2 = ibase_query($conexao, $query2);
      $query2 = ibase_fetch_object($query2);
      if ($query2 != null)
        $WHERE .= " and NRO = ".$query2->NRO;
    }
	//VENDACOMBO
  } else if ($TAB == "vendacombo") {
	  $CAMPOS = "nrocombo, data, descricao, periodoini, periodofin, aplicardescontoaut,NAOGERAVERBA,NAODESCONTARFLEX,qtdecombos,APLICARFLEX,tipo_volume,basepreco,codempresa,insereitensaut";
    if ($DATAHORAINI == "")
      $WHERE = "AND CURRENT_DATE BETWEEN PERIODOINI AND PERIODOFIN";
	//VENDACOMBO PART
  } else if ($TAB == "vendacombo_part") {
	  $CAMPOS = "nrocombopart, nrocombo, codvendedor, codrede, codcliente, codgrupovend, codsegmento";
    if ($DATAHORAINI == "")
      $WHERE = " and (select count(VC.NROCOMBO) from VENDACOMBO VC where CURRENT_DATE BETWEEN VC.PERIODOINI AND VC.PERIODOFIN AND P.NROCOMBO = VC.NROCOMBO) > 0";
	//VENDACOMBO PRODS
  } else if ($TAB == "vendacombo_prods") {
	  $CAMPOS = "nrocomboprod, nrocombo, codgrupo, codsubgrupo, codfamilia, codproduto, qtde, percdesc, qtdefinal, limite, limitecli, tipo, cor_mobile, codmarca ";
    if ($DATAHORAINI == "")
      $WHERE = " and (select count(VC.NROCOMBO) from VENDACOMBO VC where CURRENT_DATE BETWEEN VC.PERIODOINI AND VC.PERIODOFIN AND P.NROCOMBO = VC.NROCOMBO) > 0";
	//FRETES
  } else if ($TAB == "fretes") {
	  $CAMPOS = "nrofrete, codcliente, codproduto, valorunit";
  } else if ($TAB == "clientes_contatos") {
	  $CAMPOS = "codcliente, nrocontato, nome, cargo, sexo, fone, ramal, celular, email, datanasc, obs, cont_fin, padrao, cont_assist, codvendedor, id";
    if ($DATAHORAINI == "")
      $WHERE =
          ($configdao->getDisponibilizar()->getClientes_mult_vends() ?
          " and (select count(CV.CODVENDEDOR) from CLI_VENDEDORES CV where CV.CODCLIENTE = P.CODCLIENTE and CV.CODVENDEDOR = ".$_GET["codvendedor"].") > 0" :
          " and (select CL.CODVENDEDOR from CLIENTES CL where CL.CODCLIENTE = P.CODCLIENTE) = ".$_GET["codvendedor"]);
  } else if ($TAB == "produtos_unconv") {
	  $CAMPOS = "codproduto, un, fator, preco, codbarras";
  } else if ($TAB == "prod_tiposestoque") {
	  $CAMPOS = "codproduto, codtipoest, qtde";
    if ($CODPRODUTO != "")
      $WHERE = " and codproduto in (".$CODPRODUTO.")";
  } else if ($TAB == "listaprecos") {
	  $CAMPOS = "CODLISTA, SITUACAO, PERMITEDESCCPAGTO, NAOEXIBIRDESCONTO, NAODESCONTARFLEX, NAOGERAVERBA, TIPOPRECO, APLICARFLEX";
  //BANCOS
  } else if ($TAB == "bancos") {
	  $CAMPOS = "CODBANCO, PERCMULTAMES, VALDESPESA, CODMORA, POSICOES, NROBANCO, CHAVE_PIX, NRODIASJUROS, CODEMPRESA";
  //PESQ_VAREJO_VEND
  } else if ($TAB == "pesq_varejo_vend") {
	  $CAMPOS = "NROVENDEDOR, NROPESQUISA, CODVENDEDOR";
  } else if ($TAB == "movcaixaflex") {
    $CAMPOS = "nromov, datahora, tipo, descricao, codvendedor, mes, ano, valor, valorbonif, padrao_pedido, id, codvendedorins";
  } else if ($TAB == "pesquisas_preco_android") {
    $CAMPOS = "nropesquisa, codpesquisa, data, codcliente";
    if ($DATAHORAINI == "")
      $WHERE = " and codvendedor = ".$_GET["codvendedor"]." and data >= current_date-30";
    else
    //Não buscar nada na tabela z_
      $WHERE = " and nropesquisa is null";
  } else if ($TAB == "pesq_preco_android_itens") {
    $CAMPOS = "nropesquisa, nro, codpesquisa, nroitem, nrorange, preco";
    if ($DATAHORAINI == "")
      $WHERE = " and (select p1.data from pesquisas_preco_android p1 where p1.nropesquisa = p.nropesquisa and p1.codvendedor = ".$_GET["codvendedor"]." ) >= current_date-30";
    else
    //Não buscar nada na tabela z_
      $WHERE = " and nropesquisa is null";
  } else if ($TAB == "pesqexibextra") {
    $CAMPOS = "nropesq, codvendedor, codcliente, data, hora, codproduto, qtde codmaterial, descricao";
    if ($DATAHORAINI == "")
      $WHERE = " and codvendedor = ".$_GET["codvendedor"]." and data >= current_date-30";
    else
    //Não buscar nada na tabela z_
      $WHERE = " and nropesq is null";
  } else if ($TAB == "clientes_giro") {
    $CAMPOS = "nro, codcliente, qtdecomodato, giro, tipo";
  } else if ($TAB == "config_troca_indeniz") {
    $CAMPOS = "nro, codvendedor, codcliente, codrede, codsegmento, codproduto, codgrupo, codsubgrupo, codfamilia, codmarca, perctroca, percindeniz, percindeniz_prod";
  } else if ($TAB == "atendentes") {
    $CAMPOS = "codatendente, nome, situacao";
  } else if ($TAB == "pedidos_natureza") {
    $query = "select 'I' OPER, nro, tipopedido, codnatoper, codempresa, tipoproduto, foraestado, codnatoper_vend, rendimento, tipodoc, contribuinte ".
             "from pedidos_natureza ";
  } else if ($TAB == "equipamentos") {
    $CAMPOS = "codequip, codcliente, descricao2, nomequip, patrimonio, modelo, codtipo, nroserie";
  } else if ($TAB == "tiposequip") {
    $CAMPOS = "codtipo, descricao";
  } else if ($TAB == "alertaprods_cli") {
    $CAMPOS = "nroalerta, nro, codsegmento, codcliente, codrede";
  } else if ($TAB == "ped_bloqueios") {
    $CAMPOS = "nro, id, codvendedor, nropedido, datahora, tipobloqueio, descricao, statusbloq, obs, obsusuario, codusuario";
    //Não integrar na primeira vez
    if ($DATAHORAINI == "")
      $WHERE = " and NRO IS NULL";
    else
      $WHERE = " and codvendedor = ".$_GET["codvendedor"];
  } else if ($TAB == "pastaprodutos") {
    $CAMPOS = "nro, codgrupovend, codgrupo, codsubgrupo, codfamilia, codmarca, codproduto";
  } else if (substr($TAB,0,8) == "x_custom") {
    $CAMPOS = "p.*";
  } else if ($TAB == "pastaprodutos") {
    $CAMPOS = "nro, codgrupovend, codgrupo, codsubgrupo, codfamilia, codmarca, codproduto";
  } else if ($TAB == "itens_obrig") {
    $CAMPOS = "nroitem, descricao, diames";
  } else if ($TAB == "itens_obrig_gr") {
    $CAMPOS = "nroitem, nrogrupo, descricao, qtde";
  } else if ($TAB == "itens_obrig_gr_prod") {
    $CAMPOS = "nroitem, nrogrupo, nro, codproduto, codgrupo, codsubgrupo, codfamilia, codlinha, codmarca";
  } else if ($TAB == "itens_obrig_seg") {
    $CAMPOS = "nroitem, nro, codsegmento";
  } else if ($TAB == "controleprodutos") {
    $CAMPOS = "id, nrocontrole, datahora, codproduto, tipo, qtde, codempresa, nromanifesto, nroromaneio, codvendedor";
    if ($DATAHORAINI == "") {
		$padraopedido = padraopedido($_GET["codvendedor"]);
		if ($padraopedido == "R" || $padraopedido == "A") {
			$nromanifesto = ultimomanifesto($_GET["codvendedor"]);
			if ($nromanifesto > 0) {
				$WHERE = " AND nromanifesto = ".$nromanifesto;	
			}
			else {
				$WHERE = " AND nrocontrole IS NULL";				
			}
      } else {
		$WHERE = " AND nrocontrole IS NULL";
	  }
    }	
  } else if ($TAB == "config_indeniz") {
    $CAMPOS = "nro, codvendedor, mes, ano, valor";
  } else if ($TAB == "verbas") {
    $CAMPOS = "nroverba, descricao, data, codempresa, datainicial, datafinal";
  } else if ($TAB == "verbas_config") {
    $CAMPOS = "nroconfig, nroverba, codfamilia, codgrupo, codsubgrupo, codproduto, codmarca, valor, perc, tipoflex";
  } else if ($TAB == "verbas_para") {
    $CAMPOS = "nropara, nroverba, codgrupovend, codvendedor, tipoped, modeloped, codcliente, codrede, codsegmento, codcidade";
  } else if ($TAB == "clientes_comod_prods") {
    $CAMPOS = "nro, codcliente, codproduto, qtdecomodato, tipo";
  } else if ($TAB == "prd_cust_tb_cust") {
    $CAMPOS = "codproduto,nrocusto,nrotab,codcusto,nroitem,descricao,percentual,rentabilidade";
  } else if ($TAB == "tab_custos_itens") {
    $CAMPOS = "codcusto,nroitem,descricao,percentual,rentabilidade,nromaster,reajuste";
  } else if ($TAB == "motivos_troca") {
    $CAMPOS = "codmotivo,descricao,tipo";
  } else if ($TAB == "clientes_recolh_prods") {
    $CAMPOS = "nro,codcliente,codproduto,qtderecolh";
  } else if ($TAB == "consignado") {
    $CAMPOS = "codcliente,codproduto,saldo";
  } else if ($TAB == "movimento_matrec") {
    $CAMPOS = "nro, codempresa, codcliente, data, documento, tipo_mov, qtde, saldo";
  } else if ($TAB == "alerta_financeiro_vend") {
    $CAMPOS = "codcliente, nrocontas, valortotal, datault_atual";
  } else if ($TAB == "prazos_especiais") {
    $CAMPOS = "codprazo, codvendedor, codgrupovend, codfornec, codmarca, codgrupo, codsubgrupo, codfamilia, codlinha, codproduto, codcpagto, valorminimo, valormaximo, codrede, prioridade, exibe_prazo_menor, codcliente, codsegmento";
  } else if ($TAB == "prod_fornecs"){
	  $CAMPOS = "codproduto, codfornec";
  } else if ($TAB == "tab_descontos"){
	  $CAMPOS = "coddesconto, descricao, codcliente, codfornec, codvendedor, codgrupo, codsubgrupo, codproduto, ".
				"nroregiao, codrede, codcpagto, percdesc, dtinicio, dtfim, datalanc, dataultalter, aplicadesconto, prioritaria, ".
				"qtini, qtfim, vlrminimo, vlrmaximo, naodescontarflex, APLICARFLEX, naoexibirdesconto, codempresa";
  } else if ($TAB == "faixas_desconto"){
	  $CAMPOS = "nrofaixa, data, descricao, tipo, situacao, codempresa";
  } else if ($TAB == "faixas_desconto_val"){
	  $CAMPOS = "nrovalor, nrofaixa, valor_ini, valor_fin, percentual";
  } else if ($TAB == "faixas_desconto_part"){
	  $CAMPOS = "nropart, nrofaixa, codcliente, codrede, codsegmento, codvendedor, codgrupovend";
  } else if ($TAB == "tiposestoque"){
	  $CAMPOS = "codtipoest, descricao, ind_prop";
  } else if ($TAB == "redes"){
	  $CAMPOS = "codrede, razao, tipo";
  } else if ($TAB == "controletabelas_mobile"){
	  $CAMPOS = "codcontrole, tabela, campo, nome, obrigar, modificar";	  
  }else if($TAB == "feriados"){
		$CAMPOS = "nroferiado, descricao, data, codcidade, ferias_coletivas";
  } else if($TAB == "rotas"){
	  $CAMPOS = "codrota, descricao, tipo, dias_uteis_entrega, dias_entrega_domingo, dias_entrega_segunda, dias_entrega_terca, dias_entrega_quarta, dias_entrega_quinta, dias_entrega_sexta, dias_entrega_sabado";
  } else if($TAB == "combo_fotos"){
	  $CAMPOS = "codfoto, nrocombo, nrofoto, caminho";		
  } else if($TAB == "unidades"){
	  $CAMPOS = "codunidade, descricao, uncompra";
	  
  } else if($TAB == "cli_vendedores"){
	  $CAMPOS = "NROVEND, CODCLIENTE, CODVENDEDOR";	    
  }else
    throw new Exception("Tabela não definida para integração!");

    //Integração TABELA Z_ quando é supervisao buscar tudo pela tabela normal e não auditoria
    if ($DATAHORAINI != "" && $TAB != "manifesto_prods") {
       if ($query == null) {

        $query = "select OPERACAO OPER, ".$CAMPOS." from z_".$TAB." p WHERE 1=1 ".$WHERE.
            " and dataint >= '".$DATAHORAINI."' ".
            " and dataint <= '".$DATAHORAFIN."' ".
            " order by dataint, nroint";

      }

      $query = str_replace("<br>", " ", $query);
	  //echo $query; die;
      $query = ibase_query($conexao, $query);

    } else {
      if ($query == null)
        $query = "select 'I' OPER, ".$CAMPOS." from ".$TAB." p WHERE 1=1 ".$WHERE;

      $query = ibase_query($conexao, $query) or die($ibase_errmsg);
    }

   $array_temp = array();
   while($row = ibase_fetch_assoc($query, IBASE_TEXT)) {		
				
        $output = array_map('htmlentities2', $row);

        //$chave é o índice do $array_temp de acordo com a chave primária encontrada na tabela ex: $arra_temp[$chave][NOME]
        $chave = "";
	    if (is_array($indice)) {
			
			foreach ($indice as $key => $ar2) {
				if ($chave != "") $chave .= "|";   
			   
				//chave de prod_listaprecos é CODPRODUTO E NROLISTA porém o campo NROLISTA NÃO É SELECIONADO, só CODLISTA que é tratado como chave
				if ($TAB == "prod_listaprecos" && trim($ar2) == "NROLISTA")
					$chave .= $output["CODLISTA"];
				else
				   $chave .= $output[trim($ar2)];
			}
			
		} else {
			throw new Exception("Indices não encontrados na tabela " . $TAB. "\n");
		}

        //SE O CAMPO Z_XXX FOR IGUAL A T ISSO QUER DIZER QUE ELE FOI ALTERADO
        foreach ($output as $key => $ar2) {

          if (substr($key, 0, 2) != "Z_") {
            $campo = @$output["Z_".$key];

            if (! isset($campo) || $campo == "T") {

             $array_temp[$chave][$key] = $ar2;

            }
          }
        }

    }
    //Muitos registros na integração não permite
    if ($limiteregistros == 0)
      $limiteregistros = 2000;
    $cont = count($array_temp);
    if ($cont > $limiteregistros) {
        echo "A TABELA ".$TAB." ULTRAPASSOU O LIMITE DE REGISTROS: ".$cont." COMUNIQUE O SUPORTE";
        exit;
    }
    //NECESSÁRIO CONVERTER O $ARRAY_TEMP EM ARRAY NO PADRAO JSON QUE É IMPRESSO NA TELA
    $output = array();
    foreach ($array_temp as $key => $ar2) {
      //manifesto buscar NRORECARGA e NRORETORNO que esta na tabela vendas
      if ($TAB == "manifesto" && ($ar2["NRORECARGA"] > 0 || $ar2["NRORETORNO"] > 0)) {
        $vendedor_manifesto = vendedorEquipe($_GET["codvendedor"]);
        $query2 = ibase_query($conexao,
            "SELECT V.NROVENDA FROM VENDAS V ".
            "where V.NRODOCUMENTO = ".
            ($ar2["NRORECARGA"] > 0 ?
              $ar2["NRORECARGA"] :
              $ar2["NRORETORNO"]) .
            " and V.CODVENDEDOR = ".$vendedor_manifesto.
            " and V.CODEMPRESA = (SELECT CODEMPRESA FROM VENDAS WHERE NROVENDA = ".$ar2["NROVENDA"].
            ") and SUBSTRING(V.CODNATOPER FROM 1 FOR 5) IN ('5.904', '5.414', '6.904', '6.414', '5.415', '6.415','5.657','6.657') ");
        $query2 = ibase_fetch_object($query2, IBASE_TEXT);
        if ($query2 != null) {
          if ($ar2["NRORECARGA"] > 0)
            $ar2["NRORECARGA"] = $query2->NROVENDA;
          else
            $ar2["NRORETORNO"] = $query2->NROVENDA;
        } else {
          if ($ar2["NRORECARGA"] > 0)
            $ar2["NRORECARGA"] = 0;
          else
            $ar2["NRORETORNO"] = 0;
        }
      }
      $output[] = array_map('utf8_encode', $ar2);
    }

    if (isset($output) && ! empty($output)) {
      $json = json_encode($output);
      print($json);
    }
    if (@json_last_error_msg() != "No error")
      echo json_last_error_msg();
    ibase_close();
}


function htmlentities2($str) {
  $str = htmlentities($str, ENT_QUOTES, 'ISO-8859-1');
  return str_replace(array("\r\n", "\r", "\n"), "<br />", $str);
}

?>
