forked from SimplesIP/pabx-app
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.
137 lines
5.0 KiB
137 lines
5.0 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, 'consultaPendenciaRbx', $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 { |
|
|
|
$cliente = consultaPendencia($numero); |
|
ConnectPG(); |
|
|
|
__logStr("Verifica Pendencia","Pendencias do cliente: ". print_r($cliente,true), $script, true); |
|
|
|
if (!$cliente) { |
|
$agi->exec_goto(GetUra("URA_principal_nova_tel")); |
|
|
|
}elseif($cliente['Situacao'] == 'Inadimplente'){ |
|
|
|
$retorno_cliente = sprintf("%s|%s|%s|Nome:%s|Vencimento:%s|Situação:%s|Dias de atraso:%s|Valor:%s|Total:%s", |
|
$uid,$numero,'145', |
|
str_replace("|", "", $cliente['Nome']), str_replace("|", "", $cliente['Vencimento']), |
|
str_replace("|", "", $cliente['Situacao']), |
|
str_replace("|", "", $cliente['Dias de atraso']),str_replace("|", "", $cliente['Valor']), |
|
str_replace("|", "", $cliente['Total'])); |
|
|
|
$agi->exec_goto(GetAnuncio('cliente_inadimplente')); |
|
}else { |
|
$retorno_cliente = sprintf("%s|%s|%s|Nome:%s|Vencimento:%s|Situação:%s|Dias de atraso:%s|Valor:%s|Total:%s", |
|
$uid,$numero,'145', |
|
str_replace("|", "", $cliente['Nome']), str_replace("|", "", $cliente['Vencimento']), |
|
str_replace("|", "", $cliente['Situacao']), |
|
str_replace("|", "", $cliente['Dias de atraso']),str_replace("|", "", $cliente['Valor']), |
|
str_replace("|", "", $cliente['Total'])); |
|
|
|
$agi->exec_goto(GetUra("URA_principal_nova_tel")); |
|
} |
|
} catch (Exception $ex) { |
|
$reg_msg = $ex->getMessage(); |
|
$reg_status_exec = 'Er'; |
|
__logStr("Consulta Cliente", $reg_msg, $script, true); |
|
} |
|
|
|
@AtualizaIntegracao($uid, $reg_retorno, $reg_msg, $reg_status_exec, $retorno_cliente); |
|
if (!$dadosIntegra) |
|
@grava_dadosIntegra($reg_retorno); |
|
|
|
function consultaPendencia($param){ |
|
|
|
try{ |
|
$conn = mysqli_connect("138.204.68.51", "wantelPE", "l5Rvjefu5r6aVW46", "isupergaus"); |
|
|
|
if(!$conn){ |
|
throw new Exception("Erro: ". mysqli_connect_error()); |
|
} |
|
|
|
$query = "SELECT mv.Cliente, |
|
cli.Nome, |
|
cli.TelCelular, |
|
MIN(mv.data) as 'Vencimento', |
|
case when cli.Situacao='A' then \"Ativos\" |
|
when cli.Situacao='B' then \"Bloqueado\" |
|
when cli.Situacao='C' then \"Cancelado\" |
|
when cli.Situacao='S' then \"Suspenso\" end as 'Situacao', |
|
DATEDIFF(SYSDATE(),mv.data) as 'Dias de atraso', |
|
round(sum(mv.valor),2) as 'Valor', |
|
sum( ROUND((mv.valor*0.02),2))as 'Multa', |
|
sum(round (0.00033333*(DATEDIFF(SYSDATE(),mv.data)-1)*mv.valor,2)) as 'Juros', |
|
sum((mv.valor+ROUND(((mv.valor*2)/100),2)+round (0.00033333*(DATEDIFF(SYSDATE(),mv.data)-1)*mv.valor,2))) as 'Total', |
|
count(mv.data) as 'Qtd de Boletos', |
|
case when DATEDIFF(SYSDATE(),mv.data)>=3 then 'Inadimplente' else 'Adimplente' end as 'Situacao' |
|
FROM Movimento mv |
|
inner join Clientes cli on cli.codigo=mv.cliente |
|
|
|
where mv.valor>0 |
|
and DATEDIFF(SYSDATE(),mv.data)>=15 |
|
and mv.Estornado='N' |
|
and mv.BaixaDataHora is null |
|
and mv.BxSequencia=0 |
|
and mv.Conta=3 |
|
and mv.BaixaDataHora is null |
|
and cli.Situacao<>'A' |
|
and cli.TelCelular = '".$param."' |
|
group by cli.nome"; |
|
|
|
$var = mysqli_query($conn, $query); |
|
$result = mysqli_fetch_array($var,MYSQLI_ASSOC); |
|
|
|
} catch (Exception $ex) { |
|
|
|
return $ex->getMessage(); |
|
} |
|
|
|
mysqli_close($conn); |
|
return $result; |
|
} |
|
|
|
function ConnectPG() { |
|
$dbPort = "5432"; |
|
$dbHost = "127.0.0.1"; |
|
$dbName = "pbx"; |
|
$dbUser = "contacte"; |
|
$dbPassword = "ctepgSQL"; |
|
$str = "host='$dbHost' port='$dbPort' dbname='$dbName' user='$dbUser' password='$dbPassword'"; |
|
return pg_connect($str); |
|
} |