144 lines
4.0 KiB
PHP
144 lines
4.0 KiB
PHP
|
|
<?php
|
||
|
|
require_once __DIR__.'/auth_guard.php';
|
||
|
|
require_once("../config.php");
|
||
|
|
require_once("../runtime/encrypt.php");
|
||
|
|
dbConnect();
|
||
|
|
$query = $_GET['query'];
|
||
|
|
$query = encrypt_decrypt('decrypt', $query);
|
||
|
|
|
||
|
|
global $link;
|
||
|
|
//Obtener todas las categorias registradas
|
||
|
|
$resultados = [];
|
||
|
|
$headers = ["Periodo","Estado del empleado","Alta de usuario","Número de empleado","Nombre(s)","Apellidos","Posición","Sociedad","División","Unidad organizativa","CeCo","Distrito","Centro de trabajo","Supervisor","Categoría","Tema","Subtema","Completado"];
|
||
|
|
array_push($resultados,$headers);
|
||
|
|
|
||
|
|
|
||
|
|
if (!isset($query)) {
|
||
|
|
$sqluserstotal ="SELECT
|
||
|
|
*
|
||
|
|
FROM
|
||
|
|
(
|
||
|
|
SELECT
|
||
|
|
rs1.fecha,
|
||
|
|
rs1.estado_empleado,
|
||
|
|
rs1.user_creado,
|
||
|
|
rs1.numempl,
|
||
|
|
rs1.nomempl,
|
||
|
|
rs1.apellidos,
|
||
|
|
rs1.posicion,
|
||
|
|
rs1.sociedad,
|
||
|
|
rs1.division,
|
||
|
|
rs1.unidad_organizativa,
|
||
|
|
rs1.ceco,
|
||
|
|
rs1.nomcentro,
|
||
|
|
rs1.nomdistrito,
|
||
|
|
rs1.supervisor,
|
||
|
|
c.nombre as categoria,
|
||
|
|
rs1.tema,
|
||
|
|
rs1.subtema,
|
||
|
|
rs1.estado
|
||
|
|
FROM
|
||
|
|
(
|
||
|
|
SELECT
|
||
|
|
DATE_FORMAT(scormvars.fecha, '%d-%m-%Y') AS fecha,
|
||
|
|
IF(user.habilitado = 1, 'ACTIVO','BAJA') as estado_empleado,
|
||
|
|
scormvars.numempl AS numempl,
|
||
|
|
user.nombre AS nomempl,
|
||
|
|
user.apellido as apellidos,
|
||
|
|
user.posicion,
|
||
|
|
user.sociedad,
|
||
|
|
user.division,
|
||
|
|
user.unidad_organizativa,
|
||
|
|
user.ceco,
|
||
|
|
user.distritonom AS nomdistrito,
|
||
|
|
user.centrotrabajonom AS nomcentro,
|
||
|
|
user.supervisor,
|
||
|
|
user.creado as user_creado,
|
||
|
|
categoria.padre as categoria,
|
||
|
|
categoria.nombre AS tema,
|
||
|
|
scormpkg.nombre as subtema,
|
||
|
|
IF(scormvars.varValue = 'completed' OR scormvars.varValue = 'passed', 'COMPLETADO','NO COMPLETADO') as estado
|
||
|
|
FROM
|
||
|
|
categoria
|
||
|
|
INNER JOIN scormpkg ON scormpkg.idcategoria = categoria.id
|
||
|
|
INNER JOIN scormvars ON scormpkg.id = scormvars.SCOInstanceID
|
||
|
|
INNER JOIN user ON user.numempl = scormvars.numempl
|
||
|
|
WHERE
|
||
|
|
scormvars.varName = 'cmi.core.lesson_status' AND scormvars.numempl <> ''
|
||
|
|
) AS rs1
|
||
|
|
INNER JOIN categoria as c ON c.id = rs1.categoria
|
||
|
|
WHERE c.id = rs1.categoria
|
||
|
|
) as rs2";
|
||
|
|
}else{
|
||
|
|
$sqluserstotal = $query;
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
$resultusers = mysqli_query($link, $sqluserstotal);
|
||
|
|
|
||
|
|
if( mysqli_num_rows( $resultusers) > 0 ){
|
||
|
|
|
||
|
|
while ($usuario = mysqli_fetch_assoc ($resultusers)) {
|
||
|
|
|
||
|
|
|
||
|
|
$obj = [
|
||
|
|
$usuario['fecha'],
|
||
|
|
$usuario['estado_empleado'],
|
||
|
|
$usuario['user_creado'],
|
||
|
|
$usuario['numempl'],
|
||
|
|
$usuario['nomempl'],
|
||
|
|
$usuario['apellidos'],
|
||
|
|
$usuario['posicion'],
|
||
|
|
$usuario['sociedad'],
|
||
|
|
$usuario['division'],
|
||
|
|
$usuario['unidad_organizativa'],
|
||
|
|
$usuario['ceco'],
|
||
|
|
$usuario['nomdistrito'],
|
||
|
|
$usuario['nomcentro'],
|
||
|
|
$usuario['supervisor'],
|
||
|
|
$usuario['categoria'],
|
||
|
|
$usuario['tema'],
|
||
|
|
$usuario['subtema'],
|
||
|
|
$usuario['estado']
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
];
|
||
|
|
array_push($resultados,$obj);
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
function cleanData(&$str)
|
||
|
|
{
|
||
|
|
$str = mb_convert_encoding($str , 'UTF-16LE' ,'UTF-8');
|
||
|
|
$str = preg_replace("/\t/", " ", $str);
|
||
|
|
$str = preg_replace("/\r?\n/", " ", $str);
|
||
|
|
if(strstr($str, '"')) $str = '"' . str_replace('"', '""', $str) . '"';
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
// filename for download
|
||
|
|
$filename = "reporte - general Estafeta __" . date('Ymd') . ".csv";
|
||
|
|
|
||
|
|
header("Content-Disposition: attachment; filename=\"$filename\"");
|
||
|
|
header("Content-Type: text/csv");
|
||
|
|
$out = fopen("php://output", 'w');
|
||
|
|
$flag = false;
|
||
|
|
|
||
|
|
foreach ($resultados as $row) {
|
||
|
|
|
||
|
|
array_walk($row, __NAMESPACE__ . '\cleanData');
|
||
|
|
fputcsv($out, array_values($row), ',', '"');
|
||
|
|
}
|
||
|
|
|
||
|
|
fclose($out);
|
||
|
|
exit;
|
||
|
|
|
||
|
|
?>
|