/** * The method that is actually run. */ public function perform() { try { //Si el arreglo de usuarios no es vacio if (isset(self::$usuarios)) { $grafica = new Grafica_usuario(); $excel = new SimpleExcel('csv'); $excel->writer->setDelimiter(","); /** * Filtro de Reporte Default Semanal */ $fecha["esta_semana"] = date('Y-m-d h:i:s'); foreach (self::$usuarios as $usuario) { $subordinados = Subordinados::andrea_ACL($usuario["uuid_usuario"]); $uuid_subordinados = !empty($subordinados) ? implode(", ", array_map(function ($subordinados) { return "'" . $subordinados . "'"; }, $subordinados)) : ""; echo "ID JOB: " . $usuario["id_job"] . "." . PHP_EOL; if ($usuario["id_job"] == 6) { echo "Ejecutando Reporte de Oportunidades." . PHP_EOL; /** * REPORTE PUNTAJE DE OPORTUNIDAD */ $puntaje_oportunidad = $grafica->listar_oportunidades_por_puntaje($fecha, $subordinados); if (!empty($puntaje_oportunidad)) { $headers = array("Usuario", "Nombre Oportunidad", "Puntaje"); /** * Armar contenido/valores del CSV */ $j = 0; foreach ($puntaje_oportunidad as $puntaje) { $contentarray[$j][] = $grafica->limpiar_cadena_texto($puntaje["usuario_asignado"]); $contentarray[$j][] = $grafica->limpiar_cadena_texto($puntaje["nombre"]); $contentarray[$j][] = $puntaje["percentagerank"] . "%"; $j++; } $csv = array_merge(array($headers), $contentarray); /** * GENERAR ARCHIVO CSV */ $excel->writer->setData($csv); $excel->writer->saveFile('reporte-puntaje-oportunidades-semana-' . date('W'), '/var/www/clientes/crm_corcione/public/uploads/reportes/reporte-puntaje-oportunidades-semana-' . date('W') . '.csv'); $filename = '/var/www/clientes/crm_corcione/public/uploads/reportes/reporte-puntaje-oportunidades-semana-' . date('W') . '.csv'; $mail = new PHPMailer(); $mail->setFrom('*****@*****.**', 'Corcione'); $mail->addAddress($usuario["email"], $usuario["nombre_completo"]); $mail->addAttachment($filename); $mail->isHTML(true); $mail->Subject = 'Reporte de Puntaje de Oportunidades - Corcione CRM'; $mail->Body = 'Adjunto reporte'; if (!$mail->send()) { echo 'Message could not be sent. Mailer Error: ' . $mail->ErrorInfo . PHP_EOL; } else { echo 'Message has been sent \\n' . PHP_EOL; } if (file_exists($filename)) { unlink($filename); } } } else { if ($usuario["id_job"] == 4) { /** * REPORTE DE ACTIVIDAD SEMANAL */ $actividades = $grafica->usuarios_actividades($fecha, $subordinados); if (!empty($actividades)) { /** * Armar Headers */ $headers = array_keys($actividades[0]); $headers = array_map(function ($headers) { $key = ucwords(str_replace("_", " ", $headers)); $key = str_replace(" De ", " de ", $key); $key = str_replace(" Al ", " al ", $key); $key = str_replace(" Con ", " con ", $key); $key = str_replace(" La ", " la ", $key); $key = str_replace(" En ", " en ", $key); return $key; }, $headers); $contentarray = array(); /** * Armar contenido/valores del CSV */ $j = 0; foreach ($actividades as $actividad) { foreach ($actividad as $key => $descripcion) { $contentarray[$j][] = $descripcion; } $j++; } $csv = array_merge(array($headers), $contentarray); /** * GENERAR ARCHIVO CSV */ $excel->writer->setData($csv); $excel->writer->saveFile('reporte-actividades-semana-' . date('W'), '/var/www/clientes/crm_corcione/public/uploads/reportes/reporte-actividades-semana-' . date('W') . '.csv'); $filename = '/var/www/clientes/crm_corcione/public/uploads/reportes/reporte-actividades-semana-' . date('W') . '.csv'; $mail = new PHPMailer(); $mail->setFrom('*****@*****.**', 'Corcione'); $mail->addAddress($usuario["email"], $usuario["nombre_completo"]); $mail->addAttachment($filename); $mail->isHTML(true); $mail->Subject = 'Reporte de Actividad Semanal - Corcione CRM'; $mail->Body = 'Adjunto reporte'; if (!$mail->send()) { echo 'Message could not be sent. Mailer Error: ' . $mail->ErrorInfo . PHP_EOL; } else { echo 'Message has been sent \\n' . PHP_EOL; } if (file_exists($filename)) { unlink($filename); } } } else { if ($usuario["id_job"] == 5) { /** * REPORTE DE CLIENT SCORE */ $client_scores = $grafica->clienteScoreUsuario(date('Y-m-d h:i:s'), $uuid_subordinados); if (!empty($client_scores)) { /** * Armar Headers */ $headers = array("Usuario", "Clientes de Semana", "Clientes de Mes", "Clientes de Año", "Todos los Clientes"); $contentarray = array(); /** * Armar contenido/valores del CSV */ $j = 0; foreach ($client_scores as $score) { //foreach($scores AS $key => $score){ $contentarray[$j][] = $score["usuario_asignado"]; $contentarray[$j][] = $score["score_semana"]; $contentarray[$j][] = $score["score_mes"]; $contentarray[$j][] = $score["score_year"]; $contentarray[$j][] = $score["score_todo"]; //} $j++; } $csv = array_merge(array($headers), $contentarray); /** * GENERAR ARCHIVO CSV */ $excel->writer->setData($csv); $excel->writer->saveFile('reporte-clientscore-semana-' . date('W'), '/var/www/clientes/crm_corcione/public/uploads/reportes/reporte-clientscore-semana-' . date('W') . '.csv'); $filename = '/var/www/clientes/crm_corcione/public/uploads/reportes/reporte-clientscore-semana-' . date('W') . '.csv'; $mail = new PHPMailer(); $mail->setFrom('*****@*****.**', 'Corcione'); $mail->addAddress($usuario["email"], $usuario["nombre_completo"]); $mail->addAttachment($filename); $mail->isHTML(true); $mail->Subject = 'Reporte de Client Score - Corcione CRM'; $mail->Body = 'Adjunto reporte'; if (!$mail->send()) { echo 'Message could not be sent. Mailer Error: ' . $mail->ErrorInfo . PHP_EOL; } else { echo 'Message has been sent \\n' . PHP_EOL; } if (file_exists($filename)) { unlink($filename); } } } } } } } } catch (\Exception $e) { echo $e->getMessage() . PHP_EOL; } }
public function ajax_cliente_score_usuario() { if ($this->input->is_ajax_request()) { $fecha = $this->input->post('fecha', true); $fecha_opciones = date_options($fecha); $fecha_actual = $fecha_opciones[$fecha][0]; $actual = array($fecha => $fecha_actual); $uuid_usuario = CRM_Controller::$uuid_usuario; $score = Grafica_usuario::clienteScoreUsuario($actual, $uuid_usuario); $json = $score; echo $json; } }