#!/usr/bin/php -q debug('PREPARANDO ARQUIVO PARA ENVIO '. $data_manual); if (!$data_manual) { $dataRel = date('Y-m-d', strtotime(date('Y-m-d') . '-1 days')); } getQuery($data_manual, $log); $rename = RenameFile($dataRel); try { $s3 = S3Client::factory( array( 'credentials' => array( 'key' => $IAM_KEY, 'secret' => $IAM_SECRET ), 'version' => 'latest', 'region' => 'us-east-1' ) ); } catch (Exception $e) { $log->error($e->getMessage()); } $keyName = 'simplesIp/simplesIp_data_arrive/' . basename($rename); try { $file = $rename; $return = $s3->putObject( array( 'Bucket' => $bucketName, 'Key' => $keyName, 'SourceFile' => $file, 'StorageClass' => 'REDUCED_REDUNDANCY' ) ); $log->debug('STATUS ENVIO '. print_r((array)$return, true)); } catch (S3Exception $e) { $log->error($e->getMessage()); } catch (Exception $e) { $log->error($e->getMessage()); } unlink($rename); if ($data_manual) { $data_manual = date("Y-m-d", strtotime($data_manual . ' +1 day')); } else { break; } } function getQuery($data_manual, $log) { ConnectAlgar(); try { $query = sprintf("COPY( SELECT a.uid,chm_calldate, emp_nome_fantasia,chm_fila,chm_dst,prt_proto_parceiro,pl_descricao, (SELECT array_to_string(array_agg(pq_questao || ' | ' || po_opcao), ' || ') FROM vds_pesquisa WHERE uniqueid = a.uid) as pesquisa FROM vds_chamadas a INNER JOIN vds_protcolos b ON b.emp_id = a.emp_id AND b.uid = a.uid INNER JOIN vds_empresas c ON c.emp_id = a.emp_id INNER JOIN vds_pesquisa_log d ON d.uniqueid = a.uid AND d.emp_id = a.emp_id LEFT JOIN vds_pesquisa e ON e.emp_id = a.emp_id AND e.uniqueid = a.uid LEFT JOIN vds_pesquisa_regitra f ON f.uniqueid = e.uniqueid WHERE a.chm_evento IN ('COMPLETEAGENT','COMPLETECALLER','COMPLETAAGENT','COMPLETACALLER', 'TRANSFER') AND chm_data_bilhete = '%s' GROUP BY a.uid,emp_nome_fantasia, chm_fila, chm_calldate, chm_src, chm_dst, prt_proto_parceiro, pl_descricao ORDER BY emp_nome_fantasia DESC ) TO '%s' DELIMITER ';'", $data_manual, PATH_FILE_PSQAWS); return pg_query($query); } catch (Exception $ex) { $log->error($ex->getMessage()); } } function ConnectAlgar() { $dbhost = "127.0.0.1"; $dbport = "5432"; $dbname = "pbx"; $user = "contacte"; $passwd = "ctepgSQL"; $conn = pg_connect("host=$dbhost port=$dbport dbname=$dbname user=$user password=$passwd"); return $conn; } /** * Renoveia o arquivo para o formato previsto pela ALGAR * Ex: YYYY_MM_DD.csv * @return boolean */ function RenameFile($dataFim) { if (file_exists(PATH_FILE_PSQAWS)) { $rename = str_replace("-", "_", $dataFim) . '.csv'; copy(PATH_FILE_PSQAWS, $rename); unlink(PATH_FILE_PSQAWS); return $rename; } throw new Exception("Nao foi possivel renomeiar o Relatorio Gerado!"); } function comparaData($data1, $data2) { if ($data1) { return strtotime($data1) - strtotime($data2) <= 0; } else { return true; } } ?>