Etapa.php 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. <?php
  2. require_once 'Usuario.php';
  3. class Etapa {
  4. public static function buscaEtapaXClave($pdo, $cveEtapa){
  5. $etapa = array();
  6. $stmt = $pdo->prepare('Select * from cidit_fs_etapabusca(:etapa)');
  7. $stmt->bindParam(':etapa', $cveEtapa);
  8. if($stmt->execute())
  9. $etapa = $stmt->fetch();
  10. $stmt->closeCursor(); // cierra conexion de resultado
  11. $stmt = null;
  12. return $etapa;
  13. }
  14. public static function getIdEtapa($pdo, $cveEtapa){
  15. $id = 0;
  16. $etapa = self::buscaEtapaXClave($pdo, $cveEtapa);
  17. if(count($etapa) > 0){
  18. $id = $etapa['idetapa'];
  19. }
  20. return $id;
  21. }
  22. public static function getEtapaXID($pdo, $id = 0){
  23. $etapa = array();
  24. if ($id == 0)
  25. $stmt = $pdo->prepare('Select * from cidit_fs_etapaxid(null)');
  26. else {
  27. $stmt = $pdo->prepare('Select * from cidit_fs_etapaxid(:id)');
  28. $stmt->bindParam(':id', $id);
  29. }
  30. if($stmt->execute())
  31. $etapa = $stmt->fetchAll();
  32. $stmt->closeCursor();
  33. $stmt = null;
  34. return $etapa;
  35. }
  36. public static function getClaveEtapaXID($pdo, $id){
  37. $clave = '';
  38. $stmt = $pdo->prepare('Select * from cidit_fs_etapaxid(:id)');
  39. $stmt->bindParam(':id', $id);
  40. if($stmt->execute()){
  41. $et = $stmt->fetch();
  42. $clave = $et['clave'];
  43. }
  44. $stmt->closeCursor();
  45. $stmt = null;
  46. return $clave;
  47. }
  48. public static function getAsignacionesXEtapa($pdo, $concurso, $etapa){
  49. $asignaciones = array();
  50. $stmt = $pdo->prepare('Select * from cidit_fs_asignacionesxetapa(:etapa,:concurso)');
  51. $stmt->bindParam(':concurso', $concurso);
  52. $stmt->bindParam(':etapa', $etapa);
  53. if($stmt->execute()){
  54. $asignaciones = $stmt->fetchAll();
  55. }
  56. $stmt->closeCursor();
  57. $stmt = null;
  58. return $asignaciones;
  59. }
  60. public static function getUsuariosAsignados($pdo, $concurso, $etapa, $orden){
  61. $usuarios = array();
  62. $asignaciones = Etapa::getAsignacionesXEtapa($pdo, $concurso, $etapa);
  63. $users = array_column($asignaciones,'idusuario');
  64. $users = array_unique($users);
  65. foreach ($users as $user){
  66. $temp = Usuario::getNombreUsuario($pdo, $user);
  67. if (count($temp) > 0){
  68. $temp['idusuario'] = $user;
  69. array_push($usuarios,$temp);
  70. }
  71. }
  72. array_multisort(array_column($usuarios, $orden),SORT_ASC,$usuarios);
  73. return $usuarios;
  74. }
  75. public static function getRubrosXEtapa($pdo, $etapa){
  76. $rubros = array();
  77. $stmt = $pdo->prepare('Select * from cidit_fs_rubrosxetapa(:etapa)');
  78. $stmt->bindParam(':etapa', $etapa);
  79. if($stmt->execute())
  80. $rubros = $stmt->fetchAll();
  81. $stmt->closeCursor();
  82. $stmt = null;
  83. return $rubros;
  84. }
  85. public static function getPreguntasXRubro($pdo, $rubro){
  86. $preguntas = array();
  87. $stmt = $pdo->prepare('Select * from cidit_fs_preguntasxrubro(:rubro)');
  88. $stmt->bindParam(':rubro', $rubro);
  89. if($stmt->execute())
  90. $preguntas = $stmt->fetchAll();
  91. $stmt->closeCursor();
  92. $stmt = null;
  93. return $preguntas;
  94. }
  95. public static function totalFaltantes($pdo, $usr,$etapa){
  96. $total = 0;
  97. $stmt = $pdo->prepare("Select * from cidit_fs_proyectosfaltantes(:usr,:etapa)");
  98. $stmt->bindParam(':usr', $usr);
  99. $stmt->bindParam(':etapa', $etapa);
  100. if ($stmt->execute())
  101. $total = $stmt->rowCount();
  102. return $total;
  103. }
  104. public static function getExistenValoracionesXEtapa($pdo, $concurso, $etapa, $usr = 0){
  105. $valoraciones = array();
  106. if ($usr != 0){
  107. $stmt = $pdo->prepare('Select * from cidit_fs_existenvaloracionesxetapa(:concurso,:etapa,:usr)');
  108. $stmt->bindParam(':usr', $usr);
  109. } else
  110. $stmt = $pdo->prepare('Select * from cidit_fs_existenvaloracionesxetapa(:concurso,:etapa,null)');
  111. $stmt->bindParam(':concurso', $concurso);
  112. $stmt->bindParam(':etapa', $etapa);
  113. if($stmt->execute()){
  114. $valoraciones = $stmt->fetchAll();
  115. }
  116. $stmt->closeCursor();
  117. $stmt = null;
  118. return $valoraciones;
  119. }
  120. public static function getUsuariosValoraciones($pdo, $concurso, $etapa, $orden){
  121. $usuarios = array();
  122. $valoraciones = Etapa::getExistenValoracionesXEtapa($pdo, $concurso, $etapa);
  123. foreach ($valoraciones as $user){
  124. $temp = Usuario::getNombreUsuario($pdo, $user['idusuario']);
  125. if (count($temp) > 0){
  126. $temp['idusuario'] = $user;
  127. array_push($usuarios,$temp);
  128. }
  129. }
  130. array_multisort(array_column($usuarios, $orden),SORT_ASC,$usuarios);
  131. return $usuarios;
  132. }
  133. public static function getFechasXEtapa($pdo, $concurso, $etapa){
  134. $fechas = array();
  135. $stmt = $pdo->prepare('Select * from cidit_fs_periodoxetapa(:concurso,:etapa)');
  136. $stmt->bindParam(':concurso', $concurso);
  137. $stmt->bindParam(':etapa', $etapa);
  138. if($stmt->execute())
  139. $fechas = $stmt->fetchAll();
  140. $stmt->closeCursor();
  141. $stmt = null;
  142. return $fechas;
  143. }
  144. }