puesto_select.php 3.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. <?php
  2. /* AJAX
  3. * Selecciona los datos de la carrera
  4. * Recibe:
  5. * id - ID de la carrera
  6. * Return:
  7. * resultado o cadena de error
  8. */
  9. require_once("../../include/constantes.php");
  10. require_once("../../include/nocache.php");
  11. require_once("../../include/bd_pdo.php");
  12. require_once("../../classes/ValidaSesion.php");
  13. function enAreasPuesto($areasPuestoArr, $id_buscar){
  14. foreach($areasPuestoArr as $area){
  15. if($area["Area_id"] == $id_buscar)
  16. return true;
  17. }
  18. return false;
  19. }
  20. //--- Objeto para validar usuario. El id de usuario lo lee desde sesión
  21. $objSesion = new ValidaSesion($pdo, 87, APSA);
  22. if(!$objSesion->tieneAcceso()){
  23. $return["error"] = "Error! No tienes permisos para realizar esta acción.";
  24. }else if(!isset($_POST["id"])){
  25. $return["error"] = "Error! No se recibió la información del puesto.";
  26. }else{
  27. $id = filter_input(INPUT_POST, "id", FILTER_SANITIZE_NUMBER_INT);//limpia texto
  28. $stmt = $pdo->prepare('Select * from fs_puesto(:id)');
  29. $stmt->bindParam(":id", $id);
  30. if(!$stmt->execute()){
  31. $return["error"] = "Ocurrió un error al leer los datos del puesto.";
  32. }else{
  33. $rs = $stmt->fetch();
  34. $stmt->closeCursor();
  35. $stmt = null;
  36. $return["id"] = $rs["Puesto_id"];
  37. $return["desc"] = $rs["Puesto_desc"];
  38. $return["area"] = $rs["AreaAdministrativa_id"];
  39. $return["area_desc"] = $rs["AreaAdministrativa_desc"];
  40. $return["usuario"] = $rs["Usuario_id"];
  41. $return["usuario_nombre"] = $rs["Usuario_nombre"];
  42. $return["usuario_apellidos"] = $rs["Usuario_apellidos"];
  43. $return["usa_checador"] = $rs["Puesto_usaChecador"];
  44. $return["jefecarrera"] = $rs["Puesto_esJefeCarrera"];
  45. $return["enproceso"] = $rs["Puesto_verEnProceso"];
  46. $stmt = $pdo->prepare('Select * from fs_puesto_areaacademica(:id)');
  47. $stmt->bindParam(":id", $id);
  48. if(!$stmt->execute()){
  49. $return["error"] = "Ocurrió un error al leer los datos de las áreas académicas del puesto.";
  50. }else{
  51. $rs_areas = $stmt->fetchAll();
  52. $stmt->closeCursor();
  53. $stmt = null;
  54. $i=0;
  55. foreach($rs_areas as $area){
  56. $return["areas"][$i]["id"] = $area["Area_id"];
  57. $return["areas"][$i]["desc"] = $area["Area_desc"];
  58. $return["areas"][$i]["color"] = $area["Area_color"];
  59. $return["areas"][$i]["nivel"] = $area["Nivel_id"];
  60. $return["areas"][$i]["nivel_desc"] = $area["Nivel_desc"];
  61. $i++;
  62. }
  63. if($i == 0)
  64. $return["areas"] = array();
  65. }
  66. $stmt = $pdo->prepare('Select * from fs_areaacademica(NULL, NULL)');
  67. if(!$stmt->execute()){
  68. $return["error"] = "Ocurrió un error al leer los datos de las áreas académicas.";
  69. }else{
  70. $rs_areas_original = $stmt->fetchAll();
  71. $stmt->closeCursor();
  72. $stmt = null;
  73. $i=0;
  74. foreach($rs_areas_original as $area){
  75. if(!enAreasPuesto($rs_areas, $area["Area_id"])){
  76. $return["areas_original"][$i]["id"] = $area["Area_id"];
  77. $return["areas_original"][$i]["desc"] = $area["Area_desc"];
  78. $return["areas_original"][$i]["color"] = $area["Area_color"];
  79. $return["areas_original"][$i]["nivel"] = $area["Nivel_id"];
  80. $return["areas_original"][$i]["nivel_desc"] = $area["Nivel_desc"];
  81. $i++;
  82. }
  83. }
  84. if($i == 0)
  85. $return["areas_original"] = array();
  86. }
  87. }
  88. }
  89. $return["json"] = json_encode($return);
  90. echo json_encode($return);
  91. ?>