access(); //echo $user; /*print_r($user); print_r($user->user["id"]); echo "****|"; print_r($user->acceso);//null sin permisos, w o r echo "|****|"; print_r($user->profesor); echo "|****|"; print_r($user->facultad["facultad_id"]); exit();*/ //profesor, admin, rol, facultad if ($user->acceso === null && !$user->admin){ die(header('Location: index.php')); exit(); } $supervisor = false; $coordinador = false; if($user->rol["rol_id"]==7 || $user->rol["rol_id"]==8){ $supervisor = true; } if($user->rol["rol_id"]==9 || $user->rol["rol_id"]==8){ $coordinador = true; } //$user->print_to_log('Reposiciones'); //$write = $user->admin || in_array($user->acceso, ['w']); $write = true; // function duracionMinutos($fechahora_i, $fechahora_f){ return round((strtotime($fechahora_f) - strtotime($fechahora_i)) / 60,2); } if($user->periodo_id!= ""){ $en_fecha = $db->querySingle("SELECT ESTA_EN_PERIODO(NOW()::DATE, :periodo_id)", [':periodo_id' => $user->periodo_id])['esta_en_periodo']; $profesores_rs = array(); $tab_inicial = 1; if(!$supervisor){ $fac_id = $user->facultad["facultad_id"]; $carrera_rs = $db->query('SELECT * FROM fs_profesor_facultad(:fac, :periodo)', [':fac'=>$fac_id, ':periodo' => $user->periodo_id]); }else{ $carrera_rs = $db->query('SELECT * FROM fs_profesor_facultad(NULL, :periodo)', [ ':periodo' => $user->periodo_id]); } $salones_rs = $db->query('SELECT * from salon_view where es_salon is true'); //Periodo $periodo_rs = $db->querySingle('SELECT periodo_fecha_inicio, periodo_fecha_fin FROM periodo WHERE periodo_id = :periodo_id', [':periodo_id' => $user->periodo_id]); $periodo_fin = $periodo_rs["periodo_fecha_fin"]; if(strtotime($periodo_rs["periodo_fecha_inicio"])>strtotime(date("Y-m-d")) ) $fecha_man = date("d/m/Y", strtotime($periodo_rs["periodo_fecha_inicio"])); else{ $dias = 3; if( intval(date("w")) >=3 && intval(date("w"))<=5 )//Mie a Vie $dias+=3; else if( intval(date("w")) ==6 )//Sab $dias+=2; else if( intval(date("w")) ==0 )//Do $dias+=1; $fecha_man = date("d/m/Y", strtotime("+".$dias." day")); } // Fechas filtro if(isset($_POST["fecha_inicial"])) $fecha_ini = $_POST["fecha_inicial"]; else $fecha_ini = date("d/m/Y", strtotime($periodo_rs["periodo_fecha_inicio"])); if(isset($_POST["fecha_final"])) $fecha_fin = $_POST["fecha_final"]; else $fecha_fin = date("d/m/Y", strtotime($periodo_rs["periodo_fecha_fin"])); //Reposiciones $repEdo_rs = $db->query('SELECT * FROM fs_estado_reposicion' ); $repoParams = array(); $asigParams = array(); $query = ""; if($user->rol["rol_id"] == 9){//es coordinador $query .= ":facultad, "; $repoParams[":facultad"] = $user->facultad["facultad_id"]; }else{//supervisor $query .= "NULL, "; } if(isset($_POST["prof"]) ){ $query .= ":prof,"; $profesor = trim($_POST["prof"]);//limpia texto $repoParams[":prof"] = $profesor; }else{ $query .= "NULL,"; } $query .= ":f_ini, :f_fin, "; $queryAsig = ":f_ini, :f_fin,"; $date = DateTime::createFromFormat('d/m/Y', $fecha_ini); $fecha_ini_db = $date->format('Y-m-d'); $date = DateTime::createFromFormat('d/m/Y', $fecha_fin); $fecha_fin_db = $date->format('Y-m-d'); $repoParams[":f_ini"] = $fecha_ini_db; $repoParams[":f_fin"] = $fecha_fin_db; $repoParams[":edo"] = 1;//se sobreescribe $asigParams[":f_ini"] = $fecha_ini_db; $asigParams[":f_fin"] = $fecha_fin_db; } ?> Reposiciones autorizar | <?= $user->facultad['facultad'] ?? 'General' ?> " ?>
periodo_id!= ""){ ?>
No es una fecha válida.
El rango de fechas no es válido.
rol["rol_id"] == 7){//es supervisor $repoParams[":sup"] = $user->user["id"]; $reposiciones_rs = $db->query('SELECT * FROM fs_reposicion_solicitud(NULL, '.$query.':edo, 0, NULL, :sup) ', $repoParams ); }else{ $reposiciones_rs = $db->query('SELECT * FROM fs_reposicion_solicitud(NULL, '.$query.':edo, 0, NULL) ', $repoParams ); } foreach($reposiciones_rs as $repo){ $tablaArr[] = array("id"=>$repo["reposicion_solicitud_id"], "estado"=>$repo["estado_reposicion_id"], "tipo"=>($repo["es_reposicion"]==true?1:2), "profesor_clave"=>$repo["profesor_clave"], "profesor_nombre"=>$repo["profesor_nombre"], "materia_nombre"=>$repo["materia_nombre"], "horario_grupo"=>$repo["horario_grupo"], "fecha_falta"=>$repo["fecha_clase"], "fecha_nueva"=>$repo["fecha_nueva"], "hora_original"=> $repo["horario_hora"], "hora_nueva"=>$repo["hora_nueva"], "hora_nueva_fin"=>$repo["hora_nueva_fin"], "salon_id"=>$repo["salon_id"], "salon_array"=>$repo["salon_array"]); } if($user->rol["rol_id"] == 7){//es supervisor $asigParams[":sup"] = $user->user["id"]; $asignaciones_rs = $db->query('SELECT * FROM fs_asignacion_solicitud(NULL, '.$queryAsig.' :sup, :edo) ', $asigParams ); }else{ $asignaciones_rs = $db->query('SELECT * FROM fs_asignacion_solicitud(NULL, '.$queryAsig.' NULL, :edo) ', $asigParams ); } foreach($asignaciones_rs as $asig){ $tablaArr[] = array("id"=>$asig["asignacion_solicitud_id"], "estado"=>$asig["estado_reposicion_id"], "tipo"=>3, "profesor_clave"=>$asig["profesor_clave"], "profesor_nombre"=>$asig["profesor_nombre"], "materia_nombre"=>"", "horario_grupo"=>"", "fecha_falta"=>"", "fecha_nueva"=>$asig["fecha_nueva"], "hora_original"=>"", "hora_nueva"=>$asig["hora_nueva"], "hora_nueva_fin"=>$asig["hora_nueva_fin"], "salon_id"=>$asig["salon_id"], "salon_array"=>$asig["salon_array"]); } if(count($tablaArr)>0){ //ordena $tablaArr por fecha_repo usort($tablaArr, function($a, $b) { return strtotime($a['fecha_nueva']) - strtotime($b['fecha_nueva']); }); }else{ echo "No hay reposiciones en este estado"; } ?>

>

" data-edo="" id="id">
Estado Tipo Profesor/Materia Fecha falta Fecha reposición Salón Acciones
d-flex mx-auto">

".substr($reposicion["hora_original"],0, 5); }else{ echo " - "; } ?> ".substr($reposicion["hora_nueva"],0, 5)." a ".substr($reposicion["hora_nueva_fin"],0, 5); ?> jefe_carrera || $user->admin || !$coordinador) && $reposicion["estado"] == 1){?> " title="Aprobar"> admin) && $reposicion["estado"] == 2){?> " title="Autorizar" > " title="Ver detalle"> " title="Ver detalle"> jefe_carrera || $user->admin || $coordinador) && $reposicion["estado"] == 1)/* nueva */ || (($user->admin || $coordinador || $supervisor) && $reposicion["estado"] == 2)/* aprobado facultad */ ){ ?>