#!/usr/bin/php -q 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ã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 é 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; }