diff --git a/src/buscar_candidato.php b/src/buscar_candidato.php index 015da90..4e3f33d 100644 --- a/src/buscar_candidato.php +++ b/src/buscar_candidato.php @@ -13,7 +13,6 @@ include_once("html/cabecera.php"); include_once("Objects/HTML.php"); $html=new HTML($locale); echo $html->menuCandidatos(); -$errores = ""; include_once("Objects/ListaCandidatos.php"); $listaCandidatos=new ListaCandidatos($usuario,"","","10"); @@ -24,6 +23,8 @@ $camposPermitidos = array("nombre", "apellidos", "observaciones"); //////////////////////////// // Proceso del Formulario /////////////////////////// +$errores=array(); +$error = ""; $order_by=""; if(!empty($_GET["order"])){ $order_by = " ORDER by ".$_GET["order"]." ".$_GET["modo"]; @@ -39,7 +40,16 @@ if (isset($_GET['byEstado'])) { if ((isset($_SESSION['campos'])) && ($_SESSION['campos'] != "")) $_POST['campo'] = $_SESSION['campos']; + + if ((isset($_SESSION['salario_busqueda_min'])) && ($_SESSION['salario_busqueda_min'] != "")) + $_POST['salario_busqueda_min'] = $_SESSION['salario_busqueda_min']; + + if ((isset($_SESSION['salario_busqueda_max'])) && ($_SESSION['salario_busqueda_max'] != "")) + $_POST['salario_busqueda_max'] = $_SESSION['salario_busqueda_max']; + if ((isset($_SESSION['idiomas'])) && ($_SESSION['idiomas'] != "")) + $_POST['idiomas'] = $_SESSION['idiomas']; + if ((isset($_SESSION['perfiles_tecnicos'])) && ($_SESSION['perfiles_tecnicos'] != "")) $_POST['id_perfil_tecnico'] = $_SESSION['perfiles_tecnicos']; @@ -71,9 +81,53 @@ if ((isset($_POST['buscar'])) || (isset($_GET['byEstado']))) { } } if (($palabra != "") && (count($campos) == 0)) { - $errores = $locale['01903']; + $errores[]="1"; + $error .= $locale['01903']."
"; } +// $SemaforoSalario = false; + $whereSalario=""; + $salario_busqueda_min=$_POST['salario_busqueda_min']; + $salario_busqueda_max=$_POST['salario_busqueda_max']; + //VALIDAMOS QUE LOS VALORES SELECCIONADOS SE CORRESPONDAN A NUMÉRICOS Y QUE EL MIN SEA MENOR QUE EL MAX + $resul; + $valor; + $bdconsulta=new BD(); + $sql = "SELECT nombre from salario where (id = ". $salario_busqueda_min .")"; + $resul = $bdconsulta->execQuery($sql); + while($fila = mysql_fetch_array($resul)) { + $valor = str_replace(".", "", $fila["nombre"]); + if (is_numeric($valor)) { +// if(!$SemaforoSalario) + $tablas .= ", salario salario1"; +// $SemaforoSalario = true; + $whereSalario = "((replace(replace(salario1.nombre, ',', '' ) , '.', '' ) >= ". $valor . ") and (salario1.id = usuarios.salario_min))"; + } + else { + $errores[]="2"; + $error .= $locale['01904']."
"; + } + } + $sql = "SELECT nombre from salario where (id = ". $salario_busqueda_max .")"; + $resul = $bdconsulta->execQuery($sql); + while($fila = mysql_fetch_array($resul)) { + $valor = str_replace(".", "", $fila["nombre"]); + if (is_numeric($valor)) { +// if(!$SemaforoSalario) + $tablas .= ", salario salario2"; +// $SemaforoSalario = true; + if ($whereSalario != "") { + $whereSalario = $whereSalario . " and "; + } + $whereSalario .= "((replace(replace(salario1.nombre, ',', '' ) , '.', '' ) <= ". $valor . ") and (salario2.id = usuarios.salario_max))"; + } + else { + $errores[]="2"; + $error .= $locale['01904']."
"; + } + } + + $SemaforoPerfilTec = false; $perfiles_tec = $_POST["id_perfil_tecnico"]; $wherePerfilesTec=""; @@ -119,19 +173,41 @@ if ((isset($_POST['buscar'])) || (isset($_GET['byEstado']))) { $whereTecnologias = $whereTecnologias . "(capacidades_perfil_tecnologias.id_tecnologia = ". $tecnologia ." and capacidades_perfil_tecnologias.id_capacidad = capacidades3.id and capacidades3.id_usuario = usuarios.oid)"; } + $SemaforoIdiomas = false; + $idiomas = $_POST["idiomas"]; + $whereIdiomas=""; + foreach($idiomas as $idioma) + if ($idioma != "") { + if(!$SemaforoIdiomas) + $tablas .= ", idioma_usuario"; + $SemaforoIdiomas = true; + + if ($whereIdiomas != "") { + $whereIdiomas = $whereIdiomas . " or "; + } + $whereIdiomas = $whereIdiomas . "(idioma_usuario.idioma = ". $idioma ." and idioma_usuario.oid_i = usuarios.oid)"; + } + //Vamos a meter los parametros de busqueda en session para que en la paginación no se pierdan $_SESSION['palabra']=$palabra; $_SESSION['campos']=$campos; +$_SESSION['idiomas']=$idiomas; $_SESSION['perfiles_tecnicos']=$perfiles_tec; $_SESSION['perfiles_funcionales']=$perfiles_fun; $_SESSION['tecnologias']=$tecnologias; +$_SESSION['salario_busqueda_min']=$salario_busqueda_min; +$_SESSION['salario_busqueda_max']=$salario_busqueda_max; - if ($errores == "") { + if ($error == "") { $query = "SELECT distinct usuarios.* from ". $tablas ." where (usuarios.tipo = 'candidato')"; if (($tipoPedidos != "") && ($tipoPedidos != 0)) $query = $query . " and (estado = ". $tipoPedidos .")"; if ($whereCampos != "") $query = $query . " and (". $whereCampos .")"; + if ($whereSalario != "") + $query = $query . " and (". $whereSalario .")"; + if ($whereIdiomas != "") + $query = $query . " and (". $whereIdiomas .")"; if ($wherePerfilesTec != "") $query = $query . " and (". $wherePerfilesTec .")"; if ($wherePerfilesFun != "") @@ -141,7 +217,7 @@ $_SESSION['tecnologias']=$tecnologias; //Metemos la ordenacion deseada $query = $query. $order_by; - //echo $query; + echo $query; $listaCandidatos=new ListaCandidatos($usuario,"",$query,""); } } @@ -151,21 +227,23 @@ $_SESSION['tecnologias']=$tecnologias;

".$errores.""; + echo "
".$error."
"; } ?>
-'; +
+

* Para la búsqueda en los ficheros de currículums, se devolverán como máximo los 100 primeros resultados.

+'; -echo ' +
+ -'. $locale['01902']; ?>
-

* Para la búsqueda en los ficheros de currículums, se devolverán como máximo los 100 primeros resultados.

+ +
+'; +echo $html->listaSelect("idiomas","oid","id","idiomas",array("",$locale['ns']),$_POST['idiomas'],true,true,"15"); +?> +'; + +echo $locale['130busqueda01']; +$opcionvacia = ''; +echo rellena_desplegable_select_oidCol("salario","id","nombre","salario_busqueda_min",$opcionvacia,$_POST['salario_busqueda_min']); +echo $locale['130busqueda02']; +echo rellena_desplegable_select_oidCol("salario","id","nombre","salario_busqueda_max",$opcionvacia,$_POST['salario_busqueda_max']); +?> +

* No se tendrá en cuenta candidatos cuyo salario mínimo no sea numérico

@@ -193,19 +289,19 @@ while($row = mysql_fetch_row($resultado)) {
- - -
+ "; echo $html->listaSelect("perfil","oid","id","id_perfil_tecnico",array("",$locale['ns']),$_POST['id_perfil_tecnico'],true,true,"15"); ?> + '; echo $html->listaSelect("tecnologia","oid","id","tecnologias",array("",$locale['ns']),$_POST['tecnologias'],true,true,"15"); ?> + '; echo $html->listaSelect("perfil_funcional","oid","id","id_perfil_funcional",array("",$locale['ns']),$_POST['id_perfil_funcional'],true,true,"15"); diff --git a/src/idiomas/sp/lenguaje.php b/src/idiomas/sp/lenguaje.php index 3ce60e4..b939451 100644 --- a/src/idiomas/sp/lenguaje.php +++ b/src/idiomas/sp/lenguaje.php @@ -120,6 +120,8 @@ $locale['127'] = "Historial:"; $locale['128'] = "Vía:"; $locale['129'] = "Salario mínimo: "; $locale['130'] = "Salario máximo: "; +$locale['130busqueda01'] = "Salario mínimo mayor o igual que  "; +$locale['130busqueda02'] = "  y menor o igual que  "; $locale['131usuario'] = "Situación: "; $locale['131candidato'] = "Situación*: "; $locale['132'] = "Estado: "; @@ -884,6 +886,7 @@ $locale['1905'] = "Extenxión"; $locale['01901'] = "Palabra"; $locale['01902'] = "Buscar en"; $locale['01903'] = "Debe elegir, al menos, un campo en el que buscar la palabra"; +$locale['01904'] = "El intervalo salarial elegido, no es correcto, asegurese que el valor inicial es menor que el final, y los valores elegidos sean numéricos"; //Informes: $locale['2000'] = "Lista de informes";