Files
backend/SQL_QUERY_2/BASE_MATRICULADOS_2.query
2026-06-26 12:28:49 -05:00

212 lines
9.4 KiB
Plaintext

SELECT
sgede_RP_programa.num_indice,
vtama_localidad.dsc_localidad,
sgeca_matricula.num_matricula,
sgeca_matricula.fch_matricula,
sgeca_matricula.cod_estado AS estado_matricula,
sgema_alumno.dsc_telefono_1,
(
SELECT
rhuma_trabajador.dsc_apellido_paterno + ' ' +
SUBSTRING(rhuma_trabajador.dsc_apellido_materno, 1, 1) + '. ' +
rhuma_trabajador.dsc_nombres
FROM rhuma_trabajador
WHERE rhuma_trabajador.cod_trabajador = sgeca_matricula.cod_vendedor
) AS dsc_vendedor,
sgeca_matricula.cod_moneda,
ISNULL((
SELECT
SUM(sgede_cronograma_matricula.imp_total - ISNULL(sgede_cronograma_matricula.imp_dscto, 0))
FROM sgede_cronograma_matricula
WHERE sgede_cronograma_matricula.cod_localidad = sgeca_matricula.cod_localidad
AND sgede_cronograma_matricula.num_matricula = sgeca_matricula.num_matricula
AND sgede_cronograma_matricula.num_refinanciamiento = 1
), 0) AS INV_NETA,
(
SELECT vtama_cuota.dsc_cuota
FROM vtama_cuota
WHERE vtama_cuota.cod_cuota = sgeca_matricula.cod_cuota
) AS dsc_cuota,
(
SELECT sgema_beca.dsc_beca
FROM sgema_beca
WHERE sgema_beca.cod_beca = sgeca_matricula.cod_beca
) AS dsc_beca,
sgema_alumno.dsc_apellido_paterno + ' ' + sgema_alumno.dsc_apellido_materno + ', ' + sgema_alumno.dsc_nombres AS dsc_alumno,
vtama_tipo_documento.dsc_tipo_documento,
sgema_alumno.dsc_documento,
sgeca_programa.dsc_programa,
sgede_RP_programa.dsc_det_programa AS dsc_promocion,
sgede_RP_programa.fch_inicio,
-- ==========================================
-- SALDOS Y VENCIMIENTOS: MATRICULA Y CUOTAS 1-5
-- ==========================================
ISNULL((
SELECT sgede_cronograma_matricula.imp_saldo
FROM sgede_cronograma_matricula
WHERE sgede_cronograma_matricula.cod_localidad = sgeca_matricula.cod_localidad
AND sgede_cronograma_matricula.num_matricula = sgeca_matricula.num_matricula
AND sgede_cronograma_matricula.num_refinanciamiento = 1
AND sgede_cronograma_matricula.num_cuota = 0
), 0) AS imp_saldo_matricula,
(
SELECT TOP 1 sgede_cronograma_matricula.fch_vencimiento
FROM sgede_cronograma_matricula
WHERE sgede_cronograma_matricula.cod_localidad = sgeca_matricula.cod_localidad
AND sgede_cronograma_matricula.num_matricula = sgeca_matricula.num_matricula
AND sgede_cronograma_matricula.num_refinanciamiento = 1
AND sgede_cronograma_matricula.num_cuota = 0
) AS fch_venc_matricula,
ISNULL((
SELECT sgede_cronograma_matricula.imp_saldo
FROM sgede_cronograma_matricula
WHERE sgede_cronograma_matricula.cod_localidad = sgeca_matricula.cod_localidad
AND sgede_cronograma_matricula.num_matricula = sgeca_matricula.num_matricula
AND sgede_cronograma_matricula.num_refinanciamiento = 1
AND sgede_cronograma_matricula.num_cuota = 1
), 0) AS imp_saldo_cuota1,
(
SELECT TOP 1 sgede_cronograma_matricula.fch_vencimiento
FROM sgede_cronograma_matricula
WHERE sgede_cronograma_matricula.cod_localidad = sgeca_matricula.cod_localidad
AND sgede_cronograma_matricula.num_matricula = sgeca_matricula.num_matricula
AND sgede_cronograma_matricula.num_refinanciamiento = 1
AND sgede_cronograma_matricula.num_cuota = 1
) AS fch_venc_cuota1,
(
SELECT TOP 1 sgede_cronograma_matricula.fch_cancelacion
FROM sgede_cronograma_matricula
WHERE sgede_cronograma_matricula.cod_localidad = sgeca_matricula.cod_localidad
AND sgede_cronograma_matricula.num_matricula = sgeca_matricula.num_matricula
AND sgede_cronograma_matricula.num_refinanciamiento = 1
AND sgede_cronograma_matricula.num_cuota = 1
) AS fch_cancelacion_cuota1,
ISNULL((
SELECT sgede_cronograma_matricula.imp_saldo
FROM sgede_cronograma_matricula
WHERE sgede_cronograma_matricula.cod_localidad = sgeca_matricula.cod_localidad
AND sgede_cronograma_matricula.num_matricula = sgeca_matricula.num_matricula
AND sgede_cronograma_matricula.num_refinanciamiento = 1
AND sgede_cronograma_matricula.num_cuota = 2
), 0) AS imp_saldo_cuota2,
(
SELECT TOP 1 sgede_cronograma_matricula.fch_vencimiento
FROM sgede_cronograma_matricula
WHERE sgede_cronograma_matricula.cod_localidad = sgeca_matricula.cod_localidad
AND sgede_cronograma_matricula.num_matricula = sgeca_matricula.num_matricula
AND sgede_cronograma_matricula.num_refinanciamiento = 1
AND sgede_cronograma_matricula.num_cuota = 2
) AS fch_venc_cuota2,
ISNULL((
SELECT sgede_cronograma_matricula.imp_saldo
FROM sgede_cronograma_matricula
WHERE sgede_cronograma_matricula.cod_localidad = sgeca_matricula.cod_localidad
AND sgede_cronograma_matricula.num_matricula = sgeca_matricula.num_matricula
AND sgede_cronograma_matricula.num_refinanciamiento = 1
AND sgede_cronograma_matricula.num_cuota = 3
), 0) AS imp_saldo_cuota3,
(
SELECT TOP 1 sgede_cronograma_matricula.fch_vencimiento
FROM sgede_cronograma_matricula
WHERE sgede_cronograma_matricula.cod_localidad = sgeca_matricula.cod_localidad
AND sgede_cronograma_matricula.num_matricula = sgeca_matricula.num_matricula
AND sgede_cronograma_matricula.num_refinanciamiento = 1
AND sgede_cronograma_matricula.num_cuota = 3
) AS fch_venc_cuota3,
ISNULL((
SELECT sgede_cronograma_matricula.imp_saldo
FROM sgede_cronograma_matricula
WHERE sgede_cronograma_matricula.cod_localidad = sgeca_matricula.cod_localidad
AND sgede_cronograma_matricula.num_matricula = sgeca_matricula.num_matricula
AND sgede_cronograma_matricula.num_refinanciamiento = 1
AND sgede_cronograma_matricula.num_cuota = 4
), 0) AS imp_saldo_cuota4,
(
SELECT TOP 1 sgede_cronograma_matricula.fch_vencimiento
FROM sgede_cronograma_matricula
WHERE sgede_cronograma_matricula.cod_localidad = sgeca_matricula.cod_localidad
AND sgede_cronograma_matricula.num_matricula = sgeca_matricula.num_matricula
AND sgede_cronograma_matricula.num_refinanciamiento = 1
AND sgede_cronograma_matricula.num_cuota = 4
) AS fch_venc_cuota4,
ISNULL((
SELECT sgede_cronograma_matricula.imp_saldo
FROM sgede_cronograma_matricula
WHERE sgede_cronograma_matricula.cod_localidad = sgeca_matricula.cod_localidad
AND sgede_cronograma_matricula.num_matricula = sgeca_matricula.num_matricula
AND sgede_cronograma_matricula.num_refinanciamiento = 1
AND sgede_cronograma_matricula.num_cuota = 5
), 0) AS imp_saldo_cuota5,
(
SELECT TOP 1 sgede_cronograma_matricula.fch_vencimiento
FROM sgede_cronograma_matricula
WHERE sgede_cronograma_matricula.cod_localidad = sgeca_matricula.cod_localidad
AND sgede_cronograma_matricula.num_matricula = sgeca_matricula.num_matricula
AND sgede_cronograma_matricula.num_refinanciamiento = 1
AND sgede_cronograma_matricula.num_cuota = 5
) AS fch_venc_cuota5,
-- ==========================================
-- TIPO DE CAMBIO
-- ==========================================
ISNULL((
SELECT TOP 1 comp.imp_tc
FROM vtaca_comprobante comp
INNER JOIN sgevi_cuotas_x_comprobante cxc ON comp.cod_localidad = cxc.cod_localidad
AND comp.num_correlativo = cxc.num_correlativo
WHERE cxc.num_matricula = sgeca_matricula.num_matricula
AND cxc.cod_localidad_c = sgeca_matricula.cod_localidad
AND comp.cod_estado NOT IN ('ANU', 'ELI')
ORDER BY comp.fch_emision DESC
), 0) AS imp_tc,
-- ==========================================
-- IMPORTE TOTAL PAGADO
-- ==========================================
(SELECT SUM(sgede_cronograma_matricula.imp_total_pagado)
FROM sgede_cronograma_matricula
WHERE sgede_cronograma_matricula.cod_localidad = sgeca_matricula.cod_localidad
AND sgede_cronograma_matricula.num_matricula = sgeca_matricula.num_matricula
AND sgede_cronograma_matricula.num_refinanciamiento = sgeca_matricula.num_refinanciamiento) AS imp_total_pagado
FROM sgeca_matricula
INNER JOIN sgeca_programa
ON sgeca_matricula.cod_programa = sgeca_programa.cod_programa
LEFT JOIN sgede_RP_programa
ON sgeca_matricula.cod_periodo = sgede_RP_programa.cod_detalle
AND sgeca_matricula.cod_programa = sgede_RP_programa.cod_programa
AND sgeca_matricula.num_indice = sgede_RP_programa.num_indice
INNER JOIN sgema_alumno
ON sgeca_matricula.cod_alumno = sgema_alumno.cod_alumno
INNER JOIN vtama_localidad
ON sgeca_matricula.cod_localidad = vtama_localidad.cod_localidad
INNER JOIN vtama_tipo_documento
ON sgema_alumno.cod_tipo_documento = vtama_tipo_documento.cod_tipo_documento
WHERE
sgeca_matricula.cod_localidad LIKE 'SCENT'
AND YEAR(sgeca_matricula.fch_matricula) = ?
AND MONTH(sgeca_matricula.fch_matricula) = ?
AND sgeca_matricula.cod_estado NOT IN ('ANU', 'SUS')
ORDER BY
num_indice ASC