dbo.LN_mapa_relaciones

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

3
Name Data Type Length Description
@contraparte int 4
@actualizado bit 1
@fecha_actualizado date 3

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
/*
-- =============================================
-- Author: <María Inés Soria>
-- Create date: <27/01/2023>
-- Description: Cálculo de Mapa de relaciones 
-- =============================================
En la tabla ln_dias_alertas con tabla = 'mapa_relaciones' poner cuantos dias tomar para el cliente 
insert into ln_dias_alertas (cliente,tabla,dias) values (861672084,'mapa_relaciones',150)

DECLARE @actualizado bit,
@fecha_actualizado date
EXEC [dbo].[LN_mapa_relaciones] 192509, @actualizado output,  @fecha_actualizado output
select @actualizado, @fecha_actualizado

*/


CREATE OR ALTER PROCEDURE dbo.LN_mapa_relaciones 
  @contraparte int,
  @actualizado bit = null output,
  @fecha_actualizado date = null output 
AS
BEGIN
 SET NOCOUNT ON;

 declare @cliente int
 declare @cuit varchar(20) 

 select @cuit = identificacion, @cliente = cliente 
 from ln_contrapartes
 inner join padrones on padrones.id_padron = ln_contrapartes.id_padron
 where ln_contrapartes.contraparte = @contraparte

 set @fecha_actualizado = 
  (select iif(max(socios.created) is null and max(socios.modified) is null, MAX(convert(date,c04_fecha_act)), 
     iif(MAX(isnull(socios.created, '1900-01-01')) > MAX(isnull(socios.modified, '1900-01-01'))
     ,convert(date,MAX(socios.created)),
     convert(date,MAX(socios.modified)))) as fecha 
  from socios where socios.c01_cuit = @cuit) 

 declare @dias int = 150 -- default 
 -- Es personalizado  
 if (select count(*) from ln_dias_alertas where tabla = 'mapa_relaciones' and cliente = @cliente) > 0 
 begin
   select @dias= dias
   from ln_dias_alertas where tabla = 'mapa_relaciones' and cliente = @cliente
 end    

 if (@fecha_actualizado is not null and @fecha_actualizado > getdate() - @dias) 
  set @actualizado = 1
 else 
  set @actualizado = 0

END


    

GO