repositório com os arquivos utilizados para integração entre o sistema SimplesIP e diversos sistemas.
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.
 
 

143 lines
4.6 KiB

<?php
require '/var/lib/asterisk/scripts/integracao/dbAbstract.php';
include '/var/lib/asterisk/scripts/integracao/custom/funcoesCustom.php';
$scrpt = $argv[0];
$config = array('itgc_host', 'itgc_port', 'itgc_database', 'itgc_user', 'itgc_password');
$config = GetConfigIntegracao($connPG, 'CONSULTA_CLIENTE', $config);
$user = $config['itgc_user'];
$passWord = $config['itgc_password'];
$host = $config['itgc_host'];
$port = $config['itgc_port'];
$dataBase = $config['itgc_database'];
$tipoDb = DB__PGSQL;
/*
* DIRETORIO DOS ARQUIVOS DE SOM.
*/
$pathSom = '/var/lib/asterisk/sounds/customizados/';
/*
* Interage com o asterisk, por funcoes agi.
*/
$agi = GetAgi();
/*
* Variaveis para o status da integração.
*/
$reg_retorno = $numero;
$reg_msg = '';
$reg_status_exec = '1';
$retorno_cliente = '';
/*
* Registra o inicio da integração. As variaveis passadas na funções são iniciali-
* zadas em serverAgi.php.
*/
@RegistraIntegracao($idMetodo, $uid, $uidOld, $numero);
try {
$CPF_CNPJ = $agi->get_variable('URA',true);
$clienteTelefone = ConsultaClienteCelular($numero);
if(substr($clienteTelefone,0,4) == "Erro"){
$clienteCPF = ConsultaClienteCPF($CPF_CNPJ);
if(substr($clienteCPF, 0,4) == 'Erro'){
$agi->exec_goto(GetAnuncio('CADASTRO_NAO_ENCONTRADO'));
}
$agi->set_variable('NOMECLI', $clienteCPF['nome_cliente']);
$agi->set_variable('CLIENTEDOC', $clienteCPF['cpf_cnpj']);
$agi->set_variable('STATUSCLIENTE', $clienteCPF['status_cliente']);
$agi->set_variable('QUANTFATURAS', $clienteCPF['quant_faturas']);
$agi->set_variable('VALORFATURAS', $clienteCPF['valor_faturas']);
$agi->set_variable('PARADATECNICA', $clienteCPF['parada_tecnica']);
$agi->set_variable('EMAILCLI', $clienteCPF['email']);
$agi->set_variable('CELULARCLIENTE', $clienteCPF['celular']);
$agi->set_variable('ENDERECOCLI', $clienteCPF['endereco']);
$agi->exec_goto(GetAnuncio('PROCURA_CADASTRO'));
}else{
$agi->set_variable('NOMECLI', $clienteTelefone['nome_cliente']);
$agi->set_variable('CLIENTEDOC', $clienteTelefone['cpf_cnpj']);
$agi->set_variable('STATUSCLIENTE', $clienteTelefone['status_cliente']);
$agi->set_variable('QUANTFATURAS', $clienteTelefone['quant_faturas']);
$agi->set_variable('VALORFATURAS', $clienteTelefone['valor_faturas']);
$agi->set_variable('PARADATECNICA', $clienteTelefone['parada_tecnica']);
$agi->set_variable('EMAILCLI', $clienteTelefone['email']);
$agi->set_variable('CELULARCLIENTE', $clienteTelefone['celular']);
$agi->set_variable('ENDERECOCLI', $clienteTelefone['endereco']);
$agi->exec_goto(GetAnuncio('REDIR_VERIFICA_PENDENCIA'));
}
} catch (Exception $ex) {
$reg_msg = $ex->getMessage();
$reg_status_exec = 'Er';
__logStr("Consulta de Telefone", $reg_msg . "Codigo do cliente: " . $telCliente[0]['codcli'], $scrpt, true);
}
@AtualizaIntegracao($uid, $reg_retorno, $reg_msg, $reg_status_exec, $retorno_cliente);
if (!$dadosIntegra)
@grava_dadosIntegra($reg_retorno);
function ConsultaClienteCelular($telefone)
{
if(empty($telefone)){
throw new Exception("Erro - parâmetro telefone não foi informado!");
}
try{
$sql = "SELECT nome_cliente, cpf_cnpj, status_cliente, quant_faturas,
valor_faturas, parada_tecnica, email, celular,endereco
FROM pbx_homologa_itgc
WHERE celular = '{$telefone}'
ORDER BY 1";
$result = pg_query(ConnectPG(),$sql);
$retorno = pg_fetch_assoc($result);
if(!$retorno){
throw new Exception("Erro ao executar a query - ". pg_last_error());
}
return $retorno;
} catch (Exception $ex) {
return $ex->getMessage();
}
}
function ConsultaClienteCPF($CPFCNPJ)
{
if(empty($CPFCNPJ)){
throw new Exception("Erro - parâmetro CPFCNPJ não foi informado!");
}
try{
$sql = "SELECT nome_cliente, cpf_cnpj, status_cliente, quant_faturas,
valor_faturas, parada_tecnica, email, celular,endereco
FROM pbx_homologa_itgc
WHERE cpf_cnpj = '{$CPFCNPJ}'
ORDER BY 1";
$result = pg_query(ConnectPG(),$sql);
$retorno = pg_fetch_assoc($result);
if(!$retorno){
throw new Exception("Erro ao executar a query - ". pg_last_error());
}
return $retorno;
} catch (Exception $ex) {
return $ex->getMessage();
}
}
?>