Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
1| Name | Data Type | Length | Description |
|---|---|---|---|
| @cliente | int | 4 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
/*
select * from ln_cliente_cuits
*/
CREATE OR ALTER PROCEDURE dbo.ln_cliente_cuits_
@cliente int = 2046807993
AS
BEGIN
SET NOCOUNT ON;
declare @contraparte int
declare @cuit varchar(20)
declare @tipo_persona char(1)
declare @tipo varchar(100)
declare @de varchar(10)
declare @socios table (id_socios int,
ultimo char(1),
cuit_persona varchar(20),
dni_persona varchar(20),
nombre_persona varchar(200),
cargo_codigo varchar(3),
cargo_nombre varchar(100),
desde varchar(7),
hasta varchar(7),
estado bit,
modified datetime,
created datetime,
fecha_modificacion varchar(10))
declare @accionistas table (id_acc int,
cuit_persona varchar(20),
dni_persona varchar(20),
nombre_persona varchar(200),
cantidad int,
monto decimal(12,2),
porcentaje decimal(12,2),
desde varchar(7),
hasta varchar(7),
estado bit,
fecha_modificacion varchar(10))
declare @vinculaciones table (cuit_vinculada varchar(20),
nombre_persona varchar(200),
nombre varchar(2000),
desde varchar(20),
hasta varchar(20),
detalle varchar(2000))
/* Borra los registros del cliente */
delete from ln_cliente_cuits where cliente = @cliente
/* Carga todos los registros del cliente */
insert into ln_cliente_cuits (cliente,
contraparte ,
id_padron,
cuit,
nombre_persona,
tipo,
cargo,
fecha_carga
)
select ln_contrapartes.cliente as cliente,
ln_contrapartes.contraparte as contraparte,
ln_contrapartes.id_padron as id_padron,
padrones.identificacion as identificacion,
padrones.nombre_persona as nombre_persona,
'CUIT CONSULTADO' as tipo,
null as cargo,
null as fecha_carga
from LN_contrapartes
inner join padrones on padrones.id_padron = LN_contrapartes.id_padron
where cliente = @cliente
DECLARE C_cursor CURSOR FOR
select contraparte, cuit
from ln_cliente_cuits
where cliente = @cliente
and tipo = 'CUIT CONSULTADO'
OPEN C_cursor
FETCH NEXT FROM C_Cursor INTO @contraparte, @cuit
WHILE @@fetch_status = 0
BEGIN
if (@cuit like '3%')
begin
set @tipo_persona = 'j'
set @tipo = 'DIRECTIVOS'
set @de = ''
end
else
begin
set @tipo_persona = 'f'
set @tipo = 'VINCULACION'
set @de = ' DE '
end
delete from @socios
insert into @socios exec backend_obtener_socios null, @cuit, 1, @tipo_persona
insert into ln_cliente_cuits (cliente, contraparte, cuit, nombre_persona, tipo, cargo, fecha_carga,nacionalidad)
select @cliente, @contraparte, cuit_persona, nombre_persona,
@tipo, cargo_nombre+@de, fecha_modificacion,
upper(country_name) as nacionalidad
from @socios
left join DATOS_PERSONAS on datos_personas.c01_cuit = cuit_persona and DATOS_PERSONAS.visible = 1
left join country on country.codigo_ifx = DATOS_PERSONAS.pai_codigo_nacionalidad
where ultimo = 'S'
delete from @accionistas
insert into @accionistas exec backend_obtener_accionistas @cuit, 1
insert into ln_cliente_cuits (cliente, contraparte, cuit, nombre_persona, tipo, cargo, fecha_carga,porcentaje,nacionalidad)
select @cliente, @contraparte, cuit_persona, nombre_persona,
'ACCIONISTA', 'ACCIONISTA', fecha_modificacion, porcentaje,
upper(country_name) as nacionalidad
from @accionistas
left join DATOS_PERSONAS on datos_personas.c01_cuit = cuit_persona and DATOS_PERSONAS.visible = 1
left join country on country.codigo_ifx = DATOS_PERSONAS.pai_codigo_nacionalidad
delete from @accionistas
insert into @accionistas exec backend_obtener_accionistas_de @cuit, 1
insert into ln_cliente_cuits (cliente, contraparte, cuit, nombre_persona, tipo, cargo, fecha_carga,porcentaje,nacionalidad)
select @cliente, @contraparte, cuit_persona, nombre_persona,
'VINCULACION', 'ACCIONISTA DE', fecha_modificacion, porcentaje,
upper(country_name) as nacionalidad
from @accionistas
left join DATOS_PERSONAS on datos_personas.c01_cuit = cuit_persona and DATOS_PERSONAS.visible = 1
left join country on country.codigo_ifx = DATOS_PERSONAS.pai_codigo_nacionalidad
delete from @vinculaciones
insert into @vinculaciones exec obtener_vinculaciones @cuit
insert into ln_cliente_cuits (cliente, contraparte, cuit, nombre_persona, tipo, cargo,nacionalidad)
select @cliente, @contraparte, cuit_vinculada, nombre_persona,
'VINCULACION', nombre,
upper(country_name) as nacionalidad
from @vinculaciones
left join DATOS_PERSONAS on datos_personas.c01_cuit = cuit_vinculada and DATOS_PERSONAS.visible = 1
left join country on country.codigo_ifx = DATOS_PERSONAS.pai_codigo_nacionalidad
where isnull(nombre,'') != ''
FETCH NEXT FROM C_Cursor INTO @contraparte, @cuit
END
CLOSE C_cursor
DEALLOCATE C_cursor
select 'ok' as respuesta
END
GO
GO
/*
select * from ln_cliente_cuits
*/
CREATE OR ALTER PROCEDURE dbo.ln_cliente_cuits_
@cliente int = 2046807993
AS
BEGIN
SET NOCOUNT ON;
declare @contraparte int
declare @cuit varchar(20)
declare @tipo_persona char(1)
declare @tipo varchar(100)
declare @de varchar(10)
declare @socios table (id_socios int,
ultimo char(1),
cuit_persona varchar(20),
dni_persona varchar(20),
nombre_persona varchar(200),
cargo_codigo varchar(3),
cargo_nombre varchar(100),
desde varchar(7),
hasta varchar(7),
estado bit,
modified datetime,
created datetime,
fecha_modificacion varchar(10))
declare @accionistas table (id_acc int,
cuit_persona varchar(20),
dni_persona varchar(20),
nombre_persona varchar(200),
cantidad int,
monto decimal(12,2),
porcentaje decimal(12,2),
desde varchar(7),
hasta varchar(7),
estado bit,
fecha_modificacion varchar(10))
declare @vinculaciones table (cuit_vinculada varchar(20),
nombre_persona varchar(200),
nombre varchar(2000),
desde varchar(20),
hasta varchar(20),
detalle varchar(2000))
/* Borra los registros del cliente */
delete from ln_cliente_cuits where cliente = @cliente
/* Carga todos los registros del cliente */
insert into ln_cliente_cuits (cliente,
contraparte ,
id_padron,
cuit,
nombre_persona,
tipo,
cargo,
fecha_carga
)
select ln_contrapartes.cliente as cliente,
ln_contrapartes.contraparte as contraparte,
ln_contrapartes.id_padron as id_padron,
padrones.identificacion as identificacion,
padrones.nombre_persona as nombre_persona,
'CUIT CONSULTADO' as tipo,
null as cargo,
null as fecha_carga
from LN_contrapartes
inner join padrones on padrones.id_padron = LN_contrapartes.id_padron
where cliente = @cliente
DECLARE C_cursor CURSOR FOR
select contraparte, cuit
from ln_cliente_cuits
where cliente = @cliente
and tipo = 'CUIT CONSULTADO'
OPEN C_cursor
FETCH NEXT FROM C_Cursor INTO @contraparte, @cuit
WHILE @@fetch_status = 0
BEGIN
if (@cuit like '3%')
begin
set @tipo_persona = 'j'
set @tipo = 'DIRECTIVOS'
set @de = ''
end
else
begin
set @tipo_persona = 'f'
set @tipo = 'VINCULACION'
set @de = ' DE '
end
delete from @socios
insert into @socios exec backend_obtener_socios null, @cuit, 1, @tipo_persona
insert into ln_cliente_cuits (cliente, contraparte, cuit, nombre_persona, tipo, cargo, fecha_carga,nacionalidad)
select @cliente, @contraparte, cuit_persona, nombre_persona,
@tipo, cargo_nombre+@de, fecha_modificacion,
upper(country_name) as nacionalidad
from @socios
left join DATOS_PERSONAS on datos_personas.c01_cuit = cuit_persona and DATOS_PERSONAS.visible = 1
left join country on country.codigo_ifx = DATOS_PERSONAS.pai_codigo_nacionalidad
where ultimo = 'S'
delete from @accionistas
insert into @accionistas exec backend_obtener_accionistas @cuit, 1
insert into ln_cliente_cuits (cliente, contraparte, cuit, nombre_persona, tipo, cargo, fecha_carga,porcentaje,nacionalidad)
select @cliente, @contraparte, cuit_persona, nombre_persona,
'ACCIONISTA', 'ACCIONISTA', fecha_modificacion, porcentaje,
upper(country_name) as nacionalidad
from @accionistas
left join DATOS_PERSONAS on datos_personas.c01_cuit = cuit_persona and DATOS_PERSONAS.visible = 1
left join country on country.codigo_ifx = DATOS_PERSONAS.pai_codigo_nacionalidad
delete from @accionistas
insert into @accionistas exec backend_obtener_accionistas_de @cuit, 1
insert into ln_cliente_cuits (cliente, contraparte, cuit, nombre_persona, tipo, cargo, fecha_carga,porcentaje,nacionalidad)
select @cliente, @contraparte, cuit_persona, nombre_persona,
'VINCULACION', 'ACCIONISTA DE', fecha_modificacion, porcentaje,
upper(country_name) as nacionalidad
from @accionistas
left join DATOS_PERSONAS on datos_personas.c01_cuit = cuit_persona and DATOS_PERSONAS.visible = 1
left join country on country.codigo_ifx = DATOS_PERSONAS.pai_codigo_nacionalidad
delete from @vinculaciones
insert into @vinculaciones exec obtener_vinculaciones @cuit
insert into ln_cliente_cuits (cliente, contraparte, cuit, nombre_persona, tipo, cargo,nacionalidad)
select @cliente, @contraparte, cuit_vinculada, nombre_persona,
'VINCULACION', nombre,
upper(country_name) as nacionalidad
from @vinculaciones
left join DATOS_PERSONAS on datos_personas.c01_cuit = cuit_vinculada and DATOS_PERSONAS.visible = 1
left join country on country.codigo_ifx = DATOS_PERSONAS.pai_codigo_nacionalidad
where isnull(nombre,'') != ''
FETCH NEXT FROM C_Cursor INTO @contraparte, @cuit
END
CLOSE C_cursor
DEALLOCATE C_cursor
select 'ok' as respuesta
END
GO
Depends On
9Used By
No items found