Poder buscar por idioma y por rango salarial minimo
git-svn-id: https://192.168.0.254/svn/Proyectos.Incam_Intranet/trunk@150 e2b1556b-49f8-d141-9351-52d6861a72d9
This commit is contained in:
parent
cc0ca17a14
commit
d17828d74d
@ -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']."<br />";
|
||||
}
|
||||
|
||||
// $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']."<br />";
|
||||
}
|
||||
}
|
||||
$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']."<br />";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$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;
|
||||
<h2><?php echo $locale['820']; ?></h2>
|
||||
|
||||
<?php
|
||||
if($errores!=""){
|
||||
if($error!=""){
|
||||
// Mostramos el mensaje
|
||||
echo "<div class=\"aviso error\">".$errores."</div>";
|
||||
echo "<div class=\"aviso error\">".$error."</div>";
|
||||
}
|
||||
?>
|
||||
|
||||
<div class="encabezado"><?php echo $locale['Candidato007']; ?></div>
|
||||
<table align="center" width="100%" border="0">
|
||||
<tr>
|
||||
<td width="10%">
|
||||
<td width="12%">
|
||||
|
||||
<?php echo $locale['01901'] .'<br><input type="text" name="palabra" value="'. $_POST['palabra'] .'"></td>';
|
||||
<?php echo $locale['01901'] .'<br><input type="text" name="palabra" value="'. $_POST['palabra'] .'"><br/>
|
||||
<p>* Para la búsqueda en los ficheros de currículums, se devolverán como máximo los 100 primeros resultados.</p>
|
||||
</td>';
|
||||
|
||||
echo '<td width="90%"';
|
||||
if ($errores != "") echo " class=\"errorcampo\"";
|
||||
echo '<td width="6%"';
|
||||
if (in_array("1",$errores)) echo " class=\"errorcampo\"";
|
||||
echo '>'. $locale['01902'];
|
||||
?>
|
||||
<br><select multiple name="campo[]" id="campo" size="10">
|
||||
@ -184,8 +262,26 @@ while($row = mysql_fetch_row($resultado)) {
|
||||
?>
|
||||
<option <?php echo (in_array('cv', $_POST['campo'])) ? "selected" : ""; ?> value="cv"><?php echo $locale['5108']; ?></option>
|
||||
</select>
|
||||
<p>* Para la búsqueda en los ficheros de currículums, se devolverán como máximo los 100 primeros resultados.</p>
|
||||
|
||||
|
||||
</td>
|
||||
<td width="11%">
|
||||
<?php
|
||||
echo $locale['123'].'<br>';
|
||||
echo $html->listaSelect("idiomas","oid","id","idiomas",array("",$locale['ns']),$_POST['idiomas'],true,true,"15");
|
||||
?>
|
||||
<td width="71%"
|
||||
<?php
|
||||
if (in_array("2",$errores)) echo " class=\"errorcampo\"";
|
||||
echo '>';
|
||||
|
||||
echo $locale['130busqueda01'];
|
||||
$opcionvacia = '<option value="">'.$locale['ns'].'</option>';
|
||||
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']);
|
||||
?>
|
||||
<br/><p>* No se tendrá en cuenta candidatos cuyo salario mínimo no sea numérico</p>
|
||||
</td>
|
||||
</tr></table>
|
||||
<input type="submit" value="Buscar" name="buscar">
|
||||
@ -193,19 +289,19 @@ while($row = mysql_fetch_row($resultado)) {
|
||||
<div class="encabezado"><?php echo $locale['Capacidades004']; ?></div>
|
||||
<table align="center" width="100%" border="0">
|
||||
<tr>
|
||||
<td width="20%">
|
||||
<td width="18%">
|
||||
<?php
|
||||
echo $locale['202']. "<br>";
|
||||
echo $html->listaSelect("perfil","oid","id","id_perfil_tecnico",array("",$locale['ns']),$_POST['id_perfil_tecnico'],true,true,"15");
|
||||
?>
|
||||
</td>
|
||||
<td width="20%">
|
||||
<td width="12%">
|
||||
<?php
|
||||
echo $locale['203'].'<br>';
|
||||
echo $html->listaSelect("tecnologia","oid","id","tecnologias",array("",$locale['ns']),$_POST['tecnologias'],true,true,"15");
|
||||
?>
|
||||
</td>
|
||||
<td width="60%">
|
||||
<td width="70%">
|
||||
<?php
|
||||
echo $locale['202_2'].'<br>';
|
||||
echo $html->listaSelect("perfil_funcional","oid","id","id_perfil_funcional",array("",$locale['ns']),$_POST['id_perfil_funcional'],true,true,"15");
|
||||
|
||||
@ -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";
|
||||
|
||||
Loading…
Reference in New Issue
Block a user