tieneAcceso()){ $objSesion->terminaSesion(); } $objSesion->validaPeriodoUsuario();//si no tiene periodo manda a main ?> APSA - Facultad de Ingeniería
printMenu(); //Obtiene profesores $query = ""; if(isset($_POST["fecha_inicial"])){ $filter_fini = trim(filter_input(INPUT_POST, "fecha_inicial", FILTER_SANITIZE_STRING,array('flags' => FILTER_FLAG_STRIP_LOW)));//limpia texto } if(isset($_POST["fecha_final"])){ $filter_ffin = trim(filter_input(INPUT_POST, "fecha_final", FILTER_SANITIZE_STRING,array('flags' => FILTER_FLAG_STRIP_LOW)));//limpia texto } if(isset($_POST["desc"])){ $query .= ":desc,"; $filter_desc = trim(filter_input(INPUT_POST, "desc", FILTER_SANITIZE_STRING,array('flags' => FILTER_FLAG_STRIP_LOW)));//limpia texto }else{ $query .= "NULL,"; } if(isset($filter_fini)) $fecha_ini = $filter_fini; else $fecha_ini = date('Y-m-d', strtotime('-7 days')); if(isset($filter_ffin)) $fecha_fin = $filter_ffin; else $fecha_fin = date("Y-m-d"); $stmt = $pdo->prepare('Select * from fs_usuariochecador(:fini, '.$query.' 0, '.MAX_ROWS.')');//sólo activos $stmt->bindParam(":fini", $fecha_ini); //$stmt->bindParam(":ffin", $fecha_fin); if(isset($filter_desc)) $stmt->bindParam(":desc", $filter_desc); if(!$stmt->execute()){ $errorDesc = "Ocurrió un error al cargar los profesores"; print_r($stmt->errorInfo()); }else{ $admin_rs = $stmt->fetchAll(); } $stmt->closeCursor(); ?>
>

Se muestran los primeros resultados. Utiliza los filtros para encontrar el usuario que buscas.

Para las asistencias se considera el horario administrativo autorizado actualmente.

" class="row"> prepare('Select COUNT("Fecha")::integer AS "Total_dias", COUNT("Asistencia_checador_inicial")::integer "Asistencias", SUM(CASE WHEN "Asistencia_isRetardo" THEN 1 ELSE 0 END)::integer AS "Retardos", SUM(CASE WHEN "Asistencia_isJustificada" then 1 else 0 end)::integer AS "Justificados", SUM(CASE WHEN "Asistencia_isReposicion" THEN 1 ELSE 0 END)::integer AS "Reposiciones" FROM fs_asistenciaadministrativo(:fini, :ffin, :id)');//sólo activos $stmt->bindParam(":id", $admin["Usuario_id"]); $stmt->bindParam(":fini", $fecha_ini); $stmt->bindParam(":ffin", $fecha_fin); if(!$stmt->execute()){ echo ""; print_r($stmt->errorInfo()); }else{ $fechas_rs = $stmt->fetch(); if($fechas_rs["Total_dias"] > 0){ $asist = round($fechas_rs["Asistencias"]*100/$fechas_rs["Total_dias"]); //$asist = sprintf('%0.2f', $asist); }else $asist = 0; ?> closeCursor(); //Subquery Select * from fs_asistenciaadministrativo(:fini, :ffin, :id) <- Agrupar resultados /*if($admin["Total_dias"] > 0) $asist = $admin["Asistencias"]*100/$admin["Total_dias"]; else $asist = 0;*/ //$ret = $admin["Retardos"]*100/$admin["Total_dias"]; //$just = $admin["Justificados"]*100/$admin["Total_dias"]; //$admin["Reposiciones"] ?>
Administrativo Total Asistencia Detalle
Ocurrió un error al cargar las asistencias
0){ ?>
" style="width: %" aria-valuenow="" aria-valuemin="0" aria-valuemax="100" >
" style="width: %" aria-valuenow="" aria-valuemin="0" aria-valuemax="100">
" style="width: 100%" aria-valuenow="100" aria-valuemin="0" aria-valuemax="100">Sin asistencias