Se revisa el historial de candidatos, solicitudes y ofertas, se cambian las tablas de historial para tener campo id
git-svn-id: https://192.168.0.254/svn/Proyectos.Incam_Intranet/trunk@99 e2b1556b-49f8-d141-9351-52d6861a72d9
This commit is contained in:
parent
dc577d3296
commit
3c571c428e
@ -43,11 +43,35 @@ class Candidato extends Persona {
|
||||
*/
|
||||
$sesion = $this->usuario->getValor("oid");
|
||||
if ($this->usuario->tieneRol(1) || $this->usuario->tieneRol(4)) {
|
||||
return parent::setCampo($nombre, $valor);
|
||||
$viejo = $this->getValor($nombre);
|
||||
$resultado = parent::setCampo($nombre, $valor);
|
||||
///////////////////////////////////////////////////
|
||||
//SOLO ACTUALIZA EL HISTORIAL LOS CAMBIOS DE ESTADO
|
||||
///////////////////////////////////////////////////
|
||||
if ($nombre == "estado") {
|
||||
$estado_viejo = $this->darNombreEstado($viejo, "sp");
|
||||
$estado_nuevo = $this->darNombreEstado($valor, "sp");
|
||||
$historial = "Cambio de estado (". $estado_viejo ." a ". $estado_nuevo .")";
|
||||
$this->actualizarHistorial($historial);
|
||||
}
|
||||
return $resultado;
|
||||
|
||||
} else {
|
||||
//Campos que se pueden editar por el gerente, ya sea directamente o mediante una transición.
|
||||
if (($nombre == "observaciones" || $nombre == "msgEstado" || $nombre = "diasEspera" || $nombre == "estado") && $this->usuario->tieneRol(3)) {
|
||||
return parent::setCampo($nombre, $valor);
|
||||
$viejo = $this->getValor($nombre);
|
||||
$resultado = parent::setCampo($nombre, $valor);
|
||||
///////////////////////////////////////////////////
|
||||
//SOLO ACTUALIZA EL HISTORIAL LOS CAMBIOS DE ESTADO
|
||||
///////////////////////////////////////////////////
|
||||
if ($nombre == "estado") {
|
||||
$estado_viejo = $this->darNombreEstado($viejo, "sp");
|
||||
$estado_nuevo = $this->darNombreEstado($valor, "sp");
|
||||
$historial = "Cambio de estado (". $estado_viejo ." a ". $estado_nuevo .")";
|
||||
$this->actualizarHistorial($historial);
|
||||
}
|
||||
return $resultado;
|
||||
|
||||
} else {
|
||||
$error = "El usuario no tiene permisos para editar al candidato.";
|
||||
throw new Exception($error);
|
||||
@ -57,6 +81,12 @@ class Candidato extends Persona {
|
||||
}
|
||||
}
|
||||
|
||||
function darNombreEstado($cod, $idioma) {
|
||||
$consulta = "SELECT NOMBRE from candidatos_estados WHERE cod=\"" . $cod . "\" AND idioma=\"" . $idioma . "\"";
|
||||
$bd = new BD();
|
||||
return $bd->getCampo($consulta);
|
||||
}
|
||||
|
||||
function addCurriculum($fichero) {
|
||||
//PERMISOS:
|
||||
/*
|
||||
|
||||
@ -51,10 +51,12 @@ class ListaCandidatos extends ListaPersonas {
|
||||
* @param campos - datos del candidato.
|
||||
*/
|
||||
function addCandidato($campos) {
|
||||
$campos["estado"] = 510;
|
||||
$campos["estado"] = 510; //Pendiente de clasificar
|
||||
$id = parent::addPersona($campos);
|
||||
$candidato = new Candidato($this->usuario, $id);
|
||||
$mensaje = "Nuevo candidato";
|
||||
$mensaje = "Nuevo candidato";
|
||||
$candidato->actualizarHistorial($mensaje);
|
||||
$mensaje = "Estado inicial ( ". $candidato->darNombreEstado($campos["estado"],"sp") ." )";
|
||||
$candidato->actualizarHistorial($mensaje);
|
||||
return $id;
|
||||
}
|
||||
|
||||
@ -196,6 +196,8 @@ include_once("Objects/Pedido.php");
|
||||
$p = new Pedido($id, $this->gestor);
|
||||
$mensaje = "Nueva solicitud de oferta";
|
||||
$p->actualizarHistorial($mensaje);
|
||||
$mensaje = "Estado inicial ( ". $p->darNombreEstado($campos["estado"],"sp") ." )";
|
||||
$p->actualizarHistorial($mensaje);
|
||||
}
|
||||
return $id;
|
||||
}
|
||||
|
||||
@ -60,6 +60,12 @@ class Oferta {
|
||||
return $bd->execQuery($consulta);
|
||||
}
|
||||
|
||||
function darNombreEstado($cod, $idioma) {
|
||||
$consulta = "SELECT NOMBRE from candidaturas_estados WHERE cod=\"" . $cod . "\" AND idioma=\"" . $idioma . "\"";
|
||||
$bd = new BD();
|
||||
return $bd->getCampo($consulta);
|
||||
}
|
||||
|
||||
function getValor($nombre) {
|
||||
if (array_key_exists($nombre, $this->campos)) {
|
||||
// El campo ya lo habíamos recuperamos, lo mostramos
|
||||
@ -186,14 +192,17 @@ class Oferta {
|
||||
|
||||
// Guardar en el historial
|
||||
$valor = $this->getValorMulti($nombre, $valor);
|
||||
if ($viejo == "" && $valor != "") {
|
||||
$historial = "$nombre (de - a $valor)";
|
||||
} else {
|
||||
$historial = "$nombre (de $viejo a $valor)";
|
||||
}
|
||||
if ($nombre = "estado") {
|
||||
$this->actualizarHistorial($historial);
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//SOLO ACTUALIZA EL HISTORIAL LOS CAMBIOS DE ESTADO Y ASIGNACIONES DE CANDIDATOS
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
if ($nombre == "estado") {
|
||||
$estado_viejo = $this->darNombreEstado($viejo, "sp");
|
||||
$estado_nuevo = $this->darNombreEstado($valor, "sp");
|
||||
$historial = "Cambio de estado (". $estado_viejo ." a ". $estado_nuevo .")";
|
||||
$this->actualizarHistorial($historial);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@ -245,7 +254,7 @@ class Oferta {
|
||||
$historial = "";
|
||||
$oid = $this->getValor("oid");
|
||||
|
||||
$consulta = "SELECT * FROM historial_oferta WHERE oid_h='$oid' ORDER BY fecha_h DESC";
|
||||
$consulta = "SELECT * FROM historial_oferta WHERE oid_h='$oid' ORDER BY id DESC";
|
||||
$bd = new BD();
|
||||
$resultado = $bd->execQuery($consulta);
|
||||
|
||||
@ -277,7 +286,7 @@ class Oferta {
|
||||
//TODO CANDIDATO ASOCIADO A UNA OFERTA (este como este su situación) pasará a disponible si no tiene alguna otra oferta,
|
||||
//si tiene alguna otra oferta asociada se deja tal cual esta su situación
|
||||
//El estado del candidato no cambia si está asociado a alguna otra oferta, sino pasará a Disponible
|
||||
case 560: return true; break;
|
||||
case 560:;
|
||||
case 510:;
|
||||
case 521:;
|
||||
case 522:;
|
||||
@ -285,11 +294,16 @@ class Oferta {
|
||||
case 530:;
|
||||
case 540:;
|
||||
case 550:
|
||||
//Modificamos historial de candidato
|
||||
$mensaje = "Se quita en oferta ". $this->getValor("referencia");
|
||||
$candidato->actualizarHistorial($mensaje);
|
||||
//Modificamos historial de la oferta
|
||||
$nombre_candidato = $candidato->getValor("nombre") . " " . $candidato->getValor("apellidos");
|
||||
$mensaje = "El candidato ".$nombre_candidato." se quita de la oferta";
|
||||
$this->actualizarHistorial($mensaje);
|
||||
//Cambiamos de estado al candidato
|
||||
if (count($numOfertasCandidato) <= 1) {
|
||||
$candidato->transita("540", "");
|
||||
$nombre_candidato = $candidato->getValor("nombre") . " " . $candidato->getValor("apellidos");
|
||||
$mensaje = "El candidato ".$nombre_candidato." pasa a estado Disponible";
|
||||
$this->actualizarHistorial($mensaje);
|
||||
}
|
||||
return true;
|
||||
break;
|
||||
@ -317,6 +331,13 @@ class Oferta {
|
||||
//Disponible asignado, el estado del candidato no cambia, solo se asigna a la oferta y ya está.
|
||||
case 560:
|
||||
$this->setCampo("candidato", $idCandidato);
|
||||
//Modificamos historial de candidato
|
||||
$mensaje = "Asignado en oferta ". $this->getValor("referencia");
|
||||
$candidato->actualizarHistorial($mensaje);
|
||||
//Modificamos historial de oferta
|
||||
$nombre_candidato = $candidato->getValor("nombre") . " " . $candidato->getValor("apellidos");
|
||||
$mensaje = "Asignado el candidato ".$nombre_candidato;
|
||||
$this->actualizarHistorial($mensaje);
|
||||
return true;
|
||||
break;
|
||||
|
||||
@ -327,10 +348,15 @@ class Oferta {
|
||||
case 523:;
|
||||
case 540:
|
||||
$this->setCampo("candidato", $idCandidato);
|
||||
//Modificamos historial de candidato
|
||||
$mensaje = "Asignado en oferta ". $this->getValor("referencia");
|
||||
$candidato->actualizarHistorial($mensaje);
|
||||
//Modificamos historial de oferta
|
||||
$nombre_candidato = $candidato->getValor("nombre") . " " . $candidato->getValor("apellidos");
|
||||
$mensaje = "Asignado el candidato ".$nombre_candidato;
|
||||
$this->actualizarHistorial($mensaje);
|
||||
//Cambiamos el estado del candidato
|
||||
if ($candidato->transita("560", "")){
|
||||
$nombre_candidato = $candidato->getValor("nombre") . " " . $candidato->getValor("apellidos");
|
||||
$mensaje = "Asignado el candidato ".$nombre_candidato. "-->".$candidato->getValor("estado");
|
||||
$this->actualizarHistorial($mensaje);
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
@ -346,6 +372,13 @@ class Oferta {
|
||||
}
|
||||
else {
|
||||
$this->setCampo("candidato", $idCandidato);
|
||||
//Modificamos historial de candidato
|
||||
$mensaje = "Asignado en oferta ". $this->getValor("referencia");
|
||||
$candidato->actualizarHistorial($mensaje);
|
||||
//Modificamos historial de oferta
|
||||
$nombre_candidato = $candidato->getValor("nombre") . " " . $candidato->getValor("apellidos");
|
||||
$mensaje = "Asignado el candidato ".$nombre_candidato;
|
||||
$this->actualizarHistorial($mensaje);
|
||||
return true;
|
||||
}
|
||||
break;
|
||||
|
||||
@ -176,6 +176,14 @@ class Pedido {
|
||||
function getCampos() {
|
||||
return $this->campos;
|
||||
}
|
||||
|
||||
function darNombreEstado($cod, $idioma) {
|
||||
$consulta = "SELECT NOMBRE from pedidos_estados WHERE cod=\"" . $cod . "\" AND idioma=\"" . $idioma . "\"";
|
||||
$bd = new BD();
|
||||
echo $consulta;
|
||||
return $bd->getCampo($consulta);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Asigna un nuevo campo al pedido.
|
||||
@ -204,12 +212,14 @@ class Pedido {
|
||||
if ($bd->execQuery($consulta)) {
|
||||
// Comprobamos multivaluado y casos especiales:
|
||||
$valor = $this->getValorMulti($nombre, $valor);
|
||||
if ($viejo == "" && $valor != "") {
|
||||
$historial = "$nombre (de - a $valor)";
|
||||
} else {
|
||||
$historial = "$nombre (de $viejo a $valor)";
|
||||
}
|
||||
//$this->actualizarHistorial($historial);
|
||||
|
||||
///////////////////////////////////////////////////
|
||||
//SOLO ACTUALIZA EL HISTORIAL LOS CAMBIOS DE ESTADO
|
||||
///////////////////////////////////////////////////
|
||||
if ($nombre == "estado") {
|
||||
$historial = "Cambio de estado (". $viejo ." a ". $valor .")";
|
||||
$this->actualizarHistorial($historial);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@ -943,7 +953,7 @@ class Pedido {
|
||||
$historial = "";
|
||||
$oid = $this->getValor("oid");
|
||||
|
||||
$consulta = "SELECT * FROM historial_pedido WHERE oid_h='$oid' ORDER BY fecha_h DESC";
|
||||
$consulta = "SELECT * FROM historial_pedido WHERE oid_h='$oid' ORDER BY id DESC";
|
||||
$bd = new BD();
|
||||
$resultado = $bd->execQuery($consulta);
|
||||
|
||||
|
||||
@ -242,19 +242,6 @@
|
||||
// if($bd->execQuery($consulta)){
|
||||
//Comprobamos multivaluado y casos especiales:
|
||||
$valor = $this->getValorMulti($nombre, $valor);
|
||||
|
||||
if(($nombre == "observaciones") || ($nombre == "descripcion")){
|
||||
$historial = $nombre;
|
||||
}else if($viejo == "" && $valor != ""){
|
||||
$historial = "$nombre (de - a $valor)";
|
||||
}else{
|
||||
$historial = "$nombre (de $viejo a $valor)";
|
||||
}
|
||||
//Hay campos que no actualizan el historial
|
||||
if(($nombre != "msgEstado") && ($nombre != "diasEspera")){
|
||||
//$this->actualizarHistorial($historial);
|
||||
}
|
||||
// }
|
||||
return $dato;
|
||||
}else{
|
||||
return "";
|
||||
@ -1032,7 +1019,7 @@
|
||||
$historial = "";
|
||||
$oid = $this->getValor("oid");
|
||||
|
||||
$consulta = "SELECT * FROM historial_usuario WHERE oid_h='$oid' ORDER BY fecha_h DESC";
|
||||
$consulta = "SELECT * FROM historial_usuario WHERE oid_h='$oid' ORDER BY id desc";
|
||||
$bd = new BD();
|
||||
$resultado = $bd->execQuery($consulta);
|
||||
|
||||
|
||||
@ -386,8 +386,11 @@ if (in_array("curriculum", $mostrarDetalle)) { ?>
|
||||
</tr>
|
||||
</table>
|
||||
<?php }
|
||||
|
||||
///////////
|
||||
//HISTORIAL
|
||||
///////////
|
||||
if (in_array("historial", $mostrarDetalle)) { ?>
|
||||
<!-- HISTORIAL -->
|
||||
<div class="encabezado"><a name="historial"></a><?php echo $locale['1552']; ?></div>
|
||||
<table align="center" width="100%"><td>
|
||||
<tr>
|
||||
@ -397,5 +400,6 @@ if (in_array("curriculum", $mostrarDetalle)) { ?>
|
||||
</tr>
|
||||
</table>
|
||||
<?php } ?>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user