Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
9| Name | Data Type | Length | Description |
|---|---|---|---|
| @p_cuit | varchar | 13 | |
| @p_cuit_empleador | varchar | 13 | |
| @p_pagina | smallint | 2 | |
| @p_periodo | int | 4 | |
| @p_ddjj | varchar | 20 | |
| @p_aportes_ss | varchar | 20 | |
| @p_aportes_os | varchar | 20 | |
| @p_contr_patronal | varchar | 20 | |
| @p_source_html | text | -1 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE OR ALTER PROCEDURE dbo.backend_insert_mis_aportes
-- Add the parameters for the stored procedure here
@p_cuit varchar(13),
@p_cuit_empleador varchar(13),
@p_pagina smallint,
@p_periodo int,
@p_ddjj varchar(20),
@p_aportes_ss varchar(20),
@p_aportes_os varchar(20),
@p_contr_patronal varchar(20),
@p_source_html text
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
DECLARE @rc int
DECLARE @last_update datetime
DECLARE @ddjj varchar(20)
DECLARE @aportes_ss varchar(20)
DECLARE @aportes_os varchar(20)
DECLARE @contr_patronal varchar(20)
DECLARE @do_insert bit = 'false'
SET @last_update = (SELECT max(inserted) from mis_aportes
where cuit = @p_cuit
and cuit_empleador = @p_cuit_empleador
and periodo = @p_periodo)
IF(@last_update IS NULL) BEGIN
/* es nuevo registro para CUIT/Periodo */
SET @do_insert = 'true'
END ELSE BEGIN
SELECT
@ddjj = ddjj,
@aportes_ss = aportes_ss,
@aportes_os = aportes_os,
@contr_patronal = contr_patronal
FROM mis_aportes
WHERE cuit = @p_cuit
and cuit_empleador = @p_cuit_empleador
and periodo = @p_periodo
and inserted = @last_update
IF NOT ( @ddjj = 'SI' AND (@aportes_ss = 'PAGO' OR @aportes_ss = '-') AND (@aportes_os = 'PAGO' OR @aportes_os = '-') AND @contr_patronal = 'PAGO' ) BEGIN
/* el Ășltimo registro guardado NO es todo "verde" - para las columnas seg. social y obra social tambien puede tener "-" */
/* comparo si son distintos */
IF (@p_ddjj <> @ddjj OR @p_aportes_ss <> @aportes_ss OR @p_aportes_os <> @aportes_os OR @p_contr_patronal <> @contr_patronal) BEGIN
SET @do_insert = 'true'
END
END
END
set @p_source_html = null
IF (@do_insert = 'true') BEGIN
INSERT INTO mis_aportes
(cuit, cuit_empleador, pagina, periodo, ddjj, aportes_ss, aportes_os, contr_patronal, source_html)
values
(@p_cuit, @p_cuit_empleador, @p_pagina, @p_periodo, @p_ddjj, @p_aportes_ss, @p_aportes_os, @p_contr_patronal, @p_source_html)
END
if (@p_ddjj !='NO PRESENTADA')
begin
if (@p_periodo > 200000)
set @p_periodo = @p_periodo - 200000 -- Le saco los dos primeros digitos, porque en empleados se guarda como aamm
if not exists (select * from empleados where cuit = @p_cuit_empleador and cuil = @p_cuit and periodo = @p_periodo)
insert into empleados(cuil, cuit, periodo, visible, created)
values (@p_cuit, @p_cuit_empleador, @p_periodo, 1, getdate())
end
-- Si el cuit del empleado, o del empleador es contraparte de alguien, dicha contraparte se manda al queue
/*insert into LN_contrapartes_queue(contraparte)
select ln_contrapartes.contraparte
from ln_contrapartes
inner join LN_gestiones on LN_gestiones.contraparte = LN_contrapartes.contraparte
where ln_contrapartes.activo = 1
and ln_gestiones.desde <= getdate() and ln_gestiones.hasta >= getdate()
and ln_contrapartes.id_padron in (select id_padron from padrones where identificacion in (@p_cuit, @p_cuit_empleador))
and not exists (select * from LN_contrapartes_queue where contraparte = ln_contrapartes.contraparte and processed = 0)
*/
END
GO
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE OR ALTER PROCEDURE dbo.backend_insert_mis_aportes
-- Add the parameters for the stored procedure here
@p_cuit varchar(13),
@p_cuit_empleador varchar(13),
@p_pagina smallint,
@p_periodo int,
@p_ddjj varchar(20),
@p_aportes_ss varchar(20),
@p_aportes_os varchar(20),
@p_contr_patronal varchar(20),
@p_source_html text
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
DECLARE @rc int
DECLARE @last_update datetime
DECLARE @ddjj varchar(20)
DECLARE @aportes_ss varchar(20)
DECLARE @aportes_os varchar(20)
DECLARE @contr_patronal varchar(20)
DECLARE @do_insert bit = 'false'
SET @last_update = (SELECT max(inserted) from mis_aportes
where cuit = @p_cuit
and cuit_empleador = @p_cuit_empleador
and periodo = @p_periodo)
IF(@last_update IS NULL) BEGIN
/* es nuevo registro para CUIT/Periodo */
SET @do_insert = 'true'
END ELSE BEGIN
SELECT
@ddjj = ddjj,
@aportes_ss = aportes_ss,
@aportes_os = aportes_os,
@contr_patronal = contr_patronal
FROM mis_aportes
WHERE cuit = @p_cuit
and cuit_empleador = @p_cuit_empleador
and periodo = @p_periodo
and inserted = @last_update
IF NOT ( @ddjj = 'SI' AND (@aportes_ss = 'PAGO' OR @aportes_ss = '-') AND (@aportes_os = 'PAGO' OR @aportes_os = '-') AND @contr_patronal = 'PAGO' ) BEGIN
/* el Ășltimo registro guardado NO es todo "verde" - para las columnas seg. social y obra social tambien puede tener "-" */
/* comparo si son distintos */
IF (@p_ddjj <> @ddjj OR @p_aportes_ss <> @aportes_ss OR @p_aportes_os <> @aportes_os OR @p_contr_patronal <> @contr_patronal) BEGIN
SET @do_insert = 'true'
END
END
END
set @p_source_html = null
IF (@do_insert = 'true') BEGIN
INSERT INTO mis_aportes
(cuit, cuit_empleador, pagina, periodo, ddjj, aportes_ss, aportes_os, contr_patronal, source_html)
values
(@p_cuit, @p_cuit_empleador, @p_pagina, @p_periodo, @p_ddjj, @p_aportes_ss, @p_aportes_os, @p_contr_patronal, @p_source_html)
END
if (@p_ddjj !='NO PRESENTADA')
begin
if (@p_periodo > 200000)
set @p_periodo = @p_periodo - 200000 -- Le saco los dos primeros digitos, porque en empleados se guarda como aamm
if not exists (select * from empleados where cuit = @p_cuit_empleador and cuil = @p_cuit and periodo = @p_periodo)
insert into empleados(cuil, cuit, periodo, visible, created)
values (@p_cuit, @p_cuit_empleador, @p_periodo, 1, getdate())
end
-- Si el cuit del empleado, o del empleador es contraparte de alguien, dicha contraparte se manda al queue
/*insert into LN_contrapartes_queue(contraparte)
select ln_contrapartes.contraparte
from ln_contrapartes
inner join LN_gestiones on LN_gestiones.contraparte = LN_contrapartes.contraparte
where ln_contrapartes.activo = 1
and ln_gestiones.desde <= getdate() and ln_gestiones.hasta >= getdate()
and ln_contrapartes.id_padron in (select id_padron from padrones where identificacion in (@p_cuit, @p_cuit_empleador))
and not exists (select * from LN_contrapartes_queue where contraparte = ln_contrapartes.contraparte and processed = 0)
*/
END
GO
Depends On
2Used By
No items found