Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
2| Name | Data Type | Length | Description |
|---|---|---|---|
| @contraparte | int | 4 | |
| @cliente | int | 4 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
--
-- [LN_carga_documentacion_societaria] 31279, null
-- [LN_carga_documentacion_societaria] null,5546348
-- [LN_carga_documentacion_societaria] null,null
CREATE OR ALTER PROCEDURE dbo.LN_carga_documentacion_societaria
@contraparte int = null,
@cliente int = null
AS
BEGIN
SET NOCOUNT ON;
declare @cont int
declare @cuit varchar(20)
declare @nombre varchar(200)
declare @valores table (contraparte int, gestion int, doc_id int, seccion int, campo int, tipo_campo varchar(1), nombre_campo varchar(200), etiqueta varchar(300),fila int, col int, valor_numerico float, valor_texto varchar(max), valor_fecha smalldatetime, valor_fecha_srt varchar(200))
if (@contraparte is not null)
begin
DECLARE contraparte_c CURSOR FOR
select contraparte, identificacion, nombre_persona
from ln_contrapartes
inner join padrones on padrones.id_padron = LN_contrapartes.id_padron
where contraparte = @contraparte order by contraparte
end
else
begin
if (@cliente is not null)
begin
DECLARE contraparte_c CURSOR FOR
select contraparte, identificacion, nombre_persona
from ln_contrapartes
inner join padrones on padrones.id_padron = LN_contrapartes.id_padron
where cliente = @cliente order by contraparte
end
else
begin
DECLARE contraparte_c CURSOR FOR
select contraparte, identificacion, nombre_persona
from ln_contrapartes
inner join padrones on padrones.id_padron = LN_contrapartes.id_padron
where cliente not in (2254875,3920694/*,5546348*/) -- saco Fidelitas y Cliente Demo
and exists (select * from LN_docs
where LN_docs.contraparte = LN_contrapartes.contraparte
and tipo_doc in (select tipo_doc from LN_tipo_doc_campos where campo_id in ('DIRECTORES','SOCIOS-ACCIONISTAS')))
order by ln_contrapartes.contraparte
end
end
/*
select * from LN_campos_col where campo = 175
col etiqueta
1 Nombre y Apellido / Razón Social T
2 Nacionalidad o País de Origen T
3 ID Fiscal (TAX-ID) T
4 Cargo T
5 Fecha inicio de cargo D
*/
declare @directores table (contraparte int, nombre_contraparte varchar(200), cuit varchar(20),
nombre varchar(200),
nacionalidad varchar(100),
cuit_socio varchar(20),
cargo varchar(200),
fecha date)
/*
select * from LN_campos_col where campo = 176
1 Nombre y Apellido / Razón Social T
2 Nacionalidad o País de Origen T
3 ID Fiscal (TAX-ID) T
4 % societario N(3,2)
5 Cargo T
6 Fecha inicio de cargo D
*/
declare @socios_accionistas table (contraparte int, nombre_contraparte varchar(200), cuit varchar(20),
nombre varchar(200),
nacionalidad varchar(100),
cuit_socio varchar(20),
porcentaje float,
cargo varchar(200),
fecha date)
OPEN contraparte_c
FETCH NEXT FROM contraparte_c INTO @cont,@cuit,@nombre
WHILE @@FETCH_STATUS = 0 BEGIN
delete from @valores
insert into @valores exec ln_docs_valores @cont, 'DIRECTORES'
insert into @directores
select @cont, @nombre, @cuit,
col1.valor_texto,
col2.valor_texto,
iif(col3.valor_texto is not null, replace(col3.valor_texto,'-',''), col3.valor_numerico) as valor_texto,
col4.valor_texto,
col5.valor_fecha
from @valores col1
inner join @valores col2 on col2.fila = col1.fila and col2.col = 2
inner join @valores col3 on col3.fila = col1.fila and col3.col = 3
inner join @valores col4 on col4.fila = col1.fila and col4.col = 4
LEFT join @valores col5 on col5.fila = col1.fila and col5.col = 5
where col1.col = 1
and (
isnull(col1.valor_texto,'') != '' or
isnull(col3.valor_texto,'') != '')
delete from @valores
insert into @valores exec ln_docs_valores @cont, 'SOCIOS-ACCIONISTAS'
insert into @socios_accionistas
select @cont, @nombre, @cuit,
col1.valor_texto,
col2.valor_texto,
iif(col3.valor_texto is not null, replace(col3.valor_texto,'-',''), col3.valor_numerico) as valor_texto,
col4.valor_numerico,
col5.valor_texto,
col6.valor_fecha
from @valores col1
inner join @valores col2 on col2.fila = col1.fila and col2.col = 2
inner join @valores col3 on col3.fila = col1.fila and col3.col = 3
inner join @valores col4 on col4.fila = col1.fila and col4.col = 4
LEFT join @valores col5 on col5.fila = col1.fila and col5.col = 5
LEFT join @valores col6 on col6.fila = col1.fila and col6.col = 6
where col1.col = 1
and (
isnull(col1.valor_texto,'') != '' or
isnull(col3.valor_texto,'') != '')
FETCH NEXT FROM contraparte_c INTO @cont,@cuit,@nombre
END
CLOSE contraparte_c
DEALLOCATE contraparte_c
update @directores set cuit_socio = (ltrim(rtrim(dbo.fn_StripCharacters(cuit_socio,'^0-9/'))))
update @socios_accionistas set cuit_socio = (ltrim(rtrim(dbo.fn_StripCharacters(cuit_socio,'^0-9/'))))
--insert into ln_proceso_documentacion_societaria
select clientes.nombre_cliente,
'Directivos' as tabla,
dir.contraparte,
dir.nombre_contraparte,
dir.cuit,
dir.nombre,
dir.cuit_socio,
dir.cargo,
null as porcentaje,
dir.fecha,
c01_cuit_soc,
padrones.nombre_persona,
cargos.car_codigo, CARGOS.car_nombre,
socios.c04_periodo_desde,
socios.c04_ultimo,
iif(socios.car_codigo is not null,
(iif(REPLACE(dir.cargo,'-',' ') in (
replace(cargos.car_nombre,'-',' '),
replace(cargos.car_nombre_2,'-',' '),
replace(cargos.car_nombre_3,'-',' '),
replace(cargos.car_nombre_4,'-',' '),
replace(cargos.car_nombre_5,'-',' ')),
'ok','otro cargo')),'no esta') as caso
from @directores dir
left join socios on socios.c01_cuit = dir.cuit
and socios.c01_cuit_soc like dir.cuit_socio + '%'
and socios.visible = 1
left join padrones on padrones.identificacion = c01_cuit_soc
left join cargos on cargos.car_codigo = socios.car_codigo
left join clientes on clientes.cliente = (select cliente from LN_contrapartes where contraparte = dir.contraparte)
where isnull(dir.cuit_socio,'') != ''
union all
select clientes.nombre_cliente,
'Socios/Accionistas' as tabla,
dir.contraparte,
dir.nombre_contraparte,
dir.cuit,
dir.nombre,
(ltrim(rtrim(dbo.fn_StripCharacters(dir.cuit_socio,'^0-9/')))) as cuit_socio,
dir.cargo,
dir.porcentaje,
dir.fecha,
c01_cuit_soc,
padrones.nombre_persona,
cargos.car_codigo, CARGOS.car_nombre,
socios.c04_periodo_desde,
socios.c04_ultimo,
iif(socios.car_codigo is not null,
(iif(REPLACE(dir.cargo,'-',' ') in (
replace(cargos.car_nombre,'-',' '),
replace(cargos.car_nombre_2,'-',' '),
replace(cargos.car_nombre_3,'-',' '),
replace(cargos.car_nombre_4,'-',' '),
replace(cargos.car_nombre_5,'-',' ')),
'ok','otro cargo')),'no esta') as caso
from @socios_accionistas dir
left join socios on socios.c01_cuit = dir.cuit
and socios.c01_cuit_soc like dir.cuit_socio + '%'
and socios.visible = 1
left join padrones on padrones.identificacion = c01_cuit_soc
left join cargos on cargos.car_codigo = socios.car_codigo
left join clientes on clientes.cliente = (select cliente from LN_contrapartes where contraparte = dir.contraparte)
where isnull(dir.cuit_socio,'') != ''
union all
select clientes.nombre_cliente,
'Directivos' as tabla,
dir.contraparte,
dir.nombre_contraparte,
dir.cuit,
dir.nombre,
dir.cuit_socio,
dir.cargo,
null as porcentaje,
dir.fecha,
padrones.identificacion,
padrones.nombre_persona,
cargos.car_codigo, CARGOS.car_nombre,
socios.c04_periodo_desde,
socios.c04_ultimo,
iif(socios.car_codigo is not null,
(iif(REPLACE(dir.cargo,'-',' ') in (
replace(cargos.car_nombre,'-',' '),
replace(cargos.car_nombre_2,'-',' '),
replace(cargos.car_nombre_3,'-',' '),
replace(cargos.car_nombre_4,'-',' '),
replace(cargos.car_nombre_5,'-',' ')),
'ok','otro cargo')),'no esta') as caso
from @directores dir
left join socios on socios.c01_cuit = 'nada'
left join padrones on padrones.identificacion = 'nada'
left join cargos on cargos.car_codigo = 'nada'
left join clientes on clientes.cliente = (select cliente from LN_contrapartes where contraparte = dir.contraparte)
where isnull(dir.cuit_socio,'') = ''
union all
select clientes.nombre_cliente,
'Socios/Accionistas' as tabla,
dir.contraparte,
dir.nombre_contraparte,
dir.cuit,
dir.nombre,
(ltrim(rtrim(dbo.fn_StripCharacters(dir.cuit_socio,'^0-9/')))) as cuit_socio,
dir.cargo,
dir.porcentaje,
dir.fecha,
padrones.identificacion,
padrones.nombre_persona,
cargos.car_codigo, CARGOS.car_nombre,
socios.c04_periodo_desde,
socios.c04_ultimo,
iif(socios.car_codigo is not null,
(iif(REPLACE(dir.cargo,'-',' ') in (
replace(cargos.car_nombre,'-',' '),
replace(cargos.car_nombre_2,'-',' '),
replace(cargos.car_nombre_3,'-',' '),
replace(cargos.car_nombre_4,'-',' '),
replace(cargos.car_nombre_5,'-',' ')),
'ok','otro cargo')),'no esta') as caso
from @socios_accionistas dir
left join socios on socios.c01_cuit = 'nada'
left join padrones on padrones.identificacion = 'nada'
left join cargos on cargos.car_codigo = 'nada'
left join clientes on clientes.cliente = (select cliente from LN_contrapartes where contraparte = dir.contraparte)
where isnull(dir.cuit_socio,'') = ''
union all
select null as nombre_cliente,
'Tabla Socios' as tabla,
null as contraparte,
null as nombre_contraparte,
socios.c01_cuit,
null as nombre,
null as cuit_socio,
null as cargo,
null as porcentaje,
null as fecha,
c01_cuit_soc,
padrones.nombre_persona,
cargos.car_codigo, CARGOS.car_nombre,
socios.c04_periodo_desde,
socios.c04_ultimo,
'otro en la tabla de socios' as caso
from socios
left join padrones on padrones.identificacion = c01_cuit_soc
left join cargos on cargos.car_codigo = socios.car_codigo
where socios.c01_cuit in (select distinct cuit from @directores union select cuit from @socios_accionistas)
and socios.visible = 1 and c04_ultimo = 'S'
and isnull(socios.c01_cuit_soc,'') != ''
and not exists (select * from @directores dir where dir.cuit = socios.c01_cuit and socios.c01_cuit_soc like dir.cuit_socio + '%' )
and not exists (select * from @socios_accionistas dir where dir.cuit = socios.c01_cuit and socios.c01_cuit_soc like dir.cuit_socio + '%' )
order by 5, 2, 7
END
--select * from socios where c01_cuit = '210194590011'
GO
GO
--
-- [LN_carga_documentacion_societaria] 31279, null
-- [LN_carga_documentacion_societaria] null,5546348
-- [LN_carga_documentacion_societaria] null,null
CREATE OR ALTER PROCEDURE dbo.LN_carga_documentacion_societaria
@contraparte int = null,
@cliente int = null
AS
BEGIN
SET NOCOUNT ON;
declare @cont int
declare @cuit varchar(20)
declare @nombre varchar(200)
declare @valores table (contraparte int, gestion int, doc_id int, seccion int, campo int, tipo_campo varchar(1), nombre_campo varchar(200), etiqueta varchar(300),fila int, col int, valor_numerico float, valor_texto varchar(max), valor_fecha smalldatetime, valor_fecha_srt varchar(200))
if (@contraparte is not null)
begin
DECLARE contraparte_c CURSOR FOR
select contraparte, identificacion, nombre_persona
from ln_contrapartes
inner join padrones on padrones.id_padron = LN_contrapartes.id_padron
where contraparte = @contraparte order by contraparte
end
else
begin
if (@cliente is not null)
begin
DECLARE contraparte_c CURSOR FOR
select contraparte, identificacion, nombre_persona
from ln_contrapartes
inner join padrones on padrones.id_padron = LN_contrapartes.id_padron
where cliente = @cliente order by contraparte
end
else
begin
DECLARE contraparte_c CURSOR FOR
select contraparte, identificacion, nombre_persona
from ln_contrapartes
inner join padrones on padrones.id_padron = LN_contrapartes.id_padron
where cliente not in (2254875,3920694/*,5546348*/) -- saco Fidelitas y Cliente Demo
and exists (select * from LN_docs
where LN_docs.contraparte = LN_contrapartes.contraparte
and tipo_doc in (select tipo_doc from LN_tipo_doc_campos where campo_id in ('DIRECTORES','SOCIOS-ACCIONISTAS')))
order by ln_contrapartes.contraparte
end
end
/*
select * from LN_campos_col where campo = 175
col etiqueta
1 Nombre y Apellido / Razón Social T
2 Nacionalidad o País de Origen T
3 ID Fiscal (TAX-ID) T
4 Cargo T
5 Fecha inicio de cargo D
*/
declare @directores table (contraparte int, nombre_contraparte varchar(200), cuit varchar(20),
nombre varchar(200),
nacionalidad varchar(100),
cuit_socio varchar(20),
cargo varchar(200),
fecha date)
/*
select * from LN_campos_col where campo = 176
1 Nombre y Apellido / Razón Social T
2 Nacionalidad o País de Origen T
3 ID Fiscal (TAX-ID) T
4 % societario N(3,2)
5 Cargo T
6 Fecha inicio de cargo D
*/
declare @socios_accionistas table (contraparte int, nombre_contraparte varchar(200), cuit varchar(20),
nombre varchar(200),
nacionalidad varchar(100),
cuit_socio varchar(20),
porcentaje float,
cargo varchar(200),
fecha date)
OPEN contraparte_c
FETCH NEXT FROM contraparte_c INTO @cont,@cuit,@nombre
WHILE @@FETCH_STATUS = 0 BEGIN
delete from @valores
insert into @valores exec ln_docs_valores @cont, 'DIRECTORES'
insert into @directores
select @cont, @nombre, @cuit,
col1.valor_texto,
col2.valor_texto,
iif(col3.valor_texto is not null, replace(col3.valor_texto,'-',''), col3.valor_numerico) as valor_texto,
col4.valor_texto,
col5.valor_fecha
from @valores col1
inner join @valores col2 on col2.fila = col1.fila and col2.col = 2
inner join @valores col3 on col3.fila = col1.fila and col3.col = 3
inner join @valores col4 on col4.fila = col1.fila and col4.col = 4
LEFT join @valores col5 on col5.fila = col1.fila and col5.col = 5
where col1.col = 1
and (
isnull(col1.valor_texto,'') != '' or
isnull(col3.valor_texto,'') != '')
delete from @valores
insert into @valores exec ln_docs_valores @cont, 'SOCIOS-ACCIONISTAS'
insert into @socios_accionistas
select @cont, @nombre, @cuit,
col1.valor_texto,
col2.valor_texto,
iif(col3.valor_texto is not null, replace(col3.valor_texto,'-',''), col3.valor_numerico) as valor_texto,
col4.valor_numerico,
col5.valor_texto,
col6.valor_fecha
from @valores col1
inner join @valores col2 on col2.fila = col1.fila and col2.col = 2
inner join @valores col3 on col3.fila = col1.fila and col3.col = 3
inner join @valores col4 on col4.fila = col1.fila and col4.col = 4
LEFT join @valores col5 on col5.fila = col1.fila and col5.col = 5
LEFT join @valores col6 on col6.fila = col1.fila and col6.col = 6
where col1.col = 1
and (
isnull(col1.valor_texto,'') != '' or
isnull(col3.valor_texto,'') != '')
FETCH NEXT FROM contraparte_c INTO @cont,@cuit,@nombre
END
CLOSE contraparte_c
DEALLOCATE contraparte_c
update @directores set cuit_socio = (ltrim(rtrim(dbo.fn_StripCharacters(cuit_socio,'^0-9/'))))
update @socios_accionistas set cuit_socio = (ltrim(rtrim(dbo.fn_StripCharacters(cuit_socio,'^0-9/'))))
--insert into ln_proceso_documentacion_societaria
select clientes.nombre_cliente,
'Directivos' as tabla,
dir.contraparte,
dir.nombre_contraparte,
dir.cuit,
dir.nombre,
dir.cuit_socio,
dir.cargo,
null as porcentaje,
dir.fecha,
c01_cuit_soc,
padrones.nombre_persona,
cargos.car_codigo, CARGOS.car_nombre,
socios.c04_periodo_desde,
socios.c04_ultimo,
iif(socios.car_codigo is not null,
(iif(REPLACE(dir.cargo,'-',' ') in (
replace(cargos.car_nombre,'-',' '),
replace(cargos.car_nombre_2,'-',' '),
replace(cargos.car_nombre_3,'-',' '),
replace(cargos.car_nombre_4,'-',' '),
replace(cargos.car_nombre_5,'-',' ')),
'ok','otro cargo')),'no esta') as caso
from @directores dir
left join socios on socios.c01_cuit = dir.cuit
and socios.c01_cuit_soc like dir.cuit_socio + '%'
and socios.visible = 1
left join padrones on padrones.identificacion = c01_cuit_soc
left join cargos on cargos.car_codigo = socios.car_codigo
left join clientes on clientes.cliente = (select cliente from LN_contrapartes where contraparte = dir.contraparte)
where isnull(dir.cuit_socio,'') != ''
union all
select clientes.nombre_cliente,
'Socios/Accionistas' as tabla,
dir.contraparte,
dir.nombre_contraparte,
dir.cuit,
dir.nombre,
(ltrim(rtrim(dbo.fn_StripCharacters(dir.cuit_socio,'^0-9/')))) as cuit_socio,
dir.cargo,
dir.porcentaje,
dir.fecha,
c01_cuit_soc,
padrones.nombre_persona,
cargos.car_codigo, CARGOS.car_nombre,
socios.c04_periodo_desde,
socios.c04_ultimo,
iif(socios.car_codigo is not null,
(iif(REPLACE(dir.cargo,'-',' ') in (
replace(cargos.car_nombre,'-',' '),
replace(cargos.car_nombre_2,'-',' '),
replace(cargos.car_nombre_3,'-',' '),
replace(cargos.car_nombre_4,'-',' '),
replace(cargos.car_nombre_5,'-',' ')),
'ok','otro cargo')),'no esta') as caso
from @socios_accionistas dir
left join socios on socios.c01_cuit = dir.cuit
and socios.c01_cuit_soc like dir.cuit_socio + '%'
and socios.visible = 1
left join padrones on padrones.identificacion = c01_cuit_soc
left join cargos on cargos.car_codigo = socios.car_codigo
left join clientes on clientes.cliente = (select cliente from LN_contrapartes where contraparte = dir.contraparte)
where isnull(dir.cuit_socio,'') != ''
union all
select clientes.nombre_cliente,
'Directivos' as tabla,
dir.contraparte,
dir.nombre_contraparte,
dir.cuit,
dir.nombre,
dir.cuit_socio,
dir.cargo,
null as porcentaje,
dir.fecha,
padrones.identificacion,
padrones.nombre_persona,
cargos.car_codigo, CARGOS.car_nombre,
socios.c04_periodo_desde,
socios.c04_ultimo,
iif(socios.car_codigo is not null,
(iif(REPLACE(dir.cargo,'-',' ') in (
replace(cargos.car_nombre,'-',' '),
replace(cargos.car_nombre_2,'-',' '),
replace(cargos.car_nombre_3,'-',' '),
replace(cargos.car_nombre_4,'-',' '),
replace(cargos.car_nombre_5,'-',' ')),
'ok','otro cargo')),'no esta') as caso
from @directores dir
left join socios on socios.c01_cuit = 'nada'
left join padrones on padrones.identificacion = 'nada'
left join cargos on cargos.car_codigo = 'nada'
left join clientes on clientes.cliente = (select cliente from LN_contrapartes where contraparte = dir.contraparte)
where isnull(dir.cuit_socio,'') = ''
union all
select clientes.nombre_cliente,
'Socios/Accionistas' as tabla,
dir.contraparte,
dir.nombre_contraparte,
dir.cuit,
dir.nombre,
(ltrim(rtrim(dbo.fn_StripCharacters(dir.cuit_socio,'^0-9/')))) as cuit_socio,
dir.cargo,
dir.porcentaje,
dir.fecha,
padrones.identificacion,
padrones.nombre_persona,
cargos.car_codigo, CARGOS.car_nombre,
socios.c04_periodo_desde,
socios.c04_ultimo,
iif(socios.car_codigo is not null,
(iif(REPLACE(dir.cargo,'-',' ') in (
replace(cargos.car_nombre,'-',' '),
replace(cargos.car_nombre_2,'-',' '),
replace(cargos.car_nombre_3,'-',' '),
replace(cargos.car_nombre_4,'-',' '),
replace(cargos.car_nombre_5,'-',' ')),
'ok','otro cargo')),'no esta') as caso
from @socios_accionistas dir
left join socios on socios.c01_cuit = 'nada'
left join padrones on padrones.identificacion = 'nada'
left join cargos on cargos.car_codigo = 'nada'
left join clientes on clientes.cliente = (select cliente from LN_contrapartes where contraparte = dir.contraparte)
where isnull(dir.cuit_socio,'') = ''
union all
select null as nombre_cliente,
'Tabla Socios' as tabla,
null as contraparte,
null as nombre_contraparte,
socios.c01_cuit,
null as nombre,
null as cuit_socio,
null as cargo,
null as porcentaje,
null as fecha,
c01_cuit_soc,
padrones.nombre_persona,
cargos.car_codigo, CARGOS.car_nombre,
socios.c04_periodo_desde,
socios.c04_ultimo,
'otro en la tabla de socios' as caso
from socios
left join padrones on padrones.identificacion = c01_cuit_soc
left join cargos on cargos.car_codigo = socios.car_codigo
where socios.c01_cuit in (select distinct cuit from @directores union select cuit from @socios_accionistas)
and socios.visible = 1 and c04_ultimo = 'S'
and isnull(socios.c01_cuit_soc,'') != ''
and not exists (select * from @directores dir where dir.cuit = socios.c01_cuit and socios.c01_cuit_soc like dir.cuit_socio + '%' )
and not exists (select * from @socios_accionistas dir where dir.cuit = socios.c01_cuit and socios.c01_cuit_soc like dir.cuit_socio + '%' )
order by 5, 2, 7
END
--select * from socios where c01_cuit = '210194590011'
GO
Depends On
9Used By
No items found