Buenas tardes!
Al procesar los lotes de estudiantes requeridos por Araucano hallamos una inconsistencia en la interpretación de datos laborales.
La función get_horas_trabajo_araucano contiene un CASE que de manera manual va asignando a cada dato un valor diferente al asociado al utilizado por la tabla mdp_trabajo_horas_sem.
Para ejemplificar mencionamos el siguiente caso:
Como equipo incorporamos un registro dentro de la tabla mdp_trabajo_horas_sem. La columna trabajo_horas_sem con ID 5 está asociada a ‘Más de 45 horas’.
En la funcion get_horas_trabajo_araucano solo reconoce los registros estático del CASE, por ende el valor 5 no está asociado a ninguna descripción. Cuando se consulta en his_datos_economicos.trabajo_hora_sem devuelve ‘NT’ generando una inconsistencia entre el dato seleccionado y la interpretacion de la función.
SELECT CASE
WHEN his_datos_economicos.trabajo_existe IS NULL OR (his_datos_economicos.trabajo_existe = 1 AND his_datos_economicos.trabajo_hora_sem IS NULL) THEN 'NDI'
WHEN his_datos_economicos.trabajo_existe = 1 AND (his_datos_economicos.trabajo_hora_sem = 1 OR his_datos_economicos.trabajo_hora_sem = 2) THEN '20'
WHEN his_datos_economicos.trabajo_existe = 1 AND his_datos_economicos.trabajo_hora_sem = 3 THEN '2035'
WHEN his_datos_economicos.trabajo_existe = 1 AND his_datos_economicos.trabajo_hora_sem = 4 THEN '+35'
WHEN his_datos_economicos.trabajo_existe = 4 THEN 'NDI'
ELSE 'NT'
En caso de se posible revisar esa funcion para que retome los valores de la tabla mdp_trabajo_horas_sem en la función get_horas_trabajo_araucano .