-- ============================================= -- Author: Marcos Paulo Ferreira Rebello -- Description: Cria relatório dinâmico para validação de contribuições -- dentro dos períodos utilizados na simulação -- Create date: 2024-05-27 -- ============================================= --CREATE PROCEDURE [dbo].[SP_RD_RELATORIOVALIDACAOSIMULACAO]( DECLARE @I_SEQREL NUMERIC(10, 0) , -- = 74, @S_RETORNO AS VARCHAR(MAX) -- OUTPUT -- ) AS BEGIN DECLARE @N_PESSOA NUMERIC(10, 0) = 757 DECLARE @N_SEQSIMUL_RELIMPR NUMERIC(10, 0) = 5 --SELECT @N_PESSOA = RI.N_PESSOA_PESSOA -- ,@N_SEQSIMUL_RELIMPR = RI.N_SEQSIMUL_RELIMPR -- FROM RELATORIOIMPRESSO AS RI -- WHERE RI.N_SEQ_RELIMPR = @I_SEQREL; DECLARE @Lang_Ori SYSNAME = @@language SET LANGUAGE Brazilian SET @S_RETORNO = ' TEMPLATE HTML ' ; WITH Periodos AS (SELECT N_PESSOACARGO_PESSOA ,N_SEQ_CARGOORGPESSOA ,MIN(DT_INIVIG_TEMPOSERVCALC) AS Ini ,MAX(DT_FIMVIG_TEMPOSERVCALC) AS Fim FROM [aspprev2_jundiaisp_prd].[dbo].[TEMPOSERVICOCALCULADO] WHERE N_SEQ_CARGOORGPESSOA IS NOT NULL AND N_PESSOA_PESSOA = @N_PESSOA AND N_SEQ_SIMULBNFEPFPESSOA = @N_SEQSIMUL_RELIMPR GROUP BY N_PESSOA_PESSOA ,N_TIPPESSOA_TIPPESSOA ,N_SEQ_SIMULBNFEPFPESSOA ,N_PESSOACARGO_PESSOA ,N_SEQ_CARGOORGPESSOA ), Base_de_Contribuicao AS (SELECT DISTINCT h.N_PESSOA_PESSOA AS N_PESSOA_PESSOA ,CASE WHEN h.S_MRC13SAL_HISTSAL='S' THEN (h.N_ANOMESREFER_HISTSAL/100)*100+13 ELSE h.N_ANOMESREFER_HISTSAL END AS AnoMes ,SUM(h.N_VLR_HISTSAL * CASE WHEN v.S_NAT_VERBAORG = 'D' THEN -1 ELSE 1 END) AS BaseDeContribuicao ,COUNT(h.N_VLR_HISTSAL * CASE WHEN v.S_NAT_VERBAORG = 'D' THEN -1 ELSE 1 END) AS QdeLancamentos ,STRING_AGG(FORMAT(h.N_VLR_HISTSAL * CASE WHEN v.S_NAT_VERBAORG = 'D' THEN -1 ELSE 1 END,'#,###.00'),', ') AS Lancamentos FROM HISTORICOSALARIO h INNER JOIN VERBAORGANIZACAO v ON h.N_ORG_VERBAORG = v.N_ORG_ORG AND h.S_VERBA_VERBAORG = v.S_VERBA_VERBAORG AND v.N_TIP_VERBAORG = 3 WHERE N_PESSOA_PESSOA = @N_PESSOA GROUP BY h.N_PESSOA_PESSOA ,CASE WHEN h.S_MRC13SAL_HISTSAL='S' THEN (h.N_ANOMESREFER_HISTSAL/100)*100+13 ELSE h.N_ANOMESREFER_HISTSAL END ) SELECT AM.AnoMes ,(SELECT MAX(DiasDevidosContribuicao) FROM FN_Arr_Iprejun_Dias_Devidos(AM.Ano, AM.Mes) WHERE N_PESSOA_PESSOA = @N_PESSOA ) AS DiasDevidos ,bc.BaseDeContribuicao ,bc.QdeLancamentos ,bc.Lancamentos FROM FN_Geral_GeraAnoMes(199407, dbo.FN_Geral_AnoMesData(GETDATE())) AM LEFT JOIN Base_de_Contribuicao bc ON AM.AnoMes = bc.AnoMes SET LANGUAGE @Lang_Ori IF @S_RETORNO IS NULL THROW 51000, 'Dados da simulação não encontrados.', 11 PRINT @S_RETORNO --UPDATE RELATORIOIMPRESSO --SET S_RET_RELIMPR = @S_RETORNO --WHERE N_SEQ_RELIMPR = @I_SEQREL; --END