perfil docente en autogestión

hola, estamos usando la versión 3.17 y un usuario nos reportó que un docente no podia ver sus comisiones asociadas en autogestión. Revisando estuvimos viendo que la personas esta cargada como docente con dos responsables academicas distintas (es decir hay dos tuplas en sga_docentes con el mismo id de persona y con legajo de docente distinto). El problema que ocurre es que al buscar el listado de comisiones se fija el id de docente y por lo que vimos lo toma de siu/modelo/datos/db/personas.php

function datos_basicos($parametros)
	{

		// Toma el primer perfil del usuario, si tiene uno seleccionado por el usuario o sino el orden por defecto de los tipos de usuarios
		$formato_fecha_visual = kernel::db()->quote(\comunes::formato_fecha_visual);
		
		$sql = "SELECT	p.persona,
                td.tipo_documento,
                td.descripcion as tipo_documento_desc,
				td.desc_abreviada as tipo_documento_desc_abreviada, 
                doc.nro_documento, 
                p.apellido, 
                p.nombres,
                COALESCE (p.nombres_elegido, p.nombres) AS nombre_mostrar,
                COALESCE (p.apellido_elegido, p.apellido) AS apellido_mostrar,
                upper(substring(p.apellido,1,1)) as inicial_apellido,
				p.fecha_nacimiento,
				to_char(p.fecha_nacimiento, $formato_fecha_visual) AS fecha_nacimiento_visual,
				p.id_imagen as id_imagen,
                CASE
                   WHEN p.tipo_usuario_inicial IS NOT NULL AND p.tipo_usuario_inicial <> 'Gestion'  THEN p.tipo_usuario_inicial
                   ELSE (SELECT t.tipo_usuario
                           FROM mdp_personas_tipo_usuario as t, acc_tipos_usuarios as tp
                          WHERE t.persona = p.persona
                            AND tp.tipo_usuario = t.tipo_usuario
							AND tp.tipo_usuario <> 'Gestion'
                          ORDER BY tp.orden_acceso_default 
                          LIMIT 1
                         )
                END as perfil_inicial,
                p.usuario as identificacion,
                d.legajo as legajo_docente,
                d.docente as docente,
                CASE 
                   WHEN p.tipo_usuario_inicial IS NULL THEN acc_tipos_usuarios.orden_acceso_default
                   ELSE 
                        (CASE 
                           WHEN p.tipo_usuario_inicial = mdp_personas_tipo_usuario.tipo_usuario THEN 0
                           ELSE acc_tipos_usuarios.orden_acceso_default
                         END)  
                END as orden  -- Orden de acceso del tipo de usuario..
			FROM mdp_personas as p
            JOIN mdp_personas_tipo_usuario ON mdp_personas_tipo_usuario.persona = p.persona
            JOIN acc_tipos_usuarios ON acc_tipos_usuarios.tipo_usuario = mdp_personas_tipo_usuario.tipo_usuario
            JOIN mdp_personas_documentos as doc ON (doc.persona = p.persona AND doc.documento = p.documento_principal)
            JOIN mdp_tipo_documento as td ON td.tipo_documento = doc.tipo_documento
            LEFT JOIN sga_docentes as d ON d.persona = p.persona
                
			WHERE	p.persona = {$parametros['persona']}
			 AND	mdp_personas_tipo_usuario.tipo_usuario <> 'Gestion'
            ORDER BY orden
            LIMIT 1
            ";

		$datos = kernel::db()->consultar_fila($sql);
		return $datos;		
	}

y esta función trae el primer docente sin importar la responsable académica asociada. Espero haber sido clara.

Gracias,
Naimid.

Hola,

Es extraño, ya que en la operación Administrar docentes una vez que la persona fue dada de alta como docente no te deja darla de alta de nuevo, te mostraría el error “Ya existe un docente asociado a la persona seleccionada.”.

Si vas a la operación Administrar Docentes de SIU-Guaraní Gestión, y filtras por la persona, te la lista dos veces como docente?. En tal caso estaría mal.

Si tenes dos o mas registros en la tabla sga_docentes referenciando a la misma persona, habría que quedarse con solo uno y eliminar el otro, obviamente cambiado las foreign keys del registro eliminado.

saludos.
2

Hola Leonel, sí. En el listado de docente figura dos veces. Eliminaremos a uno y haremos la modificaciones de FK.

Gracias.
Naimid.

Hola,

Te dejo una captura con las dependencias de la tabla sga_docentes.

saludos.
2


Screenshot from 2020-07-24 12-14-39.png

Screenshot from 2020-07-24 12-14-39.png

hola, teníamos el mismo problema que reportan acá, pero supongo que fue por error de migración que el docente estaba duplicado.
Pero al poner uno como “no activo” (de la tabla sga_docentes) el docente(persona) seguía sin ver su comisión. Entonces veo la función “datos_basicos” del archivo siu/modelo/datos/db/personas.php y noto que hace un left join con sga_docente, pero no tiene en cuenta el estado.
Está bien? estamos en versión 3.18.0.
Tal vez ya esta arreglado en la siguiente versión.
saludos.

Hola Alfredo,

Se arregla en la versión 3.20.0 con el ticket 34091.

Vas a tener que borrar el registro repetido en la tabla sga_docentes y las relacionadas.

saludos.