<?php
$paramPesquisa = isset($_REQUEST['paramPesquisa']) ? $_REQUEST['paramPesquisa'] : '';
$filtro = trim(isset($_REQUEST["paramPesquisa"]) ? trim($_REQUEST["paramPesquisa"]) : '');
$cloid = trim(isset($_REQUEST["clo_id"]) ? trim($_REQUEST["clo_id"]) : '');
$clientTipoContato = trim(isset($_REQUEST["client_tipo_contato"]) ? trim($_REQUEST["client_tipo_contato"]) : '');
$clientEtapa = ($_REQUEST["client_etapa"] != "-1") ? trim($_REQUEST["client_etapa"]) : '1';
$clientStatus = ($_REQUEST["client_status"] != "-1") ? trim($_REQUEST["client_status"]) : '-1';
$clientUf = trim(isset($_REQUEST["client_uf"]) ? trim($_REQUEST["client_uf"]) : '');
$clientAgenda = trim(isset($_REQUEST["client_agenda"]) ? trim($_REQUEST["client_agenda"]) : '');
$dataIni = isset($_REQUEST['dataIni']) & & is_date($_REQUEST['dataIni']) ? $_REQUEST['dataIni'] : '';
$dataFim = isset($_REQUEST['dataFim']) & & is_date($_REQUEST['dataFim']) ? $_REQUEST['dataFim'] : '';
$tipoDataSet = isset($_REQUEST['tipoDataSet']) ? $_REQUEST['tipoDataSet'] : 'Contato';
$client_user_contato = isset($_REQUEST['client_user_contato']) ? $_REQUEST['client_user_contato'] : '';
/**
* Dados para ser passado via AJAX
*/
$action = isset($_GET['action']) ? $_GET['action'] : null;
$ajax = isset($_GET['ajax']) ? $_GET['ajax'] : null;
$data = isset($_GET['data']) ? $_GET['data'] : null;
if ($ajax & & $action) {
if ($action == 'sendmail') {
echo enviarMailCampanha($data, $dbcon);
}
if ($action == 'addvendamais') {
$conn = ConectaMssql();
echo ExportaContato($conn, $data);
}
exit();
}
if (!isset($acao)) {
$acao = FORM_SELECT;
}
$filtroNovo = !isset($_REQUEST["pgn"]) ? '' : sprintf("& paramPesquisa%s& pgn=%s& bloco=%s& pg=%s", $_REQUEST["paramPesquisa"], $_REQUEST["pgn"], $_REQUEST["bloco"], $_REQUEST["pg"]);
$recontaPag = ($acao == 'inseri') || (GetFormAcao() == FORM_DELETE) || isset($_POST['pesquisa']);
$refresh = false;
if (GetFormAcao() == FORM_DELETE) {
$client_id = $_GET["id"];
$query = "delete from pbx_cliente where client_id = $client_id";
$result = pg_query($dbcon, $query);
if ($result) {
$msgRet = "Registro excluido com sucesso!";
} else {
$msgRet = "N<EFBFBD> o foi poss<EFBFBD> vel excluir o registro!";
}
$jsStartup[] = "alert('$msgRet')";
$refresh = true;
}
$template = 'contribuinteSelect.tpl';
$linha = "";
$numReg = 0;
$msgErro = "";
$acaoForm = FORM_SELECT;
$selContrib = (isset($_GET["selContrib"]) & & $_GET["selContrib"]) || (isset($_POST["selContrib"]) & & $_POST["selContrib"]);
if ($selContrib) {
$tpLayout = 1;
$wTab = "100%";
$tForm = GetNomeCadCli();
$_SESSION["selContrib"] = true;
}
$consulta = $selContrib & & isset($_GET["fone"]) ? soNumero($_GET["fone"]) : $filtro;
$_SESSION["paramPesquisa"] = $filtro;
//if ((isset($_POST['pesquisa']) & & $_POST['pesquisa']) || ($selContrib)) {
if ($filtro) {
$compl = PreparaLike($filtro, true);
$compl = sprintf("AND (a.client_razao_social ILIKE %s OR "
. "client_nome_contato ILIKE %s "
. "OR sonumero(a.client_telefone) ILIKE %s OR "
. "client_obs ILIKE %s OR "
. "client_municipio ILIKE %s OR "
. "apelido ILIKE %s OR "
. "client_email ILIKE %s OR "
. "client_id IN (SELECT client_id FROM pbx_cliente_anotacoes WHERE cla_anotacao ILIKE %s))\n", $compl, $compl, $compl, $compl, $compl, $compl, $compl, $compl);
}
if ($clientEtapa) {
$compl .= "\n AND a.cletp_id = '{$clientEtapa}' \n";
}
if ($clientStatus != '-1') {
$clientStatus = !$clientStatus ? '0' : $clientStatus;
$compl .= " AND client_status = '{$clientStatus}' \n";
}
if ($clientUf) {
$compl .= " AND client_uf = '{$clientUf}' \n";
}
if ($clientTipoContato) {
$compl .= " AND client_tipo_contato = '{$clientTipoContato}' \n";
}
if ($cloid) {
$compl .= " AND a.clo_id = '{$cloid}' AND cmp_id IS NOT NULL \n";
}
if ($client_user_contato) {
$compl .= " AND client_user_contato = '$client_user_contato' ";
}
if (GetMatricula()) {
$compl .= sprintf("\n AND (client_user_contato = '%s' OR b.cfr_id IN (SELECT x.cfr_id FROM pbx_fornecedor_permissao x WHERE matricula_permissao = '%s'))", GetMatricula(), GetMatricula());
}
//$tipoData = (strtoupper($tipoDataSet) == 'CONTATO') ? 'client_data_contato' : 'client_agendamento';
$tipoData = "client_update";
if (is_date($dataIni) & & is_date($dataFim)) {
$compl .= sprintf(" AND {$tipoData}::DATE >= '%s' and {$tipoData}::date < = '%s' \n", FormatDtMssql($dataIni), FormatDtMssql($dataFim));
} else if (is_date($dataIni)) {
$compl .= sprintf(" AND {$tipoData}::DATE >= '%s' \n", FormatDtMssql($dataIni));
} else if (is_date($dataFim)) {
$compl .= sprintf(" AND {$tipoData}::DATE < = '%s' \n", FormatDtMssql($dataFim));
}
$query = "SELECT client_ref_id, client_out_id, client_id, client_tipo_documento, client_documento, ctst_nome, client_razao_social, client_nome_fantasia,
client_municipio, client_uf, client_telefone, client_email, client_nome_contato, client_fone_contato,
client_email_contato, client_obs, client_tipo_contato, client_data_contato, d.apelido,
client_user_contato, client_agendamento, a.cletp_id, f.cletp_descricao, client_status,
(SELECT apelido FROM pbx_usuarios WHERE id = a.user_reg) as modificado
FROM pbx_cliente a
INNER JOIN pbx_cliente_origem b ON a.clo_id = b.clo_id
INNER JOIN pbx_cliente_fornecedor c ON b.cfr_id = c.cfr_id
inner join pbx_cliente_etapa f on f.cletp_id = a.cletp_id
LEFT JOIN pbx_usuarios d on d.matricula = a.client_user_contato
LEFT JOIN pbx_campanha_contato_status e ON e.ctst_id = a.client_status::int
WHERE 1=1 $compl ORDER BY client_razao_social";
$_SESSION['SSQueryClient'] = $query;
$params = "¶mPesquisa=$filtro&client_tipo_contato=$clientTipoContato&client_etapa=$clientEtapa&client_status=$clientStatus&client_uf=$clientUf&dataIni=$dataIni&dataFim=$dataFim&client_user_contato=$client_user_contato&clo_id=$cloid";
$links = PaginaDados($idProg, $query, $params, $regPagina, $offSet, $pagMostra, true);
$query .= " LIMIT $regPagina OFFSET $offSet";
// echo $query; exit;
$result = pg_query($dbcon, $query);
while ($row = @pg_fetch_array($result)) {
$client_id = $row["client_id"];
$client_tipo_documento = $row["client_tipo_documento"];
$client_documento = $row["client_documento"];
$cletp_descricao = $row["cletp_descricao"];
$client_status = $row["ctst_nome"];
$client_data_contato = substr(FormataDBDataHora($row["client_data_contato"]), 0, 10);
$client_agendamento = FormataDBDataHora($row["client_agendamento"]);
$client_razao = $row["client_razao_social"];
$client_razao_social = GetLinkFormUpdate("& id=$client_id", "cadCliente", "", 0, 1, $row["client_razao_social"]);
$client_nome_fantasia = $row["client_nome_fantasia"];
$client_nome_contato = $row["client_nome_contato"];
$client_municipio = $row["client_municipio"];
$client_uf = $row["client_uf"];
$client_telefone = $row["client_telefone"];
$client_email = $row["client_email"];
$client_tipo_contato = $row["client_tipo_contato"];
$client_usercontato = $row["modificado"];
$client_agente = $row["apelido"];
$client_class = $row["clit_descricao"];
$acaoApaga = GetLinkFormDelete($client_id . "|" . $params, 'DeletaContribuinte');
$acaoAtualiza = GetLinkFormUpdate("& id=$client_id", 'cadCliente');
$clientOutId = ($client_status == '446') ? $row["client_out_id"] : 0;
list($nomeDisp) = explode(" ", $row["client_razao_social"]);
$discar = RemoveDddPadrao($client_telefone);
$acao = "< img src = \"imgSite/ramalOn16.png\" border = \"0\" width = \"16\" height = \"16\" alt = \"Ligar para o cliente: $ nomeDisp \ " title = \"Ligar para o cliente: $ nomeDisp \ " > ";
if ($row["client_email"]) {
$mailsend = "< a href = \"javaScript:NovaJanela('index.php?idProg=349&client_id={$row["client_id"]}', ' clientMail ' , ' 1250 ' , ' 750 ' , ' jhTela ' ) \ " > < img src = \"imgSite/mail16.png\" border = \"0\" width = \"16\" height = \"16\" alt = \"Enviar E-mail: $ nomeDisp \ " title = \"Enviar E-mail: $ nomeDisp \ " > < / a > ";
} else {
$mailsend = "< img src = \"imgSite/email-no.png\" border = \"0\" width = \"16\" height = \"16\" title = \"O contato N <EFBFBD> o possui email cadastrado: $ nomeDisp \ " > ";
}
if ($row["client_email"] & & $row["client_telefone"] & & $row["client_status"] == '13') {
$vendamais = "< a href = '#' onclick = \"sendContribuiente('{$row["client_out_id"]}', ' addvendamais ' ) \ " > < img src = \"imgSite/vendamais.png\" border = \"0\" width = \"16\" height = \"16\" alt = \"Exportar o registro no Venda + : $ nomeDisp \ " title = \"Exportar o registro no Venda + : $ nomeDisp \ " > < / a > ";
} else {
$vendamais = '< img src = "imgSite/vendamais-no.png" border = "0" width = "16" height = "16" title = "Contato possui pendencia para ser Exportado!" > ';
}
$sound = sprintf("< a href = \"javaScript:NovaJanela('index.php?idProg=347&client_id={$row["client_id"]}&n=%s', ' audioContato ' , ' 1250 ' , ' 500 ' , ' jhTela ' ) \ " > < img src = \"imgSite/sound22.png\" border = '0' width = '16' height = '16' title = '<EFBFBD> udios do cliente!' > < / a > ", base64_encode($row['client_nome_fantasia']));
$linkRamal = "< a href = \"javaScript:RetornaAbd('$discar',{$row["client_id"]});\" > $acao< / a > ";
$janH = 650;
$anotacoesCliente = GetLinkFormAction("jnAnotacoes", FORM_SELECT, 46, "imgSite/Comment.png", "client_id={$client_id}& client_razao={$client_razao}& client_out_id={$clientOutId}", "");
$linha .= "< tr >
< td align = \"right\" > $client_id< / td >
< td align = \"left\" > $client_data_contato< / td >
< td align = \"left\" > $client_agendamento< / td >
< td align = \"left\" > $client_razao_social< / td >
< td align = \"left\" > $cletp_descricao< / td >
< td align = \"left\" > $client_status< / td >
< td align = \"left\" > $client_municipio< / td >
< td align = \"left\" > $client_uf< / td >
< td align = \"left\" > $client_nome_contato< / td >
< td align = \"left\" > $client_telefone< / td >
< td align = \"left\" > $client_email< / td >
< td align = \"left\" > $client_tipo_contato< / td >
< td align = \"left\" > $client_agente< / td >
< td align = \"left\" > $client_usercontato< / td >
< td width = \"20\" style = \"border-right: 0 \ " align = \"center\" > $mailsend< / td >
< td width = \"20\" style = \"border-left: 0 \ " align = \"center\" > $vendamais< / td >
< td width = \"20\" style = \"border-left: 0 \ " align = \"center\" > $anotacoesCliente< / td >
< td width = \"20\" style = \"border-left: 0 \ " align = \"center\" > $sound< / td >
< td width = \"20\" align = \"center\" > $acaoAtualiza< / td >
< / tr > ";
//< td width = \"20\" style = \"border-left: 0 \ " align = \"center\" > $acaoApaga< / td >
$numReg++;
}
$imgCampEmail = "< a href = \"javaScript:NovaJanela('index.php?idProg=349&cmp=1', ' clientMail ' , ' 1250 ' , ' 750 ' , ' jhTela ' ) \ " > < img src = \"imgSite/Message.png\" border = \"0\" width = \"16\" height = \"16\" align = \"absmiddle\" alt = \"Criar campanha com a lista de contatos selecionados na tela \ " title = \"Criar campanha com a lista de contatos selecionados na tela \ " > Campanha Email< / a > ";
$imgNovo = GetLinkFormInsert("cadCliente", 'images/novo.gif', $filtroNovo, ' Novo Registro');
$imgUpdate = '< a href = "javaScript:NovaJanela(\'index.php?idProg=338\', \'novaListaCliente\', \'500\', \'500\', \'jhTela\')" > < img src = "imgSite/Update.png" width = "16px" border = "0" align = "absmiddle" / > Nova Lista< / a > ';
$smarty->assign("list_cliente", GetClienteLista($cloid));
$smarty->assign("client_tipo_contato", GetClientTipoContato($clientTipoContato));
$smarty->assign("client_etapa", GetEtapaProspect($clientEtapa));
$smarty->assign("client_status", GetStatusProspect($clientStatus, true));
$smarty->assign("client_uf", GetClientUf($clientUf, true));
$smarty->assign("tipoDataSet", $tipoDataSet);
$smarty->assign("dataIni", $dataIni);
$smarty->assign("dataFim", $dataFim);
$smarty->assign("linhas", $linha);
$smarty->assign("paramPesquisa", $paramPesquisa);
$smarty->assign("imgCampEmail", $imgCampEmail);
$smarty->assign("imgNovo", $imgNovo);
$smarty->assign("imgUpdate", $imgUpdate);
$smarty->assign("links", $links);
$smarty->assign("pagMostra", $pagMostra);
$smarty->assign("totalReg", $totalReg);
$smarty->assign("pgn", $_REQUEST["pgn"]);
$smarty->assign("bloco", $_REQUEST["bloco"]);
$smarty->assign("pg", $_REQUEST["pg"]);
$smarty->assign("agentes", (PermissaoAdminCampanha(GetMatricula()) ? AgenteCampanha($client_user_contato) : ''));
function enviarMailCampanha($mail, $dbcon) {
$params = array();
$representante = GetUsuario($dbcon, GetMatricula());
$params['email_template'] = 'campanha_vendas.html';
$params['email_conta_envio'] = "vendas@simplesip.com.br";
$params['email_senha_envio'] = "SimpleS#Root@2021";
$params['email_retorno'] = "vendas@simplesip.com.br";
$params['email_template_info'] = array('NOME' => $representante['nome']);
$params['email_html'] = 'campanha_vendas.html';
$params['email_envio'] = $mail;
$params['email_assunto'] = 'Transforme agora em seu Callcenter';
if (SendEmail($params)) {
$msg = "Email enviado com sucesso!";
sendedMail($dbcon, $mail);
} else {
$msg = "N<EFBFBD> o foi poss<EFBFBD> vel realizar o envio!";
}
return $msg;
}
function sendedMail($conn, $mail) {
$query = "UPDATE pbx_cliente SET client_status = '16' WHERE client_email = '{$mail}';";
pg_query($conn, $query);
}
function ExportaContato($conn, $outid) {
try {
$dados = getContatoLead($outid);
if (!$dados) {
throw new Exception("Este contato ainda possui pendencias para ser exportado!");
}
$msql = ConectaMssql();
if (!mssql_query('begin tran', $conn)) {
throw new Exception("Nao foi possivel inciar uma trasacao com o Venda+.");
}
//@dataEnvio, @VendedorId, @RazaoSocial, @Email, @Telefone, @TipoPessoa, @CGC_CPF, @RegiaoId, @uf, @municipio, @ClienteStatusId, @ClienteIdExterno, @NomeContato
$query = sprintf("EXEC dbo.sip_insert_prospect '%s','%s',%s,%s,'%s','%s','%s',%s,'%s',%s,'%s','%s', %s, '%s'",
$dados['conf_data'], $dados['vendedor_id'],
QuotedStr($dados['client_razao_social']), QuotedStr($dados['client_email']),
$dados['client_telefone'], ($dados['client_tipo_pessoa'] == "CNPJ" ? "J" : "F"),
trim($dados['client_documento']),
QuotedStr($dados['client_regiao']), $dados['client_uf'], QuotedStr($dados['client_municipio']),
"EM PROSPEC<EFBFBD> <EFBFBD> O", $dados['client_id'], QuotedStr($dados['client_nome_contato']), GetMatricula());
if (!$result = mssql_query($query, $conn)) {
throw new Exception("N<EFBFBD> o foi poss<EFBFBD> vel exportar o contato.\n{$query}\n");
}
if (!$data = mssql_fetch_row($result)) {
throw new Exception("N<EFBFBD> o foi poss<EFBFBD> vel consultar o contato no VM.\n{$query}\n");
}
if (!mssql_query('commit tran', $conn)) {
throw new Exception("Nao foi possivel inciar uma trasacao com o Venda+.");
}
mssql_close($msql);
AtulizaContatoVendaMais($outid, $data[0]);
return "Contato Exportado com sucesso! Contato ID: " . $data[0];
} catch (Exception $ex) {
mssql_query('rollback tran', $conn);
return $ex->getMessage();
}
}
function getContatoLead($outid = null) {
$query = "SELECT client_data_contato, client_razao_social,
client_email_contato, client_fone_contato, client_tipo_contato, client_documento,
client_endereco, client_uf, client_municipio, client_status, client_id, client_nome_contato, client_user_contato,
(select reg_sigla from mkt_regiao_estados where reg_uf = b.client_uf) as client_regiao
FROM pbx_cliente b
WHERE client_status = '13' ";
if ($outid) {
$query .= " AND client_out_id = '$outid' ";
}
$result = pg_query($query);
$resp = pg_fetch_assoc($result);
$rs = GetCodVendedor($resp['client_user_contato']);
$resp['vendedor_id'] = $rs['cod_vendedor'];
$resp['conf_data'] = date('Y-m-d H:i:s');
return $resp;
}
function GetCodVendedor($clientUserContato) {
$query = sprintf("SELECT * FROM pbx_cliente_referencia_vendedor WHERE matricula = '%s'", $clientUserContato);
$result = pg_query($query);
$resp = pg_fetch_assoc($result);
if (!$resp) {
throw new Exception('Voc<EFBFBD> n<EFBFBD> o possui nenhum vendedor referenciado!');
}
return $resp;
}
function AtulizaContatoVendaMais($outid, $idvenda) {
$query = sprintf("UPDATE pbx_cliente SET client_out_id = '{$idvenda}', client_status = '21', user_reg = %s, client_update = NOW() WHERE client_out_id = '$outid';", GetIdUser());
$result = pg_query($query);
if (!$result) {
throw new Exception('N<EFBFBD> o foi poss<EFBFBD> vel atualizar o registro de exporta<EFBFBD> <EFBFBD> o');
}
}
?>