|
|
|
|
#!/usr/bin/php -q
|
|
|
|
|
<?php
|
|
|
|
|
include('configAcesso.php');
|
|
|
|
|
include('util/util.php');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* DIRETORIO DE LOG's GERADOS
|
|
|
|
|
*/
|
|
|
|
|
$pathLog = "/var/log/funil_vendas_diario.log";
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Este script tem o proposito de popular a tabela vds_chamadas_diaria que guarda a
|
|
|
|
|
* sumarizacao das chamadas para dar mais desempenho nos relatorios.
|
|
|
|
|
*
|
|
|
|
|
* Para importar todo o banco de uma vez executo o script com o primeiro parametros igual a "I" ex.: ./funilVendasDiario.php I;
|
|
|
|
|
* Para importar um periodo passe as datas inicial e final ex.: ./funilVendasDiario.php 01/01/2020 31/03/2020;
|
|
|
|
|
* Para importar o dia atual nao precisa passar nada, as datas serao automaticamente ajustadas;
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
$params = GetParamsVendaDiaria($argv);
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Tipo da importacao, "I" -> importa o banco todo, "D" usa um range de datas
|
|
|
|
|
*/
|
|
|
|
|
$import = $params['tipo_importa'];
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Data Inicial.
|
|
|
|
|
*/
|
|
|
|
|
$dataIni = $params['data_inicial'];
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Data Final.
|
|
|
|
|
*/
|
|
|
|
|
$dataFim = $params['data_final'];
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* CONFIGURACAO AO BANCO DE DADOS LOCAL
|
|
|
|
|
*/
|
|
|
|
|
$conn = GetConnect();
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
|
|
|
|
|
if ($import == "I") {
|
|
|
|
|
$query = "truncate table vds_chamadas_diario;\n";
|
|
|
|
|
} else {
|
|
|
|
|
$query = sprintf("delete from vds_chamadas_diario where data_ini >= %s and data_ini <= %s;\n", QuotedStr($dataIni), QuotedStr($dataFim));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$query .= "insert into vds_chamadas_diario (id_pk_emp,originadas,atendidas,vendido,nao_atendidas,data_ini,data_fim)
|
|
|
|
|
select a.emp_id,count(*) as originadas,
|
|
|
|
|
sum(case when(chm_evento in( 'COMPLETAAGENT', 'TRANSFER', 'COMPLETACALLER', 'COMPLETECALLER', 'COMPLETEAGENT'))then 1 else 0 end) as atendidas,
|
|
|
|
|
sum(case when(clas_descricao = 'VENDA')then 1 else 0 end) as vendido,
|
|
|
|
|
sum(case when(chm_evento = 'NOANSWERS')then 1 else 0 end) as nao_atendidas,
|
|
|
|
|
chm_data_bilhete,chm_data_bilhete
|
|
|
|
|
from vds_chamadas a
|
|
|
|
|
left outer join vds_classificacoes b on b.emp_id = a.emp_id and b.uid = a.uid \n";
|
|
|
|
|
|
|
|
|
|
if ($import != "I") {
|
|
|
|
|
$query .= sprintf("where chm_data_bilhete >= %s and chm_data_bilhete <= %s \n", QuotedStr($dataIni), QuotedStr($dataFim));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$query .= " group by a.emp_id,chm_data_bilhete,chm_data_bilhete
|
|
|
|
|
order by chm_data_bilhete; ";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (!pg_query($conn, $query)) {
|
|
|
|
|
RaiseExcept("N<EFBFBD>o foi possivel atualizar os dados. \nCmd: {$query}\n", true);
|
|
|
|
|
}
|
|
|
|
|
} catch (Exception $ex) {
|
|
|
|
|
GravarLog($ex->getMessage());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GravarLog($log, $type = 'ERROR') {
|
|
|
|
|
global $pathLog;
|
|
|
|
|
|
|
|
|
|
$log = date('d/m/Y H:i:s') . " [ $type ] " . $log . "\n";
|
|
|
|
|
file_put_contents($pathLog, $log, FILE_APPEND);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetConnect() {
|
|
|
|
|
$str = sprintf("host='%s' port='%s' dbname='%s' user='%s' password='%s'", "127.0.0.1", "5432", "pbx", "contacte", "ctepgSQL");
|
|
|
|
|
$conn = pg_connect($str);
|
|
|
|
|
return $conn;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetParamsVendaDiaria($argv) {
|
|
|
|
|
$params = array();
|
|
|
|
|
$param1 = isset($argv[1]) ? $argv[1] : false;
|
|
|
|
|
$param2 = isset($argv[2]) ? $argv[2] : false;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Indica que <EFBFBD> para importar todo o banco de dados.
|
|
|
|
|
*/
|
|
|
|
|
if ($param1 == 'I') {
|
|
|
|
|
return array("tipo_importa" => 'I', 'data_inicial' => '', 'data_final' => '');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$params['tipo_importa'] = 'D';
|
|
|
|
|
$params['data_inicial'] = is_date($param1) ? FormatDtMssql($param1) : date("Y-m-d");
|
|
|
|
|
$params['data_final'] = ($param2 && is_date($param2)) ? FormatDtMssql($param2) : date("Y-m-d");
|
|
|
|
|
|
|
|
|
|
return $params;
|
|
|
|
|
}
|