You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

357 lines
18 KiB

<?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 = "&paramPesquisa=$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');
}
}
?>