Ticket #553 -> Repaso del proceso de importación de candidatos desde fichero CSV.

git-svn-id: https://192.168.0.254/svn/Proyectos.Incam_Intranet/trunk@24 e2b1556b-49f8-d141-9351-52d6861a72d9
This commit is contained in:
David Arranz 2011-04-06 18:00:22 +00:00
parent c2dad21293
commit 4531671677
5 changed files with 955 additions and 37254 deletions

View File

@ -21,6 +21,7 @@ echo '<input type="submit" class="button" value="Importar">';
echo '</form>'; echo '</form>';
echo "<h2>".$locale["1542"]."</h2>"; echo "<h2>".$locale["1542"]."</h2>";
echo "Formato: nombre;apellidos;e-mail;tlf móvil<br/>";
echo '<form action="importa_candidatos_cvs.php" enctype="multipart/form-data" method="POST">'; echo '<form action="importa_candidatos_cvs.php" enctype="multipart/form-data" method="POST">';
echo '<input name="userfile" type="file"><br>'; echo '<input name="userfile" type="file"><br>';
echo '<input type="submit" class="button" value="Importar">'; echo '<input type="submit" class="button" value="Importar">';

View File

@ -693,48 +693,50 @@ function stripinput($text) {
return $text;*/ return $text;*/
} }
//function menu_candidatos($oid, $pagina, $tabla_cond, $condicion){ /*
// $tabla = "usuarios"; function menu_candidatos($oid, $pagina, $tabla_cond, $condicion){
// include LOCALE.LOCALESET."lenguaje.php"; $tabla = "usuarios";
// echo '<table width="100%" class="encabezado"><tr>'; include LOCALE.LOCALESET."lenguaje.php";
// if(!strpos($pagina, "?")) $pagina .= '.php?liberar=si'; echo '<table width="100%" class="encabezado"><tr>';
// echo '<td class="sinborde"><form action="'.$pagina.'" method=POST>'; if(!strpos($pagina, "?")) $pagina .= '.php?liberar=si';
// echo '<input type=hidden name=tabla_lib value="'.$tabla.'">'; echo '<td class="sinborde"><form action="'.$pagina.'" method=POST>';
// echo '<input type=hidden name=tabla value="'.$tabla_cond.'">'; echo '<input type=hidden name=tabla_lib value="'.$tabla.'">';
// echo '<input type=hidden name=oid value="'.$oid.'">'; echo '<input type=hidden name=tabla value="'.$tabla_cond.'">';
// echo '<input type="hidden" name="condicion" value="'.$condicion.'">'; echo '<input type=hidden name=oid value="'.$oid.'">';
// echo '<input type="image" name="eliminar" src="css/flecha_menos.gif">'; echo '<input type="hidden" name="condicion" value="'.$condicion.'">';
// echo '</form></td>'; echo '<input type="image" name="eliminar" src="css/flecha_menos.gif">';
// if(comprobar_permisos("LC")) echo '</form></td>';
// echo "<td class=sinborde> if(comprobar_permisos("LC"))
// <form action='lista.php?liberar=si' method='POST'> echo "<td class=sinborde>
// <input type=hidden name=tabla_lib value=$tabla> <form action='lista.php?liberar=si' method='POST'>
// <input type=hidden name=oid value=$oid> <input type=hidden name=tabla_lib value=$tabla>
// <input type=submit value='".$locale['801']."' class=button> <input type=hidden name=oid value=$oid>
// </form></td>"; <input type=submit value='".$locale['801']."' class=button>
// if(comprobar_permisos("AC")) </form></td>";
// echo "<td class=sinborde> if(comprobar_permisos("AC"))
// <form action='candidatos.php?liberar=si' method='POST'> echo "<td class=sinborde>
// <input type=hidden name=tabla_lib value=$tabla> <form action='candidatos.php?liberar=si' method='POST'>
// <input type=hidden name=oid value=$oid> <input type=hidden name=tabla_lib value=$tabla>
// <input type=submit value='".$locale['802']."' class=button> <input type=hidden name=oid value=$oid>
// </form></td>"; <input type=submit value='".$locale['802']."' class=button>
// if(comprobar_permisos("SP")) </form></td>";
// echo "<td class=sinborde> if(comprobar_permisos("SP"))
// <form action='formulario_importa_candidato.php?liberar=si' method='POST'> echo "<td class=sinborde>
// <input type=hidden name=tabla_lib value=$tabla> <form action='formulario_importa_candidato.php?liberar=si' method='POST'>
// <input type=hidden name=oid value=$oid> <input type=hidden name=tabla_lib value=$tabla>
// <input type=submit value='".$locale['815']."' class=button> <input type=hidden name=oid value=$oid>
// </form></td>"; <input type=submit value='".$locale['815']."' class=button>
// if(comprobar_permisos("LC")) </form></td>";
// echo "<td class=sinborde> if(comprobar_permisos("LC"))
// <form action='buscar.php?liberar=si' method='POST'> echo "<td class=sinborde>
// <input type=hidden name=tabla_lib value=$tabla> <form action='buscar.php?liberar=si' method='POST'>
// <input type=hidden name=oid value=$oid> <input type=hidden name=tabla_lib value=$tabla>
// <input type=submit value='".$locale['816']."' class=button> <input type=hidden name=oid value=$oid>
// </form></td>"; <input type=submit value='".$locale['816']."' class=button>
// echo '</tr></table>'; </form></td>";
//} echo '</tr></table>';
}
*/
//function menu_usuarios($oid){ //function menu_usuarios($oid){
// $tabla = "usuarios"; // $tabla = "usuarios";

View File

@ -60,68 +60,77 @@ function verificar_dato($dato){
//Comprueba si existe alguien por un dni, nombre y apellidos y email //Comprueba si existe alguien por un dni, nombre y apellidos y email
function existe($dni, $nombre, $apellidos, $email, $oid){ function existe($dni, $nombre, $apellidos, $email, $oid){
$existe = array(); $existe = array();
$link = conectar();
/** EXISTENCIA DE DNI **/ /** EXISTENCIA DE DNI **/
//Si hay letra en la posición 7 es porque el DNI empezaba por cero y se le ha quitado //Si hay letra en la posición 7 es porque el DNI empezaba por cero y se le ha quitado
if(!es_numerico($dni[7])){ if (isset($dni)) {
$letra = $dni[7]; if (!es_numerico($dni[7])) {
$cont=8; $letra = $dni[7];
while(!verificar_letra($letra) && $cont < 11){ $cont=8;
$letra = $dni[$cont]; while(!verificar_letra($letra) && $cont < 11){
$cont++; $letra = $dni[$cont];
$cont++;
}
$nums = "0".substr($dni, 0, 7);
}else{
$letra = $dni[8];
$cont=9;
while(!verificar_letra($letra) && $cont < 12){
$letra = $dni[$cont];
$cont++;
}
$nums = substr($dni, 0, 8);
} }
$nums = "0".substr($dni, 0, 7);
}else{ $letra = strtoupper($letra);
$letra = $dni[8];
$cont=9; $dni = $nums.$letra;
while(!verificar_letra($letra) && $cont < 12){
$letra = $dni[$cont]; $resultado = mysql_query("select dni from usuarios where oid <> '$oid' and dni='$dni'",$link);
$cont++; $num = mysql_num_rows($resultado);
if($num > 0){
$existe[0] = 1;
} }
$nums = substr($dni, 0, 8); } else {
} $existe[0] = 0;
$letra = strtoupper($letra);
$dni = $nums.$letra;
$link = conectar();
$resultado = mysql_query("select dni from usuarios where oid <> '$oid' and dni='$dni'",$link);
$num = mysql_num_rows($resultado);
if($num > 0){
$existe[0] = 1;
} }
/** EXISTENCIA DE CORREO ELECTRÓNICO **/ /** EXISTENCIA DE CORREO ELECTRÓNICO **/
if ((isset($dni)) && ($dni != '')) {
$resultado = mysql_query("select email from usuarios where oid <> '$oid' and email='$email'",$link);
$num = mysql_num_rows($resultado);
$resultado = mysql_query("select email from usuarios where oid <> '$oid' and email='$email'",$link); if($num > 0){
$num = mysql_num_rows($resultado); $existe[1] = 1;
}
if($num > 0){ } else {
$existe[1] = 1; $existe[1] = 0;
} }
/** EXISTENCIA DE NOMBRE Y APELLIDOS **/ /** EXISTENCIA DE NOMBRE Y APELLIDOS **/
if($nombre == "-"){ if($nombre == "-"){
$dato = " "; $dato = " ";
}else{ } else {
$dato = $nombre; $dato = $nombre;
} }
$total = trim($dato." ".$apellidos); $total = trim($dato." ".$apellidos);
$consulta = "select email from usuarios where oid <> '$oid' and CONCAT(nombre,' ',apellidos)='$total' or apellidos='$total'"; $consulta = "select email from usuarios where oid <> '$oid' and CONCAT(nombre,' ',apellidos)='$total' or apellidos='$total'";
$resultado = mysql_query($consulta,$link); $resultado = mysql_query($consulta,$link);
$num = mysql_num_rows($resultado); $num = mysql_num_rows($resultado);
if($num > 0){ if($num > 0){
$existe[2] = 1; $existe[2] = 1;
} else {
$existe[2] = 0;
} }
return $existe; return $existe;
} }

View File

@ -8,7 +8,7 @@ if (!comprobar_permisos("AC")){
} }
include_once("html/cabecera.php"); include_once("html/cabecera.php");
menu_candidatos(""); //??????????????????????menu_candidatos("");
echo "<h2>".$locale['1542']."</h2>"; echo "<h2>".$locale['1542']."</h2>";
@ -25,22 +25,24 @@ while (( $data = fgetcsv ( $fp , 1000 , "," )) !== FALSE ) { // Mientras hay l
foreach($data as $row) { foreach($data as $row) {
$aciertos = ""; $aciertos = "";
$errores = ""; $errores = "";
$datos = explode(";",$row); $datos = explode(";",$row);
$nombre = "-";
$apellidos = $datos[0];
$email = $datos[1];
$t_movil = $datos[2];
$existe = existe("", $nombre, $apellidos, $email); $nombre = $datos[0];
$apellidos = $datos[1];
$email = $datos[2];
$t_movil = $datos[3];
$existe = existe(NULL, $nombre, $apellidos, $email, NULL);
//Registramos al candidato //Registramos al candidato
if ($link = conectar()){ if ($link = conectar()) {
include_once("existe_persona.php"); //include_once("existe_persona.php");
if($existe == true){ if (($existe[0] == 1) || ($existe[1] == 1) || ($existe[2] == 1)) {
$errores .= $locale['1516']; $errores .= $locale['1516'];
}else{ } else {
$inserto = "tipo,email,nombre,apellidos,t_movil,fecha_alta,fecha_modificacion"; $inserto = "tipo,email,nombre,apellidos,t_movil,fecha_alta,fecha_modificacion,procedencia";
$valores = "'candidato','$email','$nombre','$apellidos','$t_movil',curdate(),curdate()"; $valores = "'candidato','$email','$nombre','$apellidos','$t_movil',curdate(),curdate(),'1'";
$consulta = "insert into usuarios ($inserto) values ($valores)"; $consulta = "insert into usuarios ($inserto) values ($valores)";
$resultado = mysql_query($consulta,$link); $resultado = mysql_query($consulta,$link);
if ($resultado){ if ($resultado){
@ -58,26 +60,25 @@ while (( $data = fgetcsv ( $fp , 1000 , "," )) !== FALSE ) { // Mientras hay l
} }
} }
} }
}else{ } else {
$errores .= $locale['010'].mysql_error(); $errores .= $locale['010'].mysql_error();
} }
if($errores == ""){ if($errores == ""){
$i = $i+1; $i = $i+1;
$resu = "$apellidos ".$locale['1543']."."; $resu = "$nombre $apellidos ".$locale['1543'].".";
echo mostrar_aciertos($resu); echo mostrar_aciertos($resu);
}else{ }else{
$a = $a+1; $a = $a+1;
$resu = "$apellidos ".$locale['1544']." $errores."; $resu = "$nombre $apellidos ".$locale['1544']." $errores.";
echo mostrar_errores($resu); echo mostrar_errores($resu);
} }
} }
} }
echo $locale['1545']." $i</br>"; //Finalmente, el resumen del número de registros que se han importado y los que han fallado.
echo $locale['1546']." $a</br>"; echo $locale['1545']." $i<br/>";
echo $locale['1546']." $a<br/>";
fclose ( $fp ); fclose ( $fp );
//Finalmente, el resumen del número de registros que se han importado y los que han fallado.
?> ?>

File diff suppressed because it is too large Load Diff