Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
16| Name | Data Type | Length | Description |
|---|---|---|---|
| @p_cuit | varchar | 20 | |
| @p_cuit_socio | varchar | 20 | |
| @p_desde | varchar | 20 | |
| @p_hasta | varchar | 20 | |
| @p_cargo | varchar | 20 | |
| @p_id_socio | int | 4 | |
| @p_tipo_persona | varchar | 1 | |
| @p_ultimo | varchar | 1 | |
| @p_edicto | tinyint | 1 | |
| @p_archivo_edicto | varchar | 200 | |
| @p_contenido_archivo | text | -1 | |
| @provincia_boletin | varchar | 50 | |
| @fecha_publicacion | varchar | 20 | |
| @user_id | int | 4 | |
| @id_padron_empresa | int | 4 | |
| @id_padron_socio | int | 4 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
/*
exec backend_procesar_socio '30111111118','22222222222','2023-06', NULL,'AD',NULL,'j','S','0',NULL,NULL, NULL,NULL,'94437923'
*/
-- =============================================
-- Author: <Samuel Gonzalez>
-- Create date: <18 Jul 2017>
-- modificado: <Leonel Turchetto 20/03/2019> -- el anterior se llama [backend_procesar_socio_20072023]
-- modificado: <Maria Ines Soria 20/07/2023> - Se hacen todos los controles para no dejar a una persona en distintos cargos
-- Description: <agrega o modifica socio>
-- =============================================
CREATE OR ALTER PROCEDURE dbo.backend_procesar_socio
-- Add the parameters for the stored procedure here
@p_cuit varchar(20),
@p_cuit_socio varchar(20),
@p_desde varchar(20),
@p_hasta varchar(20),
@p_cargo varchar(20),
@p_id_socio int,
@p_tipo_persona varchar(1),
@p_ultimo varchar(1),
@p_edicto tinyint,
@p_archivo_edicto varchar(200),
@p_contenido_archivo text,
@provincia_boletin varchar(50) = null,
@fecha_publicacion varchar(20) = null,
@user_id int = null,
@id_padron_empresa int = null,
@id_padron_socio int = null
AS
BEGIN
SET NOCOUNT ON;
if @provincia_boletin = '' set @provincia_boletin = null
if @fecha_publicacion = '' set @fecha_publicacion = null
declare @nombre_cuit varchar(200),@nombre_cuit_socio varchar(200)
IF (@p_id_socio IS NULL) -- ALTA
BEGIN
IF (@p_tipo_persona = 'f')
-- Persona FĂsica
BEGIN
if (@p_ultimo = 'S')
begin
-- No esta con el mismo cargo y ultimo = 'S': lo doy de alta
IF ((SELECT COUNT(*) FROM socios WHERE c01_cuit = @p_cuit_socio AND c01_cuit_soc = @p_cuit AND car_codigo = @p_cargo AND visible = 1 and c04_ultimo = 'S') = 0)
BEGIN
INSERT INTO socios
(c01_cuit, c01_cuit_soc, c04_periodo_desde, c04_periodo_hasta, car_codigo, c04_ultimo, visible, created, created_by, id_padron, id_padron_socio)
VALUES
(@p_cuit_socio, @p_cuit, @p_desde, @p_hasta, @p_cargo, @p_ultimo, 1, GETDATE(), @user_id, @id_padron_empresa, @id_padron_socio)
END
ELSE
BEGIN
-- Si ya esta con el mismo cargo, y ultimo = 'S': solo actualizo el periodo desde / hasta, si ahora viene
if (@p_desde is not null)
update socios set c04_periodo_desde = @p_desde, modified_by = @user_id, modified = GETDATE(),
id_padron = IIF(@id_padron_empresa is not null, @id_padron_empresa, id_padron),
id_padron_socio = IIF(@id_padron_socio is not null, @id_padron_socio, id_padron_socio)
WHERE c01_cuit = @p_cuit_socio AND c01_cuit_soc = @p_cuit AND car_codigo = @p_cargo AND visible = 1 and c04_ultimo = 'S'
if (@p_hasta is not null)
update socios set c04_periodo_hasta = @p_hasta, modified_by = @user_id, modified = GETDATE(),
id_padron = IIF(@id_padron_empresa is not null, @id_padron_empresa, id_padron),
id_padron_socio = IIF(@id_padron_socio is not null, @id_padron_socio, id_padron_socio)
WHERE c01_cuit = @p_cuit_socio AND c01_cuit_soc = @p_cuit AND car_codigo = @p_cargo AND visible = 1 and c04_ultimo = 'S'
END
--Si esta con otro cargo, al otro cargo lo paso como ultimo = 'N', y guardo como ultimo = 'S' al nuevo
IF ((SELECT COUNT(*) FROM socios WHERE c01_cuit = @p_cuit_socio AND c01_cuit_soc = @p_cuit AND car_codigo != @p_cargo AND visible = 1 and c04_ultimo = 'S') != 0)
BEGIN
update socios set c04_ultimo = 'N', modified_by = @user_id, modified = GETDATE(),
id_padron = IIF(@id_padron_empresa is not null, @id_padron_empresa, id_padron),
id_padron_socio = IIF(@id_padron_socio is not null, @id_padron_socio, id_padron_socio)
WHERE c01_cuit = @p_cuit_socio AND c01_cuit_soc = @p_cuit AND car_codigo != @p_cargo AND visible = 1 and c04_ultimo = 'S'
END
SELECT max(id_socios) AS id_socio
FROM socios
WHERE c01_cuit = @p_cuit_socio AND c01_cuit_soc = @p_cuit AND car_codigo = @p_cargo AND visible = 1 and c04_ultimo = 'S'
end
else
begin
-- ultimo = 'N'
-- No esta con el mismo cargo y ultimo = 'N': lo doy de alta
IF ((SELECT COUNT(*) FROM socios WHERE c01_cuit = @p_cuit_socio AND c01_cuit_soc = @p_cuit AND car_codigo = @p_cargo and visible = 1 and c04_ultimo = 'N') = 0)
BEGIN
INSERT INTO socios
(c01_cuit, c01_cuit_soc, c04_periodo_desde, c04_periodo_hasta, car_codigo, c04_ultimo, visible, created, created_by, id_padron, id_padron_socio)
VALUES
(@p_cuit_socio, @p_cuit, @p_desde, @p_hasta, @p_cargo, @p_ultimo, 1, GETDATE(), @user_id, @id_padron_empresa, @id_padron_socio)
END
ELSE
BEGIN
-- Si ya esta con el mismo cargo, y ultimo = 'N': solo actualizo el periodo desde / hasta, si ahora viene
if (@p_desde is not null)
update socios set c04_periodo_desde = @p_desde, modified_by = @user_id, modified = GETDATE(),
id_padron = IIF(@id_padron_empresa is not null, @id_padron_empresa, id_padron),
id_padron_socio = IIF(@id_padron_socio is not null, @id_padron_socio, id_padron_socio)
WHERE c01_cuit = @p_cuit_socio AND c01_cuit_soc = @p_cuit AND car_codigo = @p_cargo AND visible = 1 and c04_ultimo = 'N'
if (@p_hasta is not null)
update socios set c04_periodo_hasta = @p_hasta, modified_by = @user_id, modified = GETDATE(),
id_padron = IIF(@id_padron_empresa is not null, @id_padron_empresa, id_padron),
id_padron_socio = IIF(@id_padron_socio is not null, @id_padron_socio, id_padron_socio)
WHERE c01_cuit = @p_cuit_socio AND c01_cuit_soc = @p_cuit AND car_codigo = @p_cargo AND visible = 1 and c04_ultimo = 'N'
END
SELECT max(id_socios) AS id_socio
FROM socios
WHERE c01_cuit = @p_cuit_socio AND c01_cuit_soc = @p_cuit AND car_codigo = @p_cargo AND visible = 1 and c04_ultimo = 'N'
end
END
ELSE
BEGIN
-- Persona Juridica
if (@p_ultimo = 'S')
begin
-- No esta con el mismo cargo y ultimo = 'S': lo doy de alta
IF ((SELECT COUNT(*) FROM socios WHERE c01_cuit = @p_cuit AND c01_cuit_soc = @p_cuit_socio and car_codigo = @p_cargo AND visible = 1 and c04_ultimo = 'S') = 0)
BEGIN
INSERT INTO socios
(c01_cuit, c01_cuit_soc, c04_periodo_desde, c04_periodo_hasta, car_codigo, c04_ultimo, visible, created, created_by, id_padron, id_padron_socio)
VALUES
(@p_cuit, @p_cuit_socio, @p_desde, @p_hasta, @p_cargo, @p_ultimo, 1, GETDATE(), @user_id, @id_padron_empresa, @id_padron_socio)
END
ELSE
BEGIN
-- Si ya esta con el mismo cargo, solo actulizo el periodo desde / hasta, si ahora viene
if (@p_desde is not null)
update socios set c04_periodo_desde = @p_desde, modified_by = @user_id, modified = GETDATE(),
id_padron = IIF(@id_padron_empresa is not null, @id_padron_empresa, id_padron),
id_padron_socio = IIF(@id_padron_socio is not null, @id_padron_socio, id_padron_socio)
WHERE c01_cuit = @p_cuit AND c01_cuit_soc = @p_cuit_socio AND car_codigo = @p_cargo AND visible = 1 and c04_ultimo = 'S'
if (@p_hasta is not null)
update socios set c04_periodo_hasta = @p_hasta, modified_by = @user_id, modified = GETDATE(),
id_padron = IIF(@id_padron_empresa is not null, @id_padron_empresa, id_padron),
id_padron_socio = IIF(@id_padron_socio is not null, @id_padron_socio, id_padron_socio)
WHERE c01_cuit = @p_cuit AND c01_cuit_soc = @p_cuit_socio AND car_codigo = @p_cargo AND visible = 1 and c04_ultimo = 'S'
END
--Si esta con otro cargo, al otro cargo lo paso como ultimo = 'N', y guardo como ultimo = 'S' al nuevo
IF ((SELECT COUNT(*) FROM socios WHERE c01_cuit = @p_cuit AND c01_cuit_soc = @p_cuit_socio AND car_codigo != @p_cargo AND visible = 1 and c04_ultimo = 'S') != 0)
BEGIN
update socios set c04_ultimo = 'N', modified_by = @user_id, modified = GETDATE(),
id_padron = IIF(@id_padron_empresa is not null, @id_padron_empresa, id_padron),
id_padron_socio = IIF(@id_padron_socio is not null, @id_padron_socio, id_padron_socio)
WHERE c01_cuit = @p_cuit AND c01_cuit_soc = @p_cuit_socio AND car_codigo != @p_cargo AND visible = 1 and c04_ultimo = 'S'
END
SELECT max(id_socios) AS id_socio
FROM socios
WHERE c01_cuit = @p_cuit AND c01_cuit_soc = @p_cuit_socio AND car_codigo = @p_cargo AND visible = 1 and c04_ultimo = 'S'
end
else
begin
-- ultimo = 'N'
-- No esta con el mismo cargo y ultimo = 'N': lo doy de alta
IF ((SELECT COUNT(*) FROM socios WHERE c01_cuit = @p_cuit AND c01_cuit_soc = @p_cuit_socio AND car_codigo = @p_cargo and visible = 1 and c04_ultimo = 'N') = 0)
BEGIN
INSERT INTO socios
(c01_cuit, c01_cuit_soc, c04_periodo_desde, c04_periodo_hasta, car_codigo, c04_ultimo, visible, created, created_by, id_padron, id_padron_socio)
VALUES
(@p_cuit, @p_cuit_socio, @p_desde, @p_hasta, @p_cargo, @p_ultimo, 1, GETDATE(), @user_id, @id_padron_empresa, @id_padron_socio)
END
ELSE
BEGIN
-- Si ya esta con el mismo cargo, y ultimo = 'N': solo actualizo el periodo desde / hasta, si ahora viene
if (@p_desde is not null)
update socios set c04_periodo_desde = @p_desde, modified_by = @user_id, modified = GETDATE(),
id_padron = IIF(@id_padron_empresa is not null, @id_padron_empresa, id_padron),
id_padron_socio = IIF(@id_padron_socio is not null, @id_padron_socio, id_padron_socio)
WHERE c01_cuit = @p_cuit AND c01_cuit_soc = @p_cuit_socio AND car_codigo = @p_cargo AND visible = 1 and c04_ultimo = 'N'
if (@p_hasta is not null)
update socios set c04_periodo_hasta = @p_hasta, modified_by = @user_id, modified = GETDATE(),
id_padron = IIF(@id_padron_empresa is not null, @id_padron_empresa, id_padron),
id_padron_socio = IIF(@id_padron_socio is not null, @id_padron_socio, id_padron_socio)
WHERE c01_cuit = @p_cuit AND c01_cuit_soc = @p_cuit_socio AND car_codigo = @p_cargo AND visible = 1 and c04_ultimo = 'N'
END
SELECT max(id_socios) AS id_socio
FROM socios
WHERE c01_cuit = @p_cuit AND c01_cuit_soc = @p_cuit_socio AND car_codigo = @p_cargo AND visible = 1 and c04_ultimo = 'N'
end
END
IF (@p_edicto > 0)
BEGIN
set @nombre_cuit = (select top 1 nombre_persona from padrones where identificacion = @p_cuit and habilitado = 1)
set @nombre_cuit_socio = (select top 1 nombre_persona from padrones where identificacion = @p_cuit_socio and habilitado = 1)
insert into sociedades_constituciones (documento_soc, razon_social,
nombre_integrante, cuit_integrante, cuit_int, contenido_archivo, nombre_file, created, fuente,visible,provincia_sociedad,fecha_publicacion,created_by)
VALUES
(@p_cuit,@nombre_cuit,@nombre_cuit_socio,@p_cuit_socio,@p_cuit_socio,@p_contenido_archivo,'',getdate(),'CARGA BACKEND',1,@provincia_boletin,@fecha_publicacion,@user_id)
END
END
ELSE -- MODIFICACION
BEGIN
IF (@p_tipo_persona = 'f')
BEGIN
UPDATE socios SET
c01_cuit = @p_cuit_socio,
c01_cuit_soc = @p_cuit,
c04_periodo_desde = @p_desde,
c04_periodo_hasta = @p_hasta,
car_codigo = @p_cargo,
c04_ultimo = @p_ultimo,
visible = 1,
modified = GETDATE(),
modified_by = @user_id,
id_padron = IIF(@id_padron_empresa is not null, @id_padron_empresa, id_padron),
id_padron_socio = IIF(@id_padron_socio is not null, @id_padron_socio, id_padron_socio)
WHERE (id_socios = @p_id_socio)
END
ELSE
BEGIN
UPDATE socios SET
c01_cuit = @p_cuit,
c01_cuit_soc = @p_cuit_socio,
c04_periodo_desde = @p_desde,
c04_periodo_hasta = @p_hasta,
car_codigo = @p_cargo,
c04_ultimo = @p_ultimo,
visible = 1,
modified = GETDATE(),
modified_by = @user_id,
id_padron = IIF(@id_padron_empresa is not null, @id_padron_empresa, id_padron),
id_padron_socio = IIF(@id_padron_socio is not null, @id_padron_socio, id_padron_socio)
WHERE (id_socios = @p_id_socio)
END
-- Si lo estoy poniendo como S:
if (@p_ultimo = 'S' and @p_tipo_persona = 'f')
begin
--Si esta con otro cargo, al otro cargo lo paso como ultimo = 'N'
IF ((SELECT COUNT(*) FROM socios WHERE c01_cuit = @p_cuit_socio AND c01_cuit_soc = @p_cuit AND car_codigo != @p_cargo AND visible = 1 and c04_ultimo = 'S') != 0)
BEGIN
update socios set c04_ultimo = 'N', modified_by = @user_id, modified = GETDATE(),
id_padron = IIF(@id_padron_empresa is not null, @id_padron_empresa, id_padron),
id_padron_socio = IIF(@id_padron_socio is not null, @id_padron_socio, id_padron_socio)
WHERE c01_cuit = @p_cuit_socio AND c01_cuit_soc = @p_cuit AND car_codigo != @p_cargo AND visible = 1 and c04_ultimo = 'S'
END
end
if (@p_ultimo = 'S' and @p_tipo_persona = 'j')
begin
--Si esta con otro cargo, al otro cargo lo paso como ultimo = 'N'
IF ((SELECT COUNT(*) FROM socios WHERE c01_cuit = @p_cuit AND c01_cuit_soc = @p_cuit_socio AND car_codigo != @p_cargo AND visible = 1 and c04_ultimo = 'S') != 0)
BEGIN
update socios set c04_ultimo = 'N', modified_by = @user_id, modified = GETDATE(),
id_padron = IIF(@id_padron_empresa is not null, @id_padron_empresa, id_padron),
id_padron_socio = IIF(@id_padron_socio is not null, @id_padron_socio, id_padron_socio)
WHERE c01_cuit = @p_cuit AND c01_cuit_soc = @p_cuit_socio AND car_codigo != @p_cargo AND visible = 1 and c04_ultimo = 'S'
END
end
IF (@p_edicto > 0)
BEGIN
set @nombre_cuit = (select top 1 nombre_persona from padrones where identificacion = @p_cuit and habilitado = 1)
set @nombre_cuit_socio = (select top 1 nombre_persona from padrones where identificacion = @p_cuit_socio and habilitado = 1)
insert into sociedades_constituciones (documento_soc, razon_social,
nombre_integrante, cuit_integrante, cuit_int, contenido_archivo, nombre_file, created, fuente,visible,provincia_sociedad,fecha_publicacion,created_by)
VALUES
(@p_cuit,@nombre_cuit,@nombre_cuit_socio,@p_cuit_socio,@p_cuit_socio,@p_contenido_archivo,'',getdate(),'CARGA BACKEND',1,@provincia_boletin,@fecha_publicacion,@user_id)
END
SELECT @p_id_socio AS id_socio -- Verifico el Ășltimo modificado.
END
END
GO
GO
/*
exec backend_procesar_socio '30111111118','22222222222','2023-06', NULL,'AD',NULL,'j','S','0',NULL,NULL, NULL,NULL,'94437923'
*/
-- =============================================
-- Author: <Samuel Gonzalez>
-- Create date: <18 Jul 2017>
-- modificado: <Leonel Turchetto 20/03/2019> -- el anterior se llama [backend_procesar_socio_20072023]
-- modificado: <Maria Ines Soria 20/07/2023> - Se hacen todos los controles para no dejar a una persona en distintos cargos
-- Description: <agrega o modifica socio>
-- =============================================
CREATE OR ALTER PROCEDURE dbo.backend_procesar_socio
-- Add the parameters for the stored procedure here
@p_cuit varchar(20),
@p_cuit_socio varchar(20),
@p_desde varchar(20),
@p_hasta varchar(20),
@p_cargo varchar(20),
@p_id_socio int,
@p_tipo_persona varchar(1),
@p_ultimo varchar(1),
@p_edicto tinyint,
@p_archivo_edicto varchar(200),
@p_contenido_archivo text,
@provincia_boletin varchar(50) = null,
@fecha_publicacion varchar(20) = null,
@user_id int = null,
@id_padron_empresa int = null,
@id_padron_socio int = null
AS
BEGIN
SET NOCOUNT ON;
if @provincia_boletin = '' set @provincia_boletin = null
if @fecha_publicacion = '' set @fecha_publicacion = null
declare @nombre_cuit varchar(200),@nombre_cuit_socio varchar(200)
IF (@p_id_socio IS NULL) -- ALTA
BEGIN
IF (@p_tipo_persona = 'f')
-- Persona FĂsica
BEGIN
if (@p_ultimo = 'S')
begin
-- No esta con el mismo cargo y ultimo = 'S': lo doy de alta
IF ((SELECT COUNT(*) FROM socios WHERE c01_cuit = @p_cuit_socio AND c01_cuit_soc = @p_cuit AND car_codigo = @p_cargo AND visible = 1 and c04_ultimo = 'S') = 0)
BEGIN
INSERT INTO socios
(c01_cuit, c01_cuit_soc, c04_periodo_desde, c04_periodo_hasta, car_codigo, c04_ultimo, visible, created, created_by, id_padron, id_padron_socio)
VALUES
(@p_cuit_socio, @p_cuit, @p_desde, @p_hasta, @p_cargo, @p_ultimo, 1, GETDATE(), @user_id, @id_padron_empresa, @id_padron_socio)
END
ELSE
BEGIN
-- Si ya esta con el mismo cargo, y ultimo = 'S': solo actualizo el periodo desde / hasta, si ahora viene
if (@p_desde is not null)
update socios set c04_periodo_desde = @p_desde, modified_by = @user_id, modified = GETDATE(),
id_padron = IIF(@id_padron_empresa is not null, @id_padron_empresa, id_padron),
id_padron_socio = IIF(@id_padron_socio is not null, @id_padron_socio, id_padron_socio)
WHERE c01_cuit = @p_cuit_socio AND c01_cuit_soc = @p_cuit AND car_codigo = @p_cargo AND visible = 1 and c04_ultimo = 'S'
if (@p_hasta is not null)
update socios set c04_periodo_hasta = @p_hasta, modified_by = @user_id, modified = GETDATE(),
id_padron = IIF(@id_padron_empresa is not null, @id_padron_empresa, id_padron),
id_padron_socio = IIF(@id_padron_socio is not null, @id_padron_socio, id_padron_socio)
WHERE c01_cuit = @p_cuit_socio AND c01_cuit_soc = @p_cuit AND car_codigo = @p_cargo AND visible = 1 and c04_ultimo = 'S'
END
--Si esta con otro cargo, al otro cargo lo paso como ultimo = 'N', y guardo como ultimo = 'S' al nuevo
IF ((SELECT COUNT(*) FROM socios WHERE c01_cuit = @p_cuit_socio AND c01_cuit_soc = @p_cuit AND car_codigo != @p_cargo AND visible = 1 and c04_ultimo = 'S') != 0)
BEGIN
update socios set c04_ultimo = 'N', modified_by = @user_id, modified = GETDATE(),
id_padron = IIF(@id_padron_empresa is not null, @id_padron_empresa, id_padron),
id_padron_socio = IIF(@id_padron_socio is not null, @id_padron_socio, id_padron_socio)
WHERE c01_cuit = @p_cuit_socio AND c01_cuit_soc = @p_cuit AND car_codigo != @p_cargo AND visible = 1 and c04_ultimo = 'S'
END
SELECT max(id_socios) AS id_socio
FROM socios
WHERE c01_cuit = @p_cuit_socio AND c01_cuit_soc = @p_cuit AND car_codigo = @p_cargo AND visible = 1 and c04_ultimo = 'S'
end
else
begin
-- ultimo = 'N'
-- No esta con el mismo cargo y ultimo = 'N': lo doy de alta
IF ((SELECT COUNT(*) FROM socios WHERE c01_cuit = @p_cuit_socio AND c01_cuit_soc = @p_cuit AND car_codigo = @p_cargo and visible = 1 and c04_ultimo = 'N') = 0)
BEGIN
INSERT INTO socios
(c01_cuit, c01_cuit_soc, c04_periodo_desde, c04_periodo_hasta, car_codigo, c04_ultimo, visible, created, created_by, id_padron, id_padron_socio)
VALUES
(@p_cuit_socio, @p_cuit, @p_desde, @p_hasta, @p_cargo, @p_ultimo, 1, GETDATE(), @user_id, @id_padron_empresa, @id_padron_socio)
END
ELSE
BEGIN
-- Si ya esta con el mismo cargo, y ultimo = 'N': solo actualizo el periodo desde / hasta, si ahora viene
if (@p_desde is not null)
update socios set c04_periodo_desde = @p_desde, modified_by = @user_id, modified = GETDATE(),
id_padron = IIF(@id_padron_empresa is not null, @id_padron_empresa, id_padron),
id_padron_socio = IIF(@id_padron_socio is not null, @id_padron_socio, id_padron_socio)
WHERE c01_cuit = @p_cuit_socio AND c01_cuit_soc = @p_cuit AND car_codigo = @p_cargo AND visible = 1 and c04_ultimo = 'N'
if (@p_hasta is not null)
update socios set c04_periodo_hasta = @p_hasta, modified_by = @user_id, modified = GETDATE(),
id_padron = IIF(@id_padron_empresa is not null, @id_padron_empresa, id_padron),
id_padron_socio = IIF(@id_padron_socio is not null, @id_padron_socio, id_padron_socio)
WHERE c01_cuit = @p_cuit_socio AND c01_cuit_soc = @p_cuit AND car_codigo = @p_cargo AND visible = 1 and c04_ultimo = 'N'
END
SELECT max(id_socios) AS id_socio
FROM socios
WHERE c01_cuit = @p_cuit_socio AND c01_cuit_soc = @p_cuit AND car_codigo = @p_cargo AND visible = 1 and c04_ultimo = 'N'
end
END
ELSE
BEGIN
-- Persona Juridica
if (@p_ultimo = 'S')
begin
-- No esta con el mismo cargo y ultimo = 'S': lo doy de alta
IF ((SELECT COUNT(*) FROM socios WHERE c01_cuit = @p_cuit AND c01_cuit_soc = @p_cuit_socio and car_codigo = @p_cargo AND visible = 1 and c04_ultimo = 'S') = 0)
BEGIN
INSERT INTO socios
(c01_cuit, c01_cuit_soc, c04_periodo_desde, c04_periodo_hasta, car_codigo, c04_ultimo, visible, created, created_by, id_padron, id_padron_socio)
VALUES
(@p_cuit, @p_cuit_socio, @p_desde, @p_hasta, @p_cargo, @p_ultimo, 1, GETDATE(), @user_id, @id_padron_empresa, @id_padron_socio)
END
ELSE
BEGIN
-- Si ya esta con el mismo cargo, solo actulizo el periodo desde / hasta, si ahora viene
if (@p_desde is not null)
update socios set c04_periodo_desde = @p_desde, modified_by = @user_id, modified = GETDATE(),
id_padron = IIF(@id_padron_empresa is not null, @id_padron_empresa, id_padron),
id_padron_socio = IIF(@id_padron_socio is not null, @id_padron_socio, id_padron_socio)
WHERE c01_cuit = @p_cuit AND c01_cuit_soc = @p_cuit_socio AND car_codigo = @p_cargo AND visible = 1 and c04_ultimo = 'S'
if (@p_hasta is not null)
update socios set c04_periodo_hasta = @p_hasta, modified_by = @user_id, modified = GETDATE(),
id_padron = IIF(@id_padron_empresa is not null, @id_padron_empresa, id_padron),
id_padron_socio = IIF(@id_padron_socio is not null, @id_padron_socio, id_padron_socio)
WHERE c01_cuit = @p_cuit AND c01_cuit_soc = @p_cuit_socio AND car_codigo = @p_cargo AND visible = 1 and c04_ultimo = 'S'
END
--Si esta con otro cargo, al otro cargo lo paso como ultimo = 'N', y guardo como ultimo = 'S' al nuevo
IF ((SELECT COUNT(*) FROM socios WHERE c01_cuit = @p_cuit AND c01_cuit_soc = @p_cuit_socio AND car_codigo != @p_cargo AND visible = 1 and c04_ultimo = 'S') != 0)
BEGIN
update socios set c04_ultimo = 'N', modified_by = @user_id, modified = GETDATE(),
id_padron = IIF(@id_padron_empresa is not null, @id_padron_empresa, id_padron),
id_padron_socio = IIF(@id_padron_socio is not null, @id_padron_socio, id_padron_socio)
WHERE c01_cuit = @p_cuit AND c01_cuit_soc = @p_cuit_socio AND car_codigo != @p_cargo AND visible = 1 and c04_ultimo = 'S'
END
SELECT max(id_socios) AS id_socio
FROM socios
WHERE c01_cuit = @p_cuit AND c01_cuit_soc = @p_cuit_socio AND car_codigo = @p_cargo AND visible = 1 and c04_ultimo = 'S'
end
else
begin
-- ultimo = 'N'
-- No esta con el mismo cargo y ultimo = 'N': lo doy de alta
IF ((SELECT COUNT(*) FROM socios WHERE c01_cuit = @p_cuit AND c01_cuit_soc = @p_cuit_socio AND car_codigo = @p_cargo and visible = 1 and c04_ultimo = 'N') = 0)
BEGIN
INSERT INTO socios
(c01_cuit, c01_cuit_soc, c04_periodo_desde, c04_periodo_hasta, car_codigo, c04_ultimo, visible, created, created_by, id_padron, id_padron_socio)
VALUES
(@p_cuit, @p_cuit_socio, @p_desde, @p_hasta, @p_cargo, @p_ultimo, 1, GETDATE(), @user_id, @id_padron_empresa, @id_padron_socio)
END
ELSE
BEGIN
-- Si ya esta con el mismo cargo, y ultimo = 'N': solo actualizo el periodo desde / hasta, si ahora viene
if (@p_desde is not null)
update socios set c04_periodo_desde = @p_desde, modified_by = @user_id, modified = GETDATE(),
id_padron = IIF(@id_padron_empresa is not null, @id_padron_empresa, id_padron),
id_padron_socio = IIF(@id_padron_socio is not null, @id_padron_socio, id_padron_socio)
WHERE c01_cuit = @p_cuit AND c01_cuit_soc = @p_cuit_socio AND car_codigo = @p_cargo AND visible = 1 and c04_ultimo = 'N'
if (@p_hasta is not null)
update socios set c04_periodo_hasta = @p_hasta, modified_by = @user_id, modified = GETDATE(),
id_padron = IIF(@id_padron_empresa is not null, @id_padron_empresa, id_padron),
id_padron_socio = IIF(@id_padron_socio is not null, @id_padron_socio, id_padron_socio)
WHERE c01_cuit = @p_cuit AND c01_cuit_soc = @p_cuit_socio AND car_codigo = @p_cargo AND visible = 1 and c04_ultimo = 'N'
END
SELECT max(id_socios) AS id_socio
FROM socios
WHERE c01_cuit = @p_cuit AND c01_cuit_soc = @p_cuit_socio AND car_codigo = @p_cargo AND visible = 1 and c04_ultimo = 'N'
end
END
IF (@p_edicto > 0)
BEGIN
set @nombre_cuit = (select top 1 nombre_persona from padrones where identificacion = @p_cuit and habilitado = 1)
set @nombre_cuit_socio = (select top 1 nombre_persona from padrones where identificacion = @p_cuit_socio and habilitado = 1)
insert into sociedades_constituciones (documento_soc, razon_social,
nombre_integrante, cuit_integrante, cuit_int, contenido_archivo, nombre_file, created, fuente,visible,provincia_sociedad,fecha_publicacion,created_by)
VALUES
(@p_cuit,@nombre_cuit,@nombre_cuit_socio,@p_cuit_socio,@p_cuit_socio,@p_contenido_archivo,'',getdate(),'CARGA BACKEND',1,@provincia_boletin,@fecha_publicacion,@user_id)
END
END
ELSE -- MODIFICACION
BEGIN
IF (@p_tipo_persona = 'f')
BEGIN
UPDATE socios SET
c01_cuit = @p_cuit_socio,
c01_cuit_soc = @p_cuit,
c04_periodo_desde = @p_desde,
c04_periodo_hasta = @p_hasta,
car_codigo = @p_cargo,
c04_ultimo = @p_ultimo,
visible = 1,
modified = GETDATE(),
modified_by = @user_id,
id_padron = IIF(@id_padron_empresa is not null, @id_padron_empresa, id_padron),
id_padron_socio = IIF(@id_padron_socio is not null, @id_padron_socio, id_padron_socio)
WHERE (id_socios = @p_id_socio)
END
ELSE
BEGIN
UPDATE socios SET
c01_cuit = @p_cuit,
c01_cuit_soc = @p_cuit_socio,
c04_periodo_desde = @p_desde,
c04_periodo_hasta = @p_hasta,
car_codigo = @p_cargo,
c04_ultimo = @p_ultimo,
visible = 1,
modified = GETDATE(),
modified_by = @user_id,
id_padron = IIF(@id_padron_empresa is not null, @id_padron_empresa, id_padron),
id_padron_socio = IIF(@id_padron_socio is not null, @id_padron_socio, id_padron_socio)
WHERE (id_socios = @p_id_socio)
END
-- Si lo estoy poniendo como S:
if (@p_ultimo = 'S' and @p_tipo_persona = 'f')
begin
--Si esta con otro cargo, al otro cargo lo paso como ultimo = 'N'
IF ((SELECT COUNT(*) FROM socios WHERE c01_cuit = @p_cuit_socio AND c01_cuit_soc = @p_cuit AND car_codigo != @p_cargo AND visible = 1 and c04_ultimo = 'S') != 0)
BEGIN
update socios set c04_ultimo = 'N', modified_by = @user_id, modified = GETDATE(),
id_padron = IIF(@id_padron_empresa is not null, @id_padron_empresa, id_padron),
id_padron_socio = IIF(@id_padron_socio is not null, @id_padron_socio, id_padron_socio)
WHERE c01_cuit = @p_cuit_socio AND c01_cuit_soc = @p_cuit AND car_codigo != @p_cargo AND visible = 1 and c04_ultimo = 'S'
END
end
if (@p_ultimo = 'S' and @p_tipo_persona = 'j')
begin
--Si esta con otro cargo, al otro cargo lo paso como ultimo = 'N'
IF ((SELECT COUNT(*) FROM socios WHERE c01_cuit = @p_cuit AND c01_cuit_soc = @p_cuit_socio AND car_codigo != @p_cargo AND visible = 1 and c04_ultimo = 'S') != 0)
BEGIN
update socios set c04_ultimo = 'N', modified_by = @user_id, modified = GETDATE(),
id_padron = IIF(@id_padron_empresa is not null, @id_padron_empresa, id_padron),
id_padron_socio = IIF(@id_padron_socio is not null, @id_padron_socio, id_padron_socio)
WHERE c01_cuit = @p_cuit AND c01_cuit_soc = @p_cuit_socio AND car_codigo != @p_cargo AND visible = 1 and c04_ultimo = 'S'
END
end
IF (@p_edicto > 0)
BEGIN
set @nombre_cuit = (select top 1 nombre_persona from padrones where identificacion = @p_cuit and habilitado = 1)
set @nombre_cuit_socio = (select top 1 nombre_persona from padrones where identificacion = @p_cuit_socio and habilitado = 1)
insert into sociedades_constituciones (documento_soc, razon_social,
nombre_integrante, cuit_integrante, cuit_int, contenido_archivo, nombre_file, created, fuente,visible,provincia_sociedad,fecha_publicacion,created_by)
VALUES
(@p_cuit,@nombre_cuit,@nombre_cuit_socio,@p_cuit_socio,@p_cuit_socio,@p_contenido_archivo,'',getdate(),'CARGA BACKEND',1,@provincia_boletin,@fecha_publicacion,@user_id)
END
SELECT @p_id_socio AS id_socio -- Verifico el Ășltimo modificado.
END
END
GO
Depends On
2Used By
No items found