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;
| + | - | '; +'. $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 |
| + | "; 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"; |