dbo.procesos_cuit_bancos

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
--exec procesos_cuit_bancos
CREATE OR ALTER PROCEDURE dbo.procesos_cuit_bancos

AS
BEGIN
    SET NOCOUNT ON;
 declare @p_Cuit varchar(20)

 declare @p_5anios date = getdate() - (5*365)
 declare @p_2anios date = getdate() - (2*365)
 declare @p_3meses date = getdate() - (90) 

 declare @dtStart date, @dtEnd date, @dtEnd_cuit date
  
 set @dtEnd   = CONVERT(date, getdate())
 set @dtStart = '2016-10-01'
  
 DECLARE recorre1 CURSOR
    FOR
    SELECT cuit FROM procesos_cuit  ORDER BY cuit
  
 OPEN recorre1 
 Fetch next from recorre1 INTO @p_cuit

 WHILE (@@FETCH_STATUS <> -1 )
 BEGIN

 --- Primero: Si hay datos en ceudeu_temp, los pasa a cendeu y los borra de cendeu temp
  insert into cendeu 
             (codigo_ent,
     fec_inf,
     tipo,
     iden,
     id_persona,
     actividad,
     situacion,
     prestamos,
     particip,
     garotor,
     o_cptos,
     garprefa,
     garprefb,
     singarpref,
     cgarprefa,
     cgarprefb,
     sincgarpre,
     previ,
     deuda_cubr,
     proc_jud,
     refinanc,
     rec_oblig,
     sit_juridi,
     irre_dispt,
     dia_atraso,
     id_fuente,
     vigente,
     created,
     created_by,
     modified,
     modified_by,
     dbf_filename,
     deuda_total,
     observaciones)
  select   codigo_ent,
     fec_inf,
     tipo,
     iden,
     id_persona,
     actividad,
     substring(convert(char(2),convert(int,situacion)),1,1) as situacion, 
     --situacion,
     prestamos,
     particip,
     garotor,
     o_cptos,
     garprefa,
     garprefb,
     singarpref,
     cgarprefa,
     cgarprefb,
     sincgarpre,
     previ,
     deuda_cubr,
     proc_jud,
     refinanc,
     rec_oblig,
     sit_juridi,
     irre_dispt,
     dia_atraso,
     id_fuente,
     vigente,
     created,
     created_by,
     modified,
     modified_by,
     dbf_filename,
     deuda_total,
     observaciones
   from cendeu_temp 
  where iden = @p_Cuit 

  delete from cendeu_temp where iden = @p_Cuit 
 ----------------
 insert into procesos_cuit_cendeu
  select 
  cendeu.iden,
  substring(convert(char(2),convert(int,cendeu.situacion)),1,1) as situacion, 
     cast(cendeu.codigo_ent as int) as bco_codigo, 
  cast(DATEPART(YY,cast(fec_inf+'01' as date)) as varchar)  + '-' + right('00'+(cast(datepart(MM,cast(fec_inf+'01' as date)) as varchar)),2) as periodo_deuda, 
  (deuda_total+prestamos+particip+garotor+o_cptos) as total 

   from cendeu
  inner join EntidadesBancarias
    on id_banco = cast(cendeu.codigo_ent as int) 
  
  where iden = @p_Cuit
  
   and fec_inf in (select convert(varchar(4),datepart(year,dateadd(month, number, @dtStart))) + right('0' + rtrim(datepart(MONTH,dateadd(month, number, @dtStart))),2) as periodo
       from 
       (select distinct number from master.dbo.spt_values
        where name is null) n
       where dateadd(month, number, @dtStart) <= @dtEnd)
  /* and vigente = @p_visible */ 
   and 

   
    (vigente = '1' and not exists (select * from cendeu b where b.iden = cendeu.iden and cast(b.codigo_ent as int) = cast(cendeu.codigo_ent as int) and b.fec_inf = cendeu.fec_inf and b.vigente = '1' and b.id_fuente = '2' and b.id_cendeu != cendeu.id_cendeu)
    and not (
        (cast(fec_inf+'01' as date) < @p_5anios) 
        OR
        (cast(fec_inf+'01' as date) < @p_2anios 
       and 
    --not (convert(date,created) > @p_3meses and convert(date,modified) > @p_3meses))
    not exists (select * from cendeu c where c.iden = cendeu.iden and cast(c.codigo_ent as int) = cast(cendeu.codigo_ent as int) and (convert(date,c.created) > @p_3meses)))
     OR 
     (cast(fec_inf+'01' as date) < @p_2anios 
      and 
      exists (select * from cendeu_cancela c 
      where c.iden = cendeu.iden 
        and cast(c.codigo_ent as int) = cast(cendeu.codigo_ent as int) 
        and cast(fec_inf+'01' as date) between convert(date,c.fec_inf_desde) and convert(date,c.fec_inf_hasta)
        and c.vigente = '1'))
         )
    )
    

  
  and not exists (select * from cendeu b 
                   where b.iden = cendeu.iden
       and  cast(b.codigo_ent as int) = cast(cendeu.codigo_ent as int)
       and  b.fec_inf = cendeu.fec_inf
       and  b.vigente = cendeu.vigente
       and (isnull(b.id_fuente,1)) = (isnull(cendeu.id_fuente,1))
       and  b.id_cendeu < cendeu.id_cendeu)
        
  order by cast(cendeu.codigo_ent as int) asc, cendeu.fec_inf desc

  Fetch next from recorre1 INTO @p_cuit
END 
CLOSE recorre1
DEALLOCATE recorre1

select * from procesos_cuit_cendeu
END

GO

Used By

No items found