Solucionado submodulos y subiendo codigo real

This commit is contained in:
Panchito
2026-06-27 11:58:05 -05:00
parent 6b99090835
commit 762f596f53
116 changed files with 24068 additions and 2 deletions

View File

@@ -0,0 +1,59 @@
SELECT
-- Cronograma de Matrícula (T1)
T1.num_matricula,
T1.num_cuota,
T1.fch_vencimiento,
T1.fch_cancelacion,
T1.cod_estado,
T1.imp_total,
T1.imp_total_pagado,
T1.imp_saldo,
T1.imp_dscto,
-- Matrícula y Programa
M.fch_matricula,
M.fch_retiro,
M.cod_estado AS estado_matricula,
P.dsc_programa,
RP.dsc_det_programa,
M.num_indice,
RP.fch_inicio,
M.cod_moneda,
M.imp_tc,
-- Sectorista
(ISNULL(EMP.dsc_apellido_paterno, '') + ' ' +
ISNULL(EMP.dsc_apellido_materno, '') + ', ' +
ISNULL(EMP.dsc_nombres, '')) AS dsc_sectorista,
RP.cod_frecuencia
FROM
[BDUS_CK000040_0001].[dbo].[sgede_cronograma_matricula] T1
INNER JOIN
sgeca_matricula M
ON T1.cod_localidad = M.cod_localidad
AND T1.num_matricula = M.num_matricula
LEFT JOIN
sgeca_programa P
ON M.cod_programa = P.cod_programa
LEFT JOIN
sgede_RP_programa RP
ON M.cod_programa = RP.cod_programa
AND M.cod_periodo = RP.cod_detalle
AND M.num_indice = RP.num_indice
LEFT JOIN
vtama_cuota C
ON M.cod_cuota = C.cod_cuota
LEFT JOIN
[BDUS_CK000040_0001].[dbo].[sgede_RP_programa_sectorista] SEC_ASIG
ON M.cod_programa = SEC_ASIG.cod_programa
AND M.cod_periodo = SEC_ASIG.cod_detalle
AND M.num_indice = SEC_ASIG.num_indice
LEFT JOIN
[BDUS_CK000040_0001].[dbo].[rhuma_trabajador] EMP
ON SEC_ASIG.cod_trabajador = EMP.cod_trabajador
WHERE
YEAR(RP.fch_inicio) IN (2025, 2026)
ORDER BY
T1.fch_vencimiento ASC;

View File

@@ -0,0 +1,46 @@
SELECT
-- Cronograma de Matrícula (T1)
T1.cod_localidad,
T1.num_matricula,
T1.num_refinanciamiento,
T1.num_cuota,
T1.fch_vencimiento,
T1.fch_cancelacion,
T1.cod_estado,
T1.imp_total,
T1.imp_total_pagado,
T1.imp_saldo,
T1.imp_dscto,
-- Matrícula y Programa
M.fch_matricula,
M.cod_estado AS estado_matricula,
P.dsc_programa,
RP.dsc_det_programa,
RP.fch_inicio,
M.cod_moneda,
C.dsc_cuota,
M.imp_tc
FROM
[BDUS_CK000040_0001].[dbo].[sgede_cronograma_matricula] T1
INNER JOIN
sgeca_matricula M
ON T1.cod_localidad = M.cod_localidad
AND T1.num_matricula = M.num_matricula
LEFT JOIN
sgeca_programa P
ON M.cod_programa = P.cod_programa
LEFT JOIN
sgede_RP_programa RP
ON M.cod_programa = RP.cod_programa
AND M.cod_periodo = RP.cod_detalle
AND M.num_indice = RP.num_indice
LEFT JOIN
vtama_cuota C
ON M.cod_cuota = C.cod_cuota
WHERE
YEAR(RP.fch_inicio) = ?
AND MONTH(RP.fch_inicio) = ?
AND T1.fch_vencimiento > '2020-01-01 00:00:00:000'
ORDER BY
T1.fch_vencimiento ASC;

View File

@@ -0,0 +1,38 @@
SELECT
rp.[num_indice],
rp.[dsc_det_programa],
rp.[flg_activo],
rp.[fch_inicio],
rp.[cod_frecuencia],
rp.[cod_estado],
p.[dsc_programa],
(
SELECT COUNT(*)
FROM sgeca_matricula m
WHERE m.cod_periodo = rp.cod_detalle
AND m.num_indice = rp.num_indice
AND m.cod_estado NOT IN ('ANU', 'SUS')
) AS 'Inscritos_Totales',
(
SELECT COUNT(*)
FROM sgeca_matricula m
WHERE m.cod_periodo = rp.cod_detalle
AND m.num_indice = rp.num_indice
AND m.cod_estado = 'RET'
) AS 'Inscritos_Retirados',
(
SELECT COUNT(*)
FROM sgeca_matricula m
WHERE m.cod_periodo = rp.cod_detalle
AND m.num_indice = rp.num_indice
AND m.cod_estado NOT IN ('ANU', 'RET', 'SUS')
) AS 'Inscritos_Activos'
FROM
[BDUS_CK000040_0001].[dbo].[sgede_RP_programa] rp
INNER JOIN [BDUS_CK000040_0001].[dbo].[sgeca_programa] p
ON rp.cod_programa = p.cod_programa
WHERE
YEAR(rp.fch_inicio) = ?
AND MONTH(rp.fch_inicio) = ?
ORDER BY
rp.fch_inicio ASC

View File

@@ -0,0 +1,51 @@
SELECT
comp.[num_correlativo],
comp.[fch_emision],
comp.[fch_cancelacion],
comp.[cod_estado],
comp.[cod_moneda],
comp.[imp_total],
comp.[imp_saldo],
comp.[imp_tc],
comp.[flg_nc],
-- Centro de Responsabilidad
cr_prog.dsc_centroresp AS dsc_cr,
-- Programa académico
rp.dsc_det_programa,
rp.fch_inicio,
prog.dsc_programa,
mat.num_indice,
mat.cod_estado AS estado_matricula,
mat.fch_retiro,
-- Cuotas y matrícula
cxc.num_matricula,
cxc.num_cuota,
COALESCE(cxc.imp_emitido, comp.imp_total) as imp_emitido,
-- Cuota
cron.fch_vencimiento as fch_vencimiento_cuota
FROM [BDUS_CK000040_0001].[dbo].[vtaca_comprobante] comp
LEFT JOIN sgevi_cuotas_x_comprobante cxc ON comp.cod_localidad = cxc.cod_localidad
AND comp.num_correlativo = cxc.num_correlativo
LEFT JOIN sgeca_matricula mat ON cxc.cod_localidad_c = mat.cod_localidad
AND cxc.num_matricula = mat.num_matricula
LEFT JOIN sgede_RP_programa rp ON mat.cod_programa = rp.cod_programa
AND mat.cod_periodo = rp.cod_detalle
AND mat.num_indice = rp.num_indice
LEFT JOIN sgeca_programa prog ON mat.cod_programa = prog.cod_programa
LEFT JOIN rhuma_centroresponsabilidad cr_prog ON prog.cod_centroresp = cr_prog.cod_centroresp
LEFT JOIN sgede_cronograma_matricula cron ON cxc.cod_localidad_c = cron.cod_localidad
AND cxc.num_matricula = cron.num_matricula
AND cxc.num_refinanciamiento = cron.num_refinanciamiento
AND cxc.num_cuota = cron.num_cuota
WHERE comp.fch_emision BETWEEN '01-01-2024 00:00:00.000' AND '31-12-2028 00:00:00.000'
ORDER BY comp.fch_emision ASC;

View File

@@ -0,0 +1,211 @@
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