Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
3| Name | Data Type | Length | Description |
|---|---|---|---|
| @p_cuit | varchar | 13 | |
| @dias | int | 4 | |
| @meses | int | 4 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
-- exec mis_aportes_empresa '30559991089',null,2
CREATE OR ALTER PROCEDURE dbo.mis_aportes_empresa
-- Add the parameters for the stored procedure here
@p_cuit varchar(13) = null,
@dias int = 720, -- cuantos dias maximo el inserted
@meses int = 11 -- ultimo mes y cuantos meses para atras mostrar
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
-- set @dias=120 dejamos lo que manden por parametro 27/07/2021
DECLARE @p1 INT
DECLARE @p2 INT
DECLARE @d1 DATETIME
DECLARE @d2 DATETIME
if (@dias is null or @dias > 720) set @dias = 720
if (@meses is null or @meses > 11) set @meses = 11
set @meses = @meses * (-1)
/* VALOR yyyymm del período correspondiente a la fecha actual - preset por si no hay datos */
DECLARE @m1 INT = CONVERT(INT, CONVERT(varchar, Year(GETDATE())) + RIGHT('00' + CONVERT(varchar, Month(GETDATE())), 2))
/* máximo período encontrado en mis aportes para el cuit - en caso de estar vacío es el período de hoy */
SELECT @p2 = ISNULL(MAX(periodo), @m1) FROM mis_aportes WHERE cuit_empleador = @p_cuit
/* el rango de la consulta son los últimos 12 meses registrados */
SET @d2 = DATETIMEFROMPARTS(CONVERT(INT, @p2/100), CONVERT(INT, RIGHT(CONVERT(varchar,@p2),2)),1,0,0,0,0)
SET @d1 = DATEADD(MONTH,@meses,@d2)
SET @p1 = CONVERT(INT, CONVERT(varchar,Year(@d1)) + RIGHT('00' + CONVERT(varchar, Month(@d1)), 2))
if(@p_cuit is not null) begin
/*SELECT
mis_aportes.ddjj, mis_aportes.aportes_ss, mis_aportes.aportes_os,
mis_aportes.contr_patronal, mis_aportes.periodo, mis_aportes.cuit_empleador,
substring(convert(varchar(6), mis_aportes.periodo),5,2) + '-' + left(convert(varchar(6), mis_aportes.periodo), 4) AS periodo_str
FROM mis_aportes
inner join
(select cuit_empleador, periodo, max(inserted) as ultimo
from mis_aportes
where cuit_empleador = @p_cuit
group by cuit_empleador, periodo) per_last
ON (mis_aportes.cuit_empleador = per_last.cuit_empleador
AND mis_aportes.periodo = per_last.periodo
AND mis_aportes.inserted = per_last.ultimo)
WHERE mis_aportes.periodo BETWEEN @p1 AND @p2
ORDER BY mis_aportes.periodo*/
/* AGB COMENTADO Y MODIFICADO 16/08/2022
select mis_aportes.periodo,mis_aportes.ddjj,mis_aportes.aportes_ss,mis_aportes.aportes_os,mis_aportes.contr_patronal,
mis_aportes.periodo, mis_aportes.cuit_empleador,
substring(convert(varchar(6), mis_aportes.periodo),5,2) + '-' + left(convert(varchar(6), mis_aportes.periodo), 4) AS periodo_str,max(id_aportes) as IDAporte
from mis_aportes
where -- mis_aportes.ddjj!='NO PRESENTADA' and
mis_aportes.periodo BETWEEN @p1 AND @p2
and mis_aportes.cuit_empleador = @p_cuit
and mis_aportes.inserted >= ( GETDATE() - @dias )
group by mis_aportes.periodo,mis_aportes.ddjj,mis_aportes.aportes_ss,mis_aportes.aportes_os,mis_aportes.contr_patronal,
mis_aportes.periodo, mis_aportes.cuit_empleador
order by mis_aportes.periodo
*/
select mis_aportes.periodo,mis_aportes.ddjj,mis_aportes.aportes_ss,mis_aportes.aportes_os,mis_aportes.contr_patronal,
mis_aportes.periodo, mis_aportes.cuit_empleador,padrones.nombre_persona as nombre_empleador,
substring(convert(varchar(6), mis_aportes.periodo),5,2) + '-' + left(convert(varchar(6), mis_aportes.periodo), 4) AS periodo_str, mis_aportes.cuit
from mis_aportes
inner join padrones on (padrones.identificacion = mis_aportes.cuit_empleador and padrones.habilitado = 1 and padrones.identificador in
(select identificador from identificadores where country_code = 'AR'))
inner join (select MISAP.periodo,max(id_aportes) as IDAporte
from mis_aportes MISAP
where
/* MIS 27/02/2024 se agregaron estas condiciones */
(
(MISAP.aportes_os != '-' and MISAP.aportes_ss != '-')
or
--(MISAP.aportes_os = '-' and MISAP.aportes_ss = '-' and not exists (select * from mis_aportes MISAP2 where MISAP2.ddjj != 'NO PRESENTADA' and MISAP2.cuit_empleador = MISAP.cuit_empleador and MISAP2.periodo = MISAP.periodo and (MISAP2.aportes_os != '-' and MISAP2.aportes_ss != '')))
-- se cambio el 11/06/2024 por:
((MISAP.aportes_os = '-' or MISAP.aportes_ss = '-') and not exists (select * from mis_aportes MISAP2 where MISAP2.ddjj != 'NO PRESENTADA' and MISAP2.cuit_empleador = MISAP.cuit_empleador and MISAP2.periodo = MISAP.periodo and (MISAP2.aportes_os != '-' and MISAP2.aportes_ss != '')))
)
and MISAP.ddjj != 'NO PRESENTADA' and
/**/
MISAP.periodo BETWEEN @p1 AND @p2
and MISAP.cuit_empleador = @p_cuit
and MISAP.inserted >= ( GETDATE() - @dias ) group by MISAP.periodo) IDS on mis_aportes.id_aportes=IDS.IDAporte
/* where -- mis_aportes.ddjj!='NO PRESENTADA' and
mis_aportes.periodo BETWEEN @p1 AND @p2
and mis_aportes.cuit_empleador = @p_cuit
and mis_aportes.inserted >= ( GETDATE() - @dias )
group by mis_aportes.periodo,mis_aportes.ddjj,mis_aportes.aportes_ss,mis_aportes.aportes_os,mis_aportes.contr_patronal,
mis_aportes.periodo, mis_aportes.cuit_empleador
*/
order by mis_aportes.periodo
-- exec mis_aportes_empresa_AGB '30709308242'
end
END
GO
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
-- exec mis_aportes_empresa '30559991089',null,2
CREATE OR ALTER PROCEDURE dbo.mis_aportes_empresa
-- Add the parameters for the stored procedure here
@p_cuit varchar(13) = null,
@dias int = 720, -- cuantos dias maximo el inserted
@meses int = 11 -- ultimo mes y cuantos meses para atras mostrar
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
-- set @dias=120 dejamos lo que manden por parametro 27/07/2021
DECLARE @p1 INT
DECLARE @p2 INT
DECLARE @d1 DATETIME
DECLARE @d2 DATETIME
if (@dias is null or @dias > 720) set @dias = 720
if (@meses is null or @meses > 11) set @meses = 11
set @meses = @meses * (-1)
/* VALOR yyyymm del período correspondiente a la fecha actual - preset por si no hay datos */
DECLARE @m1 INT = CONVERT(INT, CONVERT(varchar, Year(GETDATE())) + RIGHT('00' + CONVERT(varchar, Month(GETDATE())), 2))
/* máximo período encontrado en mis aportes para el cuit - en caso de estar vacío es el período de hoy */
SELECT @p2 = ISNULL(MAX(periodo), @m1) FROM mis_aportes WHERE cuit_empleador = @p_cuit
/* el rango de la consulta son los últimos 12 meses registrados */
SET @d2 = DATETIMEFROMPARTS(CONVERT(INT, @p2/100), CONVERT(INT, RIGHT(CONVERT(varchar,@p2),2)),1,0,0,0,0)
SET @d1 = DATEADD(MONTH,@meses,@d2)
SET @p1 = CONVERT(INT, CONVERT(varchar,Year(@d1)) + RIGHT('00' + CONVERT(varchar, Month(@d1)), 2))
if(@p_cuit is not null) begin
/*SELECT
mis_aportes.ddjj, mis_aportes.aportes_ss, mis_aportes.aportes_os,
mis_aportes.contr_patronal, mis_aportes.periodo, mis_aportes.cuit_empleador,
substring(convert(varchar(6), mis_aportes.periodo),5,2) + '-' + left(convert(varchar(6), mis_aportes.periodo), 4) AS periodo_str
FROM mis_aportes
inner join
(select cuit_empleador, periodo, max(inserted) as ultimo
from mis_aportes
where cuit_empleador = @p_cuit
group by cuit_empleador, periodo) per_last
ON (mis_aportes.cuit_empleador = per_last.cuit_empleador
AND mis_aportes.periodo = per_last.periodo
AND mis_aportes.inserted = per_last.ultimo)
WHERE mis_aportes.periodo BETWEEN @p1 AND @p2
ORDER BY mis_aportes.periodo*/
/* AGB COMENTADO Y MODIFICADO 16/08/2022
select mis_aportes.periodo,mis_aportes.ddjj,mis_aportes.aportes_ss,mis_aportes.aportes_os,mis_aportes.contr_patronal,
mis_aportes.periodo, mis_aportes.cuit_empleador,
substring(convert(varchar(6), mis_aportes.periodo),5,2) + '-' + left(convert(varchar(6), mis_aportes.periodo), 4) AS periodo_str,max(id_aportes) as IDAporte
from mis_aportes
where -- mis_aportes.ddjj!='NO PRESENTADA' and
mis_aportes.periodo BETWEEN @p1 AND @p2
and mis_aportes.cuit_empleador = @p_cuit
and mis_aportes.inserted >= ( GETDATE() - @dias )
group by mis_aportes.periodo,mis_aportes.ddjj,mis_aportes.aportes_ss,mis_aportes.aportes_os,mis_aportes.contr_patronal,
mis_aportes.periodo, mis_aportes.cuit_empleador
order by mis_aportes.periodo
*/
select mis_aportes.periodo,mis_aportes.ddjj,mis_aportes.aportes_ss,mis_aportes.aportes_os,mis_aportes.contr_patronal,
mis_aportes.periodo, mis_aportes.cuit_empleador,padrones.nombre_persona as nombre_empleador,
substring(convert(varchar(6), mis_aportes.periodo),5,2) + '-' + left(convert(varchar(6), mis_aportes.periodo), 4) AS periodo_str, mis_aportes.cuit
from mis_aportes
inner join padrones on (padrones.identificacion = mis_aportes.cuit_empleador and padrones.habilitado = 1 and padrones.identificador in
(select identificador from identificadores where country_code = 'AR'))
inner join (select MISAP.periodo,max(id_aportes) as IDAporte
from mis_aportes MISAP
where
/* MIS 27/02/2024 se agregaron estas condiciones */
(
(MISAP.aportes_os != '-' and MISAP.aportes_ss != '-')
or
--(MISAP.aportes_os = '-' and MISAP.aportes_ss = '-' and not exists (select * from mis_aportes MISAP2 where MISAP2.ddjj != 'NO PRESENTADA' and MISAP2.cuit_empleador = MISAP.cuit_empleador and MISAP2.periodo = MISAP.periodo and (MISAP2.aportes_os != '-' and MISAP2.aportes_ss != '')))
-- se cambio el 11/06/2024 por:
((MISAP.aportes_os = '-' or MISAP.aportes_ss = '-') and not exists (select * from mis_aportes MISAP2 where MISAP2.ddjj != 'NO PRESENTADA' and MISAP2.cuit_empleador = MISAP.cuit_empleador and MISAP2.periodo = MISAP.periodo and (MISAP2.aportes_os != '-' and MISAP2.aportes_ss != '')))
)
and MISAP.ddjj != 'NO PRESENTADA' and
/**/
MISAP.periodo BETWEEN @p1 AND @p2
and MISAP.cuit_empleador = @p_cuit
and MISAP.inserted >= ( GETDATE() - @dias ) group by MISAP.periodo) IDS on mis_aportes.id_aportes=IDS.IDAporte
/* where -- mis_aportes.ddjj!='NO PRESENTADA' and
mis_aportes.periodo BETWEEN @p1 AND @p2
and mis_aportes.cuit_empleador = @p_cuit
and mis_aportes.inserted >= ( GETDATE() - @dias )
group by mis_aportes.periodo,mis_aportes.ddjj,mis_aportes.aportes_ss,mis_aportes.aportes_os,mis_aportes.contr_patronal,
mis_aportes.periodo, mis_aportes.cuit_empleador
*/
order by mis_aportes.periodo
-- exec mis_aportes_empresa_AGB '30709308242'
end
END
GO