Retiro por deuda

Creado por LUIS ENRIQUE ILLESCAS MORALES, Modificado el Mar, 10 Oct, 2023 a 2:41 P. M. por LUIS ENRIQUE ILLESCAS MORALES

Ing. Brinly

 

Se debe modificar la 6ta línea de código dependiendo de la fecha que nos indiquen las personas que soliciten el reporte

set @FechaHasta ='2022/03/16'

 

De igual manera se debe cambiar el semestre al que corresponda en la 7ma línea de código, es decir si necesitamos de los estudiantes que se les debe retirar su materia del Mod.0 2023-2

set @semIni ='2023-2'

 

Y cambiar la observación en caso de ser necesario

 

'Retiro automatico por deuda 2023-1'

 

Y en las líneas finales del código cambiar al módulo que deseamos y semestre

 

where det.sem_codigo in ('2023-2') and grp_observacion='' and det.mdu_codigo='0'

---------------------------------------------------------------------------------------------------

 

begin transaction /*IMPORTANTE!!! Se debe ejecutar sin esta línea ya que con esta solo vemos las líneas que serán afectadas

 

use latino01

 

declare @FechaHasta as nvarchar(10)

declare @semIni as nvarchar(6)

declare @MontoTopeDeudaBs as float

declare @GESTION as int

declare @CodPlanPago as int

 

set @FechaHasta ='2022/03/16'

set @semIni ='2023-1'

set @MontoTopeDeudaBs=500

set @GESTION=2023

set @CodPlanPago=63

 

update admision.dbo.grupos_detalles

set grp_observacion ='R',grp_operadorcambio='9999',grp_obsmovimiento ='Retiro automatico por deuda 2023-1',

grp_fechacambio =getdate()

where alm_registro+mat_codigo+grp_grupo+sem_codigo in

(

 

select distinct DET.alm_registro+DET.mat_codigo+DET.grp_grupo+DET.sem_codigo

from admision.dbo.grupos_detalles det

inner join admision.dbo.alumnos_agenda alum on

alum.alm_registro=det.alm_registro

inner join AdmAcad.dbo.carreras carre on

carre.crr_codigo=alum.crr_codigo

inner join AdmAcad.dbo.materias mate on

mate.mat_codigo=det.mat_codigo

inner join notas.dbo.alumnos_cantidad_materias cant on

cant.alm_registro=alum.alm_registro

inner join parametros.dbo.agenda age on

age.agd_codigo=alum.agd_codigo

INNER join (SELECT * FROM [latino01].[dbo].[FaSaldosMora]) deuda on deuda.idcont =cast(alum.agd_codigo as int)

left join (

 

SELECT codcliente as CodAgenda, NroregistroCXC as NroRegistroPlanPagos, ltrim(rtrim(nombre)) as NombreEstudiante,

isnull(cr.crr_codigo,'') as CodCarrera, ISNULL(ltrim(rtrim(crr_descripcion)),'') as Nomcarrera,tipodedeuda as TipoMovCodigo,conceptos.DESCRIPCION as TipoMovDescripcion,

sum(Saldo) as SaldoVencidoAcumBS

 

from(

 

SELECT FaMaeDeudas.gestiondeuda, FaMaeDeudas.nrodocdeuda,

FaMaeDeudas.tipodedeuda, FaMaeDeudas.CodCliente, ltrim(rtrim(adorgani.nombre)) as nombre,

(select top 1 cxc_registro from migrarrel with (nolock) where gestion = FaMaeDeudas.gestiondeuda and nrotrans = FaMaeDeudas.nrodocdeuda AND sistema ='AC' order by cxc_registro desc ) as NroRegistroCXC,

FaMaeDeudas.CodPlanPago, adPlanPago.DescPlanPago, adPlanPago.codtipoplan,

famaedeudas.totaldeuda as porCobrar, sum(FaPagos.Saldodeudor) as saldo

 

FROM general.dbo.adPlanPago adPlanPago with (nolock) RIGHT JOIN FaMaeDeudas with (nolock) ON (adPlanPago.CodPlanPago = FaMaeDeudas.CodPlanPago)

INNER JOIN FaPagos with (nolock) ON (FamaeDeudas.Sucursal = FaPagos.sucursal) AND (FamaeDeudas.NrodocDeuda = FaPagos.nrodocdeuda) AND (FamaeDeudas.GestionDeuda = FaPagos.gestiondeuda)

LEFT JOIN general.dbo.adorgani adorgani with (nolock) ON (famaedeudas.codcliente = adorgani.idcont)

 

WHERE FaMaeDeudas.estado<>AND round(FaPagos.Saldodeudor,2)>0.01

AND year(fapagos.vencimiento)=year(@FechaHasta) --filtra el vencimiento de la gestion actual

AND CONVERT(char(10),FaPagos.Vencimiento,111)<=CONVERT(char(10),@FechaHasta,111)

and FaMaeDeudas.CodPlanPago NOT in (@CodPlanPago)

 

group by FaMaeDeudas.gestiondeuda, FaMaeDeudas.nrodocdeuda, FaMaeDeudas.tipodedeuda, FaMaeDeudas.CodCliente, adorgani.nombre, FaMaeDeudas.CodPlanPago, adPlanPago.DescPlanPago, adPlanPago.codtipoplan,

famaedeudas.totaldeuda) tabla

 

inner join conceptos on conceptos.idconcepto=tabla.tipodedeuda

left join admision.dbo.alumnos_agenda AC on alm_registro=tabla.nroregistroCXC

left join admacad.dbo.carreras CR on cr.crr_codigo = ac.crr_codigo

 

where conceptos.idsis ='cr'

group by codcliente, nombre, nroregistroCXC, ISNULL(crr_descripcion,''),

cr.crr_codigo, ltrim(rtrim(crr_descripcion)), tipodedeuda,conceptos.DESCRIPCION

having round(sum(Saldo),2)>@MontoTopeDeudaBs) deudaexamen on

deudaexamen.CodAgenda =cast(age.agd_codigo as integer)

where det.sem_codigo in ('2023-1') and grp_observacion='' and det.mdu_codigo='3'

and (saldoMora*6.96)-isnull(SaldoVencidoAcumBS,0) >=500 and crr_nivel<2)

Archivos adjuntos (1)

¿Le ha sido útil este artículo?

¡Qué bien!

Gracias por sus comentarios

¡Sentimos mucho no haber sido de ayuda!

Gracias por sus comentarios

¡Háganos saber cómo podemos mejorar este artículo!

Seleccione al menos una de las razones

Sus comentarios se han enviado

Agradecemos su esfuerzo e intentaremos corregir el artículo