load($dir_subida); /** Convert Spreadsheet Object to an Array for ease of use **/ $schdeules = $spreadsheet->getActiveSheet()->toArray(); unlink($dir_subida); $return = new stdClass(); //paso 1 verifcar headers $headers = $schdeules[0]; global $link; dbConnect(); if(!in_array ( "numempl", $headers )){ $return->error = "1"; $return->msg = "No existe la columna número de empleado (numempl)"; }else{ $values = array_splice ($schdeules, 1, sizeof($schdeules)-1); $return->procesados = sizeof($values); $return->correctos = 0; $return->results = []; foreach ($values as $value) { if( $value[0] == "" ){ array_push ($return->results, 'Usuario sin numempl: '.implode(', ', $value) .''); }else if(userExist($value[0])){ for ($i=1; $i < sizeof($headers) ; $i++) { //echo $headers[$i]." - "; $categoria = buscarCategoria($headers[$i]); $userid = buscarID($value[0]); //echo $userid." - "; //echo $categoria." - "; if ($value[$i] == 0) { //echo "ELIMINAR -"; if (buscarUser($categoria,$userid)) { $sql = "DELETE FROM asignacion WHERE catid = '$categoria' AND uid = '$userid'"; if(mysqli_query($link, $sql)){ $return->correctos++; array_push ($return->results, 'El usuario: ' . $value[0] . ' ya no esta asignado a la categoría '.$headers[$i].'.'); }else{ array_push ($return->results, 'El usuario: ' . $value[0] . ' error: '. mysqli_error($link)); } }else{ //echo "No se encontró asignado el usuario ".$value[0]."
"; array_push($return->results,'No se encontró asignado el usuario '.$value[0].' a la categoría '.$headers[$i].'.'); } }else{ //echo "ASIGNAR - "; if (!buscarUser($categoria,$userid)) { $sql = "INSERT INTO asignacion(uid, catid) VALUES ($userid,$categoria)"; if(mysqli_query($link, $sql)){ $return->correctos++; array_push ($return->results, 'El usuario: ' . $value[0] . ' se asignó correctamentea la categoría '.$headers[$i].'.'); }else{ array_push ($return->results, 'El usuario: ' . $value[0] . ' error: '. mysqli_error($link)); } }else{ //echo "Ya se encuentra asignado el usuario ".$value[0]."
"; array_push($return->results,'Ya se encuentra asignado el usuario '.$value[0].' a la categoría '.$headers[$i].'.'); } } } }else{ array_push ($return->results, 'El usuario: ' . $value[0] . ' no se encuentra registrado aún.'); } } } function userExist($numempl){ global $link; dbConnect(); $sql ="select * from user where numempl = '$numempl'"; $result = mysqli_query($link, $sql); if ( mysqli_num_rows($result) <= 0 ) { return false; }else{ return true; } } function buscarID($numempl){ global $link; dbConnect(); $sql ="select userid from user where numempl = '$numempl'"; $result = mysqli_query($link, $sql); if ( mysqli_num_rows($result) <= 0 ) { //return false; }else{ while ($row = mysqli_fetch_assoc ($result)){ $userid = $row['userid']; } } return $userid; } function BuscarCategoria($categorianombre){ global $link; dbConnect(); $sql ="SELECT id,clave,nombre FROM categoria WHERE nombre LIKE '$categorianombre'"; $result = mysqli_query($link, $sql); if ( mysqli_num_rows($result) <= 0 ) { }else{ while ($row = mysqli_fetch_assoc ($result)){ $idcat = $row['id']; } } return $idcat; } function buscarUser($categoria,$user){ global $link; dbConnect(); $sql ="SELECT * FROM `asignacion` WHERE catid = '$categoria' AND uid = '$user'"; $result = mysqli_query($link, $sql); if ( mysqli_num_rows($result) <= 0 ) { return false; }else{ return true; } } echo json_encode($return, JSON_UNESCAPED_UNICODE); ?>