Commit 79b0725d by Denys Tito

merge: integrar sede y tipo de grado del aula en el pipeline de horario

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
parents 91502cf8 92a5e16f
......@@ -31,6 +31,8 @@ type HorarioAula struct {
TurnoNombre string `bson:"turno_nombre" json:"turno_nombre"`
SeccionID int `bson:"seccion_id" json:"seccion_id"`
SeccionNombre string `bson:"seccion_nombre" json:"seccion_nombre"`
SedeNombre string `bson:"sede_nombre" json:"sede_nombre"`
TipoGradoNombre string `bson:"tipo_grado_nombre" json:"tipo_grado_nombre"`
}
type Horario struct {
......
......@@ -12,7 +12,8 @@ WITH alumnos AS (
SELECT m.matricula_id, m.estudiante_id,
au.aula_id, au.aula_nombre,
au.periodo_academico_id, au.ciclo_id,
au.nivel_id, au.grado_id, au.turno_id, au.seccion_id
au.nivel_id, au.grado_id, au.turno_id, au.seccion_id,
au.sede_id, au.tipo_grado_id
FROM matricula.ma_matricula m
JOIN academico.ac_aula au ON au.aula_id = m.aula_id_asiste
WHERE NOT m.matricula_retirado
......@@ -64,6 +65,8 @@ SELECT a.matricula_id,
tur.catalogo_siiaa_nombre AS turno_nombre,
a.seccion_id,
sec.catalogo_siiaa_nombre AS seccion_nombre,
se.sede_nombre,
tg.catalogo_siiaa_nombre AS tipo_grado_nombre,
COALESCE(b.bloques, '[]'::jsonb) AS bloques
FROM alumnos a
LEFT JOIN general.gn_periodo_academico per ON per.periodo_academico_id = a.periodo_academico_id
......@@ -72,6 +75,8 @@ FROM alumnos a
LEFT JOIN academico.ac_grado g ON g.grado_id = a.grado_id
LEFT JOIN general.gn_catalogo_siiaa tur ON tur.catalogo_siiaa_id = a.turno_id
LEFT JOIN general.gn_catalogo_siiaa sec ON sec.catalogo_siiaa_id = a.seccion_id
LEFT JOIN administracion.ad_sede se ON se.sede_id = a.sede_id
LEFT JOIN general.gn_catalogo_siiaa tg ON tg.catalogo_siiaa_id = a.tipo_grado_id
LEFT JOIN bloques b ON b.aula_id = a.aula_id
ORDER BY a.matricula_id
`
......@@ -83,7 +88,8 @@ WITH alumnos AS (
SELECT m.matricula_id, m.estudiante_id,
au.aula_id, au.aula_nombre,
au.periodo_academico_id, au.ciclo_id,
au.nivel_id, au.grado_id, au.turno_id, au.seccion_id
au.nivel_id, au.grado_id, au.turno_id, au.seccion_id,
au.sede_id, au.tipo_grado_id
FROM matricula.ma_matricula m
JOIN academico.ac_aula au ON au.aula_id = m.aula_id_asiste
WHERE NOT m.matricula_retirado
......@@ -136,6 +142,8 @@ SELECT a.matricula_id,
tur.catalogo_siiaa_nombre AS turno_nombre,
a.seccion_id,
sec.catalogo_siiaa_nombre AS seccion_nombre,
se.sede_nombre,
tg.catalogo_siiaa_nombre AS tipo_grado_nombre,
COALESCE(b.bloques, '[]'::jsonb) AS bloques
FROM alumnos a
LEFT JOIN general.gn_periodo_academico per ON per.periodo_academico_id = a.periodo_academico_id
......@@ -144,5 +152,7 @@ FROM alumnos a
LEFT JOIN academico.ac_grado g ON g.grado_id = a.grado_id
LEFT JOIN general.gn_catalogo_siiaa tur ON tur.catalogo_siiaa_id = a.turno_id
LEFT JOIN general.gn_catalogo_siiaa sec ON sec.catalogo_siiaa_id = a.seccion_id
LEFT JOIN administracion.ad_sede se ON se.sede_id = a.sede_id
LEFT JOIN general.gn_catalogo_siiaa tg ON tg.catalogo_siiaa_id = a.tipo_grado_id
LEFT JOIN bloques b ON b.aula_id = a.aula_id
`
......@@ -44,12 +44,14 @@ func scanHorarioRow(row pgx.CollectableRow) (entities.SyncRow, error) {
turnoNombre *string
seccionID int
seccionNombre *string
sedeNombre *string
tipoGradoNombre *string
bloquesRaw []byte
)
if err := row.Scan(&matriculaID, &estudianteID, &aulaID, &aulaNombre,
&periodoAcademicoID, &periodoAcademicoNombre, &cicloID, &cicloNombre,
&nivelID, &nivelNombre, &gradoID, &gradoSigla,
&turnoID, &turnoNombre, &seccionID, &seccionNombre, &bloquesRaw); err != nil {
&turnoID, &turnoNombre, &seccionID, &seccionNombre, &sedeNombre, &tipoGradoNombre, &bloquesRaw); err != nil {
return entities.SyncRow{}, fmt.Errorf("scan horario row: %w", err)
}
......@@ -77,6 +79,8 @@ func scanHorarioRow(row pgx.CollectableRow) (entities.SyncRow, error) {
TurnoNombre: derefString(turnoNombre),
SeccionID: seccionID,
SeccionNombre: derefString(seccionNombre),
SedeNombre: derefString(sedeNombre),
TipoGradoNombre: derefString(tipoGradoNombre),
},
Bloques: bloques,
}
......
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