prepare('Select * from cidit_fs_etapabusca(:etapa)'); $stmt->bindParam(':etapa', $cveEtapa); if($stmt->execute()) $etapa = $stmt->fetch(); $stmt->closeCursor(); // cierra conexion de resultado $stmt = null; return $etapa; } public static function getIdEtapa($pdo, $cveEtapa){ $id = 0; $etapa = self::buscaEtapaXClave($pdo, $cveEtapa); if(count($etapa) > 0){ $id = $etapa['idetapa']; } return $id; } public static function getEtapaXID($pdo, $id = 0){ $etapa = array(); if ($id == 0) $stmt = $pdo->prepare('Select * from cidit_fs_etapaxid(null)'); else { $stmt = $pdo->prepare('Select * from cidit_fs_etapaxid(:id)'); $stmt->bindParam(':id', $id); } if($stmt->execute()) $etapa = $stmt->fetchAll(); $stmt->closeCursor(); $stmt = null; return $etapa; } public static function getClaveEtapaXID($pdo, $id){ $clave = ''; $stmt = $pdo->prepare('Select * from cidit_fs_etapaxid(:id)'); $stmt->bindParam(':id', $id); if($stmt->execute()){ $et = $stmt->fetch(); $clave = $et['clave']; } $stmt->closeCursor(); $stmt = null; return $clave; } public static function getAsignacionesXEtapa($pdo, $concurso, $etapa){ $asignaciones = array(); $stmt = $pdo->prepare('Select * from cidit_fs_asignacionesxetapa(:etapa,:concurso)'); $stmt->bindParam(':concurso', $concurso); $stmt->bindParam(':etapa', $etapa); if($stmt->execute()){ $asignaciones = $stmt->fetchAll(); } $stmt->closeCursor(); $stmt = null; return $asignaciones; } public static function getUsuariosAsignados($pdo, $concurso, $etapa, $orden){ $usuarios = array(); $asignaciones = Etapa::getAsignacionesXEtapa($pdo, $concurso, $etapa); $users = array_column($asignaciones,'idusuario'); $users = array_unique($users); foreach ($users as $user){ $temp = Usuario::getNombreUsuario($pdo, $user); if (count($temp) > 0){ $temp['idusuario'] = $user; array_push($usuarios,$temp); } } array_multisort(array_column($usuarios, $orden),SORT_ASC,$usuarios); return $usuarios; } public static function getRubrosXEtapa($pdo, $etapa){ $rubros = array(); $stmt = $pdo->prepare('Select * from cidit_fs_rubrosxetapa(:etapa)'); $stmt->bindParam(':etapa', $etapa); if($stmt->execute()) $rubros = $stmt->fetchAll(); $stmt->closeCursor(); $stmt = null; return $rubros; } public static function getPreguntasXRubro($pdo, $rubro){ $preguntas = array(); $stmt = $pdo->prepare('Select * from cidit_fs_preguntasxrubro(:rubro)'); $stmt->bindParam(':rubro', $rubro); if($stmt->execute()) $preguntas = $stmt->fetchAll(); $stmt->closeCursor(); $stmt = null; return $preguntas; } public static function totalFaltantes($pdo, $usr,$etapa){ $total = 0; $stmt = $pdo->prepare("Select * from cidit_fs_proyectosfaltantes(:usr,:etapa)"); $stmt->bindParam(':usr', $usr); $stmt->bindParam(':etapa', $etapa); if ($stmt->execute()) $total = $stmt->rowCount(); return $total; } public static function getExistenValoracionesXEtapa($pdo, $concurso, $etapa, $usr = 0){ $valoraciones = array(); if ($usr != 0){ $stmt = $pdo->prepare('Select * from cidit_fs_existenvaloracionesxetapa(:concurso,:etapa,:usr)'); $stmt->bindParam(':usr', $usr); } else $stmt = $pdo->prepare('Select * from cidit_fs_existenvaloracionesxetapa(:concurso,:etapa,null)'); $stmt->bindParam(':concurso', $concurso); $stmt->bindParam(':etapa', $etapa); if($stmt->execute()){ $valoraciones = $stmt->fetchAll(); } $stmt->closeCursor(); $stmt = null; return $valoraciones; } public static function getUsuariosValoraciones($pdo, $concurso, $etapa, $orden){ $usuarios = array(); $valoraciones = Etapa::getExistenValoracionesXEtapa($pdo, $concurso, $etapa); foreach ($valoraciones as $user){ $temp = Usuario::getNombreUsuario($pdo, $user['idusuario']); if (count($temp) > 0){ $temp['idusuario'] = $user; array_push($usuarios,$temp); } } array_multisort(array_column($usuarios, $orden),SORT_ASC,$usuarios); return $usuarios; } public static function getFechasXEtapa($pdo, $concurso, $etapa){ $fechas = array(); $stmt = $pdo->prepare('Select * from cidit_fs_periodoxetapa(:concurso,:etapa)'); $stmt->bindParam(':concurso', $concurso); $stmt->bindParam(':etapa', $etapa); if($stmt->execute()) $fechas = $stmt->fetchAll(); $stmt->closeCursor(); $stmt = null; return $fechas; } }