Hola Leonel,
a mi también me resulto extraño, por eso revise varias veces. Lo que me solicitaron, fue agregar cambios en el reporte de plan de estudios, en la visualización de las notas que se ven en el plan de estudio y en el reporte en pdf que se puede descargar. Se me solicitaba que se viera la nota sola sin la instancia de la que provenía y el origen ( examen, regularidad, promoción ) de la misma .
modifique los archivos:
carpetadepersonalización/modelo/datos/db/alumno.php
carpetadepersonalización/modelo/transacciones/historia_academica.php
carpetadepersonalización/operaciones/plan_estudio/info_plan/default.twig
carpetadepersonalización/operaciones/plan_estudio/controlador.php
método modificado:
function get_contenido_plan_version_con_historia_academica($parametros)
protected function get_columnas_reporte()
Agregue el siguiente código :
function get_contenido_plan_version_con_historia_academica($parametros)
protected function get_columnas_reporte()
agregue el siguiente código :
Las siguientes lineas fueron las que agregue en el metodo que se encuentra mas abajo:
$estado = (isset($info_act_acad_materia[‘nota’]) && $info_act_acad_materia[‘nota’])? $info_act_acad_materia[‘nota’]." " : “”;
$instancia = (isset($info_act_acad_materia[‘nota’]) && $info_act_acad_materia[‘nota’])? " (“.$info_act_acad_materia[‘resultado_descripcion’].”)" : “”; // agregado
$origen = (isset($info_act_acad_materia[‘nota’]) && $info_act_acad_materia[‘nota’])? $info_act_acad_materia[‘origen’]." " : “”; //agregado
$contenido_plan_version[$key][‘estado’] = $estado;// agregado
$contenido_plan_version[$key][‘origen’]= $origen;// agregado
//·······················································································································································································································································
function get_contenido_plan_version_con_historia_academica($parametros){
try{
$contenido_plan_version = \toba::consulta_php('co_planes')->get_contenido_plan_version( $parametros['plan_version'] );
$historia_academica = guarani::historia_academica();
$tipo_materia_normal = kernel::traductor()->trans('plan_estudio.tipo_materia_normal');
$detalle_materias_plan_version = catalogo::consultar('plan_estudio', 'get_detalle_materias_plan_version', $parametros);
foreach($contenido_plan_version as $key => $elemento){
if($elemento['entidad_subtipo'] == \elemento::subtipo_materia){
$detalle_materia = $detalle_materias_plan_version[$elemento['codigo']];
$contenido_plan_version[$key]['anio'] = $detalle_materia['anio'];
$contenido_plan_version[$key]['periodo'] = $detalle_materia['periodo'];
$contenido_plan_version[$key]['tipo'] = $tipo_materia_normal;
$contenido_plan_version[$key]['credito'] = $detalle_materia['credito'];
$info_act_acad_materia = $historia_academica->get_info_actividad_academica($elemento['codigo']);
$estado = (isset($info_act_acad_materia['nota']) && $info_act_acad_materia['nota'])? $info_act_acad_materia['nota']." " : "";
$instancia = (isset($info_act_acad_materia['nota']) && $info_act_acad_materia['nota'])? " (".$info_act_acad_materia['resultado_descripcion'].")" : ""; // agregado
$origen = (isset($info_act_acad_materia['nota']) && $info_act_acad_materia['nota'])? $info_act_acad_materia['origen']." " : ""; //agregado
$contenido_plan_version[$key]['estado'] = $estado;// agregado
$contenido_plan_version[$key]['origen']= $origen;// agregado
}
}
$raiz = self::obtener_elemento_raiz($contenido_plan_version);
$arbol = self::buildTree($contenido_plan_version, $raiz['elemento']);
ksort($arbol);
}
catch(\guarani_error $e){
$arbol = array();
}
return $arbol;
}
Los cambios en este método modifican el reporte ( el pdf de la pantalla plan de estudio ) :
lineas agregadas:
‘estado’ => $this->trans(‘Nota’), // modificado
‘origen’ => $this->trans(‘Origen’), // agregado
protected function get_columnas_reporte(){
if(!$this->columnas_reporte){
$this->columnas_reporte = array(
'codigo' => $this->trans('plan_estudio.materia'),
'nombre' => $this->trans('plan_estudio.nombre_materia'),
'tipo' => $this->trans('plan_estudio.tipo_materia'),
'anio' => $this->trans('plan_estudio.ano_cursada'),
'periodo' => $this->trans('plan_estudio.periodo_dictado'),
'credito' => $this->trans('plan_estudio.credito'),
'estado' => $this->trans('Nota'), // modificado
'origen' => $this->trans('Origen'), // agregado
);
}
return $this->columnas_reporte;
}
Linea agregada en el siguiente método: $datos_materia[‘origen’] = $actividad[‘origen’];
function get_info_actividad_academica($materia)
{
$actividad_academica = $this->get_actividad_academica();
$datos_materia = array();
foreach ($actividad_academica as $actividad) {
if ($materia == $actividad['materia_codigo']) {
// Datos que van para cualquier tipo
$datos_comunes= array();
$datos_comunes['tipo'] = $actividad['tipo'];
$datos_comunes['anio'] = $actividad['anio'];
$datos_comunes['materia_nombre_red'] = $actividad['materia_nombre_red'];
$datos_comunes['origen'] = $actividad['origen'];
$datos_comunes['plan_version'] = $actividad['plan_version'];
$datos_comunes['anio_academico'] = $actividad['anio_academico'];
$datos_comunes['catedra'] = $actividad['catedra'];
if ($actividad['tipo'] == 'Aprobacion') {
if ($actividad['resultado'] == 'A') {
$datos_materia = $datos_comunes;
$datos_materia['fecha_display'] = $actividad['fecha_display'];
$datos_materia['fecha_orden'] = $actividad['fecha_orden'];
$datos_materia['nota'] = $actividad['nota'];
$datos_materia['nota_descripcion'] = $actividad['nota_descripcion'];
$datos_materia['resultado'] = $actividad['resultado'];
$datos_materia['resultado_descripcion'] = $actividad['resultado_descripcion'];
$datos_materia['acta_resolucion'] = $actividad['acta_resolucion'];
$datos_materia['equivalencia'] = $actividad['equivalencia'];
$datos_materia['origen'] = $actividad['origen']; // agregado
if ($datos_materia['origen'] == 'Promoción') {
$datos_materia['comision'] = $actividad['comision'];
$datos_materia['comision_nombre'] = $actividad['comision_nombre'];
$datos_materia['periodo_lectivo'] = $actividad['periodo_lectivo'];
}
break;
} else {
continue; // no aprobado
}
}
if ($actividad['tipo'] == 'Regularidad'){
if ($actividad['resultado'] == 'A' /* && $actividad['VIGENTE'] == '1' */) {
$datos_a_setear = $datos_comunes;
$datos_a_setear['fecha_display'] = $actividad['fecha_display'];
$datos_a_setear['fecha_orden'] = $actividad['fecha_orden'];
$datos_a_setear['nota'] = $actividad['nota'];
$datos_a_setear['nota_descripcion'] = $actividad['nota_descripcion'];
$datos_a_setear['resultado'] = $actividad['resultado'];
$datos_a_setear['resultado_descripcion']= $actividad['resultado_descripcion'];
$datos_a_setear['acta_resolucion'] = $actividad['acta_resolucion'];
$datos_a_setear['equivalencia'] = $actividad['equivalencia'];
$datos_a_setear['comision'] = $actividad['comision'];
$datos_a_setear['comision_nombre'] = $actividad['comision_nombre'];
$datos_a_setear['periodo_lectivo'] = $actividad['periodo_lectivo'];
$datos_a_setear['vigente'] = $actividad['vigente'];
$datos_a_setear['cond_regularidad'] = $actividad['cond_regularidad'];
$datos_a_setear['fin_vigencia_regul'] = $actividad['fin_vigencia_regul'];
$datos_a_setear['turno_cursada'] = $actividad['turno_cursada'];
//$datos_a_setear['origen'] = $actividad['origen'];
if (! isset($datos_materia['materia'])) {
$datos_materia = $datos_a_setear;
} else {
if ($datos_materia['tipo'] != 'En Curso') {
if ($datos_materia['fecha_orden'] < $actividad['fecha_orden'] ) {
$datos_materia = $datos_a_setear;
}
}
}
}
continue;
}
// si esta en curso piso la cursada
if ($actividad['tipo'] == 'En Curso') {
$datos_materia = $datos_comunes;
$datos_materia['calidad_insc'] = $actividad['calidad_insc'];
}
}
}
return $datos_materia;
}
Lineas agregadas en el siguiente fragmento de código:
<th title=“{{ “plan_estudio.origen” | trans }}”>{{ “origen” | trans }}
{{ materia.origen }}
{% macro tabla_materias(materias, parent_id) %}
<table class="table table-bordered table-condensed" summary="Materias">
<thead>
<tr>
<th title="{{ "plan_estudio.materia" | trans }}">{{ "plan_estudio.materia" | trans }}</th>
<th title="{{ "plan_estudio.nombre_materia" | trans }}">{{ "plan_estudio.nombre_materia" | trans }}</th>
<th title="{{ "plan_estudio.estado" | trans }}">{{ "plan_estudio.estado" | trans }}</th>
<th title="{{ "plan_estudio.tipo_materia" | trans }}">{{ "plan_estudio.tipo_materia" | trans }}</th>
<th title="{{ "plan_estudio.ano_cursada" | trans }}">{{ "plan_estudio.ano_cursada" | trans }}</th>
<th title="{{ "plan_estudio.periodo_dictado" | trans }}">{{ "plan_estudio.periodo_dictado" | trans }}</th>
<th title="{{ "plan_estudio.credito" | trans }}">{{ "plan_estudio.credito" | trans }}</th>
<th title="{{ "plan_estudio.correlatividades" | trans }}">{{ "plan_estudio.correlatividades" | trans }}</th>
<th title="{{ "plan_estudio.origen" | trans }}">{{ "origen" | trans }}</th>
</tr>
</thead>
<tbody>
{% for materia in materias %}
<tr>
<td>{{ materia.codigo }}</td>
<td>{{ materia.nombre }}</td>
<td>{{ materia.estado }}</td>
<td>{{ materia.tipo }}</td>
<td>{{ materia.anio }}</td>
<td>{{ materia.periodo }}</td>
<td>{{ materia.credito }}</td>
<td class="centrado">
<a class="btn btn-info btn-mini ver_correlatividades" data-completo="false" data-elemento="{{ materia.elemento }}" data-elemento-padre="{{ parent_id }}" data-correlatividades-id="{% if parent_id %}{{ parent_id~'_' }}{% endif %}{{ materia.elemento }}">{{'plan_estudio.correlativas_ver'|trans|capitalize}}</a>
</td>
<td>{{ materia.origen }}</td>
</tr>
<tr class="correlatividades" id="{% if parent_id %}{{ parent_id~'_' }}{% endif %}{{ materia.elemento }}">
<!-- aca escribe el ajax -->
</tr>
{% endfor %}
</tbody>
</table>
{% endmacro %}