Incam_Intranet/functions_proyectos.php

89 lines
2.9 KiB
PHP
Raw Normal View History

<?php
//Calcula la afinidad de un candidato con un proyecto a partir
//del perfil, idiomas y tecnolog<6F>as del proyecto.
function afinidad_candidato($perfil_p, $idiomas, $tecnologia, $candidato, $perfil_c){
$afi = 0;
$total = 1 + sizeof($idiomas) + sizeof($tecnologia);
//Si coincide el perfil sumamos tres:
if($perfil_p == $perfil_c) $afi = $afi + 1;
if($idiomas != ""){
$consulta = "select idiomas.id as idioma from idioma_usuario,idiomas where idiomas.oid = idioma_usuario.idioma and oid_i = $candidato";
$resultado = mysql_query($consulta);
while($rows = mysql_fetch_array($resultado)){
if(in_array($rows["idioma"], $idiomas)){
$afi = $afi + 1;
}
}
}
if($tecnologia != ""){
$consulta = "select tecnologia.id as tecnologia from tecnologia_usuario,tecnologia where tecnologia.oid = tecnologia_usuario.tecnologia and oid_i = $candidato";
$resultado = mysql_query($consulta);
while($rows = mysql_fetch_array($resultado)){
if(in_array($rows["tecnologia"], $tecnologia)){
$afi = $afi + 1;
}
}
}
return $afi/$total*100;
}
//Comprueba si un candidato est<73> apuntado a un pedido.
function apuntado($candidato, $pedido){
$consulta = "select * from candidato_pedido where candidato='$candidato' and pedido='$pedido'";
$resultado = mysql_query($consulta);
if(mysql_num_rows($resultado) > 0) return true;
return false;
}
//Devuelve el id del gestor de un cliente.
function puede_gestionar($cliente, $oid){
$consulta = "select gerente,privado from clientes where oid='$cliente'";
$resultado = mysql_query($consulta);
$rows = mysql_fetch_array($resultado);
//Si <20>l es el gerente del proyecto o es un proyecto p<>blico tiene permiso.
if($oid == $rows["gerente"] || $rows["privado"] == 0) return true;
return false;
}
//Calcula el c<>digo de un proyecto en funci<63>n de su procedencia.
function calcula_id_proyecto($procedencia, $cliente){
if($link = conectar()){
$resultado = mysql_query("select num,pedidos from procedencia where num='$procedencia'",$link);
if($resultado){
$cli = $cliente;
for($i = strlen($cli); $i < 3; $i++){
$cli = "0".$cli;
}
$rows = mysql_fetch_array($resultado);
$cod = $rows["pedidos"]+1;
$num = $rows["num"];
$resultado = mysql_query("update procedencia set pedidos=pedidos+1 where num=$procedencia", $link);
for($i = strlen($cod); $i < 4; $i++){
$cod = "0".$cod;
}
return $num.$cli.$cod;
}else{
return -1;
}
}
}
function discretiza_prioridad($prioridad){
include LOCALE.LOCALESET."lenguaje.php";
if($prioridad == 3){
return $locale['1506'];
}else if($prioridad == 2){
return $locale['1507'];
}else if($prioridad == 1){
return $locale['1508'];
}
}
?>