Commit 0ac54162 authored by D’jalmar Gutierrez Titirico's avatar D’jalmar Gutierrez Titirico 🚲

se agrego el ranking de evaluaciones en la vista de cargo convocatoria

parent 5eabc4c5
......@@ -28,6 +28,7 @@
})
.then(etapas=> {
this.etapas = etapas;
this.etapas.rows.sort((a, b)=>a.orden - b.orden)
this.etapas.rows.forEach(etapa=> {
etapa.evaluaciones = this.evaluaciones.rows.filter(
x=> this.evaluacionesCargosEtapas.rows.filter(
......
......@@ -86,18 +86,41 @@
}
this.cargoConvocatoriaService.postulaciones(this.cargoConvocatoriaId, parametros)
.then(respuesta=> {
console.log(respuesta);
this.postulaciones = respuesta;
if (this.cargoConvocatoriaId)
return this.cargoConvocatoriaService.cargoConvocatoria(this.cargoConvocatoriaId);
return this.cargoConvocatoriaService.cargoConvocatoria(this.cargoConvocatoriaId, {
incluye: [{entidad: 'Etapas'}, {entidad: 'Evaluaciones'}]
});
})
.then(cargoConvocatoria=> {
console.log(cargoConvocatoria);
this.cargoConvocatoria = cargoConvocatoria;
this.existeRelacionLaboral = false;
this.postulaciones.rows.forEach(postulacion=> {
postulacion.Cargos = postulacion.Cargos.filter(y=>y.Contratacion.estado);
postulacion.contratado = postulacion.Cargos.filter(y=>y.Contratacion.fk_cargo == cargoConvocatoria.fk_cargo).length > 0;
this.existeRelacionLaboral = postulacion.contratado ? true : this.existeRelacionLaboral;
});
this.cargoConvocatoria.Etapas.sort((a, b)=>a.orden - b.orden);
console.log(this.cargoConvocatoria.Etapas);
this.cargoConvocatoria.Etapas.forEach(etapa=> {
//obtenermos las evaluaciones de cada etapa
etapa.Evaluaciones = this.cargoConvocatoria.Evaluaciones.filter(x=>x.EvaluacionCargoEtapa.fk_etapa == etapa._id);
this.postulaciones.rows.forEach(postulante=> {
var etapaPostulante = Object.assign({}, etapa);
postulante.Etapas = Array.isArray(postulante.Etapas) ? postulante.Etapas : [];
//obtenermos las evaluaciones del postulante relacionadas a la etapa
etapaPostulante.Evaluaciones = postulante.Evaluaciones.filter(x=>etapa.Evaluaciones.filter(y=>y._id == x._id).length > 0);
//obtenemos la suma de las calificaciones
etapaPostulante.calificacion = etapaPostulante.Evaluaciones.length > 0 ?
etapaPostulante.Evaluaciones.map(evaluacion=>parseInt(evaluacion.Calificacion.valor)).reduce((a, b)=>a + b) : 0;
postulante.Etapas.push(etapaPostulante);
postulante.total = postulante.total > -1 ? postulante.total + etapaPostulante.calificacion : etapaPostulante.calificacion;
})
});
this.postulaciones.rows.sort((a, b)=>b.total - a.total)
console.log(this.postulaciones.rows);
})
}
......
......@@ -40,7 +40,8 @@
<thead>
<tr>
<th>Nombres y Apellidos</th>
<th>Etapas</th>
<th ng-repeat="etapa in vm.cargoConvocatoria.Etapas"> {{etapa.nombre}}</th>
<th>Total</th>
<th class="text-right">Opciones</th>
</tr>
</thead>
......@@ -48,7 +49,11 @@
<tr ng-repeat="postulacion in vm.postulaciones.rows" ng-class="{success:postulacion.contratado}"
ng-show="postulacion.Cargos.length == 0 || postulacion.contratado">
<td>{{postulacion.nombres}}, {{postulacion.apellidos}}</td>
<td></td>
<td ng-repeat="etapa in postulacion.Etapas"
ng-class="{danger:etapa.calificacion <etapa.porcentajeMinimo,success:etapa.calificacion >=etapa.porcentajeMinimo}">
{{etapa.calificacion}}
</td>
<td>{{postulacion.total}}</td>
<td class="text-right">
<div class="btn-group" role="group">
<a class="btn btn-success-outline btn-xs" href="#" role="button" ng-disabled="vm.existeRelacionLaboral"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment