diff --git a/sql/Collaudo/trigger/C6MartPeriodico_aggiornaCampione_Tabellone.sql b/sql/Collaudo/trigger/C6MartPeriodico_aggiornaCampione_Tabellone.sql new file mode 100644 index 00000000..65538f5f --- /dev/null +++ b/sql/Collaudo/trigger/C6MartPeriodico_aggiornaCampione_Tabellone.sql @@ -0,0 +1,8 @@ + + +CREATE trigger [C6MartPeriodico].[aggiornaCampione_Tabellone] on [C6MartPeriodico].[TB_Campione] +after insert,update,delete as +begin + update C6MartPeriodico.tabellone +set campione1=case when chiave_acn in (select rete+cod_fiscale from C6MartPeriodico.TB_Campione) then 'S' else 'N' end +end diff --git a/sql/Collaudo/trigger/C6MartPeriodico_storicizza_sblocchi_tabellone.sql b/sql/Collaudo/trigger/C6MartPeriodico_storicizza_sblocchi_tabellone.sql new file mode 100644 index 00000000..61b8ae6d --- /dev/null +++ b/sql/Collaudo/trigger/C6MartPeriodico_storicizza_sblocchi_tabellone.sql @@ -0,0 +1,17 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE TRIGGER [C6MartPeriodico].[storicizza_sblocchi_tabellone] + ON [C6MartPeriodico].[ExcludedList_testing] + AFTER Insert +AS +BEGIN + + SET NOCOUNT ON; + +insert into C6MartPeriodico.sblocco_blacklist +select Rete,codicefiscale,DescrErr,CONVERT(VARCHAR(10), GETDATE(), 126),Bloccato from C6MartPeriodico.ExcludedList_testing + +END diff --git a/sql/Produzione/funzioni/C6MartPeriodicoImmobiliare_CONCATENA.sql b/sql/Produzione/funzioni/C6MartPeriodicoImmobiliare_CONCATENA.sql new file mode 100644 index 00000000..65230301 --- /dev/null +++ b/sql/Produzione/funzioni/C6MartPeriodicoImmobiliare_CONCATENA.sql @@ -0,0 +1,55 @@ +--select [C6MartPeriodicoImmobiliare].[CONCATENA] ( 'F', 'BRNLLN36A55L781D', 1503 ) +CREATE FUNCTION [C6MartPeriodicoImmobiliare].[CONCATENA] +( + @RETE as varchar(1), + @CF as varchar(16), + @NomeFile as varchar(18), + @DataGenerazione as varchar(8) +) +RETURNS VARCHAR(MAX) +AS +BEGIN + -- Declare the return variable here + DECLARE @RESULT AS VARCHAR(MAX) + SET @RESULT ='' + -- ***** LISTA DEI CAMPI E DELLE LUNGHEZZE ***** + -- Rete (1) + -- NOMINATIVODESTINATARIO(50) + -- VIA(50) + -- CAP(5) + -- LOCALITA(50) + -- PROVINCIA(2) + -- NAZIONE(1) + -- TIPOPOSTALIZZAZIONE(2) + -- FILESPOOL(50) + -- NAZIONEESTERA(30) + SET @CF = REPLACE(@CF,'$$','@') + SELECT + @RESULT = @RESULT + --V Inserimento nuovi flag + + @RETE + --FINE INSERIMENTO NUOVI FLAG + + LEFT(isnull(C6MartPeriodicoImmobiliare.ANAG_CLIENTI.Nome,'NOME') + ' ' + ISNULL(C6MartPeriodicoImmobiliare.ANAG_CLIENTI.Cognome,'COGNOME') + ' ',50) -- NOMINATIVODESTINATARIO(50) + + LEFT(isnull(C6MartPeriodicoImmobiliare.CONTRATTOSEI.Indirizzo,'') + ' ',50) --VIA(50) + + LEFT(isnull(C6MartPeriodicoImmobiliare.CONTRATTOSEI.CAP,'') + ' ',5) --CAP(5) + + LEFT(isnull(C6MartPeriodicoImmobiliare.CONTRATTOSEI.Citta,'') + ' ',50) --LOCALITA(50) + + LEFT(isnull(C6MartPeriodicoImmobiliare.CONTRATTOSEI.Prov,'') + ' ',2)--PROVINCIA(2) + + (CASE UPPER(isnull(C6MartPeriodicoImmobiliare.CONTRATTOSEI.Nazione,'')) WHEN 'ITALIA' THEN 'I' ELSE 'E' END) -- IoE(1) + + 'PE' --TIPOPOSTALIZZAZIONE(2) + + LEFT (coalesce(@NomeFile, '') + ' ', 50) + + LEFT((CASE UPPER(isnull(C6MartPeriodicoImmobiliare.CONTRATTOSEI.Nazione,'')) WHEN 'ITALIA' THEN '' ELSE isnull(C6MartPeriodicoImmobiliare.CONTRATTOSEI.Nazione,'') END) + ' ',30) -- NAZIONEESTERA(30) + + right (' ' + COALESCE(C6MartPeriodicoImmobiliare.CONTRATTOSEI.Rol, 'N'), 1) + + right (' ' + C6MartPeriodicoImmobiliare.CONTRATTOSEI.Cod_Fiscale, 16) + + left (coalesce(C6MartPeriodicoImmobiliare.CONTRATTOSEI.Email, '') + ' ', 50) + + @DataGenerazione + + isnull(C6MartPeriodicoImmobiliare.CONTRATTOSEI.COD_AGENTE , '') + + C6MartPeriodicoImmobiliare.CONTRATTOSEI.CodiceContratto + FROM C6MartPeriodicoImmobiliare.CONTRATTOSEI + INNER JOIN C6MartPeriodicoImmobiliare.ANAG_CLIENTI + ON C6MartPeriodicoImmobiliare.ANAG_CLIENTI.Rete = C6MartPeriodicoImmobiliare.CONTRATTOSEI.Rete + AND C6MartPeriodicoImmobiliare.ANAG_CLIENTI.COD_FISCALE = C6MartPeriodicoImmobiliare.CONTRATTOSEI.Cod_Fiscale + WHERE + C6MartPeriodicoImmobiliare.ANAG_CLIENTI.Rete = @RETE + AND C6MartPeriodicoImmobiliare.ANAG_CLIENTI.COD_FISCALE = @CF + RETURN @RESULT +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6MartPeriodico_CONCATENA.sql b/sql/Produzione/funzioni/C6MartPeriodico_CONCATENA.sql new file mode 100644 index 00000000..997e0439 --- /dev/null +++ b/sql/Produzione/funzioni/C6MartPeriodico_CONCATENA.sql @@ -0,0 +1,111 @@ +--select [C6MartPeriodico].[CONCATENA] ( 'F', 'FF@83493 ') +CREATE FUNCTION [C6MartPeriodico].[CONCATENA] +( + @RETE as varchar(1), + @CF as varchar(16) +) +RETURNS VARCHAR(MAX) +AS +BEGIN + -- Declare the return variable here + DECLARE @RESULT AS VARCHAR(MAX) + DECLARE @FIDUCIARIA AS CHAR(1) + DECLARE @BROCHURE AS CHAR(1) + declare @idFkzip int + select @idFkzip=max(id_fk_zip) + from c6martperiodico.gestione_pdf_ftp + SET @RESULT ='' + IF CHARINDEX('@', @CF) > 0 + SET @FIDUCIARIA = 'S' + ELSE + SET @FIDUCIARIA = 'N' + -- ***** LISTA DEI CAMPI E DELLE LUNGHEZZE ***** + -- FlagFiduciaria (1) + -- Rete (1) + -- Brochure (1) + -- Facciate(6) + -- CppBollettini(2) + -- IDENTIFICATIVODOCUMENTO(50) + -- NOMINATIVODESTINATARIO(50) + -- VIA(50) + -- CAP(5) + -- LOCALITA(50) + -- PROVINCIA(2) + -- NAZIONE(1) + -- TIPOPOSTALIZZAZIONE(2) + -- FILESPOOL(50) + -- ALLEGATO1(1) + -- ALLEGATO2(1) + -- NAZIONEESTERA(30) + SET @CF = REPLACE(@CF,'$$','@') + SELECT + @RESULT = @RESULT + --V Inserimento nuovi flag + + @FIDUCIARIA + + @RETE + + CASE WHEN CB.COD_FISCALE IS NULL THEN 'N' ELSE 'S' END + --FINE INSERIMENTO NUOVI FLAG + + + + (right('000000' + cast(isnull(GESTIONE_PDF_FTP.numeroPagine,0) as varchar(6)),6) -- Facciate(6) + + '00' --CppBollettini(2) + + ' ' --IDENTIFICATIVODOCUMENTO(50) + + LEFT(isnull(ANAG_CLIENTI.Nome,'NOME') + ' ' + ISNULL(ANAG_CLIENTI.Cognome,'COGNOME') + ' ',50) -- NOMINATIVODESTINATARIO(50) + + LEFT(isnull(CONTRATTOSEI.Indirizzo,'') + ' ',50) --VIA(50) + + LEFT(isnull(CONTRATTOSEI.CAP,'') + ' ',5) --CAP(5) + + LEFT(isnull(CONTRATTOSEI.Citta,'') + ' ',50) --LOCALITA(50) + + LEFT(isnull(CONTRATTOSEI.Prov,'') + ' ',2)--PROVINCIA(2) + + (CASE UPPER(isnull(CONTRATTOSEI.Nazione,'')) WHEN 'ITALIA' THEN 'I' ELSE 'E' END) -- IoE(1) + + 'PE' --TIPOPOSTALIZZAZIONE(2) +-- + LEFT(GESTIONE_PDF_FTP.NomeFile + CASE tiporeport WHEN 'D' THEN '_DP' WHEN 'M' THEN '_MP' ELSE '_' + tiporeport END + ' ',50)--NOMEFILE(50) + + ISNULL( LEFT(GESTIONE_PDF_FTP.NomeFile + CASE tiporeport WHEN 'D' THEN '_DP' + WHEN 'M' THEN (CASE TIP_CONTRATTO + WHEN 2 THEN '_PP' + ELSE '_MP' + END + ) + ELSE '_' + tiporeport + END + ' ',50), '')--NOMEFILE(50) + -- ALLEGATO1 + -- + case when CONTRATTOSEI.TIP_CONTRATTO<>'3' then '1' else '2' end -- case when len(isnull(cb.cod_fiscale,''))<=11 then '1' else '2' end --'0' --ALLEGATO1(1) + + case when CONTRATTOSEI.TIP_CONTRATTO='3' then '1' else '0' end + + '0' --ALLEGATO2(1) se c'è piu di un allegato allora metti a 1 + + LEFT((CASE UPPER(isnull(CONTRATTOSEI.Nazione,'')) WHEN 'ITALIA' THEN '' ELSE isnull(CONTRATTOSEI.Nazione,'') END) + ' ',30)) -- NAZIONEESTERA(30) +-- EN20170406 +-- + right (' ' + C6MARTPERIODICO.CONTRATTOSEI.Rol, 1) + + right (' ' + COALESCE(C6MARTPERIODICO.CONTRATTOSEI.Rol, 'N'), 1) + + right (' ' + C6MARTPERIODICO.CONTRATTOSEI.Cod_Fiscale, 16) + + left (coalesce(C6MARTPERIODICO.CONTRATTOSEI.Email, '') + ' ', 50) + + isnull( convert(char(8), [C6MartPeriodico].GESTIONE_PDF_FTP.DataGenerazione, 112) , '') + + isnull(CONTRATTOSEI.COD_AGENTE , '') + FROM [C6MartPeriodico].GESTIONE_PDF_FTP + INNER JOIN C6MARTPERIODICO.CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_PDF_FTP.Rete + AND CONTRATTOSEI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + AND CONTRATTOSEI.Rete = @RETE + AND CONTRATTOSEI.COD_FISCALE = @CF + INNER JOIN [C6MartPeriodico].ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_PDF_FTP.Rete + AND ANAG_CLIENTI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + --V INSERIMENTO CLIENTI CON BROCHURE O ALLEGATO + LEFT JOIN C6MARTPERIODICO.CLIENTI_BROCHURE CB + ON CB.Rete = GESTIONE_PDF_FTP.Rete + AND CB.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + left join C6MartPeriodico.wseian2 an + on an.rete= GESTIONE_PDF_FTP.Rete + AND an.CODFIS = GESTIONE_PDF_FTP.CodiceFiscale + -- + WHERE +--DATEDIFF(DAY,GESTIONE_PDF_FTP.DataInvio,GETDATE()) = 0 + -- OR DATEDIFF(DAY,GESTIONE_PDF_FTP.DataInvioRistampa,GETDATE()) = 0) + --Anche se un contratto è revocato ma abbiamo stampato il report questo va inviato + --AND + --c6mart.contrattosei.cod_fiscale like '%@%' + isnull(data_Fineavanzato,cast('99991231' as datetime)) > c6martperiodico.getTrimestre(c6martperiodico.getTrimestre(getdate(),0),0) + and + GESTIONE_PDF_FTP.id_fk_zip = @idFkzip --356 EN20160212: 1264 e 1270 + --(select max(id_fk_zip) + -- from c6martperiodico.gestione_pdf_ftp + --) + order by tiporeport desc + RETURN @RESULT +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6MartPeriodico_CONCATENA_20170406.sql b/sql/Produzione/funzioni/C6MartPeriodico_CONCATENA_20170406.sql new file mode 100644 index 00000000..173a6e99 --- /dev/null +++ b/sql/Produzione/funzioni/C6MartPeriodico_CONCATENA_20170406.sql @@ -0,0 +1,103 @@ +CREATE FUNCTION [C6MartPeriodico].[CONCATENA_20170406] +( + @RETE as varchar(1), + @CF as varchar(16) +) +RETURNS VARCHAR(MAX) +AS +BEGIN + -- Declare the return variable here + DECLARE @RESULT AS VARCHAR(MAX) + DECLARE @FIDUCIARIA AS CHAR(1) + DECLARE @BROCHURE AS CHAR(1) + declare @idFkzip int + select @idFkzip=max(id_fk_zip) + from c6martperiodico.gestione_pdf_ftp + SET @RESULT ='' + IF CHARINDEX('@', @CF) > 0 + SET @FIDUCIARIA = 'S' + ELSE + SET @FIDUCIARIA = 'N' + -- ***** LISTA DEI CAMPI E DELLE LUNGHEZZE ***** + -- FlagFiduciaria (1) + -- Rete (1) + -- Brochure (1) + -- Facciate(6) + -- CppBollettini(2) + -- IDENTIFICATIVODOCUMENTO(50) + -- NOMINATIVODESTINATARIO(50) + -- VIA(50) + -- CAP(5) + -- LOCALITA(50) + -- PROVINCIA(2) + -- NAZIONE(1) + -- TIPOPOSTALIZZAZIONE(2) + -- FILESPOOL(50) + -- ALLEGATO1(1) + -- ALLEGATO2(1) + -- NAZIONEESTERA(30) + SET @CF = REPLACE(@CF,'$$','@') + SELECT + @RESULT = @RESULT + --V Inserimento nuovi flag + + @FIDUCIARIA + + @RETE + + CASE WHEN CB.COD_FISCALE IS NULL THEN 'N' ELSE 'S' END + --FINE INSERIMENTO NUOVI FLAG + + + + (right('000000' + cast(isnull(GESTIONE_PDF_FTP.numeroPagine,0) as varchar(6)),6) -- Facciate(6) + + '00' --CppBollettini(2) + + ' ' --IDENTIFICATIVODOCUMENTO(50) + + LEFT(isnull(ANAG_CLIENTI.Nome,'NOME') + ' ' + ISNULL(ANAG_CLIENTI.Cognome,'COGNOME') + ' ',50) -- NOMINATIVODESTINATARIO(50) + + LEFT(isnull(CONTRATTOSEI.Indirizzo,'') + ' ',50) --VIA(50) + + LEFT(isnull(CONTRATTOSEI.CAP,'') + ' ',5) --CAP(5) + + LEFT(isnull(CONTRATTOSEI.Citta,'') + ' ',50) --LOCALITA(50) + + LEFT(isnull(CONTRATTOSEI.Prov,'') + ' ',2)--PROVINCIA(2) + + (CASE UPPER(isnull(CONTRATTOSEI.Nazione,'')) WHEN 'ITALIA' THEN 'I' ELSE 'E' END) -- IoE(1) + + 'PE' --TIPOPOSTALIZZAZIONE(2) +-- + LEFT(GESTIONE_PDF_FTP.NomeFile + CASE tiporeport WHEN 'D' THEN '_DP' WHEN 'M' THEN '_MP' ELSE '_' + tiporeport END + ' ',50)--NOMEFILE(50) + + LEFT(GESTIONE_PDF_FTP.NomeFile + CASE tiporeport WHEN 'D' THEN '_DP' + WHEN 'M' THEN (CASE TIP_CONTRATTO + WHEN 2 THEN '_PP' + ELSE '_MP' + END + ) + ELSE '_' + tiporeport + END + ' ',50)--NOMEFILE(50) + + '0' --ALLEGATO1(1) + + '0' --ALLEGATO2(1) + + LEFT((CASE UPPER(isnull(CONTRATTOSEI.Nazione,'')) WHEN 'ITALIA' THEN '' ELSE isnull(CONTRATTOSEI.Nazione,'') END) + ' ',30)) -- NAZIONEESTERA(30) + + right (' ' + C6MARTPERIODICO.CONTRATTOSEI.Rol, 1) + + right (' ' + C6MARTPERIODICO.CONTRATTOSEI.Cod_Fiscale, 16) + + left (coalesce(C6MARTPERIODICO.CONTRATTOSEI.Email, '') + ' ', 50) + + convert(char(8), [C6MartPeriodico].GESTIONE_PDF_FTP.DataGenerazione, 112) + + CONTRATTOSEI.COD_AGENTE + FROM [C6MartPeriodico].GESTIONE_PDF_FTP + INNER JOIN C6MARTPERIODICO.CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_PDF_FTP.Rete + AND CONTRATTOSEI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + AND CONTRATTOSEI.Rete = @RETE + AND CONTRATTOSEI.COD_FISCALE = @CF + INNER JOIN [C6MartPeriodico].ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_PDF_FTP.Rete + AND ANAG_CLIENTI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + --V INSERIMENTO CLIENTI CON BROCHURE O ALLEGATO + LEFT JOIN C6MARTPERIODICO.CLIENTI_BROCHURE CB + ON CB.Rete = GESTIONE_PDF_FTP.Rete + AND CB.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + -- + WHERE +--DATEDIFF(DAY,GESTIONE_PDF_FTP.DataInvio,GETDATE()) = 0 + -- OR DATEDIFF(DAY,GESTIONE_PDF_FTP.DataInvioRistampa,GETDATE()) = 0) + --Anche se un contratto è revocato ma abbiamo stampato il report questo va inviato + --AND + --c6mart.contrattosei.cod_fiscale like '%@%' + isnull(data_Fineavanzato,cast('99991231' as datetime)) > c6martperiodico.getTrimestre(c6martperiodico.getTrimestre(getdate(),0),0) + and + GESTIONE_PDF_FTP.id_fk_zip = @idFkzip --356 EN20160212: 1264 e 1270 + --(select max(id_fk_zip) + -- from c6martperiodico.gestione_pdf_ftp + --) + order by tiporeport desc + RETURN @RESULT +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6MartPeriodico_CONCATENA_20180214_bonifica.sql b/sql/Produzione/funzioni/C6MartPeriodico_CONCATENA_20180214_bonifica.sql new file mode 100644 index 00000000..36ae1201 --- /dev/null +++ b/sql/Produzione/funzioni/C6MartPeriodico_CONCATENA_20180214_bonifica.sql @@ -0,0 +1,107 @@ +--select [C6MartPeriodico].[CONCATENA] ( 'F', 'BRNLLN36A55L781D', 1503 ) +CREATE FUNCTION [C6MartPeriodico].[CONCATENA_20180214_bonifica] +( + @RETE as varchar(1), + @CF as varchar(16), + @idFkzip as int +) +RETURNS VARCHAR(MAX) +AS +BEGIN + -- Declare the return variable here + DECLARE @RESULT AS VARCHAR(MAX) + DECLARE @FIDUCIARIA AS CHAR(1) + DECLARE @BROCHURE AS CHAR(1) + --declare @idFkzip int + -- select @idFkzip=max(id_fk_zip) + --from c6martperiodico.gestione_pdf_ftp + SET @RESULT ='' + IF CHARINDEX('@', @CF) > 0 + SET @FIDUCIARIA = 'S' + ELSE + SET @FIDUCIARIA = 'N' + -- ***** LISTA DEI CAMPI E DELLE LUNGHEZZE ***** + -- FlagFiduciaria (1) + -- Rete (1) + -- Brochure (1) + -- Facciate(6) + -- CppBollettini(2) + -- IDENTIFICATIVODOCUMENTO(50) + -- NOMINATIVODESTINATARIO(50) + -- VIA(50) + -- CAP(5) + -- LOCALITA(50) + -- PROVINCIA(2) + -- NAZIONE(1) + -- TIPOPOSTALIZZAZIONE(2) + -- FILESPOOL(50) + -- ALLEGATO1(1) + -- ALLEGATO2(1) + -- NAZIONEESTERA(30) + SET @CF = REPLACE(@CF,'$$','@') + SELECT + @RESULT = @RESULT + --V Inserimento nuovi flag + + @FIDUCIARIA + + @RETE + + CASE WHEN CB.COD_FISCALE IS NULL THEN 'N' ELSE 'S' END + --FINE INSERIMENTO NUOVI FLAG + + + + (right('000000' + cast(isnull(GESTIONE_PDF_FTP.numeroPagine,0) as varchar(6)),6) -- Facciate(6) + + '00' --CppBollettini(2) + + ' ' --IDENTIFICATIVODOCUMENTO(50) + + LEFT(isnull(ANAG_CLIENTI.Nome,'NOME') + ' ' + ISNULL(ANAG_CLIENTI.Cognome,'COGNOME') + ' ',50) -- NOMINATIVODESTINATARIO(50) + + LEFT(isnull(CONTRATTOSEI.Indirizzo,'') + ' ',50) --VIA(50) + + LEFT(isnull(CONTRATTOSEI.CAP,'') + ' ',5) --CAP(5) + + LEFT(isnull(CONTRATTOSEI.Citta,'') + ' ',50) --LOCALITA(50) + + LEFT(isnull(CONTRATTOSEI.Prov,'') + ' ',2)--PROVINCIA(2) + + (CASE UPPER(isnull(CONTRATTOSEI.Nazione,'')) WHEN 'ITALIA' THEN 'I' ELSE 'E' END) -- IoE(1) + + 'PE' --TIPOPOSTALIZZAZIONE(2) +-- + LEFT(GESTIONE_PDF_FTP.NomeFile + CASE tiporeport WHEN 'D' THEN '_DP' WHEN 'M' THEN '_MP' ELSE '_' + tiporeport END + ' ',50)--NOMEFILE(50) + + ISNULL( LEFT(GESTIONE_PDF_FTP.NomeFile + CASE tiporeport WHEN 'D' THEN '_DP' + WHEN 'M' THEN (CASE TIP_CONTRATTO + WHEN 2 THEN '_PP' + ELSE '_MP' + END + ) + ELSE '_' + tiporeport + END + ' ',50), '')--NOMEFILE(50) + + '0' --ALLEGATO1(1) + + '0' --ALLEGATO2(1) + + LEFT((CASE UPPER(isnull(CONTRATTOSEI.Nazione,'')) WHEN 'ITALIA' THEN '' ELSE isnull(CONTRATTOSEI.Nazione,'') END) + ' ',30)) -- NAZIONEESTERA(30) +-- EN20170406 +-- + right (' ' + C6MARTPERIODICO.CONTRATTOSEI.Rol, 1) + + right (' ' + COALESCE(C6MARTPERIODICO.CONTRATTOSEI.Rol, 'N'), 1) + + right (' ' + C6MARTPERIODICO.CONTRATTOSEI.Cod_Fiscale, 16) + + left (coalesce(C6MARTPERIODICO.CONTRATTOSEI.Email, '') + ' ', 50) + + isnull( convert(char(8), [C6MartPeriodico].GESTIONE_PDF_FTP.DataGenerazione, 112) , '') + + isnull(CONTRATTOSEI.COD_AGENTE , '') + FROM [C6MartPeriodico].GESTIONE_PDF_FTP + INNER JOIN C6MARTPERIODICO.CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_PDF_FTP.Rete + AND CONTRATTOSEI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + AND CONTRATTOSEI.Rete = @RETE + AND CONTRATTOSEI.COD_FISCALE = @CF + INNER JOIN [C6MartPeriodico].ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_PDF_FTP.Rete + AND ANAG_CLIENTI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + --V INSERIMENTO CLIENTI CON BROCHURE O ALLEGATO + LEFT JOIN C6MARTPERIODICO.CLIENTI_BROCHURE CB + ON CB.Rete = GESTIONE_PDF_FTP.Rete + AND CB.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + -- + WHERE +--DATEDIFF(DAY,GESTIONE_PDF_FTP.DataInvio,GETDATE()) = 0 + -- OR DATEDIFF(DAY,GESTIONE_PDF_FTP.DataInvioRistampa,GETDATE()) = 0) + --Anche se un contratto è revocato ma abbiamo stampato il report questo va inviato + --AND + --c6mart.contrattosei.cod_fiscale like '%@%' + isnull(data_Fineavanzato,cast('99991231' as datetime)) > c6martperiodico.getTrimestre(c6martperiodico.getTrimestre(getdate(),0),0) + and + GESTIONE_PDF_FTP.id_fk_zip = @idFkzip --356 EN20160212: 1264 e 1270 + --(select max(id_fk_zip) + -- from c6martperiodico.gestione_pdf_ftp + --) + order by tiporeport desc + RETURN @RESULT +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6MartPeriodico_CONCATENA_20240225.sql b/sql/Produzione/funzioni/C6MartPeriodico_CONCATENA_20240225.sql new file mode 100644 index 00000000..cdcc7460 --- /dev/null +++ b/sql/Produzione/funzioni/C6MartPeriodico_CONCATENA_20240225.sql @@ -0,0 +1,108 @@ +--select [C6MartPeriodico].[CONCATENA] ( 'F', 'FF@83493 ') +CREATE FUNCTION [C6MartPeriodico].[CONCATENA_20240225] +( + @RETE as varchar(1), + @CF as varchar(16) +) +RETURNS VARCHAR(MAX) +AS +BEGIN + -- Declare the return variable here + DECLARE @RESULT AS VARCHAR(MAX) + DECLARE @FIDUCIARIA AS CHAR(1) + DECLARE @BROCHURE AS CHAR(1) + declare @idFkzip int + select @idFkzip=max(id_fk_zip) + from c6martperiodico.gestione_pdf_ftp + SET @RESULT ='' + IF CHARINDEX('@', @CF) > 0 + SET @FIDUCIARIA = 'S' + ELSE + SET @FIDUCIARIA = 'N' + -- ***** LISTA DEI CAMPI E DELLE LUNGHEZZE ***** + -- FlagFiduciaria (1) + -- Rete (1) + -- Brochure (1) + -- Facciate(6) + -- CppBollettini(2) + -- IDENTIFICATIVODOCUMENTO(50) + -- NOMINATIVODESTINATARIO(50) + -- VIA(50) + -- CAP(5) + -- LOCALITA(50) + -- PROVINCIA(2) + -- NAZIONE(1) + -- TIPOPOSTALIZZAZIONE(2) + -- FILESPOOL(50) + -- ALLEGATO1(1) + -- ALLEGATO2(1) + -- NAZIONEESTERA(30) + SET @CF = REPLACE(@CF,'$$','@') + SELECT + @RESULT = @RESULT + --V Inserimento nuovi flag + + @FIDUCIARIA + + @RETE + + CASE WHEN CB.COD_FISCALE IS NULL THEN 'N' ELSE 'S' END + --FINE INSERIMENTO NUOVI FLAG + + + + (right('000000' + cast(isnull(GESTIONE_PDF_FTP.numeroPagine,0) as varchar(6)),6) -- Facciate(6) + + '00' --CppBollettini(2) + + ' ' --IDENTIFICATIVODOCUMENTO(50) + + LEFT(isnull(ANAG_CLIENTI.Nome,'NOME') + ' ' + ISNULL(ANAG_CLIENTI.Cognome,'COGNOME') + ' ',50) -- NOMINATIVODESTINATARIO(50) + + LEFT(isnull(CONTRATTOSEI.Indirizzo,'') + ' ',50) --VIA(50) + + LEFT(isnull(CONTRATTOSEI.CAP,'') + ' ',5) --CAP(5) + + LEFT(isnull(CONTRATTOSEI.Citta,'') + ' ',50) --LOCALITA(50) + + LEFT(isnull(CONTRATTOSEI.Prov,'') + ' ',2)--PROVINCIA(2) + + (CASE UPPER(isnull(CONTRATTOSEI.Nazione,'')) WHEN 'ITALIA' THEN 'I' ELSE 'E' END) -- IoE(1) + + 'PE' --TIPOPOSTALIZZAZIONE(2) +-- + LEFT(GESTIONE_PDF_FTP.NomeFile + CASE tiporeport WHEN 'D' THEN '_DP' WHEN 'M' THEN '_MP' ELSE '_' + tiporeport END + ' ',50)--NOMEFILE(50) + + ISNULL( LEFT(GESTIONE_PDF_FTP.NomeFile + CASE tiporeport WHEN 'D' THEN '_DP' + WHEN 'M' THEN (CASE TIP_CONTRATTO + WHEN 2 THEN '_PP' + ELSE '_MP' + END + ) + ELSE '_' + tiporeport + END + ' ',50), '')--NOMEFILE(50) + + case when CONTRATTOSEI.TIP_CONTRATTO<>'3' then '1' else '2' end -- case when len(isnull(cb.cod_fiscale,''))<=11 then '1' else '2' end --'0' --ALLEGATO1(1) + + '1' --ALLEGATO2(1) se c'è piu di un allegato allora metti a 1 + + LEFT((CASE UPPER(isnull(CONTRATTOSEI.Nazione,'')) WHEN 'ITALIA' THEN '' ELSE isnull(CONTRATTOSEI.Nazione,'') END) + ' ',30)) -- NAZIONEESTERA(30) +-- EN20170406 +-- + right (' ' + C6MARTPERIODICO.CONTRATTOSEI.Rol, 1) + + right (' ' + COALESCE(C6MARTPERIODICO.CONTRATTOSEI.Rol, 'N'), 1) + + right (' ' + C6MARTPERIODICO.CONTRATTOSEI.Cod_Fiscale, 16) + + left (coalesce(C6MARTPERIODICO.CONTRATTOSEI.Email, '') + ' ', 50) + + isnull( convert(char(8), [C6MartPeriodico].GESTIONE_PDF_FTP.DataGenerazione, 112) , '') + + isnull(CONTRATTOSEI.COD_AGENTE , '') + FROM [C6MartPeriodico].GESTIONE_PDF_FTP + INNER JOIN C6MARTPERIODICO.CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_PDF_FTP.Rete + AND CONTRATTOSEI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + AND CONTRATTOSEI.Rete = @RETE + AND CONTRATTOSEI.COD_FISCALE = @CF + INNER JOIN [C6MartPeriodico].ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_PDF_FTP.Rete + AND ANAG_CLIENTI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + --V INSERIMENTO CLIENTI CON BROCHURE O ALLEGATO + LEFT JOIN C6MARTPERIODICO.CLIENTI_BROCHURE CB + ON CB.Rete = GESTIONE_PDF_FTP.Rete + AND CB.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + left join C6MartPeriodico.wseian2 an + on an.rete= GESTIONE_PDF_FTP.Rete + AND an.CODFIS = GESTIONE_PDF_FTP.CodiceFiscale + -- + WHERE +--DATEDIFF(DAY,GESTIONE_PDF_FTP.DataInvio,GETDATE()) = 0 + -- OR DATEDIFF(DAY,GESTIONE_PDF_FTP.DataInvioRistampa,GETDATE()) = 0) + --Anche se un contratto è revocato ma abbiamo stampato il report questo va inviato + --AND + --c6mart.contrattosei.cod_fiscale like '%@%' + isnull(data_Fineavanzato,cast('99991231' as datetime)) > c6martperiodico.getTrimestre(c6martperiodico.getTrimestre(getdate(),0),0) + --356 EN20160212: 1264 e 1270 + --(select max(id_fk_zip) + -- from c6martperiodico.gestione_pdf_ftp + --) + order by tiporeport desc + RETURN @RESULT +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6MartPeriodico_CONCATENA_IDX.sql b/sql/Produzione/funzioni/C6MartPeriodico_CONCATENA_IDX.sql new file mode 100644 index 00000000..b09b74e3 --- /dev/null +++ b/sql/Produzione/funzioni/C6MartPeriodico_CONCATENA_IDX.sql @@ -0,0 +1,106 @@ +--select [C6MartPeriodico].[CONCATENA] ( 'F', 'BRNLLN36A55L781D', 1503 ) +CREATE FUNCTION [C6MartPeriodico].[CONCATENA_IDX] +( + @RETE as varchar(1), + @CF as varchar(16) +) +RETURNS VARCHAR(MAX) +AS +BEGIN + -- Declare the return variable here + DECLARE @RESULT AS VARCHAR(MAX) + DECLARE @FIDUCIARIA AS CHAR(1) + DECLARE @BROCHURE AS CHAR(1) + declare @idFkzip int + select @idFkzip=max(id_fk_zip) + from c6martperiodico.gestione_pdf_ftp_IDX + SET @RESULT ='' + IF CHARINDEX('@', @CF) > 0 + SET @FIDUCIARIA = 'S' + ELSE + SET @FIDUCIARIA = 'N' + -- ***** LISTA DEI CAMPI E DELLE LUNGHEZZE ***** + -- FlagFiduciaria (1) + -- Rete (1) + -- Brochure (1) + -- Facciate(6) + -- CppBollettini(2) + -- IDENTIFICATIVODOCUMENTO(50) + -- NOMINATIVODESTINATARIO(50) + -- VIA(50) + -- CAP(5) + -- LOCALITA(50) + -- PROVINCIA(2) + -- NAZIONE(1) + -- TIPOPOSTALIZZAZIONE(2) + -- FILESPOOL(50) + -- ALLEGATO1(1) + -- ALLEGATO2(1) + -- NAZIONEESTERA(30) + SET @CF = REPLACE(@CF,'$$','@') + SELECT + @RESULT = @RESULT + --V Inserimento nuovi flag + + @FIDUCIARIA + + @RETE + + CASE WHEN CB.COD_FISCALE IS NULL THEN 'N' ELSE 'S' END + --FINE INSERIMENTO NUOVI FLAG + + + + (right('000000' + cast(isnull(GESTIONE_PDF_FTP_IDX.numeroPagine,0) as varchar(6)),6) -- Facciate(6) + + '00' --CppBollettini(2) + + ' ' --IDENTIFICATIVODOCUMENTO(50) + + LEFT(isnull(ANAG_CLIENTI.Nome,'NOME') + ' ' + ISNULL(ANAG_CLIENTI.Cognome,'COGNOME') + ' ',50) -- NOMINATIVODESTINATARIO(50) + + LEFT(isnull(CONTRATTOSEI.Indirizzo,'') + ' ',50) --VIA(50) + + LEFT(isnull(CONTRATTOSEI.CAP,'') + ' ',5) --CAP(5) + + LEFT(isnull(CONTRATTOSEI.Citta,'') + ' ',50) --LOCALITA(50) + + LEFT(isnull(CONTRATTOSEI.Prov,'') + ' ',2)--PROVINCIA(2) + + (CASE UPPER(isnull(CONTRATTOSEI.Nazione,'')) WHEN 'ITALIA' THEN 'I' ELSE 'E' END) -- IoE(1) + + 'PE' --TIPOPOSTALIZZAZIONE(2) +-- + LEFT(GESTIONE_PDF_FTP.NomeFile + CASE tiporeport WHEN 'D' THEN '_DP' WHEN 'M' THEN '_MP' ELSE '_' + tiporeport END + ' ',50)--NOMEFILE(50) + + LEFT(GESTIONE_PDF_FTP_IDX.NomeFile + CASE tiporeport WHEN 'D' THEN '_DP' + WHEN 'M' THEN (CASE TIP_CONTRATTO + WHEN 2 THEN '_PP' + ELSE '_MP' + END + ) + ELSE '_' + tiporeport + END + ' ',50)--NOMEFILE(50) + + '1' --ALLEGATO1(1) 0 no allegato , 1 allegato + + '0' --ALLEGATO2(1) + + LEFT((CASE UPPER(isnull(CONTRATTOSEI.Nazione,'')) WHEN 'ITALIA' THEN '' ELSE isnull(CONTRATTOSEI.Nazione,'') END) + ' ',30)) -- NAZIONEESTERA(30) +-- EN20170406 +-- + right (' ' + C6MARTPERIODICO.CONTRATTOSEI.Rol, 1) + + right (' ' + COALESCE(C6MARTPERIODICO.CONTRATTOSEI.Rol, 'N'), 1) + + right (' ' + C6MARTPERIODICO.CONTRATTOSEI.Cod_Fiscale, 16) + + left (coalesce(C6MARTPERIODICO.CONTRATTOSEI.Email, '') + ' ', 50) + + convert(char(8), [C6MartPeriodico].GESTIONE_PDF_FTP_IDX.DataGenerazione, 112) + + CONTRATTOSEI.COD_AGENTE + FROM [C6MartPeriodico].GESTIONE_PDF_FTP_IDX + INNER JOIN C6MARTPERIODICO.CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_PDF_FTP_IDX.Rete + AND CONTRATTOSEI.COD_FISCALE = GESTIONE_PDF_FTP_IDX.CodiceFiscale + AND CONTRATTOSEI.Rete = @RETE + AND CONTRATTOSEI.COD_FISCALE = @CF + INNER JOIN [C6MartPeriodico].ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_PDF_FTP_IDX.Rete + AND ANAG_CLIENTI.COD_FISCALE = GESTIONE_PDF_FTP_IDX.CodiceFiscale + --V INSERIMENTO CLIENTI CON BROCHURE O ALLEGATO + LEFT JOIN C6MARTPERIODICO.CLIENTI_BROCHURE CB + ON CB.Rete = GESTIONE_PDF_FTP_IDX.Rete + AND CB.COD_FISCALE = GESTIONE_PDF_FTP_IDX.CodiceFiscale + -- + WHERE +--DATEDIFF(DAY,GESTIONE_PDF_FTP.DataInvio,GETDATE()) = 0 + -- OR DATEDIFF(DAY,GESTIONE_PDF_FTP.DataInvioRistampa,GETDATE()) = 0) + --Anche se un contratto è revocato ma abbiamo stampato il report questo va inviato + --AND + --c6mart.contrattosei.cod_fiscale like '%@%' + isnull(data_Fineavanzato,cast('99991231' as datetime)) > c6martperiodico.getTrimestre(c6martperiodico.getTrimestre(getdate(),0),0) + and + GESTIONE_PDF_FTP_IDX.id_fk_zip = @idFkzip --356 EN20160212: 1264 e 1270 + --(select max(id_fk_zip) + -- from c6martperiodico.gestione_pdf_ftp + --) + order by tiporeport desc + RETURN @RESULT +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6MartPeriodico_CONCATENA_WHITELIST.sql b/sql/Produzione/funzioni/C6MartPeriodico_CONCATENA_WHITELIST.sql new file mode 100644 index 00000000..84539bd9 --- /dev/null +++ b/sql/Produzione/funzioni/C6MartPeriodico_CONCATENA_WHITELIST.sql @@ -0,0 +1,85 @@ +CREATE FUNCTION [C6MartPeriodico].[CONCATENA_WHITELIST] +( + @RETE as varchar(1), + @CF as varchar(16), + @IdZip as int +) +RETURNS VARCHAR(MAX) +AS +BEGIN + -- Declare the return variable here + DECLARE @FIDUCIARIA AS CHAR(1) + DECLARE @BROCHURE AS CHAR(1) + DECLARE @RESULT AS VARCHAR(MAX) + SET @RESULT ='' + IF CHARINDEX('@', @CF) > 0 + SET @FIDUCIARIA = 'S' + ELSE + SET @FIDUCIARIA = 'N' + -- ***** LISTA DEI CAMPI E DELLE LUNGHEZZE ***** + -- FlagFiduciaria (1) + -- Rete (1) + -- Brochure (1) + -- Facciate(6) + -- CppBollettini(2) + -- IDENTIFICATIVODOCUMENTO(50) + -- NOMINATIVODESTINATARIO(50) + -- VIA(50) + -- CAP(5) + -- LOCALITA(50) + -- PROVINCIA(2) + -- NAZIONE(1) + -- TIPOPOSTALIZZAZIONE(2) + -- FILESPOOL(50) + -- ALLEGATO1(1) + -- ALLEGATO2(1) + -- NAZIONEESTERA(30) + SET @CF = REPLACE(@CF,'$$','@') + SELECT + @RESULT = @RESULT + --V Inserimento nuovi flag + + @FIDUCIARIA + + @RETE + + CASE WHEN CB.COD_FISCALE IS NULL THEN 'N' ELSE 'S' END + --FINE INSERIMENTO NUOVI FLAG + + (right('000000' + cast(isnull(GESTIONE_PDF_FTP.numeroPagine,0) as varchar(6)),6) -- Facciate(6) + + '00' --CppBollettini(2) + + ' ' --IDENTIFICATIVODOCUMENTO(50) + + LEFT(isnull(ANAG_CLIENTI.Nome,'NOME') + ' ' + ISNULL(ANAG_CLIENTI.Cognome,'COGNOME') + ' ',50) -- NOMINATIVODESTINATARIO(50) + + LEFT(isnull(CONTRATTOSEI.Indirizzo,'') + ' ',50) --VIA(50) + + LEFT(isnull(CONTRATTOSEI.CAP,'') + ' ',5) --CAP(5) + + LEFT(isnull(CONTRATTOSEI.Citta,'') + ' ',50) --LOCALITA(50) + + LEFT(isnull(CONTRATTOSEI.Prov,'') + ' ',2)--PROVINCIA(2) + + (CASE UPPER(isnull(CONTRATTOSEI.Nazione,'')) WHEN 'ITALIA' THEN 'I' ELSE 'E' END) -- IoE(1) + + 'PE' --TIPOPOSTALIZZAZIONE(2) + + LEFT(GESTIONE_PDF_FTP.NomeFile + CASE tiporeport WHEN 'D' THEN '_DP' WHEN 'M' THEN '_MP' ELSE '_' + tiporeport END + ' ',50)--NOMEFILE(50) + + '0' --ALLEGATO1(1) + + '0' --ALLEGATO2(1) + + LEFT((CASE UPPER(CONTRATTOSEI.Nazione) WHEN 'ITALIA' THEN '' ELSE CONTRATTOSEI.Nazione END) + ' ',30)) -- NAZIONEESTERA(30) + FROM [C6MartPeriodico].GESTIONE_PDF_FTP + --INNER JOIN C6MART.CONTRATTOSEI + INNER JOIN C6MARTPERIODICO.CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_PDF_FTP.Rete + AND CONTRATTOSEI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + AND CONTRATTOSEI.Rete = @RETE + AND CONTRATTOSEI.COD_FISCALE = @CF + INNER JOIN [C6MartPeriodico].ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_PDF_FTP.Rete + AND ANAG_CLIENTI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + --V INSERIMENTO CLIENTI CON BROCHURE O ALLEGATO + LEFT JOIN C6MARTPERIODICO.CLIENTI_BROCHURE CB + ON CB.Rete = GESTIONE_PDF_FTP.Rete + AND CB.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + WHERE +--DATEDIFF(DAY,GESTIONE_PDF_FTP.DataInvio,GETDATE()) = 0 + -- OR DATEDIFF(DAY,GESTIONE_PDF_FTP.DataInvioRistampa,GETDATE()) = 0) + --Anche se un contratto è revocato ma abbiamo stampato il report questo va inviato + --AND + --c6mart.contrattosei.cod_fiscale like '%@%' + isnull(data_Fineavanzato,cast('99991231' as datetime)) > c6martperiodico.getPreviousTrimestre(getdate(),0) --c6martperiodico.getTrimestre(c6martperiodico.getTrimestre(getdate(),0),0) + AND + GESTIONE_PDF_FTP.id_fk_zip = @IdZip + --AND + --CONTRATTOSEI.RETE+CONTRATTOSEI.COD_FISCALE not in (select RETE+CodiceFiscale from C6MartPeriodico.ExcludedList where bloccato=1) + RETURN @RESULT +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6MartPeriodico_CONCATENA_b4_newZipping_2070710.sql b/sql/Produzione/funzioni/C6MartPeriodico_CONCATENA_b4_newZipping_2070710.sql new file mode 100644 index 00000000..5ab01153 --- /dev/null +++ b/sql/Produzione/funzioni/C6MartPeriodico_CONCATENA_b4_newZipping_2070710.sql @@ -0,0 +1,106 @@ +--select [C6MartPeriodico].[CONCATENA] ( 'F', 'BRNLLN36A55L781D', 1503 ) +CREATE FUNCTION [C6MartPeriodico].[CONCATENA_b4_newZipping_2070710] +( + @RETE as varchar(1), + @CF as varchar(16) +) +RETURNS VARCHAR(MAX) +AS +BEGIN + -- Declare the return variable here + DECLARE @RESULT AS VARCHAR(MAX) + DECLARE @FIDUCIARIA AS CHAR(1) + DECLARE @BROCHURE AS CHAR(1) + declare @idFkzip int + select @idFkzip=max(id_fk_zip) + from c6martperiodico.gestione_pdf_ftp + SET @RESULT ='' + IF CHARINDEX('@', @CF) > 0 + SET @FIDUCIARIA = 'S' + ELSE + SET @FIDUCIARIA = 'N' + -- ***** LISTA DEI CAMPI E DELLE LUNGHEZZE ***** + -- FlagFiduciaria (1) + -- Rete (1) + -- Brochure (1) + -- Facciate(6) + -- CppBollettini(2) + -- IDENTIFICATIVODOCUMENTO(50) + -- NOMINATIVODESTINATARIO(50) + -- VIA(50) + -- CAP(5) + -- LOCALITA(50) + -- PROVINCIA(2) + -- NAZIONE(1) + -- TIPOPOSTALIZZAZIONE(2) + -- FILESPOOL(50) + -- ALLEGATO1(1) + -- ALLEGATO2(1) + -- NAZIONEESTERA(30) + SET @CF = REPLACE(@CF,'$$','@') + SELECT + @RESULT = @RESULT + --V Inserimento nuovi flag + + @FIDUCIARIA + + @RETE + + CASE WHEN CB.COD_FISCALE IS NULL THEN 'N' ELSE 'S' END + --FINE INSERIMENTO NUOVI FLAG + + + + (right('000000' + cast(isnull(GESTIONE_PDF_FTP.numeroPagine,0) as varchar(6)),6) -- Facciate(6) + + '00' --CppBollettini(2) + + ' ' --IDENTIFICATIVODOCUMENTO(50) + + LEFT(isnull(ANAG_CLIENTI.Nome,'NOME') + ' ' + ISNULL(ANAG_CLIENTI.Cognome,'COGNOME') + ' ',50) -- NOMINATIVODESTINATARIO(50) + + LEFT(isnull(CONTRATTOSEI.Indirizzo,'') + ' ',50) --VIA(50) + + LEFT(isnull(CONTRATTOSEI.CAP,'') + ' ',5) --CAP(5) + + LEFT(isnull(CONTRATTOSEI.Citta,'') + ' ',50) --LOCALITA(50) + + LEFT(isnull(CONTRATTOSEI.Prov,'') + ' ',2)--PROVINCIA(2) + + (CASE UPPER(isnull(CONTRATTOSEI.Nazione,'')) WHEN 'ITALIA' THEN 'I' ELSE 'E' END) -- IoE(1) + + 'PE' --TIPOPOSTALIZZAZIONE(2) +-- + LEFT(GESTIONE_PDF_FTP.NomeFile + CASE tiporeport WHEN 'D' THEN '_DP' WHEN 'M' THEN '_MP' ELSE '_' + tiporeport END + ' ',50)--NOMEFILE(50) + + LEFT(GESTIONE_PDF_FTP.NomeFile + CASE tiporeport WHEN 'D' THEN '_DP' + WHEN 'M' THEN (CASE TIP_CONTRATTO + WHEN 2 THEN '_PP' + ELSE '_MP' + END + ) + ELSE '_' + tiporeport + END + ' ',50)--NOMEFILE(50) + + '0' --ALLEGATO1(1) + + '0' --ALLEGATO2(1) + + LEFT((CASE UPPER(isnull(CONTRATTOSEI.Nazione,'')) WHEN 'ITALIA' THEN '' ELSE isnull(CONTRATTOSEI.Nazione,'') END) + ' ',30)) -- NAZIONEESTERA(30) +-- EN20170406 +-- + right (' ' + C6MARTPERIODICO.CONTRATTOSEI.Rol, 1) + + right (' ' + COALESCE(C6MARTPERIODICO.CONTRATTOSEI.Rol, 'N'), 1) + + right (' ' + C6MARTPERIODICO.CONTRATTOSEI.Cod_Fiscale, 16) + + left (coalesce(C6MARTPERIODICO.CONTRATTOSEI.Email, '') + ' ', 50) + + convert(char(8), [C6MartPeriodico].GESTIONE_PDF_FTP.DataGenerazione, 112) + + CONTRATTOSEI.COD_AGENTE + FROM [C6MartPeriodico].GESTIONE_PDF_FTP + INNER JOIN C6MARTPERIODICO.CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_PDF_FTP.Rete + AND CONTRATTOSEI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + AND CONTRATTOSEI.Rete = @RETE + AND CONTRATTOSEI.COD_FISCALE = @CF + INNER JOIN [C6MartPeriodico].ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_PDF_FTP.Rete + AND ANAG_CLIENTI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + --V INSERIMENTO CLIENTI CON BROCHURE O ALLEGATO + LEFT JOIN C6MARTPERIODICO.CLIENTI_BROCHURE CB + ON CB.Rete = GESTIONE_PDF_FTP.Rete + AND CB.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + -- + WHERE +--DATEDIFF(DAY,GESTIONE_PDF_FTP.DataInvio,GETDATE()) = 0 + -- OR DATEDIFF(DAY,GESTIONE_PDF_FTP.DataInvioRistampa,GETDATE()) = 0) + --Anche se un contratto è revocato ma abbiamo stampato il report questo va inviato + --AND + --c6mart.contrattosei.cod_fiscale like '%@%' + isnull(data_Fineavanzato,cast('99991231' as datetime)) > c6martperiodico.getTrimestre(c6martperiodico.getTrimestre(getdate(),0),0) + and + GESTIONE_PDF_FTP.id_fk_zip = @idFkzip --356 EN20160212: 1264 e 1270 + --(select max(id_fk_zip) + -- from c6martperiodico.gestione_pdf_ftp + --) + order by tiporeport desc + RETURN @RESULT +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6MartPeriodico_CONCATENA_prova_20141223.sql b/sql/Produzione/funzioni/C6MartPeriodico_CONCATENA_prova_20141223.sql new file mode 100644 index 00000000..6a005294 --- /dev/null +++ b/sql/Produzione/funzioni/C6MartPeriodico_CONCATENA_prova_20141223.sql @@ -0,0 +1,102 @@ +CREATE FUNCTION [C6MartPeriodico].[CONCATENA_prova_20141223] +( + @RETE as varchar(1), + @CF as varchar(16) +) +RETURNS VARCHAR(MAX) +AS +BEGIN + -- Declare the return variable here + DECLARE @RESULT AS VARCHAR(MAX) + DECLARE @FIDUCIARIA AS CHAR(1) + DECLARE @BROCHURE AS CHAR(1) + declare @idFkzip int + select @idFkzip=max(id_fk_zip) + from c6martperiodico.gestione_pdf_ftp_prova_20141223 + SET @RESULT ='' + IF CHARINDEX('@', @CF) > 0 + SET @FIDUCIARIA = 'S' + ELSE + SET @FIDUCIARIA = 'N' + -- ***** LISTA DEI CAMPI E DELLE LUNGHEZZE ***** + -- FlagFiduciaria (1) + -- Rete (1) + -- Brochure (1) + -- Facciate(6) + -- CppBollettini(2) + -- IDENTIFICATIVODOCUMENTO(50) + -- NOMINATIVODESTINATARIO(50) + -- VIA(50) + -- CAP(5) + -- LOCALITA(50) + -- PROVINCIA(2) + -- NAZIONE(1) + -- TIPOPOSTALIZZAZIONE(2) + -- FILESPOOL(50) + -- ALLEGATO1(1) + -- ALLEGATO2(1) + -- NAZIONEESTERA(30) + SET @CF = REPLACE(@CF,'$$','@') + SELECT + @RESULT = @RESULT + --V Inserimento nuovi flag + + @FIDUCIARIA + + @RETE + + CASE WHEN CB.COD_FISCALE IS NULL THEN 'N' ELSE 'S' END + --FINE INSERIMENTO NUOVI FLAG + + + + (right('000000' + cast(isnull(GESTIONE_PDF_FTP_prova_20141223.numeroPagine,0) as varchar(6)),6) -- Facciate(6) + + '00' --CppBollettini(2) + + ' ' --IDENTIFICATIVODOCUMENTO(50) + + LEFT(isnull(ANAG_CLIENTI.Nome,'NOME') + ' ' + ISNULL(ANAG_CLIENTI.Cognome,'COGNOME') + ' ',50) -- NOMINATIVODESTINATARIO(50) + + LEFT(isnull(CONTRATTOSEI.Indirizzo,'') + ' ',50) --VIA(50) + + LEFT(isnull(CONTRATTOSEI.CAP,'') + ' ',5) --CAP(5) + + LEFT(isnull(CONTRATTOSEI.Citta,'') + ' ',50) --LOCALITA(50) + + LEFT(isnull(CONTRATTOSEI.Prov,'') + ' ',2)--PROVINCIA(2) + + (CASE UPPER(isnull(CONTRATTOSEI.Nazione,'')) WHEN 'ITALIA' THEN 'I' ELSE 'E' END) -- IoE(1) + + 'PE' --TIPOPOSTALIZZAZIONE(2) + + LEFT(GESTIONE_PDF_FTP_prova_20141223.NomeFile + CASE tiporeport WHEN 'D' THEN '_DP' + WHEN 'M' THEN (CASE TIP_CONTRATTO + WHEN 2 THEN '_PP' + ELSE '_MP' + END + ) + ELSE '_' + tiporeport + END + ' ',50)--NOMEFILE(50) + + '0' --ALLEGATO1(1) + + '0' --ALLEGATO2(1) + + LEFT((CASE UPPER(isnull(CONTRATTOSEI.Nazione,'')) WHEN 'ITALIA' THEN '' ELSE isnull(CONTRATTOSEI.Nazione,'') END) + ' ',30)) -- NAZIONEESTERA(30) + + right (' ' + C6MARTPERIODICO.CONTRATTOSEI.Rol, 1) + + right (' ' + C6MARTPERIODICO.CONTRATTOSEI.Cod_Fiscale, 16) + + left (coalesce(C6MARTPERIODICO.CONTRATTOSEI.Email, '') + ' ', 50) + + convert(char(8), [C6MartPeriodico].GESTIONE_PDF_FTP_prova_20141223.DataGenerazione, 112) + + CONTRATTOSEI.COD_AGENTE + FROM [C6MartPeriodico].GESTIONE_PDF_FTP_prova_20141223 + INNER JOIN C6MARTPERIODICO.CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_PDF_FTP_prova_20141223.Rete + AND CONTRATTOSEI.COD_FISCALE = GESTIONE_PDF_FTP_prova_20141223.CodiceFiscale + AND CONTRATTOSEI.Rete = @RETE + AND CONTRATTOSEI.COD_FISCALE = @CF + INNER JOIN [C6MartPeriodico].ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_PDF_FTP_prova_20141223.Rete + AND ANAG_CLIENTI.COD_FISCALE = GESTIONE_PDF_FTP_prova_20141223.CodiceFiscale + --V INSERIMENTO CLIENTI CON BROCHURE O ALLEGATO + LEFT JOIN C6MARTPERIODICO.CLIENTI_BROCHURE CB + ON CB.Rete = GESTIONE_PDF_FTP_prova_20141223.Rete + AND CB.COD_FISCALE = GESTIONE_PDF_FTP_prova_20141223.CodiceFiscale + -- + WHERE +--DATEDIFF(DAY,GESTIONE_PDF_FTP.DataInvio,GETDATE()) = 0 + -- OR DATEDIFF(DAY,GESTIONE_PDF_FTP.DataInvioRistampa,GETDATE()) = 0) + --Anche se un contratto è revocato ma abbiamo stampato il report questo va inviato + --AND + --c6mart.contrattosei.cod_fiscale like '%@%' + isnull(data_Fineavanzato,cast('99991231' as datetime)) > c6martperiodico.getTrimestre(c6martperiodico.getTrimestre(getdate(),0),0) + and + GESTIONE_PDF_FTP_prova_20141223.id_fk_zip = @idFkzip --356 + -- (select max(id_fk_zip) + -- from c6martperiodico.gestione_pdf_ftp + -- ) + order by tiporeport desc + RETURN @RESULT +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6MartPeriodico_CONC_DEB.sql b/sql/Produzione/funzioni/C6MartPeriodico_CONC_DEB.sql new file mode 100644 index 00000000..373faa66 --- /dev/null +++ b/sql/Produzione/funzioni/C6MartPeriodico_CONC_DEB.sql @@ -0,0 +1,64 @@ +CREATE FUNCTION [C6MartPeriodico].[CONC_DEB] +( + @RETE as varchar(1), + @CF as varchar(16), + @ID_ZIP as smallint +) +RETURNS VARCHAR(MAX) +AS +BEGIN + -- Declare the return variable here + DECLARE @RESULT AS VARCHAR(MAX) + SET @RESULT ='' + -- ***** LISTA DEI CAMPI E DELLE LUNGHEZZE ***** + -- Facciate(6) + -- CppBollettini(2) + -- IDENTIFICATIVODOCUMENTO(50) + -- NOMINATIVODESTINATARIO(50) + -- VIA(50) + -- CAP(5) + -- LOCALITA(50) + -- PROVINCIA(2) + -- NAZIONE(1) + -- TIPOPOSTALIZZAZIONE(2) + -- FILESPOOL(50) + -- ALLEGATO1(1) + -- ALLEGATO2(1) + -- NAZIONEESTERA(30) + SET @CF = REPLACE(@CF,'$$','@') + SELECT + @RESULT = @RESULT + + (right('000000' + cast(isnull(GESTIONE_PDF_FTP.numeroPagine,0) as varchar(6)),6) -- Facciate(6) + + '00' --CppBollettini(2) + + ' ' --IDENTIFICATIVODOCUMENTO(50) + + LEFT(isnull(ANAG_CLIENTI.Nome,'NOME') + ' ' + ISNULL(ANAG_CLIENTI.Cognome,'COGNOME') + ' ',50) -- NOMINATIVODESTINATARIO(50) + + LEFT(isnull(CONTRATTOSEI.Indirizzo,'') + ' ',50) --VIA(50) + + LEFT(isnull(CONTRATTOSEI.CAP,'') + ' ',5) --CAP(5) + + LEFT(isnull(CONTRATTOSEI.Citta,'') + ' ',50) --LOCALITA(50) + + LEFT(isnull(CONTRATTOSEI.Prov,'') + ' ',2)--PROVINCIA(2) + + (CASE UPPER(isnull(CONTRATTOSEI.Nazione,'')) WHEN 'ITALIA' THEN 'I' ELSE 'E' END) -- IoE(1) + + 'PE' --TIPOPOSTALIZZAZIONE(2) + + LEFT(GESTIONE_PDF_FTP.NomeFile + CASE tiporeport WHEN 'D' THEN '_DP' WHEN 'M' THEN '_MP' ELSE '_' + tiporeport END + ' ',50)--NOMEFILE(50) + + '0' --ALLEGATO1(1) + + '0' --ALLEGATO2(1) + + LEFT((CASE UPPER(CONTRATTOSEI.Nazione) WHEN 'ITALIA' THEN '' ELSE CONTRATTOSEI.Nazione END) + ' ',30)) -- NAZIONEESTERA(30) + FROM [C6MartPeriodico].GESTIONE_PDF_FTP + INNER JOIN C6MART.CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_PDF_FTP.Rete + AND CONTRATTOSEI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + AND CONTRATTOSEI.Rete = @RETE + AND CONTRATTOSEI.COD_FISCALE = @CF + INNER JOIN [C6MartPeriodico].ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_PDF_FTP.Rete + AND ANAG_CLIENTI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + WHERE +--DATEDIFF(DAY,GESTIONE_PDF_FTP.DataInvio,GETDATE()) = 0 + -- OR DATEDIFF(DAY,GESTIONE_PDF_FTP.DataInvioRistampa,GETDATE()) = 0) + --Anche se un contratto è revocato ma abbiamo stampato il report questo va inviato + --AND + --c6mart.contrattosei.cod_fiscale like '%@%' +isnull(data_Fineavanzato,cast('99991231' as datetime)) > c6martperiodico.getTrimestre(c6martperiodico.getTrimestre(getdate(),0),0) + AND GESTIONE_PDF_FTP.id_fk_zip = @ID_ZIP + order by tiporeport desc + RETURN @RESULT +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6MartPeriodico_Codifica_CRisk_PhotoData.sql b/sql/Produzione/funzioni/C6MartPeriodico_Codifica_CRisk_PhotoData.sql new file mode 100644 index 00000000..5e55cb32 --- /dev/null +++ b/sql/Produzione/funzioni/C6MartPeriodico_Codifica_CRisk_PhotoData.sql @@ -0,0 +1,24 @@ +CREATE function [C6MartPeriodico].[Codifica_CRisk_PhotoData] +( + @stringaCRisk_PhotoData as varchar(50) +) +RETURNS smallint +AS +BEGIN + declare @classeNum as smallint + SET @classeNum = + CASE + when (@stringaCRisk_PhotoData is null) then null + when (@stringaCRisk_PhotoData = 'n.a.') then 0 + when (@stringaCRisk_PhotoData = 'Classe A') then 1 + when (@stringaCRisk_PhotoData = 'Classe B') then 2 + when (@stringaCRisk_PhotoData = 'Classe C') then 3 + when (@stringaCRisk_PhotoData = 'Classe D') then 4 + when (@stringaCRisk_PhotoData = 'Classe 1') then 1 + when (@stringaCRisk_PhotoData = 'Classe 2') then 2 + when (@stringaCRisk_PhotoData = 'Classe 3') then 3 + when (@stringaCRisk_PhotoData = 'Oltre
Classe 3') then 4 + when (@stringaCRisk_PhotoData = 'Oltre Classe 3') then 4 + end + return @classeNum +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6MartPeriodico_CreaPositionIDCS.sql b/sql/Produzione/funzioni/C6MartPeriodico_CreaPositionIDCS.sql new file mode 100644 index 00000000..26c0989f --- /dev/null +++ b/sql/Produzione/funzioni/C6MartPeriodico_CreaPositionIDCS.sql @@ -0,0 +1,56 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE FUNCTION [C6MartPeriodico].[CreaPositionIDCS] +( + @TipoProdotto VARCHAR(5)='', + @CodInterno VARCHAR(13)='', + @CodMAF VARCHAR(13)='', + @CodSottoprodotto VARCHAR(13)='', + @CodiceContratto VARCHAR(11)='', + @NumeroPolizza VARCHAR(11)= '', + @Conto VARCHAR(12)= '', + @Rubricato VARCHAR(4)='', + @CustodiaGaranzia VARCHAR(1)='', + @Termid VARCHAR(8)='', + @Anno DECIMAL(3)=0, + @Prog DECIMAL(9)=0 +) +RETURNS VARCHAR(129) +AS +BEGIN + -- Declare the return variable here + DECLARE @ResultVar VARCHAR(129) + -- Add the T-SQL statements to compute the return value here + SET @ResultVar = + CASE + WHEN @TipoProdotto = 'CC' THEN '' + ELSE C6StagingPeriodico.Info_DaProdottoCSaCatalogo( + @TipoProdotto, + @CodInterno, + @CodMAF, + '', + @CodSottoProdotto + ) + END + + + dbo.Crea_PositionID( + @TipoProdotto, + @CodInterno, + @CodMAF, + '', + @CodSottoProdotto, + @CodiceContratto, + @NumeroPolizza, + @Conto, + @Rubricato, + @CustodiaGaranzia, + @Termid, + @Anno, + @Prog + ) + -- Return the result of the function + RETURN @ResultVar +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6MartPeriodico_FrequenzaElab.sql b/sql/Produzione/funzioni/C6MartPeriodico_FrequenzaElab.sql new file mode 100644 index 00000000..922d549c --- /dev/null +++ b/sql/Produzione/funzioni/C6MartPeriodico_FrequenzaElab.sql @@ -0,0 +1,30 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE FUNCTION [C6MartPeriodico].[FrequenzaElab] +( +) +RETURNS +@pippo TABLE +( + -- Add the column definitions for the TABLE variable here + periodo varchar(1) +) +AS +BEGIN + declare @tipoElab varchar(1) + select @tipoElab=C6MartPeriodico.getTipoElab(); + INSERT INTO @pippo + SELECT 'T' AS PERIODO + if @tipoElab = 'S' + INSERT INTO @pippo + SELECT 'S' AS PERIODO + if @tipoElab = 'A' + INSERT INTO @pippo + SELECT 'S' AS PERIODO + UNION ALL + SELECT 'A' + RETURN +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6MartPeriodico_GetPercentualePiramideMod.sql b/sql/Produzione/funzioni/C6MartPeriodico_GetPercentualePiramideMod.sql new file mode 100644 index 00000000..5bcaa441 --- /dev/null +++ b/sql/Produzione/funzioni/C6MartPeriodico_GetPercentualePiramideMod.sql @@ -0,0 +1,53 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE FUNCTION [C6MartPeriodico].[GetPercentualePiramideMod] +( + -- Add the parameters for the function here + @CodFis as varchar(20), + @rete as varchar(1), + @area as varchar(5) +) +RETURNS decimal(10,2) +AS +BEGIN + -- Declare the return variable here + DECLARE @perc as decimal(10,2) + --DECLARE @perc2 as decimal(10,2) + -- Add the T-SQL statements to compute the return value here + --IF @area = 'Pre' + --begin + --SELECT @perc = Sum(pmod.Perc_Area) + --FROM [C6StampeCentralizzate].[C6MartPeriodico].[PIRAMIDE_MOD] pmod + --inner join [C6StampeCentralizzate].[C6MartPeriodico].Area_Bisogno ar on pmod.id_area=ar.Id_area + --where pmod.COD_FISCALE = @CodFis + --and pmod.rete = @rete + --and ar.Id_area = @area + ----and ar.Id_area in ('Liq','Ris','Pre','Pre1','Inv','Ext') + --group by ar.Id_area,ar.Nome_area + --SELECT @perc2 = Sum(pmod.Perc_Area) + --FROM [C6StampeCentralizzate].[C6MartPeriodico].[PIRAMIDE_MOD] pmod + --inner join [C6StampeCentralizzate].[C6MartPeriodico].Area_Bisogno ar on pmod.id_area=ar.Id_area + --where pmod.COD_FISCALE = @CodFis + --and pmod.rete = @rete + --and ar.Id_area = 'Pre1' + ----and ar.Id_area in ('Liq','Ris','Pre','Pre1','Inv','Ext') + --group by ar.Id_area,ar.Nome_area + --Set @perc = @perc + @perc2; + --end; + --Else + --begin + SELECT @perc = Sum(pmod.Perc_Area) + FROM [C6StampeCentralizzate].[C6MartPeriodico].[PIRAMIDE_MOD] pmod + inner join [C6StampeCentralizzate].[C6MartPeriodico].Area_Bisogno ar on pmod.id_area=ar.Id_area + where pmod.COD_FISCALE = @CodFis + and pmod.rete = @rete + and ar.Id_area = @area + --and ar.Id_area in ('Liq','Ris','Pre','Pre1','Inv','Ext') + group by ar.Id_area,ar.Nome_area + --end; + -- Return the result of the function + RETURN @perc +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6MartPeriodico_Replace_Testo_Lettera_Benvenuto.sql b/sql/Produzione/funzioni/C6MartPeriodico_Replace_Testo_Lettera_Benvenuto.sql new file mode 100644 index 00000000..5e0ef4ac --- /dev/null +++ b/sql/Produzione/funzioni/C6MartPeriodico_Replace_Testo_Lettera_Benvenuto.sql @@ -0,0 +1,95 @@ +CREATE FUNCTION [c6martperiodico].[Replace_Testo_Lettera_Benvenuto] +( + @CODICE_CONTRATTO as varchar(16) = '', + @FREQUENZA_DIAGN as varchar(16) = '', + @FREQUENZA_MONITOR as varchar(16) = '', + @COGNOME as varchar(20) = '', + @NOME as varchar(20) = '', + @TIPO_REPORT as varchar(100) = '', + @INDIRIZZO as varchar(20) = '', + @DATA as datetime = null, + @DATA_RICHIESTA_RISTAMPA as datetime = null, + @DATA_GENERAZIONE_REPORT as datetime = null, + @TESTO as TEXT = '' +) +RETURNS varchar(5000) +AS +BEGIN + DECLARE @TESTO_DI_RITORNO as varchar(5000) + DECLARE @REPORTISTICA as varchar(100) + DECLARE @DATACONVERTITA as varchar(100) + if @FREQUENZA_DIAGN is null + BEGIN + SET @REPORTISTICA = 'Report di Monitoraggio'; + --SET @TIPO_REPORT_D = ''; + --SET @FREQUENZA_DIAGN = ''; + END + else + BEGIN + --if @FREQUENZA_DIAGN = 'T' + --SET @FREQUENZA_DIAGN = 'Trimestrale'; + --if @FREQUENZA_DIAGN = 'S' + --SET @FREQUENZA_DIAGN = 'Semestrale'; + --if @FREQUENZA_DIAGN = 'A' + --SET @FREQUENZA_DIAGN = 'Annuale'; + SET @REPORTISTICA = 'Report di Diagnosi e Monitoraggio'; + END + --if @FREQUENZA_MONITOR is null + --BEGIN + --SET @TIPO_REPORT_M = ''; + --SET @FREQUENZA_MONITOR = ''; + --END + --else + --BEGIN + --if @FREQUENZA_MONITOR = 'T' + --SET @FREQUENZA_MONITOR = 'Trimestrale'; + --if @FREQUENZA_MONITOR = 'S' + --SET @FREQUENZA_MONITOR = 'Semestrale'; + --if @FREQUENZA_MONITOR = 'A' + --SET @FREQUENZA_MONITOR = 'Annuale'; + --SET @TIPO_REPORT_M = '[' +@TIPO_REPORT_M + ', ' + @FREQUENZA_MONITOR+']'; + --END + SET @TESTO_DI_RITORNO = @TESTO + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'\r\n',char(10)); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'\t',char(8)); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$CONTRACT_ID$/',@CODICE_CONTRATTO); + if not @DATA is null + BEGIN + SET @DATACONVERTITA = [dbo].[FormatDate_Testo_Lettera_Benvenuto](@DATA); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$DATE$/',@DATACONVERTITA); + END +--SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$DATE$/',CONVERT(VARCHAR(10), @DATA, 103)); + else + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$DATE$/',''); + if not @DATA_RICHIESTA_RISTAMPA is null + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$reprint_date_req$/',CONVERT(VARCHAR(10), @DATA_RICHIESTA_RISTAMPA, 103)); + else + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$reprint_date_req$/',''); + if not @DATA_GENERAZIONE_REPORT is null + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$GENERATION_REP_DATE$/',CONVERT(VARCHAR(10), @DATA_GENERAZIONE_REPORT, 103)); + else + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$GENERATION_REP_DATE$/',''); + ---- MODIFICARE PER MONITORAGGIO FARSI PASSARE L'ARGOMENTO DAL RM + --- Inserire il caso del monitoraggio + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$report_type$/',@TIPO_REPORT); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$LASTNAME$/',@COGNOME); + if NOT @NOME IS NULL + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$NAME$/',@NOME); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$REPORTISCA$/',@REPORTISTICA); + -- + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$TIPO$/',@TIPO_REPORT); + -- + --SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$REPORT_TYPE_MONITORAGGIO$/',@TIPO_REPORT_M); +-- SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$FREQUENCY_DIAGNOSI$/',@FREQUENZA_DIAGN); +-- SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$FREQUENCY_MONITORAGGIO$/',@FREQUENZA_MONITOR); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$ADDRESS$/',@INDIRIZZO); + if not @DATA_RICHIESTA_RISTAMPA is null + begin + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$REPRINT_DATE_REQ$/',@DATA_RICHIESTA_RISTAMPA); + end + if not @DATA_GENERAZIONE_REPORT is null + begin + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$GENERATION_REP_DATE$/',@DATA_GENERAZIONE_REPORT); + end + RETURN @TESTO_DI_RITORNO +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6MartPeriodico_getAppellativo.sql b/sql/Produzione/funzioni/C6MartPeriodico_getAppellativo.sql new file mode 100644 index 00000000..a2130008 --- /dev/null +++ b/sql/Produzione/funzioni/C6MartPeriodico_getAppellativo.sql @@ -0,0 +1,31 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE FUNCTION [C6MartPeriodico].[getAppellativo] +( + -- Add the parameters for the function here + @Sesso varchar(1), + @Cod_fiscale varchar(16) +) +RETURNS VARCHAR(150) +AS +BEGIN + -- Declare the return variable here + DECLARE @Appellativo VARCHAR(150) + IF(LEN(@Cod_fiscale) = 16 AND CHARINDEX('@',@Cod_fiscale) = 0) + BEGIN + IF(@Sesso = 'F') + --SET @Appellativo = 'Gent. Sig.ra' + SET @Appellativo = 'Gentile signora' + ELSE + --SET @Appellativo = 'Egr. Sig.' + SET @Appellativo = 'Gentile signore' + END + ELSE + --SET @Appellativo = 'Spett.le' + SET @Appellativo = 'Spettabile' + -- Return the result of the function + RETURN @Appellativo +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6MartPeriodico_getCreditRiskClass.sql b/sql/Produzione/funzioni/C6MartPeriodico_getCreditRiskClass.sql new file mode 100644 index 00000000..4f76e58a --- /dev/null +++ b/sql/Produzione/funzioni/C6MartPeriodico_getCreditRiskClass.sql @@ -0,0 +1,23 @@ +CREATE FUNCTION [C6MartPeriodico].[getCreditRiskClass] +( + @ully as decimal(10,3), + @NumTitRc as smallint +) +RETURNS smallint +AS +BEGIN + -- Declare the return variable here + DECLARE @creditClassRisk as smallint + SET @ully = @ully/100 + -- Add the T-SQL statements to compute the return value here + IF @NumTitRc > 0 + begin + SELECT @creditClassRisk = + profilo + from C6MartPeriodico.[CODIFICA_CREDITRISK] + where min_val <= @ully and @ully <= max_val + end + else + set @creditClassRisk = null + RETURN @creditClassRisk +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6MartPeriodico_getCreditRiskClassEmit.sql b/sql/Produzione/funzioni/C6MartPeriodico_getCreditRiskClassEmit.sql new file mode 100644 index 00000000..f899591e --- /dev/null +++ b/sql/Produzione/funzioni/C6MartPeriodico_getCreditRiskClassEmit.sql @@ -0,0 +1,23 @@ +CREATE FUNCTION [C6MartPeriodico].[getCreditRiskClassEmit] +( + @ully as decimal(10,3), + @NumTitRc as smallint +) +RETURNS smallint +AS +BEGIN + -- Declare the return variable here + DECLARE @creditClassRisk as smallint + SET @ully = @ully/100 + -- Add the T-SQL statements to compute the return value here + IF @NumTitRc > 0 + begin + SELECT @creditClassRisk = + ordine + from C6MartPeriodico.RischioEmittenti + where min <= @ully and @ully <= max + end + else + set @creditClassRisk = null + RETURN @creditClassRisk +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6MartPeriodico_getDESPRODCAT.sql b/sql/Produzione/funzioni/C6MartPeriodico_getDESPRODCAT.sql new file mode 100644 index 00000000..7cc5895e --- /dev/null +++ b/sql/Produzione/funzioni/C6MartPeriodico_getDESPRODCAT.sql @@ -0,0 +1,87 @@ +-- select a=[C6MartPeriodico].[getDESPRODCAT]('04863590',NULL) +CREATE FUNCTION [C6MartPeriodico].[getDESPRODCAT] +( + @CODPROD as varchar(8), + @SUBPROD as varchar(5) +) +RETURNS varchar(128) +AS +BEGIN +DECLARE @DESPROD as varchar(128) +DECLARE @conta as smallint +SET @DESPROD = '' +if @SUBPROD is null + BEGIN + SELECT @conta = count(nomeProdotto) FROM c6StagingPeriodico.RP_CatalogoProdotti +WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO IS NULL AND visibilita = 1 +IF @conta = 1 + SELECT @DESPROD = nomeProdotto FROM c6StagingPeriodico.RP_CatalogoProdotti + WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO IS NULL AND visibilita = 1 +ELSE + BEGIN + SELECT @conta = count(nomeProdotto) FROM c6StagingPeriodico.RP_CatalogoProdotti + WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO = @CODPROD AND visibilita = 1 + IF @conta = 1 + SELECT @DESPROD = nomeProdotto FROM c6StagingPeriodico.RP_CatalogoProdotti + WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO = @CODPROD AND visibilita = 1 + ELSE + BEGIN + SELECT @conta = count(nomeProdotto) FROM c6StagingPeriodico.RP_CatalogoProdotti + WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO IS NULL + IF @conta = 1 + SELECT @DESPROD = nomeProdotto FROM c6StagingPeriodico.RP_CatalogoProdotti + WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO IS NULL + ELSE + BEGIN + SELECT @conta = count(nomeProdotto) FROM c6StagingPeriodico.RP_CatalogoProdotti + WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO = @CODPROD + IF @conta = 1 + SELECT @DESPROD = nomeProdotto FROM c6StagingPeriodico.RP_CatalogoProdotti + WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO = @CODPROD + END + END + END + END +ELSE +SELECT @conta = count(nomeProdotto) FROM c6StagingPeriodico.RP_CatalogoProdotti +WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO = @SUBPROD AND visibilita = 1 +IF @conta = 1 + SELECT @DESPROD = nomeProdotto FROM c6StagingPeriodico.RP_CatalogoProdotti + WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO = @SUBPROD AND visibilita = 1 +ELSE + BEGIN + SELECT @conta = count(nomeProdotto) FROM c6StagingPeriodico.RP_CatalogoProdotti + WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO = @CODPROD AND visibilita = 1 + IF @conta = 1 + SELECT @DESPROD = nomeProdotto FROM c6StagingPeriodico.RP_CatalogoProdotti + WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO = @CODPROD AND visibilita = 1 + ELSE + BEGIN + SELECT @conta = count(nomeProdotto) FROM c6StagingPeriodico.RP_CatalogoProdotti + WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO = @SUBPROD + IF @conta = 1 + SELECT @DESPROD = nomeProdotto FROM c6StagingPeriodico.RP_CatalogoProdotti + WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO = @SUBPROD + ELSE + BEGIN + SELECT @conta = count(nomeProdotto) FROM c6StagingPeriodico.RP_CatalogoProdotti + WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO = @CODPROD + IF @conta = 1 + SELECT @DESPROD = nomeProdotto FROM c6StagingPeriodico.RP_CatalogoProdotti + WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO = @CODPROD + ELSE + BEGIN + IF @SUBPROD in ('L191', 'L192','V301','V302') + BEGIN + SELECT @conta = count(nomeProdotto) FROM c6StagingPeriodico.RP_CatalogoProdotti + WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO = @SUBPROD AND CODISIN IS NULL + IF @conta = 1 + SELECT @DESPROD = nomeProdotto FROM c6StagingPeriodico.RP_CatalogoProdotti + WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO = @SUBPROD AND CODISIN IS NULL + END + END + END + END + END +RETURN @DESPROD +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6MartPeriodico_getDESPRODCAT_20170117.sql b/sql/Produzione/funzioni/C6MartPeriodico_getDESPRODCAT_20170117.sql new file mode 100644 index 00000000..9981a8b9 --- /dev/null +++ b/sql/Produzione/funzioni/C6MartPeriodico_getDESPRODCAT_20170117.sql @@ -0,0 +1,87 @@ +-- select a=[C6MartPeriodico].[getDESPRODCAT]('04863590',NULL) +CREATE FUNCTION [C6MartPeriodico].[getDESPRODCAT_20170117] +( + @CODPROD as varchar(8), + @SUBPROD as varchar(5) +) +RETURNS varchar(128) +AS +BEGIN +DECLARE @DESPROD as varchar(128) +DECLARE @conta as smallint +SET @DESPROD = '' +if @SUBPROD is null + BEGIN + SELECT @conta = count(nomeProdotto) FROM c6StagingPeriodico.RP_CatalogoProdotti +WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO IS NULL AND visibilita = 1 +IF @conta = 1 + SELECT @DESPROD = nomeProdotto FROM c6StagingPeriodico.RP_CatalogoProdotti + WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO IS NULL AND visibilita = 1 +ELSE + BEGIN + SELECT @conta = count(nomeProdotto) FROM c6StagingPeriodico.RP_CatalogoProdotti + WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO = @CODPROD AND visibilita = 1 + IF @conta = 1 + SELECT @DESPROD = nomeProdotto FROM c6StagingPeriodico.RP_CatalogoProdotti + WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO = @CODPROD AND visibilita = 1 + ELSE + BEGIN + SELECT @conta = count(nomeProdotto) FROM c6StagingPeriodico.RP_CatalogoProdotti + WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO IS NULL + IF @conta = 1 + SELECT @DESPROD = nomeProdotto FROM c6StagingPeriodico.RP_CatalogoProdotti + WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO IS NULL + ELSE + BEGIN + SELECT @conta = count(nomeProdotto) FROM c6StagingPeriodico.RP_CatalogoProdotti + WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO = @CODPROD + IF @conta = 1 + SELECT @DESPROD = nomeProdotto FROM c6StagingPeriodico.RP_CatalogoProdotti + WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO = @CODPROD + END + END + END + END +ELSE +SELECT @conta = count(nomeProdotto) FROM c6StagingPeriodico.RP_CatalogoProdotti +WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO = @SUBPROD AND visibilita = 1 +IF @conta = 1 + SELECT @DESPROD = nomeProdotto FROM c6StagingPeriodico.RP_CatalogoProdotti + WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO = @SUBPROD AND visibilita = 1 +ELSE + BEGIN + SELECT @conta = count(nomeProdotto) FROM c6StagingPeriodico.RP_CatalogoProdotti + WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO = @CODPROD AND visibilita = 1 + IF @conta = 1 + SELECT @DESPROD = nomeProdotto FROM c6StagingPeriodico.RP_CatalogoProdotti + WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO = @CODPROD AND visibilita = 1 + ELSE + BEGIN + SELECT @conta = count(nomeProdotto) FROM c6StagingPeriodico.RP_CatalogoProdotti + WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO = @SUBPROD + IF @conta = 1 + SELECT @DESPROD = nomeProdotto FROM c6StagingPeriodico.RP_CatalogoProdotti + WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO = @SUBPROD + ELSE + BEGIN + SELECT @conta = count(nomeProdotto) FROM c6StagingPeriodico.RP_CatalogoProdotti + WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO = @CODPROD + IF @conta = 1 + SELECT @DESPROD = nomeProdotto FROM c6StagingPeriodico.RP_CatalogoProdotti + WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO = @CODPROD + ELSE + BEGIN + IF @SUBPROD in ('L191','L192') + BEGIN + SELECT @conta = count(nomeProdotto) FROM c6StagingPeriodico.RP_CatalogoProdotti + WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO = @SUBPROD AND CODISIN IS NULL + IF @conta = 1 + SELECT @DESPROD = nomeProdotto FROM c6StagingPeriodico.RP_CatalogoProdotti + WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO = @SUBPROD AND CODISIN IS NULL + END + END + END + END + END +RETURN @DESPROD +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6MartPeriodico_getDESPRODCAT_BCK.sql b/sql/Produzione/funzioni/C6MartPeriodico_getDESPRODCAT_BCK.sql new file mode 100644 index 00000000..6f16c710 --- /dev/null +++ b/sql/Produzione/funzioni/C6MartPeriodico_getDESPRODCAT_BCK.sql @@ -0,0 +1,43 @@ +--C6MartPeriodico].[getDESPRODCAT]('1','1') +CREATE FUNCTION [C6MartPeriodico].[getDESPRODCAT_BCK] +( + @CODPROD as varchar(8), + @SUBPROD as varchar(5) +) +RETURNS varchar(128) +AS +BEGIN +DECLARE @DESPROD as varchar(128) +DECLARE @conta as smallint +SET @DESPROD = '' +SELECT @conta = count(cataloguename) FROM c6StagingPeriodico.catitemref +WHERE COD_INTERNO = @CODPROD AND COD_SOTTOPRODOTTO = @SUBPROD AND ISVISIBLE = 1 +IF @conta = 1 + SELECT @DESPROD = cataloguename FROM c6StagingPeriodico.catitemref + WHERE COD_INTERNO = @CODPROD AND COD_SOTTOPRODOTTO = @SUBPROD AND ISVISIBLE = 1 +ELSE + BEGIN + SELECT @conta = count(cataloguename) FROM c6StagingPeriodico.catitemref + WHERE COD_INTERNO = @CODPROD AND COD_SOTTOPRODOTTO = @CODPROD AND ISVISIBLE = 1 + IF @conta = 1 + SELECT @DESPROD = cataloguename FROM c6StagingPeriodico.catitemref + WHERE COD_INTERNO = @CODPROD AND COD_SOTTOPRODOTTO = @CODPROD AND ISVISIBLE = 1 + ELSE + BEGIN + SELECT @conta = count(cataloguename) FROM c6StagingPeriodico.catitemref + WHERE COD_INTERNO = @CODPROD AND COD_SOTTOPRODOTTO = @SUBPROD + IF @conta = 1 + SELECT @DESPROD = cataloguename FROM c6StagingPeriodico.catitemref + WHERE COD_INTERNO = @CODPROD AND COD_SOTTOPRODOTTO = @SUBPROD + ELSE + BEGIN + SELECT @conta = count(cataloguename) FROM c6StagingPeriodico.catitemref + WHERE COD_INTERNO = @CODPROD AND COD_SOTTOPRODOTTO = @CODPROD + IF @conta = 1 + SELECT @DESPROD = cataloguename FROM c6StagingPeriodico.catitemref + WHERE COD_INTERNO = @CODPROD AND COD_SOTTOPRODOTTO = @CODPROD + END + END + END +RETURN @DESPROD +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6MartPeriodico_getDataCongelamento.sql b/sql/Produzione/funzioni/C6MartPeriodico_getDataCongelamento.sql new file mode 100644 index 00000000..07c526c5 --- /dev/null +++ b/sql/Produzione/funzioni/C6MartPeriodico_getDataCongelamento.sql @@ -0,0 +1,20 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE FUNCTION [C6MartPeriodico].[getDataCongelamento] +( +) +RETURNS DATETIME +AS +BEGIN + -- Declare the return variable here + DECLARE @ResultVar DATETIME + SELECT + @ResultVar = DATA_CONGELAMENTO + FROM + C6MartPeriodico.CONGELAMENTO_SEI + -- Return the result of the function + RETURN @ResultVar +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6MartPeriodico_getDateTrimestre.sql b/sql/Produzione/funzioni/C6MartPeriodico_getDateTrimestre.sql new file mode 100644 index 00000000..ded5c891 --- /dev/null +++ b/sql/Produzione/funzioni/C6MartPeriodico_getDateTrimestre.sql @@ -0,0 +1,35 @@ +-- @NumTrim = 0 (Corrente) +-- @NumTrim = 1 (Precedente) +-- @NumTrim = 2 (Precedente - 1) +-- @WhichDate = 0 (Inizio Trimestre) +-- @WhichDate = 1 (Fine Trimestre (prec.)) +-- @DataFineGenerazione = 0 (Data Fine del Trim (prec.)) +-- @DataFineGenerazione = 1 (Data Fine generazione del Trimestre indicato da @NumTrim, ha senso solo quando @WhichDate = 1) +-- select [C6MartPeriodico].[getDateTrimestre] (0, 1, 0) +CREATE function [C6MartPeriodico].[getDateTrimestre]( + @NumTrim int, + @WhichDate bit, + @DataFineGenerazione bit +) +returns varchar(8) +as +begin + declare @data datetime + declare @retData varchar(8) +-- set @NumTrim = 2 +-- set @WhichDate = 0 +-- set @DataFineGenerazione = 1 + if @WhichDate = 0 --(Inizio) + -- Data Inizio + set @data = dateadd(d, 1, dateadd(m, -@NumTrim * 3, C6MartPeriodico.getTrimestre(getdate(),0))) + else + if @DataFineGenerazione = 0 + -- Data Fine Trimestre + set @data = dateadd(m, -@NumTrim * 3, C6MartPeriodico.getTrimestre(getdate(),0)) + else + -- Data Fine Generazione del Trimestre indicato dal parametri @NumTrim + --set @data = dateadd(m, 1, dateadd(m, -@NumTrim * 3, C6MartPeriodico.getTrimestre(getdate(),0))) + set @data = dateadd(d, -1, dateadd(m, 1, dateadd(d, 1, dateadd(m, -@NumTrim * 3, C6MartPeriodico.getTrimestre(getdate(),0))))) + set @retData = convert(varchar(4), year(@data)) + right('0' + convert(varchar(2), month(@data)), 2) + right('0' + convert(varchar(2), day(@data)), 2) + return @retData +end \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6MartPeriodico_getDescFromDate.sql b/sql/Produzione/funzioni/C6MartPeriodico_getDescFromDate.sql new file mode 100644 index 00000000..8998c0a3 --- /dev/null +++ b/sql/Produzione/funzioni/C6MartPeriodico_getDescFromDate.sql @@ -0,0 +1,43 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE FUNCTION [C6MartPeriodico].[getDescFromDate] +( + @Durata INT +) +RETURNS VARCHAR(128) +AS +BEGIN + -- Declare the return variable here + DECLARE @Desc VARCHAR(128) + DECLARE @Anni INT + DECLARE @Mesi INT + DECLARE @AnniDesc VARCHAR(64) + DECLARE @MesiDesc VARCHAR(64) + SET @Desc = '' + SET @Anni = @Durata / 12 + SET @Mesi = @Durata - (@Anni * 12) + SET @AnniDesc = '' + SET @MesiDesc = '' + IF @Anni > 0 + IF @Anni = 1 + SET @AnniDesc = @AnniDesc + '1 anno' + ELSE + SET @AnniDesc = @AnniDesc + CAST(@Anni AS VARCHAR) + ' anni' + IF @Mesi > 0 + IF @Mesi = 1 + SET @MesiDesc = @MesiDesc + '1 mese' + ELSE + SET @MesiDesc = @MesiDesc + CAST(@Mesi AS VARCHAR) + ' mesi' + IF LEN(@AnniDesc) = 0 + SET @Desc = @MesiDesc + ELSE + IF LEN(@MesiDesc) = 0 + SET @Desc = @AnniDesc + ELSE + SET @Desc = @AnniDesc + ' e ' + @MesiDesc + -- Return the result of the function + RETURN @Desc +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6MartPeriodico_getIdElab.sql b/sql/Produzione/funzioni/C6MartPeriodico_getIdElab.sql new file mode 100644 index 00000000..746cf0e0 --- /dev/null +++ b/sql/Produzione/funzioni/C6MartPeriodico_getIdElab.sql @@ -0,0 +1,18 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE FUNCTION [C6MartPeriodico].[getIdElab] +( +) +RETURNS int +AS +BEGIN + -- Declare the return variable here + DECLARE @ID_ELAB AS INT + SELECT @ID_ELAB = ISNULL(MAX(ID_ELAB),0) + FROM C6MARTPERIODICO.ELABORAZIONI + -- Return the result of the function + RETURN @ID_ELAB +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6MartPeriodico_getIndicatoreValutazione.sql b/sql/Produzione/funzioni/C6MartPeriodico_getIndicatoreValutazione.sql new file mode 100644 index 00000000..922beda4 --- /dev/null +++ b/sql/Produzione/funzioni/C6MartPeriodico_getIndicatoreValutazione.sql @@ -0,0 +1,49 @@ +----------------------------------------------------------------------------------------------- +-- LA FUNZIONE TORNA L'INDICATORE DI VALUTAZIONE (MIFID 2) PER IL CLIENTE SPECIFICATO +-- IL DOMINIO DELL'INDICATORE PASSATO E': +-- (1) - RISCHIO MERCATO +-- (2) - RISCHIO CREDITO +-- (3) - CONCENTRAZIONE EMITTENTI +-- (4) - COMPLESSITA' +-- (5) - CONCENTRAZIONE IN PRODOTTI COMPLESSI +-- (6) - FREQUENZA DELLE OPERAZIONI +-- (7) - LIQUIDITA'/LIQUIDABILITA' (ORIZZONTE TEMPORALI DEGLI INVESTIMENTI) +-- +-- select [C6MartPeriodico].[getIndicatoreValutazione] ('f','00247580970',default) +CREATE FUNCTION [C6MartPeriodico].[getIndicatoreValutazione] +( + @Rete char(1), + @CodiceFiscale varchar(16), + @indicatore smallint = 4 +) +RETURNS VARCHAR(5) +AS +BEGIN + DECLARE @retData VARCHAR(5) + DECLARE @DataFineTrim VARCHAR(8) + SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) + if @indicatore = 4 + select @retData = case + when flgprof = 'S' then 'prof' + when flagpg = 1 and flgprof = 'N' and flagnqp = 'S' and flgprlrde = 'N' then '-1' --Massimiliano dice che va messo prima di tutti senza testare altri flag 17/5/2018 + when upper(clcompl) = 'N' and + (select count(*) from [C6StagingPeriodico].[WSEIAN2] where codfis = @CodiceFiscale and dttrim = @DataFineTrim and NOCOMPL='S') > 0 then '0' + when upper(clcompl) = 'N' and flagpg = 0 then '0' + when upper(clcompl) = 'N' and flagpg = 1 and flgprlrde = 'N' then '0' + when upper(clcompl) = 'S' then '1' + end + from C6STAGINGPERIODICO.WSEIAN2 + where 1=1 + AND RETE = @Rete + and codfis like + CASE when @CodiceFiscale like '%FF@%'THEN '%%' + ELSE @CodiceFiscale + END + and codman = + CASE when @CodiceFiscale like '%FF@%' THEN substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3) + ELSE '' + END + and dttrim = @DataFineTrim + ELSE SET @retData = 'NN' -- PER IL MOMENTO RITORNO SOLO L'INDICATORE COMPLESSITA' +return @retData +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6MartPeriodico_getNextTrimestre.sql b/sql/Produzione/funzioni/C6MartPeriodico_getNextTrimestre.sql new file mode 100644 index 00000000..6a75ff8f --- /dev/null +++ b/sql/Produzione/funzioni/C6MartPeriodico_getNextTrimestre.sql @@ -0,0 +1,42 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE FUNCTION [C6MartPeriodico].[getNextTrimestre] +( + @data datetime, + @primo bit +) +RETURNS VARCHAR(8) +AS +BEGIN + -- Declare the return variable here + DECLARE @retData VARCHAR(8) +--select c6martperiodico.getTrimestre2(cast ('20120101' as datetime),1) +--select cast ('20110630' as datetime)-30 + -- Add the T-SQL statements to compute the return value here + IF @primo = 0 -- Restituisce l'ultimo giorno del trimestre precedente + SET @retData = + CASE + WHEN @data >= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreMarzo') AS DATETIME) -30 AND @data < CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreGiugno') AS DATETIME) - 29 THEN CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreGiugno') + WHEN @data >= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreGiugno') AS DATETIME) - 29 AND @data < CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreSettembre') AS DATETIME) - 29 THEN CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreSettembre') + WHEN @data >= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreSettembre') AS DATETIME) -29 AND @data < CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreDicembre') AS DATETIME) - 30 THEN CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreDicembre') + WHEN @data >= CAST(YEAR(@data) AS VARCHAR)+'0101' AND @data < CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreMarzo') AS DATETIME)-30 THEN CAST(YEAR(@data) - 1 AS VARCHAR) + dbo.getParametro('TrimestreMarzo') + WHEN @data >= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreDicembre') AS DATETIME) -30 AND @data <= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreDicembre') AS DATETIME) THEN CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreMarzo') + END + ELSE -- Restituisce il primo giorno del trimestre precedente + SET @retData = + CASE + WHEN @data >= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreMarzo') AS DATETIME) -30 AND @data < CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreGiugno') AS DATETIME) - 29 THEN CAST(YEAR(@data) AS VARCHAR) + SUBSTRING(dbo.getParametro('TrimestreGiugno'),1,2) + '01' + WHEN @data >= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreGiugno') AS DATETIME) - 29 AND @data < CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreSettembre') AS DATETIME) - 29 THEN CAST(YEAR(@data) AS VARCHAR) + SUBSTRING(dbo.getParametro('TrimestreSettembre'),1,2) + '01' + WHEN @data >= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreSettembre') AS DATETIME) -29 AND @data < CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreDicembre') AS DATETIME) - 30 THEN CAST(YEAR(@data) AS VARCHAR) + SUBSTRING(dbo.getParametro('TrimestreDicembre'),1,2) + '01' + WHEN @data >= CAST(YEAR(@data) AS VARCHAR)+'0101' AND @data < CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreMarzo') AS DATETIME)-16 THEN CAST(YEAR(@data) - 1 AS VARCHAR) + SUBSTRING(dbo.getParametro('TrimestreMarzo'),1,2) + '01' + WHEN @data >= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreDicembre') AS DATETIME) -30 AND @data <= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreDicembre') AS DATETIME) THEN CAST(YEAR(@data) AS VARCHAR) + SUBSTRING(dbo.getParametro('TrimestreMarzo'),1,2) + '01' + END + -- Return the result of the function + RETURN @retData +END +--select c6martperiodico.gettrimestre2(CAST('20100101' AS DATETIME),1) +--SELECT CAST(CAST(YEAR(CAST('20101216' AS DATETIME)) AS VARCHAR) + dbo.getParametro('TrimestreDICEMBRE') AS DATETIME)-16 +--CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreDicembre') AS DATETIME) \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6MartPeriodico_getNumeroElaborazioniEmailAlMese.sql b/sql/Produzione/funzioni/C6MartPeriodico_getNumeroElaborazioniEmailAlMese.sql new file mode 100644 index 00000000..96d58406 --- /dev/null +++ b/sql/Produzione/funzioni/C6MartPeriodico_getNumeroElaborazioniEmailAlMese.sql @@ -0,0 +1,18 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE FUNCTION [C6MartPeriodico].[getNumeroElaborazioniEmailAlMese] +( +) +RETURNS INT +AS +BEGIN + -- Declare the return variable here + DECLARE @NUM AS INT + select @NUM = count(*) + from C6MartPeriodico.ELABORAZIONI_EMAIL_RNA + where (DATEDIFF(MONTH, Data_Elaborazione, GETDATE()) = 0) + RETURN @NUM +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6MartPeriodico_getPreviousTrimestre.sql b/sql/Produzione/funzioni/C6MartPeriodico_getPreviousTrimestre.sql new file mode 100644 index 00000000..7546ff5c --- /dev/null +++ b/sql/Produzione/funzioni/C6MartPeriodico_getPreviousTrimestre.sql @@ -0,0 +1,54 @@ +CREATE FUNCTION [C6MartPeriodico].[getPreviousTrimestre] +( + @data datetime, + @primo bit +) +RETURNS VARCHAR(8) +AS +BEGIN + -- Declare the return variable here + DECLARE @retData VARCHAR(8) +--select c6martperiodico.getPreviousTrimestre(cast ('20120701' as datetime),0) +--select c6martperiodico.getPreviousTrimestre(getDate(),1) +--select dbo.getParametro('TrimestreSettembre') +--select cast ('20110630' as datetime)-30 +IF @primo = 0 -- Restituisce l'ultimo giorno del trimestre precedente +-- Settare per la simulazione SET @retData = '20110830' +--V Decommentare nel passaggio in produzione + SET @retData = CASE + WHEN + (@data >= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreMarzo') AS DATETIME) -30 + AND @data < CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreGiugno') AS DATETIME) - 29) + THEN CAST(YEAR(@data)-1 AS VARCHAR) + dbo.getParametro('TrimestreDicembre') + WHEN + (@data >= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreGiugno') AS DATETIME) - 29 + AND @data < CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreSettembre') AS DATETIME) - 29) + THEN CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreMarzo') + WHEN + (@data >= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreSettembre') AS DATETIME) -29 + AND @data < CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreDicembre') AS DATETIME) - 30) + THEN CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreGiugno') + WHEN + (@data >= CAST(YEAR(@data) AS VARCHAR)+'0101' + AND @data < CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreMarzo') AS DATETIME)-30) + THEN CAST(YEAR(@data) - 1 AS VARCHAR) + dbo.getParametro('TrimestreSettembre') + WHEN + (@data >= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreDicembre') AS DATETIME) -31 + AND @data <= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreDicembre') AS DATETIME) +1) + THEN CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreSettembre') + END + ELSE -- Restituisce il primo giorno del trimestre precedente +-- Settare per la simulazione SET @retData = '20110901' + SET @retData = CASE + WHEN @data >= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreMarzo') AS DATETIME) -30 AND @data < CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreGiugno') AS DATETIME) - 29 THEN CAST(YEAR(@data)-1 AS VARCHAR) + SUBSTRING(dbo.getParametro('TrimestreDicembre'),1,2) + '01' + WHEN @data >= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreGiugno') AS DATETIME) - 29 AND @data < CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreSettembre') AS DATETIME) - 29 THEN CAST(YEAR(@data) AS VARCHAR) + SUBSTRING(dbo.getParametro('TrimestreMarzo'),1,2) + '01' + WHEN @data >= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreSettembre') AS DATETIME) -29 AND @data < CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreDicembre') AS DATETIME) - 30 THEN CAST(YEAR(@data) AS VARCHAR) + SUBSTRING(dbo.getParametro('TrimestreGiugno'),1,2) + '01' + WHEN @data >= CAST(YEAR(@data) AS VARCHAR)+'0101' AND @data < CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreMarzo') AS DATETIME)-16 THEN CAST(YEAR(@data) - 1 AS VARCHAR) + SUBSTRING(dbo.getParametro('TrimestreSettembre'),1,2) + '01' + WHEN @data >= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreDicembre') AS DATETIME) -30 AND @data <= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreDicembre') AS DATETIME) +1 THEN CAST(YEAR(@data) AS VARCHAR) + SUBSTRING(dbo.getParametro('TrimestreSettembre'),1,2) + '01' + END + -- Return the result of the function + RETURN @retData +END +--select c6martperiodico.gettrimestre2(CAST('20100101' AS DATETIME),1) +--SELECT CAST(CAST(YEAR(CAST('20101216' AS DATETIME)) AS VARCHAR) + dbo.getParametro('TrimestreDICEMBRE') AS DATETIME)-16 +--CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreDicembre') AS DATETIME) \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6MartPeriodico_getTipoElab.sql b/sql/Produzione/funzioni/C6MartPeriodico_getTipoElab.sql new file mode 100644 index 00000000..f5a62ef6 --- /dev/null +++ b/sql/Produzione/funzioni/C6MartPeriodico_getTipoElab.sql @@ -0,0 +1,22 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE FUNCTION [C6MartPeriodico].[getTipoElab] +( +) +RETURNS VARCHAR(1) +AS +BEGIN + -- Declare the return variable here + DECLARE @TIPO_ELAB AS VARCHAR(1) + DECLARE @ID_ELAB AS INT + SELECT @ID_ELAB = MAX(ID_ELAB) + FROM C6MARTPERIODICO.ELABORAZIONI + SELECT @TIPO_ELAB = TIPO_ELAB + FROM C6MARTPERIODICO.ELABORAZIONI + WHERE ID_ELAB = @ID_ELAB + -- Return the result of the function + RETURN @TIPO_ELAB +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6MartPeriodico_getTrimestre.sql b/sql/Produzione/funzioni/C6MartPeriodico_getTrimestre.sql new file mode 100644 index 00000000..d9412558 --- /dev/null +++ b/sql/Produzione/funzioni/C6MartPeriodico_getTrimestre.sql @@ -0,0 +1,113 @@ +CREATE FUNCTION [C6MartPeriodico].[getTrimestre] +( + @data datetime, + @primo bit +) +RETURNS VARCHAR(8) +AS +BEGIN + -- Declare the return variable here + DECLARE @retData VARCHAR(8) + -- Add the T-SQL statements to compute the return value here + IF @primo = 0 -- Restituisce l'ultimo giorno del trimestre precedente + SET @retData = CASE + WHEN @data <= CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreMarzo') THEN CAST(YEAR(@data) - 1 AS VARCHAR) + dbo.getParametro('TrimestreDicembre') + WHEN @data > CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreMarzo') AND @data <= CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreGiugno') THEN CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreMarzo') + WHEN @data > CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreGiugno') AND @data <= CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreSettembre') THEN CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreGiugno') + WHEN @data > CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreSettembre') AND @data <= CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreDicembre') THEN CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreSettembre') + END + ELSE -- Restituisce il primo giorno del trimestre precedente + SET @retData = CASE + WHEN @data <= CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreMarzo') THEN CAST(YEAR(@data) - 1 AS VARCHAR) + SUBSTRING(dbo.getParametro('TrimestreDicembre'),1,2) + '01' + WHEN @data > CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreMarzo') AND @data <= CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreGiugno') THEN CAST(YEAR(@data) AS VARCHAR) + SUBSTRING(dbo.getParametro('TrimestreMarzo'),1,2) + '01' + WHEN @data > CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreGiugno') AND @data <= CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreSettembre') THEN CAST(YEAR(@data) AS VARCHAR) + SUBSTRING(dbo.getParametro('TrimestreGiugno'),1,2) + '01' + WHEN @data > CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreSettembre') AND @data <= CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreDicembre') THEN CAST(YEAR(@data) AS VARCHAR) + SUBSTRING(dbo.getParametro('TrimestreSettembre'),1,2) + '01' + END +--PER SIMULAZIONE (Commentare x Trimestrale)------------ +--IF @primo = 0 +-- -- Impostare Data Congelamento Dati +-- --SET @retData = '20150228'ToDo Fc : test DQ +-- --SET @retData = '20151130' +-- --SET @retData = '20160229' +-- --SET @retData = '20160531' +-- --SET @retData = '20160831' +-- --SET @retData = '20161130' +-- --SET @retData = '20170228' +-- --SET @retData = '20170531' +-- --SET @retData = '20170831' +-- --SET @retData = '20171130' +-- --SET @retData = '20180228' +-- --SET @retData = '20180531' +-- --SET @retData = '20180831' +-- --SET @retData = '20181130' +-- --SET @retData = '20190228' +-- SET @retData = '20190531' +-- SET @retData = '20190831' +-- SET @retData = '20191130' +-- SET @retData = '20200229' +-- SET @retData = '20200531' +-- SET @retData = '20200831' +-- SET @retData = '20201130' +-- SET @retData = '20210228' + --SET @retData = '20210531' +-- SET @retData = '20210831' +--set @retData = '20211130' +--set @retData='20220228' +--set @retData='20220531' +--set @retData='20220831' +--set @retdata='20221130' +--set @retdata='20230831' +--set @retdata='20231130' +--set @retdata='20240229' +--set @retdata='20240531' +--set @retdata='20240831' +--set @retdata='20241130' +--set @retdata='20250228' +set @retData='20250530' +--ELSE +-- -- Impostare Primo giorno del mese di Simulazione +-- --SET @retData = '20150301'ToDo Fc : test DQ +-- --SET @retData = '20151201' +-- --SET @retData = '20160301' +-- --SET @retData = '20160601' +-- --SET @retData = '20160901' +-- --SET @retData = '20161201' +-- --SET @retData = '20170301' +-- --SET @retData = '20170601' +-- --SET @retData = '20170901' +-- --SET @retData = '20171201' +-- --SET @retData = '20180301' +-- --SET @retData = '20180601' +-- --SET @retData = '20180901' +-- --SET @retData = '20181201' +-- --SET @retData = '20190301' +-- SET @retData = '20190601' +-- SET @retData = '20190901' +-- SET @retData = '20191201' +-- SET @retData = '20200301' +-- SET @retData = '20200601' +-- SET @retData = '20200901' +-- Set @retData = '20201201' +--SET @retData = '20210301' +--SET @retData = '20210601' +--SET @retData = '20200901' +--set @retData = '20211201' +--set @retData='20220301' +--SET @retData = '20220601' +--SET @retData='20220901' +--set @retData='20221201' +--set @retData='20230901' +--set @retData='20231201' +--set @retData='20240301' +--set @retData='20240601' +--set @retData='20240901' +--set @retData='20241201' +--set @retData='20250301' +set @retData='20250601' +------------------------------------------------------------ +-- Return the result of the function +RETURN @retData +----- TEST ----------------------- +-- SET @retData = '20151130' +-- RETURN @retData +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6MartPeriodico_getTrimestre2.sql b/sql/Produzione/funzioni/C6MartPeriodico_getTrimestre2.sql new file mode 100644 index 00000000..7c1154f6 --- /dev/null +++ b/sql/Produzione/funzioni/C6MartPeriodico_getTrimestre2.sql @@ -0,0 +1,113 @@ +CREATE FUNCTION [C6MartPeriodico].[getTrimestre2] +( + @data datetime, + @primo bit +) +RETURNS VARCHAR(8) +AS +BEGIN + -- Declare the return variable here + DECLARE @retData VARCHAR(8) +--select c6martperiodico.getTrimestre2(cast ('20111201' as datetime),0) +--select dbo.getParametro('TrimestreSettembre') +--select cast ('20110630' as datetime)-30 +IF @primo = 0 -- Restituisce l'ultimo giorno del trimestre precedente +-- Settare per la simulazione SET @retData = '20110830' +--V Decommentare nel passaggio in produzione + SET @retData = CASE + WHEN @data >= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreMarzo') AS DATETIME) -30 AND @data < CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreGiugno') AS DATETIME) - 29 THEN CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreMarzo') + WHEN @data >= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreGiugno') AS DATETIME) - 29 AND @data < CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreSettembre') AS DATETIME) - 29 THEN CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreGiugno') + WHEN @data >= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreSettembre') AS DATETIME) -29 AND @data < CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreDicembre') AS DATETIME) - 30 THEN CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreSettembre') + WHEN @data >= CAST(YEAR(@data) AS VARCHAR)+'0101' AND @data < CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreMarzo') AS DATETIME)-30 THEN CAST(YEAR(@data) - 1 AS VARCHAR) + dbo.getParametro('TrimestreDicembre') + WHEN @data >= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreDicembre') AS DATETIME) -31 AND @data <= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreDicembre') AS DATETIME) +1 THEN CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreDicembre') + END + ELSE -- Restituisce il primo giorno del trimestre precedente +-- Settare per la simulazione SET @retData = '20110901' + SET @retData = CASE + WHEN @data >= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreMarzo') AS DATETIME) -30 AND @data < CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreGiugno') AS DATETIME) - 29 THEN CAST(YEAR(@data) AS VARCHAR) + SUBSTRING(dbo.getParametro('TrimestreMarzo'),1,2) + '01' + WHEN @data >= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreGiugno') AS DATETIME) - 29 AND @data < CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreSettembre') AS DATETIME) - 29 THEN CAST(YEAR(@data) AS VARCHAR) + SUBSTRING(dbo.getParametro('TrimestreGiugno'),1,2) + '01' + WHEN @data >= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreSettembre') AS DATETIME) -29 AND @data < CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreDicembre') AS DATETIME) - 30 THEN CAST(YEAR(@data) AS VARCHAR) + SUBSTRING(dbo.getParametro('TrimestreSettembre'),1,2) + '01' + WHEN @data >= CAST(YEAR(@data) AS VARCHAR)+'0101' AND @data < CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreMarzo') AS DATETIME)-16 THEN CAST(YEAR(@data) - 1 AS VARCHAR) + SUBSTRING(dbo.getParametro('TrimestreDicembre'),1,2) + '01' + WHEN @data >= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreDicembre') AS DATETIME) -30 AND @data <= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreDicembre') AS DATETIME) +1 THEN CAST(YEAR(@data) AS VARCHAR) + SUBSTRING(dbo.getParametro('TrimestreDicembre'),1,2) + '01' + END +--PER SIMULAZIONE (Commentare x Trimestrale)------------ +--IF @primo = 0 +-- -- Impostare Data Congelamento Dati +-- --SET @retData = '20141130' ToDo Fc : test DQ +-- --SET @retData = '20151130' +-- --SET @retData = '20160229' +-- --SET @retData = '20160831' +-- --SET @retData = '20161130' +-- --SET @retData = '20170228' +-- --SET @retData = '20170531' +-- --SET @retData = '20170831' +-- --SET @retData = '20171130' +-- --SET @retData = '20180228' +-- --SET @retData = '20180531' +-- --SET @retData = '20180831' +-- --SET @retData = '20181130' +-- --SET @retData = '20190228' +-- SET @retData = '20190531' +-- SET @retData = '20190831' +-- SET @retData = '20191130' +-- SET @retData = '20200229' +-- SET @retData = '20200531' +-- SET @retData = '20200831' +-- SET @retData = '20201130' +--SET @retData = '20210228' + --SET @retData = '20210531' +-- SET @retData = '20210831' +--set @retData = '20211130' +--set @retData='20220228'x +--SET @retData = '20220531' +--set @retData='20220831' +--set @retData='20221130' +--set @retData='20230831' +--set @retData='20231130' +--set @retData='20240229' +--set @retData='20240531' +--set @retData='20240831' +--set @retData='20241130' +--set @retData='20250228' +set @retData='20250530'--DA COMMENTARE IN TRIMESTRALE EFFETTIVA +--ELSE +-- --Impostare Primo giorno del mese di Simulazione +-- --SET @retData = '20141201' ToDo Fc : test DQ +-- --SET @retData = '20151201' +-- --SET @retData = '20160301' +-- --SET @retData = '20160901' +-- --SET @retData = '20161201' +-- --SET @retData = '20170301' +-- --SET @retData = '20170601' +-- --SET @retData = '20170901' +-- --SET @retData = '20171201' +-- --SET @retData = '20180301' +-- --SET @retData = '20180601' +-- --SET @retData = '20180901' +-- --SET @retData = '20181201' +-- --SET @retData = '20190301' +-- SET @retData = '20190601' +-- SET @retData = '20190901' + --SET @retData = '20191201' +--SET @retData = '20200301' +--SET @retData = '20200601' +-- SET @retData = '20200901' +-- SET @retData = '20201201' +--SET @retData = '20210301' + --SET @retData = '20210601' + --set @retData = '20211201' + --set @retData='20220301' + --SET @retData = '20220601' + --SET @retData='20220901' + --set @retData='20221201' +--set @retData='20230901' +--set @retData='20231201' +--set @retData='20240301' +--set @retData='20240601' +--set @retData='20240901' +--set @retData='20241201' +--set @retData='20250301' +set @retData='20250601'--DA COMMENTARE IN TRIMESTRALE EFFETTIVA +----------------------------------------- + RETURN @retData +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6MartPeriodico_getTrimestre2_20190909.sql b/sql/Produzione/funzioni/C6MartPeriodico_getTrimestre2_20190909.sql new file mode 100644 index 00000000..7d440ad5 --- /dev/null +++ b/sql/Produzione/funzioni/C6MartPeriodico_getTrimestre2_20190909.sql @@ -0,0 +1,84 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--select [C6MartPeriodico].[getTrimestre2_20190909](getdate(),1) +--select [C6MartPeriodico].[getTrimestre2_20190909](getdate(),0) +--select c6martperiodico.getTrimestre2_20190909(CAST('20100101' AS DATETIME),1) +--SELECT CAST(CAST(YEAR(CAST('20101216' AS DATETIME)) AS VARCHAR) + dbo.getParametro('TrimestreDICEMBRE') AS DATETIME)-16 +--CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreDicembre') AS DATETIME) +CREATE FUNCTION [C6MartPeriodico].[getTrimestre2_20190909] +( + @data datetime, + @primo bit +) +RETURNS VARCHAR(8) +AS +BEGIN + -- Declare the return variable here + DECLARE @retData VARCHAR(8) +--select c6martperiodico.getTrimestre2_20190909(cast ('20111201' as datetime),0) +--select dbo.getParametro('TrimestreSettembre') +--select cast ('20110630' as datetime)-30 +IF @primo = 0 -- Restituisce l'ultimo giorno del trimestre precedente +-- Settare per la simulazione SET @retData = '20110830' +--V Decommentare nel passaggio in produzione + SET @retData = CASE + WHEN @data >= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreMarzo') AS DATETIME) -30 AND @data < CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreGiugno') AS DATETIME) - 29 THEN CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreMarzo') + WHEN @data >= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreGiugno') AS DATETIME) - 29 AND @data < CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreSettembre') AS DATETIME) - 29 THEN CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreGiugno') + WHEN @data >= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreSettembre') AS DATETIME) -29 AND @data < CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreDicembre') AS DATETIME) - 30 THEN CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreSettembre') + WHEN @data >= CAST(YEAR(@data) AS VARCHAR)+'0101' AND @data < CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreMarzo') AS DATETIME)-30 THEN CAST(YEAR(@data) - 1 AS VARCHAR) + dbo.getParametro('TrimestreDicembre') + WHEN @data >= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreDicembre') AS DATETIME) -31 AND @data <= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreDicembre') AS DATETIME) +1 THEN CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreDicembre') + END + ELSE -- Restituisce il primo giorno del trimestre precedente +-- Settare per la simulazione SET @retData = '20110901' + SET @retData = CASE + WHEN @data >= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreMarzo') AS DATETIME) -30 AND @data < CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreGiugno') AS DATETIME) - 29 THEN CAST(YEAR(@data) AS VARCHAR) + SUBSTRING(dbo.getParametro('TrimestreMarzo'),1,2) + '01' + WHEN @data >= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreGiugno') AS DATETIME) - 29 AND @data < CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreSettembre') AS DATETIME) - 29 THEN CAST(YEAR(@data) AS VARCHAR) + SUBSTRING(dbo.getParametro('TrimestreGiugno'),1,2) + '01' + WHEN @data >= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreSettembre') AS DATETIME) -29 AND @data < CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreDicembre') AS DATETIME) - 30 THEN CAST(YEAR(@data) AS VARCHAR) + SUBSTRING(dbo.getParametro('TrimestreSettembre'),1,2) + '01' + WHEN @data >= CAST(YEAR(@data) AS VARCHAR)+'0101' AND @data < CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreMarzo') AS DATETIME)-16 THEN CAST(YEAR(@data) - 1 AS VARCHAR) + SUBSTRING(dbo.getParametro('TrimestreDicembre'),1,2) + '01' + WHEN @data >= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreDicembre') AS DATETIME) -30 AND @data <= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreDicembre') AS DATETIME) +1 THEN CAST(YEAR(@data) AS VARCHAR) + SUBSTRING(dbo.getParametro('TrimestreDicembre'),1,2) + '01' + END +--PER SIMULAZIONE (Commentare x Trimestrale)------------ +IF @primo = 0 +-- -- Impostare Data Congelamento Dati +-- --SET @retData = '20141130' ToDo Fc : test DQ +-- --SET @retData = '20151130' +-- --SET @retData = '20160229' +-- --SET @retData = '20160831' +-- --SET @retData = '20161130' +-- --SET @retData = '20170228' +-- --SET @retData = '20170531' +-- --SET @retData = '20170831' +-- --SET @retData = '20171130' +-- --SET @retData = '20180228' +-- --SET @retData = '20180531' +-- --SET @retData = '20180831' +-- --SET @retData = '20181130' +-- --SET @retData = '20190228' + SET @retData = '20190531' +ELSE +-- --Impostare Primo giorno del mese di Simulazione +-- --SET @retData = '20141201' ToDo Fc : test DQ +-- --SET @retData = '20151201' +-- --SET @retData = '20160301' +-- --SET @retData = '20160901' +-- --SET @retData = '20161201' +-- --SET @retData = '20170301' +-- --SET @retData = '20170601' +-- --SET @retData = '20170901' +-- --SET @retData = '20171201' +-- --SET @retData = '20180301' +-- --SET @retData = '20180601' +-- --SET @retData = '20180901' +-- --SET @retData = '20181201' +-- --SET @retData = '20190301' + SET @retData = '20190601' +----------------------------------------- +---------------------------------------------------------- +--- TEST ----------------------- + --SET @retData = '20151130' + --RETURN @retData + RETURN @retData +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6MartPeriodico_getTrimestre2_Eff.sql b/sql/Produzione/funzioni/C6MartPeriodico_getTrimestre2_Eff.sql new file mode 100644 index 00000000..51ad6e79 --- /dev/null +++ b/sql/Produzione/funzioni/C6MartPeriodico_getTrimestre2_Eff.sql @@ -0,0 +1,34 @@ +Create FUNCTION [C6MartPeriodico].[getTrimestre2_Eff] +( + @data datetime, + @primo bit +) +RETURNS VARCHAR(8) +AS +BEGIN + -- Declare the return variable here + DECLARE @retData VARCHAR(8) +--select c6martperiodico.getTrimestre2(cast ('20111201' as datetime),0) +--select dbo.getParametro('TrimestreSettembre') +--select cast ('20110630' as datetime)-30 +IF @primo = 0 -- Restituisce l'ultimo giorno del trimestre precedente +-- Settare per la simulazione SET @retData = '20110830' +--V Decommentare nel passaggio in produzione + SET @retData = CASE + WHEN @data >= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreMarzo') AS DATETIME) -30 AND @data < CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreGiugno') AS DATETIME) - 29 THEN CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreMarzo') + WHEN @data >= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreGiugno') AS DATETIME) - 29 AND @data < CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreSettembre') AS DATETIME) - 29 THEN CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreGiugno') + WHEN @data >= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreSettembre') AS DATETIME) -29 AND @data < CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreDicembre') AS DATETIME) - 30 THEN CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreSettembre') + WHEN @data >= CAST(YEAR(@data) AS VARCHAR)+'0101' AND @data < CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreMarzo') AS DATETIME)-30 THEN CAST(YEAR(@data) - 1 AS VARCHAR) + dbo.getParametro('TrimestreDicembre') + WHEN @data >= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreDicembre') AS DATETIME) -31 AND @data <= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreDicembre') AS DATETIME) +1 THEN CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreDicembre') + END + ELSE -- Restituisce il primo giorno del trimestre precedente +-- Settare per la simulazione SET @retData = '20110901' + SET @retData = CASE + WHEN @data >= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreMarzo') AS DATETIME) -30 AND @data < CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreGiugno') AS DATETIME) - 29 THEN CAST(YEAR(@data) AS VARCHAR) + SUBSTRING(dbo.getParametro('TrimestreMarzo'),1,2) + '01' + WHEN @data >= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreGiugno') AS DATETIME) - 29 AND @data < CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreSettembre') AS DATETIME) - 29 THEN CAST(YEAR(@data) AS VARCHAR) + SUBSTRING(dbo.getParametro('TrimestreGiugno'),1,2) + '01' + WHEN @data >= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreSettembre') AS DATETIME) -29 AND @data < CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreDicembre') AS DATETIME) - 30 THEN CAST(YEAR(@data) AS VARCHAR) + SUBSTRING(dbo.getParametro('TrimestreSettembre'),1,2) + '01' + WHEN @data >= CAST(YEAR(@data) AS VARCHAR)+'0101' AND @data < CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreMarzo') AS DATETIME)-16 THEN CAST(YEAR(@data) - 1 AS VARCHAR) + SUBSTRING(dbo.getParametro('TrimestreDicembre'),1,2) + '01' + WHEN @data >= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreDicembre') AS DATETIME) -30 AND @data <= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreDicembre') AS DATETIME) +1 THEN CAST(YEAR(@data) AS VARCHAR) + SUBSTRING(dbo.getParametro('TrimestreDicembre'),1,2) + '01' + END + RETURN @retData +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6MartPeriodico_getTrimestre2_New.sql b/sql/Produzione/funzioni/C6MartPeriodico_getTrimestre2_New.sql new file mode 100644 index 00000000..bfa36817 --- /dev/null +++ b/sql/Produzione/funzioni/C6MartPeriodico_getTrimestre2_New.sql @@ -0,0 +1,78 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--select [C6MartPeriodico].[getTrimestre2](getdate(),1) +--select [C6MartPeriodico].[getTrimestre2](getdate(),0) +--select c6martperiodico.gettrimestre2(CAST('20100101' AS DATETIME),1) +--SELECT CAST(CAST(YEAR(CAST('20101216' AS DATETIME)) AS VARCHAR) + dbo.getParametro('TrimestreDICEMBRE') AS DATETIME)-16 +--CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreDicembre') AS DATETIME) +CREATE FUNCTION [C6MartPeriodico].[getTrimestre2_New] +( + @data datetime, + @primo bit +) +RETURNS VARCHAR(8) +AS +BEGIN + -- Declare the return variable here + DECLARE @retData VARCHAR(8) +--select c6martperiodico.getTrimestre2(cast ('20111201' as datetime),0) +--select dbo.getParametro('TrimestreSettembre') +--select cast ('20110630' as datetime)-30 +IF @primo = 0 -- Restituisce l'ultimo giorno del trimestre precedente +-- Settare per la simulazione SET @retData = '20110830' +--V Decommentare nel passaggio in produzione + SET @retData = CASE + WHEN @data >= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreMarzo') AS DATETIME) -30 AND @data < CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreGiugno') AS DATETIME) - 29 THEN CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreMarzo') + WHEN @data >= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreGiugno') AS DATETIME) - 29 AND @data < CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreSettembre') AS DATETIME) - 29 THEN CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreGiugno') + WHEN @data >= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreSettembre') AS DATETIME) -29 AND @data < CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreDicembre') AS DATETIME) - 30 THEN CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreSettembre') + WHEN @data >= CAST(YEAR(@data) AS VARCHAR)+'0101' AND @data < CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreMarzo') AS DATETIME)-30 THEN CAST(YEAR(@data) - 1 AS VARCHAR) + dbo.getParametro('TrimestreDicembre') + WHEN @data >= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreDicembre') AS DATETIME) -31 AND @data <= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreDicembre') AS DATETIME) +1 THEN CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreDicembre') + END + ELSE -- Restituisce il primo giorno del trimestre precedente +-- Settare per la simulazione SET @retData = '20110901' + SET @retData = CASE + WHEN @data >= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreMarzo') AS DATETIME) -30 AND @data < CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreGiugno') AS DATETIME) - 29 THEN CAST(YEAR(@data) AS VARCHAR) + SUBSTRING(dbo.getParametro('TrimestreMarzo'),1,2) + '01' + WHEN @data >= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreGiugno') AS DATETIME) - 29 AND @data < CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreSettembre') AS DATETIME) - 29 THEN CAST(YEAR(@data) AS VARCHAR) + SUBSTRING(dbo.getParametro('TrimestreGiugno'),1,2) + '01' + WHEN @data >= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreSettembre') AS DATETIME) -29 AND @data < CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreDicembre') AS DATETIME) - 30 THEN CAST(YEAR(@data) AS VARCHAR) + SUBSTRING(dbo.getParametro('TrimestreSettembre'),1,2) + '01' + WHEN @data >= CAST(YEAR(@data) AS VARCHAR)+'0101' AND @data < CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreMarzo') AS DATETIME)-16 THEN CAST(YEAR(@data) - 1 AS VARCHAR) + SUBSTRING(dbo.getParametro('TrimestreDicembre'),1,2) + '01' + WHEN @data >= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreDicembre') AS DATETIME) -30 AND @data <= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreDicembre') AS DATETIME) +1 THEN CAST(YEAR(@data) AS VARCHAR) + SUBSTRING(dbo.getParametro('TrimestreDicembre'),1,2) + '01' + END +--PER SIMULAZIONE (Commentare x Trimestrale)------------ +--IF @primo = 0 +-- -- Impostare Data Congelamento Dati +-- --SET @retData = '20141130' ToDo Fc : test DQ +-- --SET @retData = '20151130' +-- --SET @retData = '20160229' +-- --SET @retData = '20160831' +-- --SET @retData = '20161130' +-- --SET @retData = '20170228' +-- --SET @retData = '20170531' +-- --SET @retData = '20170831' +-- --SET @retData = '20171130' +-- --SET @retData = '20180228' +-- --SET @retData = '20180531' +-- SET @retData = '20180831' +--ELSE +-- --Impostare Primo giorno del mese di Simulazione +-- --SET @retData = '20141201' ToDo Fc : test DQ +-- --SET @retData = '20151201' +-- --SET @retData = '20160301' +-- --SET @retData = '20160901' +-- --SET @retData = '20161201' +-- --SET @retData = '20170301' +-- --SET @retData = '20170601' +-- --SET @retData = '20170901' +-- --SET @retData = '20171201' +-- --SET @retData = '20180301' +-- --SET @retData = '20180601' +-- SET @retData = '20180901' +------------------------------------------- +---------------------------------------------------------- +--- TEST ----------------------- + --SET @retData = '20151130' + --RETURN @retData + RETURN @retData +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6MartPeriodico_getTrimestre2_Sim.sql b/sql/Produzione/funzioni/C6MartPeriodico_getTrimestre2_Sim.sql new file mode 100644 index 00000000..efbb6ddd --- /dev/null +++ b/sql/Produzione/funzioni/C6MartPeriodico_getTrimestre2_Sim.sql @@ -0,0 +1,41 @@ +CREATE FUNCTION [C6MartPeriodico].[getTrimestre2_Sim] +( + @data datetime, + @primo bit +) +RETURNS VARCHAR(8) +AS +BEGIN + -- Declare the return variable here + DECLARE @retData VARCHAR(8) +--PER SIMULAZIONE (Commentare x Trimestrale)------------ +declare @DtAnno varchar(4) = convert(varchar(4), @data, 112) +declare @DtAnnoPrec varchar(4) = convert(varchar(4), dateAdd(YYYY, -1, @data), 112) +IF @primo = 0 +begin + if @data < @DtAnno + '0301' -- 0101 - 0228 + set @retdata= @DtAnnoPrec + '1130' + else if @data < @DtAnno + '0601' -- 0301 - 0531 + set @retdata= DateAdd(dd, -1, @DtAnno + '0301') + else if @data < @DtAnno + '0901' -- 0601 - 0831 + set @retdata= @DtAnno + '0531' + else if @data < @DtAnno + '1201' -- 0901 - 1130 + set @retdata= @DtAnno + '0831' + else -- 1201 - 1231 + set @retdata= @DtAnno + '1130' +end +ELSE +begin + if @data < @DtAnno + '0301' -- 0101 - 0228 + set @retdata= @DtAnnoPrec + '1201' + else if @data < @DtAnno + '0601' -- 0301 - 0531 + set @retdata= @DtAnno + '0301' + else if @data < @DtAnno + '0901' -- 0601 - 0831 + set @retdata= @DtAnno + '0601' + else if @data < @DtAnno + '1201' -- 0901 - 1130 + set @retdata= @DtAnno + '0901' + else -- 1201 - 1231 + set @retdata= @DtAnno + '1201' +end + RETURN @retData +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6MartPeriodico_getTrimestreDettMov.sql b/sql/Produzione/funzioni/C6MartPeriodico_getTrimestreDettMov.sql new file mode 100644 index 00000000..6ee6c3c1 --- /dev/null +++ b/sql/Produzione/funzioni/C6MartPeriodico_getTrimestreDettMov.sql @@ -0,0 +1,20 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE FUNCTION [C6MartPeriodico].[getTrimestreDettMov] +( + -- Add the parameters for the function here +) +RETURNS VARCHAR(8) +AS +BEGIN + -- Declare the return variable here + DECLARE @Valore VARCHAR(8) + SELECT @Valore = max(DTTRIM) + FROM [C6StagingPeriodico].[W6APTR] + WHERE DTTRIM not in ('99999999') + -- Return the result of the function + RETURN @Valore +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6MartPeriodico_getTrimestreDettMov_20170413_bonifica.sql b/sql/Produzione/funzioni/C6MartPeriodico_getTrimestreDettMov_20170413_bonifica.sql new file mode 100644 index 00000000..627e0dfc --- /dev/null +++ b/sql/Produzione/funzioni/C6MartPeriodico_getTrimestreDettMov_20170413_bonifica.sql @@ -0,0 +1,20 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE FUNCTION [C6MartPeriodico].[getTrimestreDettMov_20170413_bonifica] +( + -- Add the parameters for the function here +) +RETURNS VARCHAR(8) +AS +BEGIN + -- Declare the return variable here + DECLARE @Valore VARCHAR(8) + SELECT @Valore = max(DTTRIM) + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APTR] + WHERE DTTRIM not in ('99999999') + -- Return the result of the function + RETURN @Valore +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6MartPeriodico_getTrimestre_20190909.sql b/sql/Produzione/funzioni/C6MartPeriodico_getTrimestre_20190909.sql new file mode 100644 index 00000000..3ee66c25 --- /dev/null +++ b/sql/Produzione/funzioni/C6MartPeriodico_getTrimestre_20190909.sql @@ -0,0 +1,76 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--select [C6MartPeriodico].[getTrimestre_20190909](getdate(),0) +--select [C6MartPeriodico].[getTrimestre_20190909](getdate(),1) +CREATE FUNCTION [C6MartPeriodico].[getTrimestre_20190909] +( + @data datetime, + @primo bit +) +RETURNS VARCHAR(8) +AS +BEGIN + -- Declare the return variable here + DECLARE @retData VARCHAR(8) + -- Add the T-SQL statements to compute the return value here + IF @primo = 0 -- Restituisce l'ultimo giorno del trimestre precedente + SET @retData = CASE + WHEN @data <= CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreMarzo') THEN CAST(YEAR(@data) - 1 AS VARCHAR) + dbo.getParametro('TrimestreDicembre') + WHEN @data > CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreMarzo') AND @data <= CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreGiugno') THEN CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreMarzo') + WHEN @data > CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreGiugno') AND @data <= CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreSettembre') THEN CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreGiugno') + WHEN @data > CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreSettembre') AND @data <= CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreDicembre') THEN CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreSettembre') + END + ELSE -- Restituisce il primo giorno del trimestre precedente + SET @retData = CASE + WHEN @data <= CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreMarzo') THEN CAST(YEAR(@data) - 1 AS VARCHAR) + SUBSTRING(dbo.getParametro('TrimestreDicembre'),1,2) + '01' + WHEN @data > CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreMarzo') AND @data <= CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreGiugno') THEN CAST(YEAR(@data) AS VARCHAR) + SUBSTRING(dbo.getParametro('TrimestreMarzo'),1,2) + '01' + WHEN @data > CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreGiugno') AND @data <= CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreSettembre') THEN CAST(YEAR(@data) AS VARCHAR) + SUBSTRING(dbo.getParametro('TrimestreGiugno'),1,2) + '01' + WHEN @data > CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreSettembre') AND @data <= CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreDicembre') THEN CAST(YEAR(@data) AS VARCHAR) + SUBSTRING(dbo.getParametro('TrimestreSettembre'),1,2) + '01' + END +--PER SIMULAZIONE (Commentare x Trimestrale)------------ +IF @primo = 0 +-- -- Impostare Data Congelamento Dati +-- --SET @retData = '20150228'ToDo Fc : test DQ +-- --SET @retData = '20151130' +-- --SET @retData = '20160229' +-- --SET @retData = '20160531' +-- --SET @retData = '20160831' +-- --SET @retData = '20161130' +-- --SET @retData = '20170228' +-- --SET @retData = '20170531' +-- --SET @retData = '20170831' +-- --SET @retData = '20171130' +-- --SET @retData = '20180228' +-- --SET @retData = '20180531' +-- --SET @retData = '20180831' +-- --SET @retData = '20181130' +-- --SET @retData = '20190228' + SET @retData = '20190531' +ELSE +-- -- Impostare Primo giorno del mese di Simulazione +-- --SET @retData = '20150301'ToDo Fc : test DQ +-- --SET @retData = '20151201' +-- --SET @retData = '20160301' +-- --SET @retData = '20160601' +-- --SET @retData = '20160901' +-- --SET @retData = '20161201' +-- --SET @retData = '20170301' +-- --SET @retData = '20170601' +-- --SET @retData = '20170901' +-- --SET @retData = '20171201' +-- --SET @retData = '20180301' +-- --SET @retData = '20180601' +-- --SET @retData = '20180901' +-- --SET @retData = '20181201' +-- --SET @retData = '20190301' +SET @retData = '20190601' +------------------------------------------------------------ +-- Return the result of the function + RETURN @retData +----- TEST ----------------------- +-- SET @retData = '20151130' +-- RETURN @retData +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6MartPeriodico_getTrimestre_EMAIL_PB.sql b/sql/Produzione/funzioni/C6MartPeriodico_getTrimestre_EMAIL_PB.sql new file mode 100644 index 00000000..41b8bc79 --- /dev/null +++ b/sql/Produzione/funzioni/C6MartPeriodico_getTrimestre_EMAIL_PB.sql @@ -0,0 +1,24 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--select [C6MartPeriodico].[getTrimestre_EMAIL_PB](getdate()) +CREATE FUNCTION [C6MartPeriodico].[getTrimestre_EMAIL_PB] +( + @data datetime +) +RETURNS VARCHAR(8) +AS +BEGIN + -- Declare the return variable here + DECLARE @retData VARCHAR(8) + SET @retData = CASE + WHEN @data >= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreMarzo') AS DATETIME) -30 AND @data < CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreGiugno') AS DATETIME) - 29 THEN CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreMarzo') + WHEN @data >= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreGiugno') AS DATETIME) - 29 AND @data < CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreSettembre') AS DATETIME) - 29 THEN CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreGiugno') + WHEN @data >= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreSettembre') AS DATETIME) -29 AND @data < CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreDicembre') AS DATETIME) - 30 THEN CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreSettembre') + WHEN @data >= CAST(YEAR(@data) AS VARCHAR)+'0101' AND @data < CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreMarzo') AS DATETIME)-30 THEN CAST(YEAR(@data) - 1 AS VARCHAR) + dbo.getParametro('TrimestreDicembre') + WHEN @data >= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreDicembre') AS DATETIME) -31 AND @data <= CAST(CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreDicembre') AS DATETIME) +1 THEN CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreDicembre') + END +RETURN @retData +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6MartPeriodico_getTrimestre_Eff.sql b/sql/Produzione/funzioni/C6MartPeriodico_getTrimestre_Eff.sql new file mode 100644 index 00000000..bf94304c --- /dev/null +++ b/sql/Produzione/funzioni/C6MartPeriodico_getTrimestre_Eff.sql @@ -0,0 +1,31 @@ +Create FUNCTION [C6MartPeriodico].[getTrimestre_Eff] +( + @data datetime, + @primo bit +) +RETURNS VARCHAR(8) +AS +BEGIN + -- Declare the return variable here + DECLARE @retData VARCHAR(8) + -- Add the T-SQL statements to compute the return value here + IF @primo = 0 -- Restituisce l'ultimo giorno del trimestre precedente + SET @retData = CASE + WHEN @data <= CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreMarzo') THEN CAST(YEAR(@data) - 1 AS VARCHAR) + dbo.getParametro('TrimestreDicembre') + WHEN @data > CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreMarzo') AND @data <= CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreGiugno') THEN CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreMarzo') + WHEN @data > CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreGiugno') AND @data <= CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreSettembre') THEN CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreGiugno') + WHEN @data > CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreSettembre') AND @data <= CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreDicembre') THEN CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreSettembre') + END + ELSE -- Restituisce il primo giorno del trimestre precedente + SET @retData = CASE + WHEN @data <= CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreMarzo') THEN CAST(YEAR(@data) - 1 AS VARCHAR) + SUBSTRING(dbo.getParametro('TrimestreDicembre'),1,2) + '01' + WHEN @data > CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreMarzo') AND @data <= CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreGiugno') THEN CAST(YEAR(@data) AS VARCHAR) + SUBSTRING(dbo.getParametro('TrimestreMarzo'),1,2) + '01' + WHEN @data > CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreGiugno') AND @data <= CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreSettembre') THEN CAST(YEAR(@data) AS VARCHAR) + SUBSTRING(dbo.getParametro('TrimestreGiugno'),1,2) + '01' + WHEN @data > CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreSettembre') AND @data <= CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreDicembre') THEN CAST(YEAR(@data) AS VARCHAR) + SUBSTRING(dbo.getParametro('TrimestreSettembre'),1,2) + '01' + END +-- Return the result of the function +RETURN @retData +----- TEST ----------------------- +-- SET @retData = '20151130' +-- RETURN @retData +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6MartPeriodico_getTrimestre_New.sql b/sql/Produzione/funzioni/C6MartPeriodico_getTrimestre_New.sql new file mode 100644 index 00000000..c37e8dc7 --- /dev/null +++ b/sql/Produzione/funzioni/C6MartPeriodico_getTrimestre_New.sql @@ -0,0 +1,79 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--select [C6MartPeriodico].[getTrimestre_New](getdate(),0) +--select [C6MartPeriodico].[getTrimestre_New](getdate(),1) +CREATE FUNCTION [C6MartPeriodico].[getTrimestre_New] +( + @data datetime, + @primo bit +) +RETURNS VARCHAR(8) +AS +BEGIN + -- Declare the return variable here + DECLARE @retData VARCHAR(8) + -- Se siamo in Trimestrale effettiva + if CAST(month(@data) AS VARCHAR) in ('10','1','4','7') + -- Add the T-SQL statements to compute the return value here + IF @primo = 0 -- Restituisce l'ultimo giorno del trimestre precedente + SET @retData = CASE + WHEN @data <= CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreMarzo') THEN CAST(YEAR(@data) - 1 AS VARCHAR) + dbo.getParametro('TrimestreDicembre') + WHEN @data > CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreMarzo') AND @data <= CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreGiugno') THEN CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreMarzo') + WHEN @data > CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreGiugno') AND @data <= CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreSettembre') THEN CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreGiugno') + WHEN @data > CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreSettembre') AND @data <= CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreDicembre') THEN CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreSettembre') + END; + ELSE -- Restituisce il primo giorno del trimestre precedente + SET @retData = CASE + WHEN @data <= CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreMarzo') THEN CAST(YEAR(@data) - 1 AS VARCHAR) + SUBSTRING(dbo.getParametro('TrimestreDicembre'),1,2) + '01' + WHEN @data > CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreMarzo') AND @data <= CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreGiugno') THEN CAST(YEAR(@data) AS VARCHAR) + SUBSTRING(dbo.getParametro('TrimestreMarzo'),1,2) + '01' + WHEN @data > CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreGiugno') AND @data <= CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreSettembre') THEN CAST(YEAR(@data) AS VARCHAR) + SUBSTRING(dbo.getParametro('TrimestreGiugno'),1,2) + '01' + WHEN @data > CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreSettembre') AND @data <= CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreDicembre') THEN CAST(YEAR(@data) AS VARCHAR) + SUBSTRING(dbo.getParametro('TrimestreSettembre'),1,2) + '01' + END; + else + SET @retData = CASE + WHEN @data <= CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreMarzo') THEN CAST(YEAR(@data) - 1 AS VARCHAR) + SUBSTRING(dbo.getParametro('TrimestreDicembre'),1,2) + '01' + WHEN @data > CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreMarzo') AND @data <= CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreGiugno') THEN CAST(YEAR(@data) AS VARCHAR) + SUBSTRING(dbo.getParametro('TrimestreMarzo'),1,2) + '01' + WHEN @data > CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreGiugno') AND @data <= CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreSettembre') THEN CAST(YEAR(@data) AS VARCHAR) + SUBSTRING(dbo.getParametro('TrimestreGiugno'),1,2) + '01' + WHEN @data > CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreSettembre') AND @data <= CAST(YEAR(@data) AS VARCHAR) + dbo.getParametro('TrimestreDicembre') THEN CAST(YEAR(@data) AS VARCHAR) + SUBSTRING(dbo.getParametro('TrimestreSettembre'),1,2) + '01' + END; +--PER SIMULAZIONE (Commentare x Trimestrale)------------ +--IF @primo = 0 +-- -- Impostare Data Congelamento Dati +-- --SET @retData = '20150228'ToDo Fc : test DQ +-- --SET @retData = '20151130' +-- --SET @retData = '20160229' +-- --SET @retData = '20160531' +-- --SET @retData = '20160831' +-- --SET @retData = '20161130' +-- --SET @retData = '20170228' +-- --SET @retData = '20170531' +-- --SET @retData = '20170831' +-- --SET @retData = '20171130' +-- --SET @retData = '20180228' +-- --SET @retData = '20180531' +-- SET @retData = '20180831' +--ELSE +-- -- Impostare Primo giorno del mese di Simulazione +-- --SET @retData = '20150301'ToDo Fc : test DQ +-- --SET @retData = '20151201' +-- --SET @retData = '20160301' +-- --SET @retData = '20160601' +-- --SET @retData = '20160901' +-- --SET @retData = '20161201' +-- --SET @retData = '20170301' +-- --SET @retData = '20170601' +-- --SET @retData = '20170901' +-- --SET @retData = '20171201' +-- --SET @retData = '20180301' +-- --SET @retData = '20180601' +-- SET @retData = '20180901' +---------------------------------------------------------- +-- Return the result of the function + RETURN @retData +----- TEST ----------------------- +-- SET @retData = '20151130' +-- RETURN @retData +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6MartPeriodico_getTrimestre_Sim.sql b/sql/Produzione/funzioni/C6MartPeriodico_getTrimestre_Sim.sql new file mode 100644 index 00000000..5af053bc --- /dev/null +++ b/sql/Produzione/funzioni/C6MartPeriodico_getTrimestre_Sim.sql @@ -0,0 +1,45 @@ +CREATE FUNCTION [C6MartPeriodico].[getTrimestre_Sim] +( + @data datetime, + @primo bit +) +RETURNS VARCHAR(8) +AS +BEGIN + -- Declare the return variable here + DECLARE @retData VARCHAR(8) +--PER SIMULAZIONE (Commentare x Trimestrale)------------ +declare @DtAnno varchar(4) = convert(varchar(4), @data, 112) +declare @DtAnnoPrec varchar(4) = convert(varchar(4), dateAdd(YYYY, -1, @data), 112) +IF @primo = 0 +begin + if @data < @DtAnno + '0301' -- 0101 - 0228 + set @retdata= @DtAnnoPrec + '1130' + else if @data < @DtAnno + '0601' -- 0301 - 0531 + set @retdata= DateAdd(dd, -1, @DtAnno + '0301') + else if @data < @DtAnno + '0901' -- 0601 - 0831 + set @retdata= @DtAnno + '0531' + else if @data < @DtAnno + '1201' -- 0901 - 1130 + set @retdata= @DtAnno + '0831' + else -- 1201 - 1231 + set @retdata= @DtAnno + '1130' +end +ELSE +begin + if @data < @DtAnno + '0301' -- 0101 - 0228 + set @retdata= @DtAnnoPrec + '1201' + else if @data < @DtAnno + '0601' -- 0301 - 0531 + set @retdata= @DtAnno + '0301' + else if @data < @DtAnno + '0901' -- 0601 - 0831 + set @retdata= @DtAnno + '0601' + else if @data < @DtAnno + '1201' -- 0901 - 1130 + set @retdata= @DtAnno + '0901' + else -- 1201 - 1231 + set @retdata= @DtAnno + '1201' +end +-- Return the result of the function +RETURN @retData +----- TEST ----------------------- +-- SET @retData = '20151130' +-- RETURN @retData +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6MartPeriodico_get_SW_OTTIM.sql b/sql/Produzione/funzioni/C6MartPeriodico_get_SW_OTTIM.sql new file mode 100644 index 00000000..e9ef8ab3 --- /dev/null +++ b/sql/Produzione/funzioni/C6MartPeriodico_get_SW_OTTIM.sql @@ -0,0 +1,14 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE FUNCTION [C6MartPeriodico].[get_SW_OTTIM] +( +) +RETURNS VARCHAR(3) +AS +BEGIN + RETURN 'OLD' + --RETURN 'NEW' +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6MartPeriodico_get_appoDataAvvioMon.sql b/sql/Produzione/funzioni/C6MartPeriodico_get_appoDataAvvioMon.sql new file mode 100644 index 00000000..926693d9 --- /dev/null +++ b/sql/Produzione/funzioni/C6MartPeriodico_get_appoDataAvvioMon.sql @@ -0,0 +1,10 @@ +create function [C6MartPeriodico].[get_appoDataAvvioMon]( @date datetime = null ) +returns varchar(8) +as +begin +if @date is null +set @date = getdate() +return cast(case when datepart(month, @date) = 1 then datepart(year,@date) - 1 else datepart(year,@date) end as varchar(4)) + +case when datepart(month, @date) >= 11 then '12' when datepart(month, @date) >= 8 then '09' when datepart(month, @date) >= 5 then '06' when datepart(month, @date) > 1 then '03' else '12' end+ +'01' +end \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6Mart_CARATTERINONVALIDI.sql b/sql/Produzione/funzioni/C6Mart_CARATTERINONVALIDI.sql new file mode 100644 index 00000000..e5681217 --- /dev/null +++ b/sql/Produzione/funzioni/C6Mart_CARATTERINONVALIDI.sql @@ -0,0 +1,34 @@ +CREATE FUNCTION [C6Mart].[CARATTERINONVALIDI] +( + @text as varchar(max) +) +RETURNS VARCHAR(1) +AS +BEGIN + DECLARE @num AS INT + SET @num = 1 + WHILE @num < LEN(@text) + BEGIN + IF ASCII(SUBSTRING(@text,@num,1)) < 32 RETURN 'S'-- ' ' + IF ASCII(SUBSTRING(@text,@num,1)) = 33 RETURN 'S'-- '!' + IF ASCII(SUBSTRING(@text,@num,1)) = 34 RETURN 'S'-- '"' + IF ASCII(SUBSTRING(@text,@num,1)) = 35 RETURN 'S'-- '#' + IF ASCII(SUBSTRING(@text,@num,1)) = 36 RETURN 'S'-- '$' + IF ASCII(SUBSTRING(@text,@num,1)) = 37 RETURN 'S'-- '%' + IF ASCII(SUBSTRING(@text,@num,1)) = 38 RETURN 'S'-- '&' + IF ASCII(SUBSTRING(@text,@num,1)) = 42 RETURN 'S'-- '*' + IF ASCII(SUBSTRING(@text,@num,1)) = 58 RETURN 'S'-- ':' + IF ASCII(SUBSTRING(@text,@num,1)) = 59 RETURN 'S'-- ';' + IF ASCII(SUBSTRING(@text,@num,1)) = 60 RETURN 'S'-- '<' + IF ASCII(SUBSTRING(@text,@num,1)) = 61 RETURN 'S'-- '=' + IF ASCII(SUBSTRING(@text,@num,1)) = 62 RETURN 'S'-- '>' + IF ASCII(SUBSTRING(@text,@num,1)) = 91 RETURN 'S'-- '[' + IF ASCII(SUBSTRING(@text,@num,1)) = 92 RETURN 'S'-- '\' + IF ASCII(SUBSTRING(@text,@num,1)) = 93 RETURN 'S'-- ']' + IF ASCII(SUBSTRING(@text,@num,1)) = 94 RETURN 'S'-- '^' + IF ASCII(SUBSTRING(@text,@num,1)) = 96 RETURN 'S'-- '`' + IF ASCII(SUBSTRING(@text,@num,1)) > 122 RETURN 'S'-- 'z' + SET @num = @num + 1 + END + RETURN 'N' +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6Mart_CONCATENA.sql b/sql/Produzione/funzioni/C6Mart_CONCATENA.sql new file mode 100644 index 00000000..74230e33 --- /dev/null +++ b/sql/Produzione/funzioni/C6Mart_CONCATENA.sql @@ -0,0 +1,96 @@ +CREATE FUNCTION [C6Mart].[CONCATENA] +( + @RETE as varchar(1), + @CF as varchar(16) +) +RETURNS VARCHAR(MAX) +AS +BEGIN + -- Declare the return variable here + -- Declare the return variable here + DECLARE @RESULT AS VARCHAR(MAX) + DECLARE @FIDUCIARIA AS CHAR(1) + DECLARE @BROCHURE AS CHAR(1) + SET @RESULT ='' + IF CHARINDEX('@', @CF) > 0 + SET @FIDUCIARIA = 'S' + ELSE + SET @FIDUCIARIA = 'N' + -- ***** LISTA DEI CAMPI E DELLE LUNGHEZZE ***** + -- FlagFiduciaria (1) + -- Rete (1) + -- Brochure (1) + -- Facciate(6) + -- CppBollettini(2) + -- IDENTIFICATIVODOCUMENTO(50) + -- NOMINATIVODESTINATARIO(50) + -- VIA(50) + -- CAP(5) + -- LOCALITA(50) + -- PROVINCIA(2) + -- NAZIONE(1) + -- TIPOPOSTALIZZAZIONE(2) + -- FILESPOOL(50) + -- ALLEGATO1(1) + -- ALLEGATO2(1) + -- NAZIONEESTERA(30) +-- FC 24/02/2014 +-- MOdifica accesso tabella C6MART.ContrattoSei NON PIU GESTITA con tabella C6Mart.VContratti +-- Gestione Data FineAvanzato ( datat chiusura contratto ) con valore convenzionale 9999/12/31 + SET @CF = REPLACE(@CF,'$$','@') + SELECT + @RESULT = @RESULT + --V Inserimento nuovi flag + + @FIDUCIARIA + + @RETE + + CASE WHEN CB.COD_FISCALE IS NULL THEN 'N' ELSE 'S' END + --FINE INSERIMENTO NUOVI FLAG + + (right('000000' + cast(isnull(GESTIONE_PDF_FTP.numeroPagine,0) as varchar(6)),6) -- Facciate(6) + + '00' --CppBollettini(2) + + ' ' --IDENTIFICATIVODOCUMENTO(50) + + LEFT(isnull(ANAG_CLIENTI.Nome,'NOME') + ' ' + ISNULL(ANAG_CLIENTI.Cognome,'COGNOME') + ' ',50) -- NOMINATIVODESTINATARIO(50) + + LEFT(v.Indirizzo + ' ',50) --VIA(50) + + LEFT(ISNULL(v.CAP,'') + ' ',5) --CAP(5) + + LEFT(v.Citta + ' ',50) --LOCALITA(50) + + LEFT(ISNULL(v.Provincia,'') + ' ',2)--PROVINCIA(2) + -- Modifica del 17/12/2018 per gestire il caso NULL della v.nazione + -- + (CASE UPPER(v.Nazione) WHEN 'ITALIA' THEN 'I' ELSE 'E' END) -- IoE(1) + + (CASE UPPER(isnull(v.Nazione,'')) WHEN 'ITALIA' THEN 'I' ELSE 'E' END) -- IoE(1) + -- fine modifica del 17/12/2018 + + 'PE' --TIPOPOSTALIZZAZIONE(2) + + LEFT(GESTIONE_PDF_FTP.NomeFile + CASE tiporeport WHEN 'D' THEN '_DW' ELSE '_' + tiporeport END + ' ',50)--NOMEFILE(50) + + '0' --ALLEGATO1(1) + + '0' --ALLEGATO2(1) + -- Modifica del 17/12/2018 per gestire il caso NULL della v.nazione + -- + LEFT((CASE UPPER(v.Nazione) WHEN 'ITALIA' THEN '' ELSE v.Nazione END) + ' ',30)) -- NAZIONEESTERA(30) + + LEFT((CASE UPPER(isnull(v.Nazione,'')) WHEN 'ITALIA' THEN '' ELSE (isnull(v.Nazione,'')) END) + ' ',30)) -- NAZIONEESTERA(30) + -- fine modifica del 17/12/2018 + --+ '>>>' + + right (' ' + CASE WHEN ISNULL(ROL.STATOROL,'S') = 'S' THEN 'S' ELSE 'N' END, 1) + --+ right (' ' + v.flagRol, 1) + --+ '<<<' + + right (' ' + v.Cod_Fiscale, 16) + + left (coalesce(v.Email, '') + ' ', 50) + + convert(char(8),GESTIONE_PDF_FTP.DataGenerazione, 112) + + v.COD_AGENTE + FROM C6MART.GESTIONE_PDF_FTP + INNER JOIN C6MART.Vcontratti v + ON v.Rete = GESTIONE_PDF_FTP.Rete + AND v.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + AND v.Rete = @RETE + AND v.COD_FISCALE = @CF + INNER JOIN C6MART.ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_PDF_FTP.Rete + AND ANAG_CLIENTI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + INNER JOIN C6Staging.WSROL ROL + ON ROL.CODFIS = GESTIONE_PDF_FTP.CodiceFiscale + AND ROL.RETE = GESTIONE_PDF_FTP.RETE + LEFT JOIN C6MART.CLIENTI_BROCHURE CB + ON CB.Rete = GESTIONE_PDF_FTP.Rete + AND CB.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + WHERE (DATEDIFF(DAY,GESTIONE_PDF_FTP.DataInvio,GETDATE()) = 0 + OR DATEDIFF(DAY,GESTIONE_PDF_FTP.DataInvioRistampa,GETDATE()) = 0) + AND convert(varchar(10),v.data_fineAvanzato,112) = '99991231' + --order by tiporeport desc + RETURN @RESULT +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6Mart_CONCATENA_20181210_DoppioROL.sql b/sql/Produzione/funzioni/C6Mart_CONCATENA_20181210_DoppioROL.sql new file mode 100644 index 00000000..6834265e --- /dev/null +++ b/sql/Produzione/funzioni/C6Mart_CONCATENA_20181210_DoppioROL.sql @@ -0,0 +1,90 @@ +CREATE FUNCTION [C6Mart].[CONCATENA_20181210_DoppioROL] +( + @RETE as varchar(1), + @CF as varchar(16) +) +RETURNS VARCHAR(MAX) +AS +BEGIN + -- Declare the return variable here + -- Declare the return variable here + DECLARE @RESULT AS VARCHAR(MAX) + DECLARE @FIDUCIARIA AS CHAR(1) + DECLARE @BROCHURE AS CHAR(1) + SET @RESULT ='' + IF CHARINDEX('@', @CF) > 0 + SET @FIDUCIARIA = 'S' + ELSE + SET @FIDUCIARIA = 'N' + -- ***** LISTA DEI CAMPI E DELLE LUNGHEZZE ***** + -- FlagFiduciaria (1) + -- Rete (1) + -- Brochure (1) + -- Facciate(6) + -- CppBollettini(2) + -- IDENTIFICATIVODOCUMENTO(50) + -- NOMINATIVODESTINATARIO(50) + -- VIA(50) + -- CAP(5) + -- LOCALITA(50) + -- PROVINCIA(2) + -- NAZIONE(1) + -- TIPOPOSTALIZZAZIONE(2) + -- FILESPOOL(50) + -- ALLEGATO1(1) + -- ALLEGATO2(1) + -- NAZIONEESTERA(30) +-- FC 24/02/2014 +-- MOdifica accesso tabella C6MART.ContrattoSei NON PIU GESTITA con tabella C6Mart.VContratti +-- Gestione Data FineAvanzato ( datat chiusura contratto ) con valore convenzionale 9999/12/31 + SET @CF = REPLACE(@CF,'$$','@') + SELECT + @RESULT = @RESULT + --V Inserimento nuovi flag + + @FIDUCIARIA + + @RETE + + CASE WHEN CB.COD_FISCALE IS NULL THEN 'N' ELSE 'S' END + --FINE INSERIMENTO NUOVI FLAG + + (right('000000' + cast(isnull(GESTIONE_PDF_FTP.numeroPagine,0) as varchar(6)),6) -- Facciate(6) + + '00' --CppBollettini(2) + + ' ' --IDENTIFICATIVODOCUMENTO(50) + + LEFT(isnull(ANAG_CLIENTI.Nome,'NOME') + ' ' + ISNULL(ANAG_CLIENTI.Cognome,'COGNOME') + ' ',50) -- NOMINATIVODESTINATARIO(50) + + LEFT(v.Indirizzo + ' ',50) --VIA(50) + + LEFT(ISNULL(v.CAP,'') + ' ',5) --CAP(5) + + LEFT(v.Citta + ' ',50) --LOCALITA(50) + + LEFT(ISNULL(v.Provincia,'') + ' ',2)--PROVINCIA(2) + + (CASE UPPER(v.Nazione) WHEN 'ITALIA' THEN 'I' ELSE 'E' END) -- IoE(1) + + 'PE' --TIPOPOSTALIZZAZIONE(2) + + LEFT(GESTIONE_PDF_FTP.NomeFile + CASE tiporeport WHEN 'D' THEN '_DW' ELSE '_' + tiporeport END + ' ',50)--NOMEFILE(50) + + '0' --ALLEGATO1(1) + + '0' --ALLEGATO2(1) + + LEFT((CASE UPPER(v.Nazione) WHEN 'ITALIA' THEN '' ELSE v.Nazione END) + ' ',30)) -- NAZIONEESTERA(30) + --+ '>>>' + + right (' ' + CASE WHEN ISNULL(ROL.STATOROL,'N') = 'S' THEN 'S' ELSE 'N' END, 1) + --+ right (' ' + v.flagRol, 1) + --+ '<<<' + + right (' ' + v.Cod_Fiscale, 16) + + left (coalesce(v.Email, '') + ' ', 50) + + convert(char(8),GESTIONE_PDF_FTP.DataGenerazione, 112) + + v.COD_AGENTE + FROM C6MART.GESTIONE_PDF_FTP + INNER JOIN C6MART.Vcontratti v + ON v.Rete = GESTIONE_PDF_FTP.Rete + AND v.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + AND v.Rete = @RETE + AND v.COD_FISCALE = @CF + INNER JOIN C6MART.ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_PDF_FTP.Rete + AND ANAG_CLIENTI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + INNER JOIN C6Staging.WSROL ROL + ON ROL.CODFIS = GESTIONE_PDF_FTP.CodiceFiscale + AND ROL.RETE = GESTIONE_PDF_FTP.RETE + LEFT JOIN C6MART.CLIENTI_BROCHURE CB + ON CB.Rete = GESTIONE_PDF_FTP.Rete + AND CB.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + WHERE (DATEDIFF(DAY,GESTIONE_PDF_FTP.DataInvio,GETDATE()) = 0 + OR DATEDIFF(DAY,GESTIONE_PDF_FTP.DataInvioRistampa,GETDATE()) = 0) + AND convert(varchar(10),v.data_fineAvanzato,112) = '99991231' + --order by tiporeport desc + RETURN @RESULT +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6Mart_CONCATENA_20181217_preModNazione.sql b/sql/Produzione/funzioni/C6Mart_CONCATENA_20181217_preModNazione.sql new file mode 100644 index 00000000..4fb60ecf --- /dev/null +++ b/sql/Produzione/funzioni/C6Mart_CONCATENA_20181217_preModNazione.sql @@ -0,0 +1,90 @@ +CREATE FUNCTION [C6Mart].[CONCATENA_20181217_preModNazione] +( + @RETE as varchar(1), + @CF as varchar(16) +) +RETURNS VARCHAR(MAX) +AS +BEGIN + -- Declare the return variable here + -- Declare the return variable here + DECLARE @RESULT AS VARCHAR(MAX) + DECLARE @FIDUCIARIA AS CHAR(1) + DECLARE @BROCHURE AS CHAR(1) + SET @RESULT ='' + IF CHARINDEX('@', @CF) > 0 + SET @FIDUCIARIA = 'S' + ELSE + SET @FIDUCIARIA = 'N' + -- ***** LISTA DEI CAMPI E DELLE LUNGHEZZE ***** + -- FlagFiduciaria (1) + -- Rete (1) + -- Brochure (1) + -- Facciate(6) + -- CppBollettini(2) + -- IDENTIFICATIVODOCUMENTO(50) + -- NOMINATIVODESTINATARIO(50) + -- VIA(50) + -- CAP(5) + -- LOCALITA(50) + -- PROVINCIA(2) + -- NAZIONE(1) + -- TIPOPOSTALIZZAZIONE(2) + -- FILESPOOL(50) + -- ALLEGATO1(1) + -- ALLEGATO2(1) + -- NAZIONEESTERA(30) +-- FC 24/02/2014 +-- MOdifica accesso tabella C6MART.ContrattoSei NON PIU GESTITA con tabella C6Mart.VContratti +-- Gestione Data FineAvanzato ( datat chiusura contratto ) con valore convenzionale 9999/12/31 + SET @CF = REPLACE(@CF,'$$','@') + SELECT + @RESULT = @RESULT + --V Inserimento nuovi flag + + @FIDUCIARIA + + @RETE + + CASE WHEN CB.COD_FISCALE IS NULL THEN 'N' ELSE 'S' END + --FINE INSERIMENTO NUOVI FLAG + + (right('000000' + cast(isnull(GESTIONE_PDF_FTP.numeroPagine,0) as varchar(6)),6) -- Facciate(6) + + '00' --CppBollettini(2) + + ' ' --IDENTIFICATIVODOCUMENTO(50) + + LEFT(isnull(ANAG_CLIENTI.Nome,'NOME') + ' ' + ISNULL(ANAG_CLIENTI.Cognome,'COGNOME') + ' ',50) -- NOMINATIVODESTINATARIO(50) + + LEFT(v.Indirizzo + ' ',50) --VIA(50) + + LEFT(ISNULL(v.CAP,'') + ' ',5) --CAP(5) + + LEFT(v.Citta + ' ',50) --LOCALITA(50) + + LEFT(ISNULL(v.Provincia,'') + ' ',2)--PROVINCIA(2) + + (CASE UPPER(v.Nazione) WHEN 'ITALIA' THEN 'I' ELSE 'E' END) -- IoE(1) + + 'PE' --TIPOPOSTALIZZAZIONE(2) + + LEFT(GESTIONE_PDF_FTP.NomeFile + CASE tiporeport WHEN 'D' THEN '_DW' ELSE '_' + tiporeport END + ' ',50)--NOMEFILE(50) + + '0' --ALLEGATO1(1) + + '0' --ALLEGATO2(1) + + LEFT((CASE UPPER(v.Nazione) WHEN 'ITALIA' THEN '' ELSE v.Nazione END) + ' ',30)) -- NAZIONEESTERA(30) + --+ '>>>' + + right (' ' + CASE WHEN ISNULL(ROL.STATOROL,'N') = 'S' THEN 'S' ELSE 'N' END, 1) + --+ right (' ' + v.flagRol, 1) + --+ '<<<' + + right (' ' + v.Cod_Fiscale, 16) + + left (coalesce(v.Email, '') + ' ', 50) + + convert(char(8),GESTIONE_PDF_FTP.DataGenerazione, 112) + + v.COD_AGENTE + FROM C6MART.GESTIONE_PDF_FTP + INNER JOIN C6MART.Vcontratti v + ON v.Rete = GESTIONE_PDF_FTP.Rete + AND v.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + AND v.Rete = @RETE + AND v.COD_FISCALE = @CF + INNER JOIN C6MART.ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_PDF_FTP.Rete + AND ANAG_CLIENTI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + INNER JOIN C6Staging.WSROL ROL + ON ROL.CODFIS = GESTIONE_PDF_FTP.CodiceFiscale + AND ROL.RETE = GESTIONE_PDF_FTP.RETE + LEFT JOIN C6MART.CLIENTI_BROCHURE CB + ON CB.Rete = GESTIONE_PDF_FTP.Rete + AND CB.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + WHERE (DATEDIFF(DAY,GESTIONE_PDF_FTP.DataInvio,GETDATE()) = 0 + OR DATEDIFF(DAY,GESTIONE_PDF_FTP.DataInvioRistampa,GETDATE()) = 0) + AND convert(varchar(10),v.data_fineAvanzato,112) = '99991231' + --order by tiporeport desc + RETURN @RESULT +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6Mart_CONCATENA_CHECK.sql b/sql/Produzione/funzioni/C6Mart_CONCATENA_CHECK.sql new file mode 100644 index 00000000..c626e474 --- /dev/null +++ b/sql/Produzione/funzioni/C6Mart_CONCATENA_CHECK.sql @@ -0,0 +1,95 @@ +CREATE FUNCTION [C6Mart].[CONCATENA_CHECK] +( + @RETE as varchar(1), + @CF as varchar(16), + @idReport as int +) +RETURNS VARCHAR(MAX) +AS +BEGIN + -- Declare the return variable here + -- Declare the return variable here + DECLARE @RESULT AS VARCHAR(MAX) + DECLARE @FIDUCIARIA AS CHAR(1) + DECLARE @BROCHURE AS CHAR(1) + SET @RESULT ='' + IF CHARINDEX('@', @CF) > 0 + SET @FIDUCIARIA = 'S' + ELSE + SET @FIDUCIARIA = 'N' + -- ***** LISTA DEI CAMPI E DELLE LUNGHEZZE ***** + -- FlagFiduciaria (1) + -- Rete (1) + -- Brochure (1) + -- Facciate(6) + -- CppBollettini(2) + -- IDENTIFICATIVODOCUMENTO(50) + -- NOMINATIVODESTINATARIO(50) + -- VIA(50) + -- CAP(5) + -- LOCALITA(50) + -- PROVINCIA(2) + -- NAZIONE(1) + -- TIPOPOSTALIZZAZIONE(2) + -- FILESPOOL(50) + -- ALLEGATO1(1) + -- ALLEGATO2(1) + -- NAZIONEESTERA(30) +-- FC 24/02/2014 +-- MOdifica accesso tabella C6MART.ContrattoSei NON PIU GESTITA con tabella C6Mart.VContratti +-- Gestione Data FineAvanzato ( datat chiusura contratto ) con valore convenzionale 9999/12/31 + SET @CF = REPLACE(@CF,'$$','@') + SELECT + @RESULT = @RESULT + --V Inserimento nuovi flag + + @FIDUCIARIA + + @RETE + + CASE WHEN CB.COD_FISCALE IS NULL THEN 'N' ELSE 'S' END + --FINE INSERIMENTO NUOVI FLAG + + (right('000000' + cast(isnull(GESTIONE_PDF_FTP.numeroPagine,0) as varchar(6)),6) -- Facciate(6) + + '00' --CppBollettini(2) + + ' ' --IDENTIFICATIVODOCUMENTO(50) + + LEFT(isnull(ANAG_CLIENTI.Nome,'NOME') + ' ' + ISNULL(ANAG_CLIENTI.Cognome,'COGNOME') + ' ',50) -- NOMINATIVODESTINATARIO(50) + + LEFT(v.Indirizzo + ' ',50) --VIA(50) + + LEFT(ISNULL(v.CAP,'') + ' ',5) --CAP(5) + + LEFT(v.Citta + ' ',50) --LOCALITA(50) + + LEFT(ISNULL(v.Provincia,'') + ' ',2)--PROVINCIA(2) + -- Modifica del 17/12/2018 per gestire il caso NULL della v.nazione + -- + (CASE UPPER(v.Nazione) WHEN 'ITALIA' THEN 'I' ELSE 'E' END) -- IoE(1) + + (CASE UPPER(isnull(v.Nazione,'')) WHEN 'ITALIA' THEN 'I' ELSE 'E' END) -- IoE(1) + -- fine modifica del 17/12/2018 + + 'PE' --TIPOPOSTALIZZAZIONE(2) + + LEFT(GESTIONE_PDF_FTP.NomeFile + CASE tiporeport WHEN 'D' THEN '_DW' ELSE '_' + tiporeport END + ' ',50)--NOMEFILE(50) + + '0' --ALLEGATO1(1) + + '0' --ALLEGATO2(1) + -- Modifica del 17/12/2018 per gestire il caso NULL della v.nazione + -- + LEFT((CASE UPPER(v.Nazione) WHEN 'ITALIA' THEN '' ELSE v.Nazione END) + ' ',30)) -- NAZIONEESTERA(30) + + LEFT((CASE UPPER(isnull(v.Nazione,'')) WHEN 'ITALIA' THEN '' ELSE (isnull(v.Nazione,'')) END) + ' ',30)) -- NAZIONEESTERA(30) + -- fine modifica del 17/12/2018 + --+ '>>>' + + right (' ' + CASE WHEN ISNULL(ROL.STATOROL,'N') = 'S' THEN 'S' ELSE 'N' END, 1) + --+ right (' ' + v.flagRol, 1) + --+ '<<<' + + right (' ' + v.Cod_Fiscale, 16) + + left (coalesce(v.Email, '') + ' ', 50) + + convert(char(8),GESTIONE_PDF_FTP.DataGenerazione, 112) + + v.COD_AGENTE + FROM C6MART.GESTIONE_PDF_FTP + INNER JOIN C6MART.Vcontratti v + ON v.Rete = GESTIONE_PDF_FTP.Rete + AND v.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + AND v.Rete = @RETE + AND v.COD_FISCALE = @CF + INNER JOIN C6MART.ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_PDF_FTP.Rete + AND ANAG_CLIENTI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + LEFT JOIN C6Staging.WSROL ROL + ON ROL.CODFIS = GESTIONE_PDF_FTP.CodiceFiscale + AND ROL.RETE = GESTIONE_PDF_FTP.RETE + LEFT JOIN C6MART.CLIENTI_BROCHURE CB + ON CB.Rete = GESTIONE_PDF_FTP.Rete + AND CB.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + WHERE GESTIONE_PDF_FTP.idReport = @idReport + --order by tiporeport desc + RETURN @RESULT +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6Mart_CONCATENA_TESTGIOR.sql b/sql/Produzione/funzioni/C6Mart_CONCATENA_TESTGIOR.sql new file mode 100644 index 00000000..35cfe144 --- /dev/null +++ b/sql/Produzione/funzioni/C6Mart_CONCATENA_TESTGIOR.sql @@ -0,0 +1,90 @@ +CREATE FUNCTION [C6Mart].[CONCATENA_TESTGIOR] +( + @RETE as varchar(1), + @CF as varchar(16) +) +RETURNS VARCHAR(MAX) +AS +BEGIN + -- Declare the return variable here + -- Declare the return variable here + DECLARE @RESULT AS VARCHAR(MAX) + DECLARE @FIDUCIARIA AS CHAR(1) + DECLARE @BROCHURE AS CHAR(1) + SET @RESULT ='' + IF CHARINDEX('@', @CF) > 0 + SET @FIDUCIARIA = 'S' + ELSE + SET @FIDUCIARIA = 'N' + -- ***** LISTA DEI CAMPI E DELLE LUNGHEZZE ***** + -- FlagFiduciaria (1) + -- Rete (1) + -- Brochure (1) + -- Facciate(6) + -- CppBollettini(2) + -- IDENTIFICATIVODOCUMENTO(50) + -- NOMINATIVODESTINATARIO(50) + -- VIA(50) + -- CAP(5) + -- LOCALITA(50) + -- PROVINCIA(2) + -- NAZIONE(1) + -- TIPOPOSTALIZZAZIONE(2) + -- FILESPOOL(50) + -- ALLEGATO1(1) + -- ALLEGATO2(1) + -- NAZIONEESTERA(30) +-- FC 24/02/2014 +-- MOdifica accesso tabella C6MART.ContrattoSei NON PIU GESTITA con tabella C6Mart.VContratti +-- Gestione Data FineAvanzato ( datat chiusura contratto ) con valore convenzionale 9999/12/31 + SET @CF = REPLACE(@CF,'$$','@') + SELECT + @RESULT = @RESULT + --V Inserimento nuovi flag + + @FIDUCIARIA + + @RETE + + CASE WHEN CB.COD_FISCALE IS NULL THEN 'N' ELSE 'S' END + --FINE INSERIMENTO NUOVI FLAG + + (right('000000' + cast(isnull(GESTIONE_PDF_FTP.numeroPagine,0) as varchar(6)),6) -- Facciate(6) + + '00' --CppBollettini(2) + + ' ' --IDENTIFICATIVODOCUMENTO(50) + + LEFT(isnull(ANAG_CLIENTI.Nome,'NOME') + ' ' + ISNULL(ANAG_CLIENTI.Cognome,'COGNOME') + ' ',50) -- NOMINATIVODESTINATARIO(50) + + LEFT(v.Indirizzo + ' ',50) --VIA(50) + + LEFT(ISNULL(v.CAP,'') + ' ',5) --CAP(5) + + LEFT(v.Citta + ' ',50) --LOCALITA(50) + + LEFT(ISNULL(v.Provincia,'') + ' ',2)--PROVINCIA(2) + + (CASE UPPER(v.Nazione) WHEN 'ITALIA' THEN 'I' ELSE 'E' END) -- IoE(1) + + 'PE' --TIPOPOSTALIZZAZIONE(2) + + LEFT(GESTIONE_PDF_FTP.NomeFile + CASE tiporeport WHEN 'D' THEN '_DW' ELSE '_' + tiporeport END + ' ',50)--NOMEFILE(50) + + '0' --ALLEGATO1(1) + + '0' --ALLEGATO2(1) + + LEFT((CASE UPPER(v.Nazione) WHEN 'ITALIA' THEN '' ELSE v.Nazione END) + ' ',30)) -- NAZIONEESTERA(30) + --+ '>>>' + + right (' ' + CASE WHEN ISNULL(ROL.STATOROL,'N') = 'S' THEN 'S' ELSE 'N' END, 1) + --+ right (' ' + v.flagRol, 1) + --+ '<<<' + + right (' ' + v.Cod_Fiscale, 16) + + left (coalesce(v.Email, '') + ' ', 50) + + convert(char(8),GESTIONE_PDF_FTP.DataGenerazione, 112) + FROM C6MART.GESTIONE_PDF_FTP + INNER JOIN C6MART.Vcontratti v + ON v.Rete = GESTIONE_PDF_FTP.Rete + AND v.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + AND v.Rete = @RETE + AND v.COD_FISCALE = @CF + INNER JOIN C6MART.ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_PDF_FTP.Rete + AND ANAG_CLIENTI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + INNER JOIN C6Staging.WSROL ROL + ON ROL.CODFIS = GESTIONE_PDF_FTP.CodiceFiscale + AND ROL.RETE = GESTIONE_PDF_FTP.RETE + LEFT JOIN C6MART.CLIENTI_BROCHURE CB + ON CB.Rete = GESTIONE_PDF_FTP.Rete + AND CB.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + WHERE (DATEDIFF(DAY,GESTIONE_PDF_FTP.DataInvio,'20141208') = 0 + OR DATEDIFF(DAY,GESTIONE_PDF_FTP.DataInvioRistampa,'20141208') = 0) + AND convert(varchar(10),v.data_fineAvanzato,112) = '99991231' + and cb.rete is null + --order by tiporeport desc + RETURN @RESULT +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6Mart_CONCATENA_TEST_NEW.sql b/sql/Produzione/funzioni/C6Mart_CONCATENA_TEST_NEW.sql new file mode 100644 index 00000000..4a3a4c17 --- /dev/null +++ b/sql/Produzione/funzioni/C6Mart_CONCATENA_TEST_NEW.sql @@ -0,0 +1,90 @@ +create FUNCTION [C6Mart].[CONCATENA_TEST_NEW] +( + @RETE as varchar(1), + @CF as varchar(16) +) +RETURNS VARCHAR(MAX) +AS +BEGIN + -- Declare the return variable here + -- Declare the return variable here + DECLARE @RESULT AS VARCHAR(MAX) + DECLARE @FIDUCIARIA AS CHAR(1) + DECLARE @BROCHURE AS CHAR(1) + SET @RESULT ='' + IF CHARINDEX('@', @CF) > 0 + SET @FIDUCIARIA = 'S' + ELSE + SET @FIDUCIARIA = 'N' + -- ***** LISTA DEI CAMPI E DELLE LUNGHEZZE ***** + -- FlagFiduciaria (1) + -- Rete (1) + -- Brochure (1) + -- Facciate(6) + -- CppBollettini(2) + -- IDENTIFICATIVODOCUMENTO(50) + -- NOMINATIVODESTINATARIO(50) + -- VIA(50) + -- CAP(5) + -- LOCALITA(50) + -- PROVINCIA(2) + -- NAZIONE(1) + -- TIPOPOSTALIZZAZIONE(2) + -- FILESPOOL(50) + -- ALLEGATO1(1) + -- ALLEGATO2(1) + -- NAZIONEESTERA(30) +-- FC 24/02/2014 +-- MOdifica accesso tabella C6MART.ContrattoSei NON PIU GESTITA con tabella C6Mart.VContratti +-- Gestione Data FineAvanzato ( datat chiusura contratto ) con valore convenzionale 9999/12/31 + SET @CF = REPLACE(@CF,'$$','@') + SELECT + @RESULT = @RESULT + --V Inserimento nuovi flag + + @FIDUCIARIA + + @RETE + + CASE WHEN CB.COD_FISCALE IS NULL THEN 'N' ELSE 'S' END + --FINE INSERIMENTO NUOVI FLAG + + (right('000000' + cast(isnull(GESTIONE_PDF_FTP.numeroPagine,0) as varchar(6)),6) -- Facciate(6) + + '00' --CppBollettini(2) + + ' ' --IDENTIFICATIVODOCUMENTO(50) + + LEFT(isnull(ANAG_CLIENTI.Nome,'NOME') + ' ' + ISNULL(ANAG_CLIENTI.Cognome,'COGNOME') + ' ',50) -- NOMINATIVODESTINATARIO(50) + + LEFT(v.Indirizzo + ' ',50) --VIA(50) + + LEFT(ISNULL(v.CAP,'') + ' ',5) --CAP(5) + + LEFT(v.Citta + ' ',50) --LOCALITA(50) + + LEFT(ISNULL(v.Provincia,'') + ' ',2)--PROVINCIA(2) + + (CASE UPPER(v.Nazione) WHEN 'ITALIA' THEN 'I' ELSE 'E' END) -- IoE(1) + + 'PE' --TIPOPOSTALIZZAZIONE(2) + + LEFT(GESTIONE_PDF_FTP.NomeFile + CASE tiporeport WHEN 'D' THEN '_DW' ELSE '_' + tiporeport END + ' ',50)--NOMEFILE(50) + + '0' --ALLEGATO1(1) + + '0' --ALLEGATO2(1) + + LEFT((CASE UPPER(v.Nazione) WHEN 'ITALIA' THEN '' ELSE v.Nazione END) + ' ',30)) -- NAZIONEESTERA(30) + --+ '>>>' + + right (' ' + CASE WHEN ISNULL(ROL.STATOROL,'N') = 'S' THEN 'S' ELSE 'N' END, 1) + --+ right (' ' + v.flagRol, 1) + --+ '<<<' + + right (' ' + v.Cod_Fiscale, 16) + + left (coalesce(v.Email, '') + ' ', 50) + + convert(char(8),GESTIONE_PDF_FTP.DataGenerazione, 112) + + v.COD_AGENTE + FROM C6MART.GESTIONE_PDF_FTP + INNER JOIN C6MART.Vcontratti v + ON v.Rete = GESTIONE_PDF_FTP.Rete + AND v.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + AND v.Rete = @RETE + AND v.COD_FISCALE = @CF + INNER JOIN C6MART.ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_PDF_FTP.Rete + AND ANAG_CLIENTI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + INNER JOIN C6Staging.WSROL ROL + ON ROL.CODFIS = GESTIONE_PDF_FTP.CodiceFiscale + AND ROL.RETE = GESTIONE_PDF_FTP.RETE + LEFT JOIN C6MART.CLIENTI_BROCHURE CB + ON CB.Rete = GESTIONE_PDF_FTP.Rete + AND CB.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + WHERE (DATEDIFF(DAY,GESTIONE_PDF_FTP.DataInvio,GETDATE()) = 0 + OR DATEDIFF(DAY,GESTIONE_PDF_FTP.DataInvioRistampa,GETDATE()) = 0) + AND convert(varchar(10),v.data_fineAvanzato,112) = '99991231' + --order by tiporeport desc + RETURN @RESULT +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6Mart_CreaPositionIDCS.sql b/sql/Produzione/funzioni/C6Mart_CreaPositionIDCS.sql new file mode 100644 index 00000000..b091da02 --- /dev/null +++ b/sql/Produzione/funzioni/C6Mart_CreaPositionIDCS.sql @@ -0,0 +1,56 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE FUNCTION [C6Mart].[CreaPositionIDCS] +( + @TipoProdotto VARCHAR(5)='', + @CodInterno VARCHAR(13)='', + @CodMAF VARCHAR(13)='', + @CodSottoprodotto VARCHAR(13)='', + @CodiceContratto VARCHAR(11)='', + @NumeroPolizza VARCHAR(11)= '', + @Conto VARCHAR(12)= '', + @Rubricato VARCHAR(4)='', + @CustodiaGaranzia VARCHAR(1)='', + @Termid VARCHAR(8)='', + @Anno DECIMAL(3)=0, + @Prog DECIMAL(9)=0 +) +RETURNS VARCHAR(129) +AS +BEGIN + -- Declare the return variable here + DECLARE @ResultVar VARCHAR(129) + -- Add the T-SQL statements to compute the return value here + SET @ResultVar = + CASE + WHEN @TipoProdotto = 'CC' THEN '' + ELSE C6Staging.Info_DaProdottoCSaCatalogo( + @TipoProdotto, + @CodInterno, + @CodMAF, + '', + @CodSottoProdotto + ) + END + + + dbo.Crea_PositionID( + @TipoProdotto, + @CodInterno, + @CodMAF, + '', + @CodSottoProdotto, + @CodiceContratto, + @NumeroPolizza, + @Conto, + @Rubricato, + @CustodiaGaranzia, + @Termid, + @Anno, + @Prog + ) + -- Return the result of the function + RETURN @ResultVar +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6Mart_EsistonoServiziAggiuntivi.sql b/sql/Produzione/funzioni/C6Mart_EsistonoServiziAggiuntivi.sql new file mode 100644 index 00000000..466cf02f --- /dev/null +++ b/sql/Produzione/funzioni/C6Mart_EsistonoServiziAggiuntivi.sql @@ -0,0 +1,30 @@ +-- ============================================= +-- Author: +-- Create date: <07/12/2017> +-- Description: +-- ============================================= +CREATE FUNCTION [C6Mart].[EsistonoServiziAggiuntivi] +( + @Rete varchar(1), + @CodiceFiscale varchar(20) +) +RETURNS bit +AS +BEGIN + declare @chiaveclientepb int + declare @numServ tinyint + declare @ret bit + set @ret = 0 + set @numServ = 0 + -- Cerca chiaveclientepb a partire da Rete + CodiceFiscale + select @chiaveclientepb = ChiaveClientePb + from [BFDSPUC01T].ConsulenzaUnica.[dbo].[vInfoCliente] + where rete = @Rete and CodFis = @CodiceFiscale + select @numServ = count(*) + from [BFDSPUC01T].ConsulenzaUnica.[dbo].[v_servizi_aggiuntivi] + where chiaveclientepb = @chiaveclientepb + and flagattivo = 1 + if @numServ > 0 + set @ret = 1 + return @ret +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6Mart_Replace_Testo_Lettera_Benvenuto.sql b/sql/Produzione/funzioni/C6Mart_Replace_Testo_Lettera_Benvenuto.sql new file mode 100644 index 00000000..40e3bde2 --- /dev/null +++ b/sql/Produzione/funzioni/C6Mart_Replace_Testo_Lettera_Benvenuto.sql @@ -0,0 +1,95 @@ +CREATE FUNCTION [C6Mart].[Replace_Testo_Lettera_Benvenuto] +( + @CODICE_CONTRATTO as varchar(16) = '', + @FREQUENZA_DIAGN as varchar(16) = '', + @FREQUENZA_MONITOR as varchar(16) = '', + @COGNOME as varchar(20) = '', + @NOME as varchar(20) = '', + @TIPO_REPORT as varchar(100) = '', + @INDIRIZZO as varchar(20) = '', + @DATA as datetime = null, + @DATA_RICHIESTA_RISTAMPA as datetime = null, + @DATA_GENERAZIONE_REPORT as datetime = null, + @TESTO as TEXT = '' +) +RETURNS varchar(5000) +AS +BEGIN + DECLARE @TESTO_DI_RITORNO as varchar(5000) + DECLARE @REPORTISTICA as varchar(100) + DECLARE @DATACONVERTITA as varchar(100) + if @FREQUENZA_DIAGN is null + BEGIN + SET @REPORTISTICA = 'Report di Monitoraggio'; + --SET @TIPO_REPORT_D = ''; + --SET @FREQUENZA_DIAGN = ''; + END + else + BEGIN + --if @FREQUENZA_DIAGN = 'T' + --SET @FREQUENZA_DIAGN = 'Trimestrale'; + --if @FREQUENZA_DIAGN = 'S' + --SET @FREQUENZA_DIAGN = 'Semestrale'; + --if @FREQUENZA_DIAGN = 'A' + --SET @FREQUENZA_DIAGN = 'Annuale'; + SET @REPORTISTICA = 'Report di Diagnosi e Monitoraggio'; + END + --if @FREQUENZA_MONITOR is null + --BEGIN + --SET @TIPO_REPORT_M = ''; + --SET @FREQUENZA_MONITOR = ''; + --END + --else + --BEGIN + --if @FREQUENZA_MONITOR = 'T' + --SET @FREQUENZA_MONITOR = 'Trimestrale'; + --if @FREQUENZA_MONITOR = 'S' + --SET @FREQUENZA_MONITOR = 'Semestrale'; + --if @FREQUENZA_MONITOR = 'A' + --SET @FREQUENZA_MONITOR = 'Annuale'; + --SET @TIPO_REPORT_M = '[' +@TIPO_REPORT_M + ', ' + @FREQUENZA_MONITOR+']'; + --END + SET @TESTO_DI_RITORNO = @TESTO + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'\r\n',char(10)); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'\t',char(8)); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$CONTRACT_ID$/',@CODICE_CONTRATTO); + if not @DATA is null + BEGIN + SET @DATACONVERTITA = [dbo].[FormatDate_Testo_Lettera_Benvenuto](@DATA); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$DATE$/',@DATACONVERTITA); + END +--SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$DATE$/',CONVERT(VARCHAR(10), @DATA, 103)); + else + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$DATE$/',''); + if not @DATA_RICHIESTA_RISTAMPA is null + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$reprint_date_req$/',CONVERT(VARCHAR(10), @DATA_RICHIESTA_RISTAMPA, 103)); + else + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$reprint_date_req$/',''); + if not @DATA_GENERAZIONE_REPORT is null + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$GENERATION_REP_DATE$/',CONVERT(VARCHAR(10), @DATA_GENERAZIONE_REPORT, 103)); + else + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$GENERATION_REP_DATE$/',''); + ---- MODIFICARE PER MONITORAGGIO FARSI PASSARE L'ARGOMENTO DAL RM + --- Inserire il caso del monitoraggio + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$report_type$/',@TIPO_REPORT); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$LASTNAME$/',@COGNOME); + if NOT @NOME IS NULL + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$NAME$/',@NOME); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$REPORTISCA$/',@REPORTISTICA); + -- + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$TIPO$/',@TIPO_REPORT); + -- + --SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$REPORT_TYPE_MONITORAGGIO$/',@TIPO_REPORT_M); +-- SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$FREQUENCY_DIAGNOSI$/',@FREQUENZA_DIAGN); +-- SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$FREQUENCY_MONITORAGGIO$/',@FREQUENZA_MONITOR); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$ADDRESS$/',@INDIRIZZO); + if not @DATA_RICHIESTA_RISTAMPA is null + begin + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$REPRINT_DATE_REQ$/',@DATA_RICHIESTA_RISTAMPA); + end + if not @DATA_GENERAZIONE_REPORT is null + begin + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$GENERATION_REP_DATE$/',@DATA_GENERAZIONE_REPORT); + end + RETURN @TESTO_DI_RITORNO +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6Mart_getAppellativo.sql b/sql/Produzione/funzioni/C6Mart_getAppellativo.sql new file mode 100644 index 00000000..d31066e6 --- /dev/null +++ b/sql/Produzione/funzioni/C6Mart_getAppellativo.sql @@ -0,0 +1,31 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE FUNCTION [C6Mart].[getAppellativo] +( + -- Add the parameters for the function here + @Sesso varchar(1), + @Cod_fiscale varchar(16) +) +RETURNS VARCHAR(150) +AS +BEGIN + -- Declare the return variable here + DECLARE @Appellativo VARCHAR(150) + IF(LEN(@Cod_fiscale) = 16 AND CHARINDEX('@',@Cod_fiscale) = 0) + BEGIN + IF(@Sesso = 'F') + --SET @Appellativo = 'Gent. Sig.ra' + SET @Appellativo = 'Gentile signora' + ELSE + --SET @Appellativo = 'Egr. Sig.' + SET @Appellativo = 'Gentile signore' + END + ELSE + --SET @Appellativo = 'Spett.le' + SET @Appellativo = 'Spettabile' + -- Return the result of the function + RETURN @Appellativo +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6Mart_getAreaDaProposta.sql b/sql/Produzione/funzioni/C6Mart_getAreaDaProposta.sql new file mode 100644 index 00000000..a4ebf32d --- /dev/null +++ b/sql/Produzione/funzioni/C6Mart_getAreaDaProposta.sql @@ -0,0 +1,50 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 20/02/2009 +-- Description: Recupera l'area di bisgno a partire da quanto stabilito nella all_proposta +-- ============================================= +CREATE FUNCTION [C6Mart].[getAreaDaProposta] +( + @TipoProdotto AS VARCHAR(20), + @CodInterno AS VARCHAR(18), + @CodSottoProdotto AS VARCHAR(5), + @CodMaf AS VARCHAR(18), + @Rete AS CHAR(1), + @CodiceFiscale AS VARCHAR(16) +) +RETURNS VARCHAR(20) +AS +BEGIN + DECLARE @Area VARCHAR(20) + IF @TipoProdotto IN ('FI','GE','ASUL','ASU1','ASVI','ASCM','CC') + BEGIN + SELECT @Area = need_breve + FROM c6staging.all_proposta + WHERE isanewposition = 1 + AND pr_cod_interno = @CodInterno + AND pr_cod_sottoprodotto = @CodSottoProdotto + AND rete = @Rete + AND codicefiscale = @CodiceFiscale + END + ELSE + IF @TipoProdotto IN ('GES') + BEGIN + SELECT @Area = need_breve + FROM c6staging.all_proposta + WHERE isanewposition = 1 + AND pr_cod_interno = @CodInterno + AND pr_cod_maf = @CodMaf + AND rete = @Rete + AND codicefiscale = @CodiceFiscale + END + ELSE + BEGIN + SELECT @Area = need_breve + FROM c6staging.all_proposta + WHERE isanewposition = 1 + AND pr_cod_interno = @CodInterno + AND rete = @Rete + AND codicefiscale = @CodiceFiscale + END + RETURN @Area +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6Mart_getCreditRiskClass.sql b/sql/Produzione/funzioni/C6Mart_getCreditRiskClass.sql new file mode 100644 index 00000000..5dcc9134 --- /dev/null +++ b/sql/Produzione/funzioni/C6Mart_getCreditRiskClass.sql @@ -0,0 +1,23 @@ +CREATE FUNCTION [C6Mart].[getCreditRiskClass] +( + @ully as decimal(10,3), + @NumTitRc as smallint +) +RETURNS smallint +AS +BEGIN + -- Declare the return variable here + DECLARE @creditClassRisk as smallint + SET @ully = @ully/100 + -- Add the T-SQL statements to compute the return value here + IF @NumTitRc > 0 + begin + SELECT @creditClassRisk = + profilo + from C6Mart.[CODIFICA_CREDITRISK] + where min_val <= @ully and @ully <= max_val + end + else + set @creditClassRisk = null + RETURN @creditClassRisk +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6Mart_getCreditRiskClassEmit.sql b/sql/Produzione/funzioni/C6Mart_getCreditRiskClassEmit.sql new file mode 100644 index 00000000..3429a678 --- /dev/null +++ b/sql/Produzione/funzioni/C6Mart_getCreditRiskClassEmit.sql @@ -0,0 +1,23 @@ +CREATE FUNCTION [C6Mart].[getCreditRiskClassEmit] +( + @ully as decimal(10,3), + @NumTitRc as smallint +) +RETURNS smallint +AS +BEGIN + -- Declare the return variable here + DECLARE @creditClassRisk as smallint + SET @ully = @ully/100 + -- Add the T-SQL statements to compute the return value here + IF @NumTitRc > 0 + begin + SELECT @creditClassRisk = + ordine + from C6Mart.RischioEmittenti + where min <= @ully and @ully <= max + end + else + set @creditClassRisk = null + RETURN @creditClassRisk +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6Mart_getDataPerfUpdate.sql b/sql/Produzione/funzioni/C6Mart_getDataPerfUpdate.sql new file mode 100644 index 00000000..974869b5 --- /dev/null +++ b/sql/Produzione/funzioni/C6Mart_getDataPerfUpdate.sql @@ -0,0 +1,20 @@ +CREATE FUNCTION [C6Mart].[getDataPerfUpdate] +( + @rete varchar(1), + @cod_fiscale varchar(20) +) +RETURNS datetime +AS +BEGIN + declare @dtPerf datetime + select top 1 @dtPerf = TRCOM_DTPERF + from [CONSUNI].ConsulenzaUnicaFL.[dbo].CBS_HistDatiIngresso + where + trcom_rete = @rete + and + trcom_codfisc = @cod_fiscale + and + trcom_causale = 'UD6' + order by data_inserimento_riga desc + return @dtPerf +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6Mart_getIdElab.sql b/sql/Produzione/funzioni/C6Mart_getIdElab.sql new file mode 100644 index 00000000..a72e366b --- /dev/null +++ b/sql/Produzione/funzioni/C6Mart_getIdElab.sql @@ -0,0 +1,18 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE FUNCTION [C6Mart].[getIdElab] +( +) +RETURNS int +AS +BEGIN + -- Declare the return variable here + DECLARE @ID_ELAB AS INTEGER + SELECT @ID_ELAB = ISNULL(MAX(ID_ELAB),0) + FROM C6MART.ELABORAZIONI + -- Return the result of the function + RETURN @ID_ELAB +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6Mart_getIndicatoreValutazione.sql b/sql/Produzione/funzioni/C6Mart_getIndicatoreValutazione.sql new file mode 100644 index 00000000..7d0edc74 --- /dev/null +++ b/sql/Produzione/funzioni/C6Mart_getIndicatoreValutazione.sql @@ -0,0 +1,61 @@ +----------------------------------------------------------------------------------------------- +-- LA FUNZIONE TORNA L'INDICATORE DI VALUTAZIONE (MIFID 2) PER IL CLIENTE SPECIFICATO +-- IL DOMINIO DELL'INDICATORE PASSATO E': +-- (1) - RISCHIO MERCATO +-- (2) - RISCHIO CREDITO +-- (3) - CONCENTRAZIONE EMITTENTI +-- (4) - COMPLESSITA' +-- (5) - CONCENTRAZIONE IN PRODOTTI COMPLESSI +-- (6) - FREQUENZA DELLE OPERAZIONI +-- (7) - LIQUIDITA'/LIQUIDABILITA' (ORIZZONTE TEMPORALI DEGLI INVESTIMENTI) +-- +-- select [C6Mart].[getIndicatoreValutazione] ('f','00247580970',7) +CREATE FUNCTION [C6Mart].[getIndicatoreValutazione] +( + @Rete char(1), + @CodiceFiscale varchar(16), + @indicatore smallint = 4 +) +RETURNS VARCHAR(5) +AS +BEGIN + DECLARE @retData VARCHAR(5) + if @indicatore = 1 -- 1.RM (Rischio Mercato) + begin + select @retData = RM_ADEGUATEZZA_INDICATORE from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] where Rete = @Rete and Codice_Fiscale = @CodiceFiscale + end + else if @indicatore = 2 -- 2.RC (Rischio Credito) + begin + select @retData = RS_ADEGUATEZZA_INDICATORE from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] where Rete = @Rete and Codice_Fiscale = @CodiceFiscale + end + else if @indicatore = 3 -- 3.CE (Concentrazione Emittenti) + begin + select @retData = TH_ADEGUATEZZA_INDICATORE from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] where Rete = @Rete and Codice_Fiscale = @CodiceFiscale + end + else if @indicatore = 4 -- 4.CM (Complessità) + begin + select @retData = CM_ADEGUATEZZA_INDICATORE from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] where Rete = @Rete and Codice_Fiscale = @CodiceFiscale + end + else if @indicatore = 5 -- 5.CC (Concentrazione prodotti Complessi) + begin + select @retData = CC_ADEGUATEZZA_INDICATORE from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] where Rete = @Rete and Codice_Fiscale = @CodiceFiscale + end + else if @indicatore = 6 -- 6.FQ (Frequenza) + begin + select @retData = FQ_ADEGUATEZZA_INDICATORE from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] where Rete = @Rete and Codice_Fiscale = @CodiceFiscale + end + else if @indicatore = 7 -- 7.LQ (Liquidità) + begin + select @retData = CE_ADEGUATEZZA_INDICATORE from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] where Rete = @Rete and Codice_Fiscale = @CodiceFiscale + end + else if @indicatore = 8 -- 7.LQ (Liquidità) + begin + select @retData = CV_ADEGUATEZZA_INDICATORE from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] where Rete = @Rete and Codice_Fiscale = @CodiceFiscale + end + else if @indicatore = 9 -- 7.LQ (Liquidità) + begin + select @retData = ES_ADEGUATEZZA_INDICATORE from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] where Rete = @Rete and Codice_Fiscale = @CodiceFiscale + end + else set @retData = 'NN' +return @retData +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6Mart_getTipoElab.sql b/sql/Produzione/funzioni/C6Mart_getTipoElab.sql new file mode 100644 index 00000000..28fae8c3 --- /dev/null +++ b/sql/Produzione/funzioni/C6Mart_getTipoElab.sql @@ -0,0 +1,22 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE FUNCTION [C6Mart].[getTipoElab] +( +) +RETURNS VARCHAR(1) +AS +BEGIN + -- Declare the return variable here + DECLARE @TIPO_ELAB AS VARCHAR(1) + DECLARE @ID_ELAB AS INT + SELECT @ID_ELAB = MAX(ID_ELAB) + FROM C6MART.ELABORAZIONI + SELECT @TIPO_ELAB = TIPO_ELAB + FROM C6MART.ELABORAZIONI + WHERE ID_ELAB = @ID_ELAB + -- Return the result of the function + RETURN @TIPO_ELAB +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6StagingPeriodicoImmobiliare_RP_Info_DaProdottoCSaCatalogo.sql b/sql/Produzione/funzioni/C6StagingPeriodicoImmobiliare_RP_Info_DaProdottoCSaCatalogo.sql new file mode 100644 index 00000000..d7039dc9 --- /dev/null +++ b/sql/Produzione/funzioni/C6StagingPeriodicoImmobiliare_RP_Info_DaProdottoCSaCatalogo.sql @@ -0,0 +1,91 @@ +CREATE FUNCTION [C6StagingPeriodicoImmobiliare].[RP_Info_DaProdottoCSaCatalogo] +( + @TipoProdotto varchar(5), + @CodInterno varchar(13), + @CodMAF varchar(13), + @CodISIN varchar(16), + @CodSottoprodotto varchar(13) +) +RETURNS varchar(63) +AS +BEGIN + DECLARE @ResultVar VARCHAR(63) + IF @TipoProdotto in ('FI', 'GE', 'ASUL', 'ASU1', 'ASVI', 'ASCM', 'AC','CC') + BEGIN + IF @CodSottoprodotto not in ('LIQUI', 'VAR5', 'VAR10', 'VAR15', 'L191', 'L192') +--inizio intervento MIGRAZIONE ASU3 +--inizio INTERVENTO 'RE' - 20161219 + --and @CodInterno not in ('RS','RB','RM','RV') + --inizio INTERVENTO 'RF/MP' - 20171204 + --and @CodInterno not in ('RS','RB','RM','RV','RE') + and @CodInterno not in ('RS','RB','RM','RV','RE','RF','IE','XP','3A', '3L' +,'1M','2M','3M','4M','5M','6M','7M','8M','9M') + --FINE INTERVENTO 'RF/MP' - 20171204 +--fine INTERVENTO 'RE' - 20161219 +--fine intervento MIGRAZIONE ASU3 + SELECT TOP 1 + @ResultVar = CATALOGUEID + FROM C6StagingPeriodicoImmobiliare.RP_CATALOGOPRODOTTI CAT + where 1=1 + and isnull(cat.CODINTERNO,'') = isnull(@CodInterno,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(@CodSottoprodotto,'') + ORDER BY VISIBILITA DESC +--inizio intervento MIGRAZIONE ASU3 + ELSE IF + --inizio INTERVENTO 'RE' - 20161219 + --@CodInterno in ('RS','RB','RM','RV') + --inizio INTERVENTO 'RF/MP' - 20171204 + --@CodInterno in ('RS','RB','RM','RV','RE') + @CodInterno in ('RS','RB','RM','RV','RE','RF','IE','XP','3A', '3L' +,'1M','2M','3M','4M','5M','6M','7M','8M','9M') + --FINE INTERVENTO 'RF/MP' - 20171204 + --fine INTERVENTO 'RE' - 20161219 + SELECT TOP 1 + @ResultVar = CATALOGUEID + FROM C6StagingPeriodicoImmobiliare.RP_CATALOGOPRODOTTI CAT + where 1=1 + and isnull(cat.CODINTERNO,'') = isnull(@CodInterno,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(@CodSottoprodotto,'') + and isnull(cat.codisin,'') = isnull(@CodISIN,'') + ORDER BY VISIBILITA DESC +--fine intervento MIGRAZIONE ASU3 + ELSE + SELECT TOP 1 + @ResultVar = CATALOGUEID + FROM C6StagingPeriodicoImmobiliare.RP_CATALOGOPRODOTTI CAT + where 1=1 + and isnull(cat.CODINTERNO,'') = isnull(@CodInterno,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(@CodSottoprodotto,'') + and cat.TIPOPRODOTTO = @TipoProdotto + ORDER BY VISIBILITA DESC + END +-- IF @TipoProdotto in ('ASU2') + IF @TipoProdotto in ('ASU2','GP') + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6StagingPeriodicoImmobiliare.RP_CATALOGOPRODOTTI CAT + where 1=1 + and isnull(cat.CODINTERNO,'') = isnull(@CodInterno,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(@CodSottoprodotto,'') + and isnull(cat.codisin,'') = isnull(@CodISIN,'') + ORDER BY VISIBILITA DESC + IF @TipoProdotto in ('DT','ASD' ) + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6StagingPeriodicoImmobiliare.RP_CATALOGOPRODOTTI CAT + where 1=1 + and isnull(cat.CODINTERNO,'') = isnull(@CodInterno,'') + ORDER BY VISIBILITA DESC + IF @TipoProdotto in ('GES' ) + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6StagingPeriodicoImmobiliare.RP_CATALOGOPRODOTTI CAT + where 1=1 + and isnull(cat.CODINTERNO,'') = isnull(@CodInterno,'') + and isnull(cat.CODMAF,'') = isnull(@CodMAF,'') + ORDER BY VISIBILITA DESC +-- IF @CodISIN in ('EURO00000009') +-- SELECT TOP 1 @ResultVar = CATALOGUEID +-- FROM C6StagingPeriodicoImmobiliare.RP_CATALOGOPRODOTTI CAT +-- where 1=1 +-- and isnull(cat.codisin,'') = isnull(@CodISIN,'') +-- ORDER BY VISIBILITA DESC + RETURN @ResultVar +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6StagingPeriodico_GetContrattiChiusiFromSEI.sql b/sql/Produzione/funzioni/C6StagingPeriodico_GetContrattiChiusiFromSEI.sql new file mode 100644 index 00000000..f097f8cc --- /dev/null +++ b/sql/Produzione/funzioni/C6StagingPeriodico_GetContrattiChiusiFromSEI.sql @@ -0,0 +1,54 @@ +CREATE FUNCTION [C6StagingPeriodico].[GetContrattiChiusiFromSEI] +( +@startdate varchar(10), +@enddate varchar(10) +) +RETURNS table +AS +RETURN + ( +select +b.chiaveClientePB +,b.CF +,b.PIVA +,b.PB +,b.RETE +,b.COD_CONF +,b.INDIRIZZO +,b.CAP +,b.CITTA +,b.PROV +,b.NAZIONE +,s.EMAIL +,v.FREQUENZA_DIAGNOSI +,v.FREQUENZA_MONITORAGGIO +,r.FLAG_STAMPA_REPORT +,b.DATA_SOTTOSCRIZIONE_CB +,b.DATA_PERFEZIONAMENTO_CB +,b.DATA_CHIUSURA_CB +,s.DATA_SOTTOSCRIZIONE_C6 +,s.DATA_PERFEZIONAMENTO_C6 +,s.DATA_CHIUSURA_C6 +,s.ADESIONE_ROL +,s.TIPCONTRATTO +--into consulenzabasefl_cbs_AvanzatiChiusi +from + [CONSUNI].ConsulenzaUnicaFL.dbo.CBS_DbContrattoBase b +inner join + [CONSUNI].ConsulenzaUnicaFL.dbo.CBS_DbContrattoSei s +on b.COD_CONF=s.COD_CONF +inner join [CONSUNI].ConsulenzaUnicaFL.dbo.CBS_DbVariazFreqContrSei v +on v.COD_CONF=b.COD_CONF and +--v.DATA_FINE_CARATTER_FREQ='99991231' +v.DATA_FINE_CARATTER_FREQ= +(select max(z.DATA_FINE_CARATTER_FREQ) from [CONSUNI].ConsulenzaUnicaFL.dbo.CBS_DbVariazFreqContrSei z + where v.COD_CONF=z.COD_CONF) +inner join [CONSUNI].ConsulenzaUnicaFL.dbo.CBS_DbVariazStmrepContrSei r +on r.COD_CONF=b.COD_CONF and +r.DATA_FINE_CARATTER_STMREP= +(select max(y.DATA_FINE_CARATTER_STMREP) from [CONSUNI].ConsulenzaUnicaFL.dbo.CBS_DbVariazStmrepContrSei y + where r.COD_CONF=y.COD_CONF) +where b.DATA_CHIUSURA_CB!='99991231' and s.DATA_CHIUSURA_C6!='99991231' +-- and r.DATA_FINE_CARATTER_STMREP='99991231' +and s.DATA_CHIUSURA_C6 between @startdate and @enddate +) \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6StagingPeriodico_Info_DaProdottoCSaCatalogo.sql b/sql/Produzione/funzioni/C6StagingPeriodico_Info_DaProdottoCSaCatalogo.sql new file mode 100644 index 00000000..74bacb8a --- /dev/null +++ b/sql/Produzione/funzioni/C6StagingPeriodico_Info_DaProdottoCSaCatalogo.sql @@ -0,0 +1,45 @@ +CREATE FUNCTION [C6StagingPeriodico].[Info_DaProdottoCSaCatalogo] +( + @TipoProdotto varchar(5), + @CodInterno varchar(13), + @CodMAF varchar(13), + @CodISIN varchar(16), + @CodSottoprodotto varchar(13) +) +RETURNS varchar(63) +AS +BEGIN + -- Declare the return variable here + DECLARE @ResultVar VARCHAR(63) + -- Add the T-SQL statements to compute the return value here + IF @TipoProdotto in ('FI', 'GE', 'ASUL', 'ASVI','ASU1', 'ASCM', 'AC','CC' ) -- TRINGALI inseriti CC + --OR (@CodSottoprodotto NOT IN ('VAR5','VAR10','VAR15') and @TipoProdotto = 'ASU1') + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6StagingPeriodico.CATITEMREF cat + where 1=1 and cat.COD_INTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) + and cat.COD_SOTTOPRODOTTO= (case rtrim(isnull(@CodSottoprodotto,'')) when '' then '$' else @CodSottoprodotto end) + ORDER BY ISVISIBLE DESC + --V Modifica ASU2 + IF @TipoProdotto in ('ASU2') -- TRINGALI inseriti CC --V Inseriti ASU2 + --OR (@CodSottoprodotto IN ('VAR5','VAR10','VAR15') and @TipoProdotto = 'ASU1') + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6Stagingperiodico.CATITEMREF cat + where 1=1 and cat.COD_INTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) + and cat.COD_SOTTOPRODOTTO= (case rtrim(isnull(@CodSottoprodotto,'')) when '' then '$' else @CodSottoprodotto end) + and cat.cod_isin = @CodISIN + ORDER BY ISVISIBLE DESC + IF @TipoProdotto in ('DT','ASD' ) + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6StagingPeriodico.CATITEMREF cat + where 1=1 and cat.COD_INTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) + ORDER BY ISVISIBLE DESC + IF @TipoProdotto in ('GES' ) + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6StagingPeriodico.CATITEMREF cat + where 1=1 + and cat.COD_INTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) + and cat.COD_MAF=(case rtrim(isnull(@CodMAF,'')) when '' then '$' else @CodMAF end) + ORDER BY ISVISIBLE DESC + -- Return the result of the function + RETURN @ResultVar +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6StagingPeriodico_Info_DaProdottoCSaCatalogo_asu2.sql b/sql/Produzione/funzioni/C6StagingPeriodico_Info_DaProdottoCSaCatalogo_asu2.sql new file mode 100644 index 00000000..545fb2f6 --- /dev/null +++ b/sql/Produzione/funzioni/C6StagingPeriodico_Info_DaProdottoCSaCatalogo_asu2.sql @@ -0,0 +1,44 @@ +CREATE FUNCTION [C6StagingPeriodico].[Info_DaProdottoCSaCatalogo_asu2] +( + @TipoProdotto varchar(5), + @CodInterno varchar(13), + @CodMAF varchar(13), + @CodISIN varchar(16), + @CodSottoprodotto varchar(13) +) +RETURNS varchar(63) +AS +BEGIN + -- Declare the return variable here + DECLARE @ResultVar VARCHAR(63) + -- Add the T-SQL statements to compute the return value here + IF @TipoProdotto in ('FI', 'GE', 'ASUL', 'ASVI','ASU1', 'ASCM', 'AC','CC' ) -- TRINGALI inseriti CC + --OR (@CodSottoprodotto NOT IN ('VAR5','VAR10','VAR15') and @TipoProdotto = 'ASU1') + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6StagingPeriodico.CATITEMREF cat + where 1=1 and cat.COD_INTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) + and cat.COD_SOTTOPRODOTTO= (case rtrim(isnull(@CodSottoprodotto,'')) when '' then '$' else @CodSottoprodotto end) + ORDER BY ISVISIBLE DESC + IF @TipoProdotto in ('ASU2') -- TRINGALI inseriti CC --V Inseriti ASU2 + --OR (@CodSottoprodotto IN ('VAR5','VAR10','VAR15') and @TipoProdotto = 'ASU1') + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6Staging.CATITEMREF cat + where 1=1 and cat.COD_INTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) + and cat.COD_SOTTOPRODOTTO= (case rtrim(isnull(@CodSottoprodotto,'')) when '' then '$' else @CodSottoprodotto end) + and cat.cod_isin = @CodISIN + ORDER BY ISVISIBLE DESC + IF @TipoProdotto in ('DT','ASD' ) + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6StagingPeriodico.CATITEMREF cat + where 1=1 and cat.COD_INTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) + ORDER BY ISVISIBLE DESC + IF @TipoProdotto in ('GES' ) + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6StagingPeriodico.CATITEMREF cat + where 1=1 + and cat.COD_INTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) + and cat.COD_MAF=(case rtrim(isnull(@CodMAF,'')) when '' then '$' else @CodMAF end) + ORDER BY ISVISIBLE DESC + -- Return the result of the function + RETURN @ResultVar +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6StagingPeriodico_Info_DaProdottoCSaCatalogo_preASU2.sql b/sql/Produzione/funzioni/C6StagingPeriodico_Info_DaProdottoCSaCatalogo_preASU2.sql new file mode 100644 index 00000000..d673585e --- /dev/null +++ b/sql/Produzione/funzioni/C6StagingPeriodico_Info_DaProdottoCSaCatalogo_preASU2.sql @@ -0,0 +1,35 @@ +CREATE FUNCTION [C6StagingPeriodico].[Info_DaProdottoCSaCatalogo_preASU2] +( + @TipoProdotto varchar(5), + @CodInterno varchar(13), + @CodMAF varchar(13), + @CodISIN varchar(16), + @CodSottoprodotto varchar(13) +) +RETURNS varchar(63) +AS +BEGIN + -- Declare the return variable here + DECLARE @ResultVar VARCHAR(63) + -- Add the T-SQL statements to compute the return value here + IF @TipoProdotto in ('FI', 'GE', 'ASUL', 'ASU1', 'ASVI', 'ASCM', 'AC','CC' ) -- TRINGALI inseriti CC + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6StagingPeriodico.CATITEMREF cat + where 1=1 and cat.COD_INTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) + and cat.COD_SOTTOPRODOTTO= (case rtrim(isnull(@CodSottoprodotto,'')) when '' then '$' else @CodSottoprodotto end) + ORDER BY ISVISIBLE DESC + IF @TipoProdotto in ('DT','ASD' ) + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6StagingPeriodico.CATITEMREF cat + where 1=1 and cat.COD_INTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) + ORDER BY ISVISIBLE DESC + IF @TipoProdotto in ('GES' ) + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6StagingPeriodico.CATITEMREF cat + where 1=1 + and cat.COD_INTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) + and cat.COD_MAF=(case rtrim(isnull(@CodMAF,'')) when '' then '$' else @CodMAF end) + ORDER BY ISVISIBLE DESC + -- Return the result of the function + RETURN @ResultVar +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6StagingPeriodico_RP_Info_DaProdottoCSaCatalogo.sql b/sql/Produzione/funzioni/C6StagingPeriodico_RP_Info_DaProdottoCSaCatalogo.sql new file mode 100644 index 00000000..33a1ad66 --- /dev/null +++ b/sql/Produzione/funzioni/C6StagingPeriodico_RP_Info_DaProdottoCSaCatalogo.sql @@ -0,0 +1,91 @@ +CREATE FUNCTION [C6StagingPeriodico].[RP_Info_DaProdottoCSaCatalogo] +( + @TipoProdotto varchar(5), + @CodInterno varchar(13), + @CodMAF varchar(13), + @CodISIN varchar(16), + @CodSottoprodotto varchar(13) +) +RETURNS varchar(63) +AS +BEGIN + DECLARE @ResultVar VARCHAR(63) + IF @TipoProdotto in ('FI', 'GE', 'ASUL', 'ASU1', 'ASVI', 'ASCM', 'AC','CC') + BEGIN + IF @CodSottoprodotto not in ('LIQUI', 'VAR5', 'VAR10', 'VAR15', 'L191', 'L192','V301','V302') +--inizio intervento MIGRAZIONE ASU3 +--inizio INTERVENTO 'RE' - 20161219 + --and @CodInterno not in ('RS','RB','RM','RV') + --inizio INTERVENTO 'RF/MP' - 20171204 + --and @CodInterno not in ('RS','RB','RM','RV','RE') + and @CodInterno not in ('RS','RB','RM','RV','RE', 'RF','IE','XP','3A', '3L' +,'1M','2M','3M','4M','5M','6M','7M','8M','9M') + --FINE INTERVENTO 'RF/MP' - 20171204 +--fine INTERVENTO 'RE' - 20161219 +--fine intervento MIGRAZIONE ASU3 + SELECT TOP 1 + @ResultVar = CATALOGUEID + FROM C6StagingPeriodico.RP_CATALOGOPRODOTTI CAT + where 1=1 + and isnull(cat.CODINTERNO,'') = isnull(@CodInterno,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(@CodSottoprodotto,'') + ORDER BY VISIBILITA DESC +--inizio intervento MIGRAZIONE ASU3 + ELSE IF + --inizio INTERVENTO 'RE' - 20161219 + --@CodInterno in ('RS','RB','RM','RV') + --inizio INTERVENTO 'RF/MP' - 20171204 + --@CodInterno in ('RS','RB','RM','RV','RE') + @CodInterno in ('RS','RB','RM','RV','RE', 'RF','IE','XP','3A', '3L' +,'1M','2M','3M','4M','5M','6M','7M','8M','9M') + --FINE INTERVENTO 'RF/MP' - 20171204 + --fine INTERVENTO 'RE' - 20161219 + SELECT TOP 1 + @ResultVar = CATALOGUEID + FROM C6StagingPeriodico.RP_CATALOGOPRODOTTI CAT + where 1=1 + and isnull(cat.CODINTERNO,'') = isnull(@CodInterno,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(@CodSottoprodotto,'') + and isnull(cat.codisin,'') = isnull(@CodISIN,'') + ORDER BY VISIBILITA DESC +--fine intervento MIGRAZIONE ASU3 + ELSE + SELECT TOP 1 + @ResultVar = CATALOGUEID + FROM C6StagingPeriodico.RP_CATALOGOPRODOTTI CAT + where 1=1 + and isnull(cat.CODINTERNO,'') = isnull(@CodInterno,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(@CodSottoprodotto,'') + and cat.TIPOPRODOTTO = @TipoProdotto + ORDER BY VISIBILITA DESC + END +-- IF @TipoProdotto in ('ASU2') + IF @TipoProdotto in ('ASU2','GP') + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6StagingPeriodico.RP_CATALOGOPRODOTTI CAT + where 1=1 + and isnull(cat.CODINTERNO,'') = isnull(@CodInterno,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(@CodSottoprodotto,'') + and isnull(cat.codisin,'') = isnull(@CodISIN,'') + ORDER BY VISIBILITA DESC + IF @TipoProdotto in ('DT','ASD' ) + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6StagingPeriodico.RP_CATALOGOPRODOTTI CAT + where 1=1 + and isnull(cat.CODINTERNO,'') = isnull(@CodInterno,'') + ORDER BY VISIBILITA DESC + IF @TipoProdotto in ('GES' ) + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6StagingPeriodico.RP_CATALOGOPRODOTTI CAT + where 1=1 + and isnull(cat.CODINTERNO,'') = isnull(@CodInterno,'') + and isnull(cat.CODMAF,'') = isnull(@CodMAF,'') + ORDER BY VISIBILITA DESC +-- IF @CodISIN in ('EURO00000009') +-- SELECT TOP 1 @ResultVar = CATALOGUEID +-- FROM C6StagingPeriodico.RP_CATALOGOPRODOTTI CAT +-- where 1=1 +-- and isnull(cat.codisin,'') = isnull(@CodISIN,'') +-- ORDER BY VISIBILITA DESC + RETURN @ResultVar +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6StagingPeriodico_RP_Info_DaProdottoCSaCatalogo_20171204_preRFMP.sql b/sql/Produzione/funzioni/C6StagingPeriodico_RP_Info_DaProdottoCSaCatalogo_20171204_preRFMP.sql new file mode 100644 index 00000000..ffd5a570 --- /dev/null +++ b/sql/Produzione/funzioni/C6StagingPeriodico_RP_Info_DaProdottoCSaCatalogo_20171204_preRFMP.sql @@ -0,0 +1,83 @@ +CREATE FUNCTION [C6StagingPeriodico].[RP_Info_DaProdottoCSaCatalogo_20171204_preRFMP] +( + @TipoProdotto varchar(5), + @CodInterno varchar(13), + @CodMAF varchar(13), + @CodISIN varchar(16), + @CodSottoprodotto varchar(13) +) +RETURNS varchar(63) +AS +BEGIN + DECLARE @ResultVar VARCHAR(63) + IF @TipoProdotto in ('FI', 'GE', 'ASUL', 'ASU1', 'ASVI', 'ASCM', 'AC','CC') + BEGIN + IF @CodSottoprodotto not in ('LIQUI', 'VAR5', 'VAR10', 'VAR15', 'L191', 'L192') +--inizio intervento MIGRAZIONE ASU3 +--inizio INTERVENTO 'RE' - 20161219 + --and @CodInterno not in ('RS','RB','RM','RV') + and @CodInterno not in ('RS','RB','RM','RV','RE') +--fine INTERVENTO 'RE' - 20161219 +--fine intervento MIGRAZIONE ASU3 + SELECT TOP 1 + @ResultVar = CATALOGUEID + FROM C6StagingPeriodico.RP_CATALOGOPRODOTTI CAT + where 1=1 + and isnull(cat.CODINTERNO,'') = isnull(@CodInterno,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(@CodSottoprodotto,'') + ORDER BY VISIBILITA DESC +--inizio intervento MIGRAZIONE ASU3 + ELSE IF + --inizio INTERVENTO 'RE' - 20161219 + --@CodInterno in ('RS','RB','RM','RV') + @CodInterno in ('RS','RB','RM','RV','RE') + --fine INTERVENTO 'RE' - 20161219 + SELECT TOP 1 + @ResultVar = CATALOGUEID + FROM C6StagingPeriodico.RP_CATALOGOPRODOTTI CAT + where 1=1 + and isnull(cat.CODINTERNO,'') = isnull(@CodInterno,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(@CodSottoprodotto,'') + and isnull(cat.codisin,'') = isnull(@CodISIN,'') + ORDER BY VISIBILITA DESC +--fine intervento MIGRAZIONE ASU3 + ELSE + SELECT TOP 1 + @ResultVar = CATALOGUEID + FROM C6StagingPeriodico.RP_CATALOGOPRODOTTI CAT + where 1=1 + and isnull(cat.CODINTERNO,'') = isnull(@CodInterno,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(@CodSottoprodotto,'') + and cat.TIPOPRODOTTO = @TipoProdotto + ORDER BY VISIBILITA DESC + END +-- IF @TipoProdotto in ('ASU2') + IF @TipoProdotto in ('ASU2','GP') + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6StagingPeriodico.RP_CATALOGOPRODOTTI CAT + where 1=1 + and isnull(cat.CODINTERNO,'') = isnull(@CodInterno,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(@CodSottoprodotto,'') + and isnull(cat.codisin,'') = isnull(@CodISIN,'') + ORDER BY VISIBILITA DESC + IF @TipoProdotto in ('DT','ASD' ) + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6StagingPeriodico.RP_CATALOGOPRODOTTI CAT + where 1=1 + and isnull(cat.CODINTERNO,'') = isnull(@CodInterno,'') + ORDER BY VISIBILITA DESC + IF @TipoProdotto in ('GES' ) + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6StagingPeriodico.RP_CATALOGOPRODOTTI CAT + where 1=1 + and isnull(cat.CODINTERNO,'') = isnull(@CodInterno,'') + and isnull(cat.CODMAF,'') = isnull(@CodMAF,'') + ORDER BY VISIBILITA DESC +-- IF @CodISIN in ('EURO00000009') +-- SELECT TOP 1 @ResultVar = CATALOGUEID +-- FROM C6StagingPeriodico.RP_CATALOGOPRODOTTI CAT +-- where 1=1 +-- and isnull(cat.codisin,'') = isnull(@CodISIN,'') +-- ORDER BY VISIBILITA DESC + RETURN @ResultVar +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6StagingPeriodico_RP_Info_DaProdottoCSaCatalogo_20190725.sql b/sql/Produzione/funzioni/C6StagingPeriodico_RP_Info_DaProdottoCSaCatalogo_20190725.sql new file mode 100644 index 00000000..5d01df43 --- /dev/null +++ b/sql/Produzione/funzioni/C6StagingPeriodico_RP_Info_DaProdottoCSaCatalogo_20190725.sql @@ -0,0 +1,89 @@ +CREATE FUNCTION [C6StagingPeriodico].[RP_Info_DaProdottoCSaCatalogo_20190725] +( + @TipoProdotto varchar(5), + @CodInterno varchar(13), + @CodMAF varchar(13), + @CodISIN varchar(16), + @CodSottoprodotto varchar(13) +) +RETURNS varchar(63) +AS +BEGIN + DECLARE @ResultVar VARCHAR(63) + IF @TipoProdotto in ('FI', 'GE', 'ASUL', 'ASU1', 'ASVI', 'ASCM', 'AC','CC') + BEGIN + IF @CodSottoprodotto not in ('LIQUI', 'VAR5', 'VAR10', 'VAR15', 'L191', 'L192') +--inizio intervento MIGRAZIONE ASU3 +--inizio INTERVENTO 'RE' - 20161219 + --and @CodInterno not in ('RS','RB','RM','RV') + --inizio INTERVENTO 'RF/MP' - 20171204 + --and @CodInterno not in ('RS','RB','RM','RV','RE') + and @CodInterno not in ('RS','RB','RM','RV','RE','RF') + --FINE INTERVENTO 'RF/MP' - 20171204 +--fine INTERVENTO 'RE' - 20161219 +--fine intervento MIGRAZIONE ASU3 + SELECT TOP 1 + @ResultVar = CATALOGUEID + FROM C6StagingPeriodico.RP_CATALOGOPRODOTTI CAT + where 1=1 + and isnull(cat.CODINTERNO,'') = isnull(@CodInterno,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(@CodSottoprodotto,'') + ORDER BY VISIBILITA DESC +--inizio intervento MIGRAZIONE ASU3 + ELSE IF + --inizio INTERVENTO 'RE' - 20161219 + --@CodInterno in ('RS','RB','RM','RV') + --inizio INTERVENTO 'RF/MP' - 20171204 + --@CodInterno in ('RS','RB','RM','RV','RE') + @CodInterno in ('RS','RB','RM','RV','RE','RF') + --FINE INTERVENTO 'RF/MP' - 20171204 + --fine INTERVENTO 'RE' - 20161219 + SELECT TOP 1 + @ResultVar = CATALOGUEID + FROM C6StagingPeriodico.RP_CATALOGOPRODOTTI CAT + where 1=1 + and isnull(cat.CODINTERNO,'') = isnull(@CodInterno,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(@CodSottoprodotto,'') + and isnull(cat.codisin,'') = isnull(@CodISIN,'') + ORDER BY VISIBILITA DESC +--fine intervento MIGRAZIONE ASU3 + ELSE + SELECT TOP 1 + @ResultVar = CATALOGUEID + FROM C6StagingPeriodico.RP_CATALOGOPRODOTTI CAT + where 1=1 + and isnull(cat.CODINTERNO,'') = isnull(@CodInterno,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(@CodSottoprodotto,'') + and cat.TIPOPRODOTTO = @TipoProdotto + ORDER BY VISIBILITA DESC + END +-- IF @TipoProdotto in ('ASU2') + IF @TipoProdotto in ('ASU2','GP') + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6StagingPeriodico.RP_CATALOGOPRODOTTI CAT + where 1=1 + and isnull(cat.CODINTERNO,'') = isnull(@CodInterno,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(@CodSottoprodotto,'') + and isnull(cat.codisin,'') = isnull(@CodISIN,'') + ORDER BY VISIBILITA DESC + IF @TipoProdotto in ('DT','ASD' ) + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6StagingPeriodico.RP_CATALOGOPRODOTTI CAT + where 1=1 + and isnull(cat.CODINTERNO,'') = isnull(@CodInterno,'') + ORDER BY VISIBILITA DESC + IF @TipoProdotto in ('GES' ) + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6StagingPeriodico.RP_CATALOGOPRODOTTI CAT + where 1=1 + and isnull(cat.CODINTERNO,'') = isnull(@CodInterno,'') + and isnull(cat.CODMAF,'') = isnull(@CodMAF,'') + ORDER BY VISIBILITA DESC +-- IF @CodISIN in ('EURO00000009') +-- SELECT TOP 1 @ResultVar = CATALOGUEID +-- FROM C6StagingPeriodico.RP_CATALOGOPRODOTTI CAT +-- where 1=1 +-- and isnull(cat.codisin,'') = isnull(@CodISIN,'') +-- ORDER BY VISIBILITA DESC + RETURN @ResultVar +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6StagingPeriodico_RP_Info_DaProdottoCSaCatalogo_BK_eligoTitoli.sql b/sql/Produzione/funzioni/C6StagingPeriodico_RP_Info_DaProdottoCSaCatalogo_BK_eligoTitoli.sql new file mode 100644 index 00000000..a08fbe60 --- /dev/null +++ b/sql/Produzione/funzioni/C6StagingPeriodico_RP_Info_DaProdottoCSaCatalogo_BK_eligoTitoli.sql @@ -0,0 +1,60 @@ +CREATE FUNCTION [C6StagingPeriodico].[RP_Info_DaProdottoCSaCatalogo_BK_eligoTitoli] +( + @TipoProdotto varchar(5), + @CodInterno varchar(13), + @CodMAF varchar(13), + @CodISIN varchar(16), + @CodSottoprodotto varchar(13) +) +RETURNS varchar(63) +AS +BEGIN + DECLARE @ResultVar VARCHAR(63) + IF @TipoProdotto in ('FI', 'GE', 'ASUL', 'ASU1', 'ASVI', 'ASCM', 'AC','CC') + BEGIN + IF @CodSottoprodotto not in ('LIQUI', 'VAR5', 'VAR10', 'VAR15', 'L191') + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6StagingPeriodico.RP_CATALOGOPRODOTTI CAT + where 1=1 + and isnull(cat.CODINTERNO,'') = isnull(@CodInterno,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(@CodSottoprodotto,'') + ORDER BY VISIBILITA DESC + ELSE + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6StagingPeriodico.RP_CATALOGOPRODOTTI CAT + where 1=1 + and isnull(cat.CODINTERNO,'') = isnull(@CodInterno,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(@CodSottoprodotto,'') + and cat.TIPOPRODOTTO = @TipoProdotto + ORDER BY VISIBILITA DESC + END +-- IF @TipoProdotto in ('ASU2') + IF @TipoProdotto in ('ASU2','GP') + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6StagingPeriodico.RP_CATALOGOPRODOTTI CAT + where 1=1 + and isnull(cat.CODINTERNO,'') = isnull(@CodInterno,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(@CodSottoprodotto,'') + and isnull(cat.codisin,'') = isnull(@CodISIN,'') + ORDER BY VISIBILITA DESC + IF @TipoProdotto in ('DT','ASD' ) + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6StagingPeriodico.RP_CATALOGOPRODOTTI CAT + where 1=1 + and isnull(cat.CODINTERNO,'') = isnull(@CodInterno,'') + ORDER BY VISIBILITA DESC + IF @TipoProdotto in ('GES' ) + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6StagingPeriodico.RP_CATALOGOPRODOTTI CAT + where 1=1 + and isnull(cat.CODINTERNO,'') = isnull(@CodInterno,'') + and isnull(cat.CODMAF,'') = isnull(@CodMAF,'') + ORDER BY VISIBILITA DESC +-- IF @CodISIN in ('EURO00000009') +-- SELECT TOP 1 @ResultVar = CATALOGUEID +-- FROM C6StagingPeriodico.RP_CATALOGOPRODOTTI CAT +-- where 1=1 +-- and isnull(cat.codisin,'') = isnull(@CodISIN,'') +-- ORDER BY VISIBILITA DESC + RETURN @ResultVar +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6StagingPeriodico_RP_Info_DaProdottoCSaCatalogo_INLINE_20240427.sql b/sql/Produzione/funzioni/C6StagingPeriodico_RP_Info_DaProdottoCSaCatalogo_INLINE_20240427.sql new file mode 100644 index 00000000..dbc156ce --- /dev/null +++ b/sql/Produzione/funzioni/C6StagingPeriodico_RP_Info_DaProdottoCSaCatalogo_INLINE_20240427.sql @@ -0,0 +1,49 @@ +CREATE FUNCTION [C6StagingPeriodico].[RP_Info_DaProdottoCSaCatalogo_INLINE_20240427] +( + @TipoProdotto varchar(5), + @CodInterno varchar(13), + @CodMAF varchar(13), + @CodISIN varchar(16), + @CodSottoprodotto varchar(13) +) +RETURNS TABLE +AS +RETURN +( + SELECT TOP 1 + CATALOGUEID + FROM C6StagingPeriodico.RP_CATALOGOPRODOTTI CAT + WHERE + ( + (@TipoProdotto IN ('FI', 'GE', 'ASUL', 'ASU1', 'ASVI', 'ASCM', 'AC', 'CC') + AND ( + ( + @CodSottoprodotto NOT IN ('LIQUI', 'VAR5', 'VAR10', 'VAR15', 'L191', 'L192','V301','V302') + AND @CodInterno NOT IN ('RS','RB','RM','RV','RE','RF','IE','XP','3A','3L','1M','2M','3M','4M','5M','6M','7M','8M','9M') + AND ISNULL(CAT.CODINTERNO,'') = ISNULL(@CodInterno,'') + AND ISNULL(CAT.CODSOTTOPRODOTTO,'') = ISNULL(@CodSottoprodotto,'') + ) + OR + ( + @CodInterno IN ('RS','RB','RM','RV','RE','RF','IE','XP','3A','3L','1M','2M','3M','4M','5M','6M','7M','8M','9M') + AND ISNULL(CAT.CODINTERNO,'') = ISNULL(@CodInterno,'') + AND ISNULL(CAT.CODSOTTOPRODOTTO,'') = ISNULL(@CodSottoprodotto,'') + AND ISNULL(CAT.CODISIN,'') = ISNULL(@CodISIN,'') + ) + ) + ) + OR (@TipoProdotto IN ('ASU2', 'GP') + AND ISNULL(CAT.CODINTERNO,'') = ISNULL(@CodInterno,'') + AND ISNULL(CAT.CODSOTTOPRODOTTO,'') = ISNULL(@CodSottoprodotto,'') + AND ISNULL(CAT.CODISIN,'') = ISNULL(@CodISIN,'') + ) + OR (@TipoProdotto IN ('DT', 'ASD') + AND ISNULL(CAT.CODINTERNO,'') = ISNULL(@CodInterno,'') + ) + OR (@TipoProdotto = 'GES' + AND ISNULL(CAT.CODINTERNO,'') = ISNULL(@CodInterno,'') + AND ISNULL(CAT.CODMAF,'') = ISNULL(@CodMAF,'') + ) + ) + ORDER BY VISIBILITA DESC +) \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6StagingPeriodico_RP_Info_DaProdottoCSaCatalogo_Ottimizzata.sql b/sql/Produzione/funzioni/C6StagingPeriodico_RP_Info_DaProdottoCSaCatalogo_Ottimizzata.sql new file mode 100644 index 00000000..50c7fb18 --- /dev/null +++ b/sql/Produzione/funzioni/C6StagingPeriodico_RP_Info_DaProdottoCSaCatalogo_Ottimizzata.sql @@ -0,0 +1,177 @@ +Create FUNCTION [C6StagingPeriodico].[RP_Info_DaProdottoCSaCatalogo_Ottimizzata] +( + @TipoProdotto varchar(5), + @CodInterno varchar(13), + @CodMAF varchar(13), + @CodISIN varchar(16), + @CodSottoprodotto varchar(13) +) +RETURNS varchar(63) +AS +BEGIN + -- FerAcu Variante su CodInterno che è il primo campo degli indici su RP_CATALOGOPRODOTTI + -- Il corpo si sdoppia gestendo separatamente il caso con CodInterno vuoto e popolato + DECLARE @ResultVar VARCHAR(63) + IF isnull(@CodInterno,'') != '' + BEGIN + IF @TipoProdotto in ('FI', 'GE', 'ASUL', 'ASU1', 'ASVI', 'ASCM', 'AC','CC') + BEGIN + IF @CodSottoprodotto not in ('LIQUI', 'VAR5', 'VAR10', 'VAR15', 'L191', 'L192','V301','V302') + --inizio intervento MIGRAZIONE ASU3 + --inizio INTERVENTO 'RE' - 20161219 + --and @CodInterno not in ('RS','RB','RM','RV') + --inizio INTERVENTO 'RF/MP' - 20171204 + --and @CodInterno not in ('RS','RB','RM','RV','RE') + and @CodInterno not in ('RS','RB','RM','RV','RE', 'RF','IE','XP','3A', '3L' + ,'1M','2M','3M','4M','5M','6M','7M','8M','9M') + --FINE INTERVENTO 'RF/MP' - 20171204 + --fine INTERVENTO 'RE' - 20161219 + --fine intervento MIGRAZIONE ASU3 + SELECT TOP 1 + @ResultVar = CATALOGUEID + FROM C6StagingPeriodico.RP_CATALOGOPRODOTTI CAT + where 1=1 + and cat.CODINTERNO = isnull(@CodInterno,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(@CodSottoprodotto,'') + ORDER BY VISIBILITA DESC + --inizio intervento MIGRAZIONE ASU3 + ELSE IF + --inizio INTERVENTO 'RE' - 20161219 + --@CodInterno in ('RS','RB','RM','RV') + --inizio INTERVENTO 'RF/MP' - 20171204 + --@CodInterno in ('RS','RB','RM','RV','RE') + @CodInterno in ('RS','RB','RM','RV','RE', 'RF','IE','XP','3A', '3L' + ,'1M','2M','3M','4M','5M','6M','7M','8M','9M') + --FINE INTERVENTO 'RF/MP' - 20171204 + --fine INTERVENTO 'RE' - 20161219 + SELECT TOP 1 + @ResultVar = CATALOGUEID + FROM C6StagingPeriodico.RP_CATALOGOPRODOTTI CAT + where 1=1 + and cat.CODINTERNO = isnull(@CodInterno,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(@CodSottoprodotto,'') + and isnull(cat.codisin,'') = isnull(@CodISIN,'') + ORDER BY VISIBILITA DESC + --fine intervento MIGRAZIONE ASU3 + ELSE + SELECT TOP 1 + @ResultVar = CATALOGUEID + FROM C6StagingPeriodico.RP_CATALOGOPRODOTTI CAT + where 1=1 + and cat.CODINTERNO = isnull(@CodInterno,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(@CodSottoprodotto,'') + and cat.TIPOPRODOTTO = @TipoProdotto + ORDER BY VISIBILITA DESC + END + -- IF @TipoProdotto in ('ASU2') + IF @TipoProdotto in ('ASU2','GP') + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6StagingPeriodico.RP_CATALOGOPRODOTTI CAT + where 1=1 + and cat.CODINTERNO = isnull(@CodInterno,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(@CodSottoprodotto,'') + and isnull(cat.codisin,'') = isnull(@CodISIN,'') + ORDER BY VISIBILITA DESC + IF @TipoProdotto in ('DT','ASD' ) + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6StagingPeriodico.RP_CATALOGOPRODOTTI CAT + where 1=1 + and cat.CODINTERNO = isnull(@CodInterno,'') + ORDER BY VISIBILITA DESC + IF @TipoProdotto in ('GES' ) + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6StagingPeriodico.RP_CATALOGOPRODOTTI CAT + where 1=1 + and cat.CODINTERNO = isnull(@CodInterno,'') + and isnull(cat.CODMAF,'') = isnull(@CodMAF,'') + ORDER BY VISIBILITA DESC + -- IF @CodISIN in ('EURO00000009') + -- SELECT TOP 1 @ResultVar = CATALOGUEID + -- FROM C6StagingPeriodico.RP_CATALOGOPRODOTTI CAT + -- where 1=1 + -- and isnull(cat.codisin,'') = isnull(@CodISIN,'') + -- ORDER BY VISIBILITA DESC + END + -- FerAcu 20241018 identica al blocco Then con la variante sui criteri su @CodInterno + ELSE -- @CodInterno non valorizato, NULL o '' + BEGIN + IF @TipoProdotto in ('FI', 'GE', 'ASUL', 'ASU1', 'ASVI', 'ASCM', 'AC','CC') + BEGIN + IF @CodSottoprodotto not in ('LIQUI', 'VAR5', 'VAR10', 'VAR15', 'L191', 'L192','V301','V302') + --inizio intervento MIGRAZIONE ASU3 + --inizio INTERVENTO 'RE' - 20161219 + --and @CodInterno not in ('RS','RB','RM','RV') + --inizio INTERVENTO 'RF/MP' - 20171204 + --and @CodInterno not in ('RS','RB','RM','RV','RE') + and @CodInterno not in ('RS','RB','RM','RV','RE', 'RF','IE','XP','3A', '3L' + ,'1M','2M','3M','4M','5M','6M','7M','8M','9M') + --FINE INTERVENTO 'RF/MP' - 20171204 + --fine INTERVENTO 'RE' - 20161219 + --fine intervento MIGRAZIONE ASU3 + SELECT TOP 1 + @ResultVar = CATALOGUEID + FROM C6StagingPeriodico.RP_CATALOGOPRODOTTI CAT + where 1=1 + and (cat.CODINTERNO is null or cat.CODINTERNO = '') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(@CodSottoprodotto,'') + ORDER BY VISIBILITA DESC + --inizio intervento MIGRAZIONE ASU3 + ELSE IF + --inizio INTERVENTO 'RE' - 20161219 + --@CodInterno in ('RS','RB','RM','RV') + --inizio INTERVENTO 'RF/MP' - 20171204 + --@CodInterno in ('RS','RB','RM','RV','RE') + @CodInterno in ('RS','RB','RM','RV','RE', 'RF','IE','XP','3A', '3L' + ,'1M','2M','3M','4M','5M','6M','7M','8M','9M') + --FINE INTERVENTO 'RF/MP' - 20171204 + --fine INTERVENTO 'RE' - 20161219 + SELECT TOP 1 + @ResultVar = CATALOGUEID + FROM C6StagingPeriodico.RP_CATALOGOPRODOTTI CAT + where 1=1 + and (cat.CODINTERNO is null or cat.CODINTERNO = '') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(@CodSottoprodotto,'') + and isnull(cat.codisin,'') = isnull(@CodISIN,'') + ORDER BY VISIBILITA DESC + --fine intervento MIGRAZIONE ASU3 + ELSE + SELECT TOP 1 + @ResultVar = CATALOGUEID + FROM C6StagingPeriodico.RP_CATALOGOPRODOTTI CAT + where 1=1 + and (cat.CODINTERNO is null or cat.CODINTERNO = '') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(@CodSottoprodotto,'') + and cat.TIPOPRODOTTO = @TipoProdotto + ORDER BY VISIBILITA DESC + END + -- IF @TipoProdotto in ('ASU2') + IF @TipoProdotto in ('ASU2','GP') + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6StagingPeriodico.RP_CATALOGOPRODOTTI CAT + where 1=1 + and (cat.CODINTERNO is null or cat.CODINTERNO = '') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(@CodSottoprodotto,'') + and isnull(cat.codisin,'') = isnull(@CodISIN,'') + ORDER BY VISIBILITA DESC + IF @TipoProdotto in ('DT','ASD' ) + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6StagingPeriodico.RP_CATALOGOPRODOTTI CAT + where 1=1 + and (cat.CODINTERNO is null or cat.CODINTERNO = '') + ORDER BY VISIBILITA DESC + IF @TipoProdotto in ('GES' ) + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6StagingPeriodico.RP_CATALOGOPRODOTTI CAT + where 1=1 + and (cat.CODINTERNO is null or cat.CODINTERNO = '') + and isnull(cat.CODMAF,'') = isnull(@CodMAF,'') + ORDER BY VISIBILITA DESC + -- IF @CodISIN in ('EURO00000009') + -- SELECT TOP 1 @ResultVar = CATALOGUEID + -- FROM C6StagingPeriodico.RP_CATALOGOPRODOTTI CAT + -- where 1=1 + -- and isnull(cat.codisin,'') = isnull(@CodISIN,'') + -- ORDER BY VISIBILITA DESC + END + RETURN @ResultVar +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6StagingPeriodico_getImportoSpesa.sql b/sql/Produzione/funzioni/C6StagingPeriodico_getImportoSpesa.sql new file mode 100644 index 00000000..8a725453 --- /dev/null +++ b/sql/Produzione/funzioni/C6StagingPeriodico_getImportoSpesa.sql @@ -0,0 +1,22 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE FUNCTION [C6StagingPeriodico].[getImportoSpesa] +( + -- Add the parameters for the function here + @Rete varchar(2), + @Codice_fiscale varchar(16) +) +RETURNS VARCHAR(255) +AS +BEGIN + -- Declare the return variable here + DECLARE @ValoreParametro decimal(15,2) + SELECT @ValoreParametro=isnull(SPESA_FORZATA,0.00) + FROM C6MartPeriodico.WSEIAN2 + WHERE RETE=@Rete and CODFIS=@Codice_fiscale + -- Return the result of the function + RETURN @ValoreParametro +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6StagingPeriodico_getTermID.sql b/sql/Produzione/funzioni/C6StagingPeriodico_getTermID.sql new file mode 100644 index 00000000..eccb8bf9 --- /dev/null +++ b/sql/Produzione/funzioni/C6StagingPeriodico_getTermID.sql @@ -0,0 +1,22 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE FUNCTION [C6StagingPeriodico].[getTermID] +( + -- Add the parameters for the function here + @Rete varchar(2), + @Codice_fiscale varchar(16) +) +RETURNS VARCHAR(255) +AS +BEGIN + -- Declare the return variable here + DECLARE @ValoreParametro decimal(15,2) + SELECT @ValoreParametro=isnull(SUM(ctv),0.00) + from C6MartPeriodico.PATRIMONIO_BF where substring(patrimonio_bf.position_id,97,8)in('BDR20000','TDV20000') --BDR2000 Cash Deposit TDV20000 TimeDeposit + and RETE=@Rete and Cod_Fiscale=@Codice_fiscale + -- Return the result of the function + RETURN @ValoreParametro +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6Staging_Info_DaProdottoCSaCatalogo.sql b/sql/Produzione/funzioni/C6Staging_Info_DaProdottoCSaCatalogo.sql new file mode 100644 index 00000000..b23ae8b6 --- /dev/null +++ b/sql/Produzione/funzioni/C6Staging_Info_DaProdottoCSaCatalogo.sql @@ -0,0 +1,41 @@ +CREATE FUNCTION [C6Staging].[Info_DaProdottoCSaCatalogo] +( + @TipoProdotto varchar(5), + @CodInterno varchar(13), + @CodMAF varchar(13), + @CodISIN varchar(16), + @CodSottoprodotto varchar(13) +) +RETURNS varchar(63) +AS +BEGIN + -- Declare the return variable here + DECLARE @ResultVar VARCHAR(63) + -- Add the T-SQL statements to compute the return value here + IF @TipoProdotto in ('FI', 'GE', 'ASUL', 'ASU1', 'ASVI', 'ASCM', 'AC','CC')--,'ASU2' ) -- TRINGALI inseriti CC --V Inseriti ASU" + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6Staging.CATITEMREF cat + where 1=1 and cat.COD_INTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) + and cat.COD_SOTTOPRODOTTO= (case rtrim(isnull(@CodSottoprodotto,'')) when '' then '$' else @CodSottoprodotto end) + ORDER BY ISVISIBLE DESC + IF @TipoProdotto in ('ASU2') -- TRINGALI inseriti CC --V Inseriti ASU" + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6Staging.CATITEMREF cat + where 1=1 and cat.COD_INTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) + and cat.COD_SOTTOPRODOTTO= (case rtrim(isnull(@CodSottoprodotto,'')) when '' then '$' else @CodSottoprodotto end) + and cat.cod_isin = @CodISIN + ORDER BY ISVISIBLE DESC + IF @TipoProdotto in ('DT','ASD' ) + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6Staging.CATITEMREF cat + where 1=1 and cat.COD_INTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) + ORDER BY ISVISIBLE DESC + IF @TipoProdotto in ('GES' ) + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6Staging.CATITEMREF cat + where 1=1 + and cat.COD_INTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) + and cat.COD_MAF=(case rtrim(isnull(@CodMAF,'')) when '' then '$' else @CodMAF end) + ORDER BY ISVISIBLE DESC + RETURN @ResultVar +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6Staging_RP_Info_DaProdottoCSaCatalogo.sql b/sql/Produzione/funzioni/C6Staging_RP_Info_DaProdottoCSaCatalogo.sql new file mode 100644 index 00000000..67f664cc --- /dev/null +++ b/sql/Produzione/funzioni/C6Staging_RP_Info_DaProdottoCSaCatalogo.sql @@ -0,0 +1,101 @@ +CREATE FUNCTION [C6Staging].[RP_Info_DaProdottoCSaCatalogo] +( + @TipoProdotto varchar(5), + @CodInterno varchar(13), + @CodMAF varchar(13), + @CodISIN varchar(16), + @CodSottoprodotto varchar(13) +) +RETURNS varchar(63) +AS +BEGIN + DECLARE @ResultVar VARCHAR(63) + IF @TipoProdotto in ('FI', 'GE', 'ASUL', 'ASU1', 'ASVI', 'ASCM', 'AC','CC')--,'ASU2' ) -- TRINGALI inseriti CC --V Inseriti ASU" + BEGIN + IF @CodSottoprodotto not in ('LIQUI', 'VAR5', 'VAR10', 'VAR15') +--inizio intervento MIGRAZIONE ASU3 +--inizio INTERVENTO 'RE' - 20161223 + 'RF' 20171113 + --and @CodInterno not in ('RS','RB','RM','RV') + and @CodInterno not in ('RS','RB','RM','RV','RE', 'RF','IE','XP','3A', '3L' +,'1M','2M','3M','4M','5M','6M','7M','8M','9M') +--fine INTERVENTO 'RE' - 20161223 + 'RF' 20171113 +--fine intervento MIGRAZIONE ASU3 + SELECT TOP 1 @ResultVar = CATALOGUEID + --select top 1 * + FROM C6Staging.RP_CATALOGOPRODOTTI CAT + where 1=1 and cat.CODINTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) + and cat.CODSOTTOPRODOTTO= (case rtrim(isnull(@CodSottoprodotto,'')) when '' then '$' else @CodSottoprodotto end) + ORDER BY VISIBILITA DESC +--inizio intervento MIGRAZIONE ASU3 + ELSE IF + --inizio INTERVENTO 'RE' - 20161223 + 'RF' 20171113 + --@CodInterno in ('RS','RB','RM','RV') + @CodInterno in ('RS','RB','RM','RV','RE', 'RF','IE','XP','3A', '3L' +,'1M','2M','3M','4M','5M','6M','7M','8M','9M') + --fine INTERVENTO 'RE' - 20161223 + 'RF' 20171113 + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6Staging.RP_CATALOGOPRODOTTI CAT + where 1=1 and cat.CODINTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) + and cat.CODSOTTOPRODOTTO= (case rtrim(isnull(@CodSottoprodotto,'')) when '' then '$' else @CodSottoprodotto end) + and cat.codisin = @CodISIN + ORDER BY VISIBILITA DESC +--fine intervento MIGRAZIONE ASU3 + ELSE + SELECT TOP 1 @ResultVar = CATALOGUEID + --select top 1 * + FROM C6Staging.RP_CATALOGOPRODOTTI CAT + where 1=1 and cat.CODINTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) + and cat.CODSOTTOPRODOTTO= (case rtrim(isnull(@CodSottoprodotto,'')) when '' then '$' else @CodSottoprodotto end) + and cat.TIPOPRODOTTO = @TipoProdotto + ORDER BY VISIBILITA DESC + END + /* + IF @TipoProdotto in ('ASU2') -- TRINGALI inseriti CC --V Inseriti ASU" + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6Staging.CATITEMREF cat + where 1=1 and cat.COD_INTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) + and cat.COD_SOTTOPRODOTTO= (case rtrim(isnull(@CodSottoprodotto,'')) when '' then '$' else @CodSottoprodotto end) + and cat.cod_isin = @CodISIN + ORDER BY ISVISIBLE DESC + */ + --Inizio intervento Omnia + --IF @TipoProdotto in ('ASU2') -- TRINGALI inseriti CC --V Inseriti ASU" + IF @TipoProdotto in ('ASU2', 'GP') + --Fine intervento Omnia + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6Staging.RP_CATALOGOPRODOTTI CAT + where 1=1 and cat.CODINTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) + and cat.CODSOTTOPRODOTTO= (case rtrim(isnull(@CodSottoprodotto,'')) when '' then '$' else @CodSottoprodotto end) + and cat.codisin = @CodISIN + ORDER BY VISIBILITA DESC + /* + IF @TipoProdotto in ('DT','ASD' ) + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6Staging.CATITEMREF cat + where 1=1 and cat.COD_INTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) + ORDER BY ISVISIBLE DESC + */ + IF @TipoProdotto in ('DT','ASD' ) + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6Staging.RP_CATALOGOPRODOTTI CAT + where 1=1 and cat.CODINTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) + ORDER BY VISIBILITA DESC +/* + IF @TipoProdotto in ('GES' ) + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6Staging.CATITEMREF cat + where 1=1 + and cat.COD_INTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) + and cat.COD_MAF=(case rtrim(isnull(@CodMAF,'')) when '' then '$' else @CodMAF end) + ORDER BY ISVISIBLE DESC +*/ + IF @TipoProdotto in ('GES' ) + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6Staging.RP_CATALOGOPRODOTTI CAT + where 1=1 + and cat.CODINTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) + and cat.CODMAF=(case rtrim(isnull(@CodMAF,'')) when '' then '$' else @CodMAF end) + ORDER BY VISIBILITA DESC + -- Return the result of the function + RETURN @ResultVar +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6Staging_RP_Info_DaProdottoCSaCatalogo_20161223.sql b/sql/Produzione/funzioni/C6Staging_RP_Info_DaProdottoCSaCatalogo_20161223.sql new file mode 100644 index 00000000..90b91319 --- /dev/null +++ b/sql/Produzione/funzioni/C6Staging_RP_Info_DaProdottoCSaCatalogo_20161223.sql @@ -0,0 +1,93 @@ +CREATE FUNCTION [C6Staging].[RP_Info_DaProdottoCSaCatalogo_20161223] +( + @TipoProdotto varchar(5), + @CodInterno varchar(13), + @CodMAF varchar(13), + @CodISIN varchar(16), + @CodSottoprodotto varchar(13) +) +RETURNS varchar(63) +AS +BEGIN + DECLARE @ResultVar VARCHAR(63) + IF @TipoProdotto in ('FI', 'GE', 'ASUL', 'ASU1', 'ASVI', 'ASCM', 'AC','CC')--,'ASU2' ) -- TRINGALI inseriti CC --V Inseriti ASU" + BEGIN + IF @CodSottoprodotto not in ('LIQUI', 'VAR5', 'VAR10', 'VAR15') +--inizio intervento MIGRAZIONE ASU3 + and @CodInterno not in ('RS','RB','RM','RV') +--fine intervento MIGRAZIONE ASU3 + SELECT TOP 1 @ResultVar = CATALOGUEID + --select top 1 * + FROM C6Staging.RP_CATALOGOPRODOTTI CAT + where 1=1 and cat.CODINTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) + and cat.CODSOTTOPRODOTTO= (case rtrim(isnull(@CodSottoprodotto,'')) when '' then '$' else @CodSottoprodotto end) + ORDER BY VISIBILITA DESC +--inizio intervento MIGRAZIONE ASU3 + ELSE IF + @CodInterno in ('RS','RB','RM','RV') + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6Staging.RP_CATALOGOPRODOTTI CAT + where 1=1 and cat.CODINTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) + and cat.CODSOTTOPRODOTTO= (case rtrim(isnull(@CodSottoprodotto,'')) when '' then '$' else @CodSottoprodotto end) + and cat.codisin = @CodISIN + ORDER BY VISIBILITA DESC +--fine intervento MIGRAZIONE ASU3 + ELSE + SELECT TOP 1 @ResultVar = CATALOGUEID + --select top 1 * + FROM C6Staging.RP_CATALOGOPRODOTTI CAT + where 1=1 and cat.CODINTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) + and cat.CODSOTTOPRODOTTO= (case rtrim(isnull(@CodSottoprodotto,'')) when '' then '$' else @CodSottoprodotto end) + and cat.TIPOPRODOTTO = @TipoProdotto + ORDER BY VISIBILITA DESC + END + /* + IF @TipoProdotto in ('ASU2') -- TRINGALI inseriti CC --V Inseriti ASU" + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6Staging.CATITEMREF cat + where 1=1 and cat.COD_INTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) + and cat.COD_SOTTOPRODOTTO= (case rtrim(isnull(@CodSottoprodotto,'')) when '' then '$' else @CodSottoprodotto end) + and cat.cod_isin = @CodISIN + ORDER BY ISVISIBLE DESC + */ + --Inizio intervento Omnia + --IF @TipoProdotto in ('ASU2') -- TRINGALI inseriti CC --V Inseriti ASU" + IF @TipoProdotto in ('ASU2', 'GP') + --Fine intervento Omnia + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6Staging.RP_CATALOGOPRODOTTI CAT + where 1=1 and cat.CODINTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) + and cat.CODSOTTOPRODOTTO= (case rtrim(isnull(@CodSottoprodotto,'')) when '' then '$' else @CodSottoprodotto end) + and cat.codisin = @CodISIN + ORDER BY VISIBILITA DESC + /* + IF @TipoProdotto in ('DT','ASD' ) + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6Staging.CATITEMREF cat + where 1=1 and cat.COD_INTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) + ORDER BY ISVISIBLE DESC + */ + IF @TipoProdotto in ('DT','ASD' ) + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6Staging.RP_CATALOGOPRODOTTI CAT + where 1=1 and cat.CODINTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) + ORDER BY VISIBILITA DESC +/* + IF @TipoProdotto in ('GES' ) + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6Staging.CATITEMREF cat + where 1=1 + and cat.COD_INTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) + and cat.COD_MAF=(case rtrim(isnull(@CodMAF,'')) when '' then '$' else @CodMAF end) + ORDER BY ISVISIBLE DESC +*/ + IF @TipoProdotto in ('GES' ) + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6Staging.RP_CATALOGOPRODOTTI CAT + where 1=1 + and cat.CODINTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) + and cat.CODMAF=(case rtrim(isnull(@CodMAF,'')) when '' then '$' else @CodMAF end) + ORDER BY VISIBILITA DESC + -- Return the result of the function + RETURN @ResultVar +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6Staging_RP_Info_DaProdottoCSaCatalogo_20171113.orig.sql b/sql/Produzione/funzioni/C6Staging_RP_Info_DaProdottoCSaCatalogo_20171113.orig.sql new file mode 100644 index 00000000..f7212745 --- /dev/null +++ b/sql/Produzione/funzioni/C6Staging_RP_Info_DaProdottoCSaCatalogo_20171113.orig.sql @@ -0,0 +1,99 @@ +CREATE FUNCTION [C6Staging].[RP_Info_DaProdottoCSaCatalogo] +( + @TipoProdotto varchar(5), + @CodInterno varchar(13), + @CodMAF varchar(13), + @CodISIN varchar(16), + @CodSottoprodotto varchar(13) +) +RETURNS varchar(63) +AS +BEGIN + DECLARE @ResultVar VARCHAR(63) + IF @TipoProdotto in ('FI', 'GE', 'ASUL', 'ASU1', 'ASVI', 'ASCM', 'AC','CC')--,'ASU2' ) -- TRINGALI inseriti CC --V Inseriti ASU" + BEGIN + IF @CodSottoprodotto not in ('LIQUI', 'VAR5', 'VAR10', 'VAR15') +--inizio intervento MIGRAZIONE ASU3 +--inizio INTERVENTO 'RE' - 20161223 + --and @CodInterno not in ('RS','RB','RM','RV') + and @CodInterno not in ('RS','RB','RM','RV','RE') +--fine INTERVENTO 'RE' - 20161223 +--fine intervento MIGRAZIONE ASU3 + SELECT TOP 1 @ResultVar = CATALOGUEID + --select top 1 * + FROM C6Staging.RP_CATALOGOPRODOTTI CAT + where 1=1 and cat.CODINTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) + and cat.CODSOTTOPRODOTTO= (case rtrim(isnull(@CodSottoprodotto,'')) when '' then '$' else @CodSottoprodotto end) + ORDER BY VISIBILITA DESC +--inizio intervento MIGRAZIONE ASU3 + ELSE IF + --inizio INTERVENTO 'RE' - 20161223 + --@CodInterno in ('RS','RB','RM','RV') + @CodInterno in ('RS','RB','RM','RV','RE') + --fine INTERVENTO 'RE' - 20161223 + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6Staging.RP_CATALOGOPRODOTTI CAT + where 1=1 and cat.CODINTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) + and cat.CODSOTTOPRODOTTO= (case rtrim(isnull(@CodSottoprodotto,'')) when '' then '$' else @CodSottoprodotto end) + and cat.codisin = @CodISIN + ORDER BY VISIBILITA DESC +--fine intervento MIGRAZIONE ASU3 + ELSE + SELECT TOP 1 @ResultVar = CATALOGUEID + --select top 1 * + FROM C6Staging.RP_CATALOGOPRODOTTI CAT + where 1=1 and cat.CODINTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) + and cat.CODSOTTOPRODOTTO= (case rtrim(isnull(@CodSottoprodotto,'')) when '' then '$' else @CodSottoprodotto end) + and cat.TIPOPRODOTTO = @TipoProdotto + ORDER BY VISIBILITA DESC + END + /* + IF @TipoProdotto in ('ASU2') -- TRINGALI inseriti CC --V Inseriti ASU" + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6Staging.CATITEMREF cat + where 1=1 and cat.COD_INTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) + and cat.COD_SOTTOPRODOTTO= (case rtrim(isnull(@CodSottoprodotto,'')) when '' then '$' else @CodSottoprodotto end) + and cat.cod_isin = @CodISIN + ORDER BY ISVISIBLE DESC + */ + --Inizio intervento Omnia + --IF @TipoProdotto in ('ASU2') -- TRINGALI inseriti CC --V Inseriti ASU" + IF @TipoProdotto in ('ASU2', 'GP') + --Fine intervento Omnia + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6Staging.RP_CATALOGOPRODOTTI CAT + where 1=1 and cat.CODINTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) + and cat.CODSOTTOPRODOTTO= (case rtrim(isnull(@CodSottoprodotto,'')) when '' then '$' else @CodSottoprodotto end) + and cat.codisin = @CodISIN + ORDER BY VISIBILITA DESC + /* + IF @TipoProdotto in ('DT','ASD' ) + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6Staging.CATITEMREF cat + where 1=1 and cat.COD_INTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) + ORDER BY ISVISIBLE DESC + */ + IF @TipoProdotto in ('DT','ASD' ) + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6Staging.RP_CATALOGOPRODOTTI CAT + where 1=1 and cat.CODINTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) + ORDER BY VISIBILITA DESC +/* + IF @TipoProdotto in ('GES' ) + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6Staging.CATITEMREF cat + where 1=1 + and cat.COD_INTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) + and cat.COD_MAF=(case rtrim(isnull(@CodMAF,'')) when '' then '$' else @CodMAF end) + ORDER BY ISVISIBLE DESC +*/ + IF @TipoProdotto in ('GES' ) + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6Staging.RP_CATALOGOPRODOTTI CAT + where 1=1 + and cat.CODINTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) + and cat.CODMAF=(case rtrim(isnull(@CodMAF,'')) when '' then '$' else @CodMAF end) + ORDER BY VISIBILITA DESC + -- Return the result of the function + RETURN @ResultVar +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6Staging_RP_Info_DaProdottoCSaCatalogo_20171113.orig2.sql b/sql/Produzione/funzioni/C6Staging_RP_Info_DaProdottoCSaCatalogo_20171113.orig2.sql new file mode 100644 index 00000000..a0479e01 --- /dev/null +++ b/sql/Produzione/funzioni/C6Staging_RP_Info_DaProdottoCSaCatalogo_20171113.orig2.sql @@ -0,0 +1,99 @@ +CREATE FUNCTION [C6Staging].[RP_Info_DaProdottoCSaCatalogo_20171113.orig] +( + @TipoProdotto varchar(5), + @CodInterno varchar(13), + @CodMAF varchar(13), + @CodISIN varchar(16), + @CodSottoprodotto varchar(13) +) +RETURNS varchar(63) +AS +BEGIN + DECLARE @ResultVar VARCHAR(63) + IF @TipoProdotto in ('FI', 'GE', 'ASUL', 'ASU1', 'ASVI', 'ASCM', 'AC','CC')--,'ASU2' ) -- TRINGALI inseriti CC --V Inseriti ASU" + BEGIN + IF @CodSottoprodotto not in ('LIQUI', 'VAR5', 'VAR10', 'VAR15') +--inizio intervento MIGRAZIONE ASU3 +--inizio INTERVENTO 'RE' - 20161223 + --and @CodInterno not in ('RS','RB','RM','RV') + and @CodInterno not in ('RS','RB','RM','RV','RE') +--fine INTERVENTO 'RE' - 20161223 +--fine intervento MIGRAZIONE ASU3 + SELECT TOP 1 @ResultVar = CATALOGUEID + --select top 1 * + FROM C6Staging.RP_CATALOGOPRODOTTI CAT + where 1=1 and cat.CODINTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) + and cat.CODSOTTOPRODOTTO= (case rtrim(isnull(@CodSottoprodotto,'')) when '' then '$' else @CodSottoprodotto end) + ORDER BY VISIBILITA DESC +--inizio intervento MIGRAZIONE ASU3 + ELSE IF + --inizio INTERVENTO 'RE' - 20161223 + --@CodInterno in ('RS','RB','RM','RV') + @CodInterno in ('RS','RB','RM','RV','RE') + --fine INTERVENTO 'RE' - 20161223 + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6Staging.RP_CATALOGOPRODOTTI CAT + where 1=1 and cat.CODINTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) + and cat.CODSOTTOPRODOTTO= (case rtrim(isnull(@CodSottoprodotto,'')) when '' then '$' else @CodSottoprodotto end) + and cat.codisin = @CodISIN + ORDER BY VISIBILITA DESC +--fine intervento MIGRAZIONE ASU3 + ELSE + SELECT TOP 1 @ResultVar = CATALOGUEID + --select top 1 * + FROM C6Staging.RP_CATALOGOPRODOTTI CAT + where 1=1 and cat.CODINTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) + and cat.CODSOTTOPRODOTTO= (case rtrim(isnull(@CodSottoprodotto,'')) when '' then '$' else @CodSottoprodotto end) + and cat.TIPOPRODOTTO = @TipoProdotto + ORDER BY VISIBILITA DESC + END + /* + IF @TipoProdotto in ('ASU2') -- TRINGALI inseriti CC --V Inseriti ASU" + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6Staging.CATITEMREF cat + where 1=1 and cat.COD_INTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) + and cat.COD_SOTTOPRODOTTO= (case rtrim(isnull(@CodSottoprodotto,'')) when '' then '$' else @CodSottoprodotto end) + and cat.cod_isin = @CodISIN + ORDER BY ISVISIBLE DESC + */ + --Inizio intervento Omnia + --IF @TipoProdotto in ('ASU2') -- TRINGALI inseriti CC --V Inseriti ASU" + IF @TipoProdotto in ('ASU2', 'GP') + --Fine intervento Omnia + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6Staging.RP_CATALOGOPRODOTTI CAT + where 1=1 and cat.CODINTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) + and cat.CODSOTTOPRODOTTO= (case rtrim(isnull(@CodSottoprodotto,'')) when '' then '$' else @CodSottoprodotto end) + and cat.codisin = @CodISIN + ORDER BY VISIBILITA DESC + /* + IF @TipoProdotto in ('DT','ASD' ) + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6Staging.CATITEMREF cat + where 1=1 and cat.COD_INTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) + ORDER BY ISVISIBLE DESC + */ + IF @TipoProdotto in ('DT','ASD' ) + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6Staging.RP_CATALOGOPRODOTTI CAT + where 1=1 and cat.CODINTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) + ORDER BY VISIBILITA DESC +/* + IF @TipoProdotto in ('GES' ) + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6Staging.CATITEMREF cat + where 1=1 + and cat.COD_INTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) + and cat.COD_MAF=(case rtrim(isnull(@CodMAF,'')) when '' then '$' else @CodMAF end) + ORDER BY ISVISIBLE DESC +*/ + IF @TipoProdotto in ('GES' ) + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6Staging.RP_CATALOGOPRODOTTI CAT + where 1=1 + and cat.CODINTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) + and cat.CODMAF=(case rtrim(isnull(@CodMAF,'')) when '' then '$' else @CodMAF end) + ORDER BY VISIBILITA DESC + -- Return the result of the function + RETURN @ResultVar +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6Staging_RP_Info_DaProdottoCSaCatalogo_20171113_EN.test.sql b/sql/Produzione/funzioni/C6Staging_RP_Info_DaProdottoCSaCatalogo_20171113_EN.test.sql new file mode 100644 index 00000000..fda717dd --- /dev/null +++ b/sql/Produzione/funzioni/C6Staging_RP_Info_DaProdottoCSaCatalogo_20171113_EN.test.sql @@ -0,0 +1,110 @@ +CREATE FUNCTION [C6Staging].[RP_Info_DaProdottoCSaCatalogo_20171113_EN.new] +( + @TipoProdotto varchar(5), + @CodInterno varchar(13), + @CodMAF varchar(13), + @CodISIN varchar(16), + @CodSottoprodotto varchar(13) +) +RETURNS varchar(63) +AS +BEGIN + DECLARE @ResultVar VARCHAR(63) + IF @TipoProdotto in ('FI', 'GE', 'ASUL', 'ASU1', 'ASVI', 'ASCM', 'AC','CC')--,'ASU2' ) -- TRINGALI inseriti CC --V Inseriti ASU" + BEGIN + IF @CodSottoprodotto not in ('LIQUI', 'VAR5', 'VAR10', 'VAR15') +--inizio intervento MIGRAZIONE ASU3 +--inizio INTERVENTO 'RE' - 20161223 + --and @CodInterno not in ('RS','RB','RM','RV') + and @CodInterno not in ('RS','RB','RM','RV','RE', 'RF') +--fine INTERVENTO 'RE' - 20161223 +--fine intervento MIGRAZIONE ASU3 + SELECT TOP 1 @ResultVar = CATALOGUEID + --select top 1 * + FROM C6Staging.RP_CATALOGOPRODOTTI CAT + where 1=1 and cat.CODINTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) + and cat.CODSOTTOPRODOTTO= (case rtrim(isnull(@CodSottoprodotto,'')) when '' then '$' else @CodSottoprodotto end) + ORDER BY VISIBILITA DESC +--inizio intervento MIGRAZIONE ASU3 + ELSE IF + --inizio INTERVENTO 'RE' - 20161223 + --@CodInterno in ('RS','RB','RM','RV') + @CodInterno in ('RS','RB','RM','RV','RE') + --fine INTERVENTO 'RE' - 20161223 + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6Staging.RP_CATALOGOPRODOTTI CAT + where 1=1 and cat.CODINTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) + and cat.CODSOTTOPRODOTTO= (case rtrim(isnull(@CodSottoprodotto,'')) when '' then '$' else @CodSottoprodotto end) + and cat.codisin = @CodISIN + ORDER BY VISIBILITA DESC +--fine intervento MIGRAZIONE ASU3 + ELSE IF + --inizio INTERVENTO 'RE' - 20161223 + @CodInterno in ('RF') + --fine INTERVENTO 'RE' - 20161223 + set @ResultVar = @TipoProdotto + @CodInterno + @CodMAF + '<'+ @CodISIN + '>' + @CodSottoprodotto + --SELECT TOP 1 @ResultVar = CATALOGUEID + --FROM C6Staging.RP_CATALOGOPRODOTTI CAT + --where 1=1 and cat.CODINTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) + --and cat.CODSOTTOPRODOTTO= (case rtrim(isnull(@CodSottoprodotto,'')) when '' then '$' else @CodSottoprodotto end) + --and cat.codisin = @CodISIN + --ORDER BY VISIBILITA DESC + ELSE + SELECT TOP 1 @ResultVar = CATALOGUEID + cat.TIPOPRODOTTO + --select top 1 * + FROM C6Staging.RP_CATALOGOPRODOTTI CAT + where 1=1 and cat.CODINTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) + and cat.CODSOTTOPRODOTTO= (case rtrim(isnull(@CodSottoprodotto,'')) when '' then '$' else @CodSottoprodotto end) + and cat.TIPOPRODOTTO = @TipoProdotto + ORDER BY VISIBILITA DESC + END + /* + IF @TipoProdotto in ('ASU2') -- TRINGALI inseriti CC --V Inseriti ASU" + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6Staging.CATITEMREF cat + where 1=1 and cat.COD_INTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) + and cat.COD_SOTTOPRODOTTO= (case rtrim(isnull(@CodSottoprodotto,'')) when '' then '$' else @CodSottoprodotto end) + and cat.cod_isin = @CodISIN + ORDER BY ISVISIBLE DESC + */ + --Inizio intervento Omnia + --IF @TipoProdotto in ('ASU2') -- TRINGALI inseriti CC --V Inseriti ASU" + IF @TipoProdotto in ('ASU2', 'GP') + --Fine intervento Omnia + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6Staging.RP_CATALOGOPRODOTTI CAT + where 1=1 and cat.CODINTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) + and cat.CODSOTTOPRODOTTO= (case rtrim(isnull(@CodSottoprodotto,'')) when '' then '$' else @CodSottoprodotto end) + and cat.codisin = @CodISIN + ORDER BY VISIBILITA DESC + /* + IF @TipoProdotto in ('DT','ASD' ) + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6Staging.CATITEMREF cat + where 1=1 and cat.COD_INTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) + ORDER BY ISVISIBLE DESC + */ + IF @TipoProdotto in ('DT','ASD' ) + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6Staging.RP_CATALOGOPRODOTTI CAT + where 1=1 and cat.CODINTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) + ORDER BY VISIBILITA DESC +/* + IF @TipoProdotto in ('GES' ) + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6Staging.CATITEMREF cat + where 1=1 + and cat.COD_INTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) + and cat.COD_MAF=(case rtrim(isnull(@CodMAF,'')) when '' then '$' else @CodMAF end) + ORDER BY ISVISIBLE DESC +*/ + IF @TipoProdotto in ('GES' ) + SELECT TOP 1 @ResultVar = CATALOGUEID + FROM C6Staging.RP_CATALOGOPRODOTTI CAT + where 1=1 + and cat.CODINTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) + and cat.CODMAF=(case rtrim(isnull(@CodMAF,'')) when '' then '$' else @CodMAF end) + ORDER BY VISIBILITA DESC + -- Return the result of the function + RETURN @ResultVar +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/C6Staging_getImportoSpesa.sql b/sql/Produzione/funzioni/C6Staging_getImportoSpesa.sql new file mode 100644 index 00000000..71c76037 --- /dev/null +++ b/sql/Produzione/funzioni/C6Staging_getImportoSpesa.sql @@ -0,0 +1,22 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE FUNCTION [C6Staging].[getImportoSpesa] +( + -- Add the parameters for the function here + @Rete varchar(2), + @Codice_fiscale varchar(16) +) +RETURNS VARCHAR(255) +AS +BEGIN + -- Declare the return variable here + DECLARE @ValoreParametro decimal(15,2) + SELECT @ValoreParametro=isnull(ImportoSpesa,0.00) + FROM c6mart.Mifid + WHERE RETE=@Rete and COD_FISCALE=@Codice_fiscale + -- Return the result of the function + RETURN @ValoreParametro +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/dbo_Cc_Email.sql b/sql/Produzione/funzioni/dbo_Cc_Email.sql new file mode 100644 index 00000000..f69e57eb --- /dev/null +++ b/sql/Produzione/funzioni/dbo_Cc_Email.sql @@ -0,0 +1,112 @@ +CREATE FUNCTION [dbo].[Cc_Email] +( + @RETE as varchar(1) = '', + @CODICE as varchar(6) = '', + @NS as int = 0, -- NUMERO SOLLECITI FATTI, + @TIPOEMAIL as varchar(19) = '' +) +RETURNS varchar(500) +AS +BEGIN + DECLARE @CC_DI_RITORNO as varchar(500) + SET @CC_DI_RITORNO = ''; +if @TIPOEMAIL = 'PERF' + RETURN @CC_DI_RITORNO +declare @flagSEDE as bit -- uso questo flag per allegare gli indirizzi di SEDE +set @flagSEDE = 0 +declare @flagRMDM as bit -- uso questo flag per spedire ad RM,DM +set @flagRMDM = 0 +DECLARE @PV as varchar(1) +SET @PV = ';' +declare @flagAM as bit -- uso questo flag per spedire ad AM +set @flagAM = 0 +DECLARE @REF_SEDE as varchar(200) +SET @REF_SEDE = '' +IF @RETE = 'F' + BEGIN + SET @REF_SEDE = @REF_SEDE + 'SEIDIREZIONERETE@BANCAFIDEURAM.IT' + @PV; + SET @REF_SEDE = @REF_SEDE + 'SEI@FIDEURAM.IT'; + END +ELSE IF @RETE = 'S' + BEGIN + SET @REF_SEDE = @REF_SEDE + 'SEIDIREZIONERETE@SPINVEST.COM' + @PV; + SET @REF_SEDE = @REF_SEDE + 'SEI@FIDEURAM.IT'; + END +-- 1_SOLL_NOPRO: non sono previsti indirizzi in cc +IF @TIPOEMAIL = '1_SOLL_NOPRO' + BEGIN + SET @flagRMDM = 0; + SET @flagSEDE = 0; + SET @flagAM = 0; + END +-- 2_SOLL_NOPRO: divisional manager; regional manager (dm, rm) +IF @TIPOEMAIL = '2_SOLL_NOPRO' + BEGIN + SET @flagRMDM = 1; + SET @flagSEDE = 0; + SET @flagAM = 0; + END +-- 3_SOLL_NOPRO: area manager; divisional manager; regional manage (am,dm,rm) +IF @TIPOEMAIL = '3_SOLL_NOPRO' + BEGIN + SET @flagRMDM = 1; + SET @flagAM = 1; + SET @flagSEDE = 0; + END +-- S_SOLL_NOPRO/REVOCA_NOPRO (am,dm,rm): (RETE F) area manager, divisional manager, regional manager, SEIDIREZIONERETE@BANCAFIDEURAM.IT, SEI@FIDEURAM.IT +-- (RETE S) area manager, divisional manager, regional manager, SEIDIREZIONERETE@SPINVEST.COM, SEI@FIDEURAM.IT +IF @TIPOEMAIL IN ('S_SOLL_NOPRO','REVOCA_NOPRO') + BEGIN + SET @flagRMDM = 1; + SET @flagAM = 1; + SET @flagSEDE = 1; + END +declare @ritorno as varchar(500) +set @ritorno = '' +IF(@flagRMDM=1) +begin +--em.rete,em.codice, +--em.email + select @ritorno = @ritorno + em.email + @PV + from + ( + SELECT rete,rm as codice + from c6mart.struttura_rete sr + where Rete = @RETE + and PB = @CODICE + and rm <> pb + union all + SELECT rete,dm as codice + from c6mart.struttura_rete sr + where Rete = @RETE + and PB = @CODICE + and dm <> rm + ) a + inner join C6Mart.EMAIL_PB em + on a.rete = em.rete + and a.codice = em.codice +end +IF(@flagAM=1) +begin +--em.rete,em.codice, +--em.email + select @ritorno = @ritorno + em.email + @PV + from + ( + SELECT rete,am as codice + from c6mart.struttura_rete sr + where Rete = @RETE + and PB = @CODICE + and am <> dm + and @flagAM = 1 + ) a + inner join C6Mart.EMAIL_PB em + on a.rete = em.rete + and a.codice = em.codice +end +--dal 3 sollecito coinvolgo anche Direzione ed Assistenza Rete +if(@flagSEDE=1) + set @ritorno = @REF_SEDE + @PV + @ritorno +RETURN @ritorno +--RETURN '@NS=' + cast(@NS as varchar(2)) + '-' + '@flagSEDE=' + cast(@flagSEDE as varchar(2))+ '-' + '@flagAM=' + cast(@flagAM as varchar(2)) +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/dbo_Cc_Email_20161021.sql b/sql/Produzione/funzioni/dbo_Cc_Email_20161021.sql new file mode 100644 index 00000000..cda1ad53 --- /dev/null +++ b/sql/Produzione/funzioni/dbo_Cc_Email_20161021.sql @@ -0,0 +1,97 @@ +CREATE FUNCTION [dbo].[Cc_Email_20161021] +( + @RETE as varchar(1) = '', + @CODICE as varchar(6) = '', + @NS as int = 0, -- NUMERO SOLLECITI FATTI, + @TIPOEMAIL as varchar(19) = '' +) +RETURNS varchar(500) +AS +BEGIN + DECLARE @CC_DI_RITORNO as varchar(500) + SET @CC_DI_RITORNO = ''; +if @TIPOEMAIL = 'PERF' + RETURN @CC_DI_RITORNO +declare @flag as bit +set @flag = 0 +DECLARE @PV as varchar(1) +SET @PV = ';' +declare @flagAM as bit +set @flagAM = 0 + DECLARE @REF_SEDE as varchar(200) + SET @REF_SEDE = '' + IF @RETE = 'F' + BEGIN + SET @REF_SEDE = @REF_SEDE + 'SEIDIREZIONERETE@BANCAFIDEURAM.IT' + @PV; + SET @REF_SEDE = @REF_SEDE + 'SEI@BANCAFIDEURAM.IT'; + END + ELSE IF @RETE = 'S' + BEGIN + SET @REF_SEDE = @REF_SEDE + 'SEIDIREZIONERETE@SPINVEST.COM' + @PV; + SET @REF_SEDE = @REF_SEDE + 'SEI@SPINVEST.COM'; + END +--dal 2 sollecito coinvolgo la struttura RETE manageriale +SELECT @flag = +(CASE + WHEN (@TIPOEMAIL in ('2_SOLL_NOMIG','2_SOLL_NOASS','3_SOLL_NOMIG','3_SOLL_NOASS','S_SOLL_NOMIG','S_SOLL_NOASS','REVOCA_NOMIG','REVOCA_NOASS')) THEN 1 + ELSE 0 +END) +--dal 3 sollecito coinvolgo l'AM +SELECT @flagAM = +(CASE + WHEN (@TIPOEMAIL in ('3_SOLL_NOMIG','3_SOLL_NOASS','S_SOLL_NOMIG','S_SOLL_NOASS','REVOCA_NOMIG','REVOCA_NOASS')) THEN 1 + ELSE 0 +END) +declare @ritorno as varchar(500) +set @ritorno = '' +IF(@flag=1) +begin +--em.rete,em.codice, +--em.email + select @ritorno = @ritorno + em.email + @PV + from + ( + SELECT rete,rm as codice + from c6mart.struttura_rete sr + where Rete = @RETE + and PB = @CODICE + and rm <> pb + union all + SELECT rete,dm as codice + from c6mart.struttura_rete sr + where Rete = @RETE + and PB = @CODICE + and dm <> rm + union all + SELECT rete,am as codice + from c6mart.struttura_rete sr + where Rete = @RETE + and PB = @CODICE + and am <> dm + and @flagAM = 1 + ) a + inner join C6Mart.EMAIL_PB em + on a.rete = em.rete + and a.codice = em.codice +end +--dal 3 sollecito coinvolgo anche Direzione ed Assistenza Rete +if(@flagAM=1) + set @ritorno = @REF_SEDE + @PV + @ritorno +RETURN @ritorno +--RETURN '@NS=' + cast(@NS as varchar(2)) + '-' + '@flag=' + cast(@flag as varchar(2))+ '-' + '@flagAM=' + cast(@flagAM as varchar(2)) +END +--BEGIN +-- DECLARE @CC_DI_RITORNO as varchar(255) +-- SET @CC_DI_RITORNO = @CC; +-- IF @RETE = 'F' +-- BEGIN +-- SET @CC_DI_RITORNO = REPLACE(@CC_DI_RITORNO,'/$EMAIL_DIREZIONE$/','DIREZIONERETE@BANCAFIDEURAM.IT'); +-- SET @CC_DI_RITORNO = REPLACE(@CC_DI_RITORNO,'/$EMAIL_ASSISTENZA$/','ASSISTENZARETE@BANCAFIDEURAM.IT'); +-- END +-- ELSE IF @RETE = 'S' +-- BEGIN +-- SET @CC_DI_RITORNO = REPLACE(@CC_DI_RITORNO,'/$EMAIL_DIREZIONE$/','DIREZIONERETE@SPINVEST.IT'); +-- SET @CC_DI_RITORNO = REPLACE(@CC_DI_RITORNO,'/$EMAIL_ASSISTENZA$/','ASSISTENZARETE@SPINVEST.IT'); +-- END +-- RETURN @CC_DI_RITORNO +--END \ No newline at end of file diff --git a/sql/Produzione/funzioni/dbo_CercaTestoInSP.sql b/sql/Produzione/funzioni/dbo_CercaTestoInSP.sql new file mode 100644 index 00000000..fd7fe05c --- /dev/null +++ b/sql/Produzione/funzioni/dbo_CercaTestoInSP.sql @@ -0,0 +1,27 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE FUNCTION [dbo].[CercaTestoInSP] +( + -- Add the parameters for the function here + @Testo varchar(255) +) +RETURNS @pippo TABLE +( + -- Add the column definitions for the TABLE variable here + ObjectSQL varchar(255) +) +AS +BEGIN + -- Declare the return variable here + DECLARE @ValoreParametro VARCHAR(50) + INSERT INTO @pippo + select obj.name + from sys.sql_modules sqlmod + inner join sys.objects obj + on sqlmod.object_id = obj.object_id + where definition like '%' + @Testo + '%' + RETURN +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/dbo_CodiceAgenteDirettiDi.sql b/sql/Produzione/funzioni/dbo_CodiceAgenteDirettiDi.sql new file mode 100644 index 00000000..cdf95d6b --- /dev/null +++ b/sql/Produzione/funzioni/dbo_CodiceAgenteDirettiDi.sql @@ -0,0 +1,16 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE FUNCTION [dbo].[CodiceAgenteDirettiDi] +( + -- Add the parameters for the function here + @CodiceAgente varchar(6) +) +RETURNS varchar(6) +AS +BEGIN + -- Declare the return variable here + RETURN REPLACE(REPLACE(@CodiceAgente,'S','0'),'I','0') +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/dbo_Crea_positionID.sql b/sql/Produzione/funzioni/dbo_Crea_positionID.sql new file mode 100644 index 00000000..b982f9a7 --- /dev/null +++ b/sql/Produzione/funzioni/dbo_Crea_positionID.sql @@ -0,0 +1,49 @@ +CREATE FUNCTION [dbo].[Crea_positionID] +( + @TipoProdotto VARCHAR(5)='', + @CodInterno VARCHAR(13)='', + @CodMAF VARCHAR(13)='', + @CodISIN VARCHAR(16)='', + @CodSottoprodotto VARCHAR(13)='', + @CodiceContratto VARCHAR(11)='', + @NumeroPolizza VARCHAR(11)= '', + @Conto VARCHAR(12)= '', + @Rubricato VARCHAR(4)='', + @CustodiaGaranzia VARCHAR(1)='', + @Termid VARCHAR(8)='', + @Anno DECIMAL(3)=0, + @Prog DECIMAL(9)=0 +) +RETURNS VARCHAR(123) +AS +BEGIN + -- Questa funzione concatena i dati formando una stringa unica + DECLARE @ResultVar VARCHAR(123) + DECLARE @t1 VARCHAR(63) + DECLARE @tp VARCHAR(5) + DECLARE @t2 VARCHAR(60) + DECLARE @AnnoS AS VARCHAR(3) + DECLARE @ProgS AS VARCHAR(9) + SET @AnnoS = CAST(@Anno AS VARCHAR(3)) + SET @ProgS = CAST(@Prog AS VARCHAR(9)) + IF LEN(RTRIM(ISNULL(@Conto, ''))) <12 + SET @Conto= REPLICATE ( '0' ,12-LEN(RTRIM(ISNULL(@Conto, ''))) ) + RTRIM(ISNULL(@Conto, '')) + IF LEN(RTRIM(ISNULL(@Rubricato, ''))) <3 + SET @Rubricato= REPLICATE ( '0' ,3-LEN(RTRIM(ISNULL(@Rubricato, ''))) ) + RTRIM(ISNULL(@Rubricato, '')) + IF LEN(RTRIM(ISNULL(@CustodiaGaranzia, ''))) <1 + SET @CustodiaGaranzia= '0' + IF LEN(RTRIM(ISNULL(@NumeroPolizza, ''))) <11 + SET @NumeroPolizza= REPLICATE ( '0' ,11-LEN(RTRIM(ISNULL(@NumeroPolizza, ''))) ) + RTRIM(ISNULL(@NumeroPolizza, '')) + IF LEN(RTRIM(ISNULL(@Termid, ''))) <8 + SET @Termid= REPLICATE ( '0' ,8-LEN(RTRIM(ISNULL(@Termid, ''))) ) + RTRIM(ISNULL(@Termid, '')) + IF LEN(RTRIM(ISNULL(@AnnoS, 0))) <3 + SET @AnnoS= REPLICATE ( '0' ,3-LEN(RTRIM(ISNULL(@AnnoS, 0))) ) + RTRIM(ISNULL(@AnnoS, 0)) + IF LEN(RTRIM(ISNULL(@ProgS, 0))) <9 + SET @ProgS= REPLICATE ( '0' ,9-LEN(RTRIM(ISNULL(@ProgS, 0))) ) + RTRIM(ISNULL(@ProgS, 0)) + SET @t1= RTRIM(ISNULL(@CodiceContratto,'e'))+RTRIM(ISNULL(@Conto,'e'))+ RTRIM(ISNULL(@Rubricato,'e'))+ + RTRIM(ISNULL(@CustodiaGaranzia, 'e'))+ RTRIM(ISNULL(@NumeroPolizza,'e'))+RTRIM(ISNULL(@Termid, 'e'))+ + RTRIM(ISNULL(@AnnoS, 'e'))+RTRIM(ISNULL(@ProgS, 'e')) + SET @ResultVar = ISNULL(@t1,'1') + -- Return the result of the function + RETURN @ResultVar +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/dbo_Crea_positionIDProposta.sql b/sql/Produzione/funzioni/dbo_Crea_positionIDProposta.sql new file mode 100644 index 00000000..d42f948c --- /dev/null +++ b/sql/Produzione/funzioni/dbo_Crea_positionIDProposta.sql @@ -0,0 +1,35 @@ +CREATE FUNCTION [dbo].[Crea_positionIDProposta] +( + @ChiaveCatalogo VARCHAR(35)='', + @CodiceContratto VARCHAR(11)='', + @Conto VARCHAR(12)= '', + @Rubricato VARCHAR(4)='', + @TipoProdotto VARCHAR(20)='', + @NumeroPolizza VARCHAR(11)= '' +) +RETURNS VARCHAR(123) +AS +BEGIN + DECLARE @ResultVar VARCHAR(123) + DECLARE @CatalogueID VARCHAR(128) + DECLARE @TitoloPCT VARCHAR(1) + DECLARE @PCTKEY VARCHAR(20) + SET @TitoloPCT = '0' + SET @PCTKEY = REPLICATE('0',20) + SELECT @CatalogueID = ISNULL(CatalogueID,'CHIAVE CATALOGO NON TROVATA') + FROM c6staging.CATITEMREF catalogo + WHERE catalogo.OID$ = @ChiaveCatalogo + IF LEN(RTRIM(ISNULL(@CodiceContratto, ''))) <11 + SET @CodiceContratto= REPLICATE ( '0' ,11-LEN(RTRIM(ISNULL(@CodiceContratto, ''))) ) + RTRIM(ISNULL(@CodiceContratto, '')) + IF LEN(RTRIM(ISNULL(@Conto, ''))) <12 + SET @Conto= REPLICATE ( '0' ,12-LEN(RTRIM(ISNULL(@Conto, ''))) ) + RTRIM(ISNULL(@Conto, '')) + IF LEN(RTRIM(ISNULL(@Rubricato, ''))) <3 + SET @Rubricato= REPLICATE ( '0' ,3-LEN(RTRIM(ISNULL(@Rubricato, ''))) ) + RTRIM(ISNULL(@Rubricato, '')) + IF RTRIM(@TipoProdotto) = 'DT' + SET @TitoloPCT = '1' + IF LEN(RTRIM(ISNULL(@NumeroPolizza, ''))) <11 + SET @NumeroPolizza= REPLICATE ( '0' ,11-LEN(RTRIM(ISNULL(@NumeroPolizza, ''))) ) + RTRIM(ISNULL(@NumeroPolizza, '')) + SET @ResultVar = @CatalogueID + @CodiceContratto + @Conto + @Rubricato + @TitoloPCT + @NumeroPolizza + @PCTKEY + -- Return the result of the function + RETURN @ResultVar +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/dbo_Crea_positionID_INLINE_20240427.sql b/sql/Produzione/funzioni/dbo_Crea_positionID_INLINE_20240427.sql new file mode 100644 index 00000000..0238e16d --- /dev/null +++ b/sql/Produzione/funzioni/dbo_Crea_positionID_INLINE_20240427.sql @@ -0,0 +1,32 @@ +CREATE FUNCTION [dbo].[Crea_positionID_INLINE_20240427] +( + @TipoProdotto VARCHAR(5)='', + @CodInterno VARCHAR(13)='', + @CodMAF VARCHAR(13)='', + @CodISIN VARCHAR(16)='', + @CodSottoprodotto VARCHAR(13)='', + @CodiceContratto VARCHAR(11)='', + @NumeroPolizza VARCHAR(11)= '', + @Conto VARCHAR(12)= '', + @Rubricato VARCHAR(4)='', + @CustodiaGaranzia VARCHAR(1)='', + @Termid VARCHAR(8)='', + @Anno DECIMAL(3)=0, + @Prog DECIMAL(9)=0 +) +RETURNS TABLE +AS +RETURN +( + SELECT + CONCAT( + RIGHT('000000000000' + ISNULL(@CodiceContratto, 'e'), 11), + RIGHT('000000000000' + ISNULL(@Conto, 'e'), 12), + RIGHT('000' + ISNULL(@Rubricato, 'e'), 3), + RIGHT('0' + ISNULL(@CustodiaGaranzia, 'e'), 1), + RIGHT('00000000000' + ISNULL(@NumeroPolizza, 'e'), 11), + RIGHT('00000000' + ISNULL(@Termid, 'e'), 8), + RIGHT('000' + CAST(ISNULL(@Anno, 0) AS VARCHAR(3)), 3), + RIGHT('000000000' + CAST(ISNULL(@Prog, 0) AS VARCHAR(9)), 9) + ) AS PositionID +) \ No newline at end of file diff --git a/sql/Produzione/funzioni/dbo_Crea_positionID_test.sql b/sql/Produzione/funzioni/dbo_Crea_positionID_test.sql new file mode 100644 index 00000000..aaec3cc0 --- /dev/null +++ b/sql/Produzione/funzioni/dbo_Crea_positionID_test.sql @@ -0,0 +1,50 @@ +CREATE FUNCTION [dbo].[Crea_positionID_test] +( + @TipoProdotto VARCHAR(5)='', + @CodInterno VARCHAR(13)='', + @CodMAF VARCHAR(13)='', + @CodISIN VARCHAR(16)='', + @CodSottoprodotto VARCHAR(13)='', + @CodiceContratto VARCHAR(11)='', + @NumeroPolizza VARCHAR(11)= '', + @Conto VARCHAR(12)= '', + @Rubricato VARCHAR(4)='', + @CustodiaGaranzia VARCHAR(1)='', + @Termid VARCHAR(8)='', + @Anno DECIMAL(3)=0, + @Prog DECIMAL(9)=0 +) +RETURNS VARCHAR(123) +AS +BEGIN + -- Questa funzione concatena i dati formando una stringa unica + DECLARE @ResultVar VARCHAR(123) + DECLARE @t1 VARCHAR(63) + DECLARE @tp VARCHAR(5) + DECLARE @t2 VARCHAR(60) + DECLARE @AnnoS AS VARCHAR(3) + DECLARE @ProgS AS VARCHAR(9) + SET @AnnoS = CAST(@Anno AS VARCHAR(3)) + SET @ProgS = CAST(@Prog AS VARCHAR(9)) + IF LEN(RTRIM(ISNULL(@Conto, ''))) <12 + SET @Conto= REPLICATE ( '0' ,12-LEN(RTRIM(ISNULL(@Conto, ''))) ) + RTRIM(ISNULL(@Conto, '')) + IF LEN(RTRIM(ISNULL(@Rubricato, ''))) <3 + SET @Rubricato= REPLICATE ( '0' ,3-LEN(RTRIM(ISNULL(@Rubricato, ''))) ) + RTRIM(ISNULL(@Rubricato, '')) + IF LEN(RTRIM(ISNULL(@CustodiaGaranzia, ''))) <1 + SET @CustodiaGaranzia= '0' + IF LEN(RTRIM(ISNULL(@NumeroPolizza, ''))) <11 + SET @NumeroPolizza= REPLICATE ( '0' ,11-LEN(RTRIM(ISNULL(@NumeroPolizza, ''))) ) + RTRIM(ISNULL(@NumeroPolizza, '')) + IF LEN(RTRIM(ISNULL(@Termid, ''))) <8 + SET @Termid= REPLICATE ( '0' ,8-LEN(RTRIM(ISNULL(@Termid, ''))) ) + RTRIM(ISNULL(@Termid, '')) + IF LEN(RTRIM(ISNULL(@AnnoS, 0))) <3 + SET @AnnoS= REPLICATE ( '0' ,3-LEN(RTRIM(ISNULL(@AnnoS, 0))) ) + RTRIM(ISNULL(@AnnoS, 0)) + IF LEN(RTRIM(ISNULL(@ProgS, 0))) <9 + SET @ProgS= REPLICATE ( '0' ,9-LEN(RTRIM(ISNULL(@ProgS, 0))) ) + RTRIM(ISNULL(@ProgS, 0)) + SET @t1= RTRIM(ISNULL(@CodiceContratto,'e'))+RTRIM(ISNULL(@Conto,'e'))+ RTRIM(ISNULL(@Rubricato,'e'))+ + RTRIM(ISNULL(@CustodiaGaranzia, 'e'))+ RTRIM(ISNULL(@NumeroPolizza,'e'))+RTRIM(ISNULL(@Termid, 'e'))+ + RTRIM(ISNULL(@AnnoS, 'e'))+RTRIM(ISNULL(@ProgS, 'e')) + --SET @ResultVar = ISNULL(@t1,'1') + SET @ResultVar = '2' + -- Return the result of the function + RETURN @ResultVar +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/dbo_Eta.sql b/sql/Produzione/funzioni/dbo_Eta.sql new file mode 100644 index 00000000..5b8c6b70 --- /dev/null +++ b/sql/Produzione/funzioni/dbo_Eta.sql @@ -0,0 +1,20 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE FUNCTION [dbo].[Eta] +( + -- Add the parameters for the function here + @dataNascita DATETIME +) +RETURNS INT +AS +BEGIN + -- Declare the return variable here + DECLARE @eta INT + -- Add the T-SQL statements to compute the return value here + SET @eta = FLOOR(DATEDIFF(day, @dataNascita, GETDATE()) / 365.25) + -- Return the result of the function + RETURN @eta +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/dbo_FFCODICEFISCALE.sql b/sql/Produzione/funzioni/dbo_FFCODICEFISCALE.sql new file mode 100644 index 00000000..ec5d4af2 --- /dev/null +++ b/sql/Produzione/funzioni/dbo_FFCODICEFISCALE.sql @@ -0,0 +1,16 @@ +--select [dbo].[FFCODICEFISCALE] ('DRGFG','','3333') +CREATE FUNCTION [dbo].[FFCODICEFISCALE] +(@COD_FISCALE varchar(16), @COD_MANDATO varchar(6), @PIVA_FIDUCIARIA varchar(11)) +RETURNS varchar(16) +WITH EXEC AS CALLER +AS +BEGIN +DECLARE @cf VARCHAR(16) + IF (isnull(ltrim(rtrim(@COD_MANDATO)),'') <> '') + SET @cf = 'FF@'+ @COD_MANDATO + ELSE IF (isnull(@COD_FISCALE,'') <> '') + SET @cf = @COD_FISCALE + ELSE + SET @cf = @PIVA_FIDUCIARIA + RETURN @cf +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/dbo_FFPIVA.sql b/sql/Produzione/funzioni/dbo_FFPIVA.sql new file mode 100644 index 00000000..c6faa02a --- /dev/null +++ b/sql/Produzione/funzioni/dbo_FFPIVA.sql @@ -0,0 +1,14 @@ +--select [dbo].[FFPIVA] ('gg','3333') +CREATE FUNCTION [dbo].[FFPIVA] +(@COD_MANDATO varchar(6), @PIVA_FIDUCIARIA varchar(11)) +RETURNS varchar(16) +WITH EXEC AS CALLER +AS +BEGIN +DECLARE @piva VARCHAR(16) + IF (isnull(ltrim(rtrim(@COD_MANDATO)),'') <> '') + SET @piva = @PIVA_FIDUCIARIA + ELSE + SET @piva = '' + RETURN @piva +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/dbo_FormatDate_Testo_Lettera_Benvenuto.sql b/sql/Produzione/funzioni/dbo_FormatDate_Testo_Lettera_Benvenuto.sql new file mode 100644 index 00000000..9f18ae3b --- /dev/null +++ b/sql/Produzione/funzioni/dbo_FormatDate_Testo_Lettera_Benvenuto.sql @@ -0,0 +1,42 @@ +CREATE FUNCTION [dbo].[FormatDate_Testo_Lettera_Benvenuto] +( + @DATA as datetime +) +RETURNS varchar(20) +AS +BEGIN +DECLARE @FORMATDATA as varchar(20) +DECLARE @GIORNO as varchar(2) +DECLARE @MESE as varchar(10) +DECLARE @ANNO AS VARCHAR (4) +SET @GIORNO = day(@DATA); +SET @ANNO = year(@DATA); +-- +if month(@DATA) = '01' + set @MESE = 'Gennaio'; +if month(@DATA) = '02' + set @MESE = 'Febbraio'; +if month(@DATA) = '03' + set @MESE = 'Marzo'; +if month(@DATA) = '04' + set @MESE = 'Aprile'; +if month(@DATA) = '05' + set @MESE = 'Maggio'; +if month(@DATA) = '06' + set @MESE = 'Giugno'; +if month(@DATA) = '07' + set @MESE = 'Luglio'; +if month(@DATA) = '08' + set @MESE = 'Agosto'; +if month(@DATA) = '09' + set @MESE = 'Settembre'; +if month(@DATA) = '10' + set @MESE = 'Ottobre'; +if month(@DATA) = '11' + set @MESE = 'Novembre'; +if month(@DATA) = '12' + set @MESE = 'Dicembre'; +--LANGUAGE Italian +SET @FORMATDATA = @GIORNO + ' ' + @MESE + ' ' + @ANNO; + RETURN @FORMATDATA +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/dbo_GeneraChiaveContratto.sql b/sql/Produzione/funzioni/dbo_GeneraChiaveContratto.sql new file mode 100644 index 00000000..079ac1b0 --- /dev/null +++ b/sql/Produzione/funzioni/dbo_GeneraChiaveContratto.sql @@ -0,0 +1,36 @@ +CREATE FUNCTION [dbo].[GeneraChiaveContratto] +( +@TipoProdotto varchar(5)='', +@CodInterno varchar(13)='', @CodMAF varchar(13)='', @CodISIN varchar(16)='', @CodSottoprodotto varchar(13)='', +@CodiceContratto varchar(11)='',@NumeroPolizza varchar(11)= '', @Conto varchar(12)= '', +@Rubricato varchar(4)='',@CustodiaGaranzia varchar(1)='', +@Termid varchar(8)='', @Anno decimal(3)=0, @Prog decimal(9)=0 +) +RETURNS varchar(123) +AS +BEGIN + -- Questa funzione concatena i dati dormando una stringa unica + DECLARE @ResultVar VARCHAR(123) + DECLARE @t1 VARCHAR(63) + DECLARE @tp VARCHAR(5) + DECLARE @t2 VARCHAR(60) + declare @AnnoS as varchar(3) + declare @ProgS as varchar(9) + set @AnnoS = cast(@Anno as varchar(3)) + set @ProgS = cast(@Prog as varchar(9)) + set @t2= '@'+ rtrim(isnull(@CodInterno, '')) + rtrim(isnull(@CodMAF, '')) + rtrim(isnull(@CodISIN, '')) + rtrim(isnull(@CodSottoprodotto, '')) + set @tp = rtrim(@TipoProdotto)+ '@' + if len(rtrim(isnull(@Conto, ''))) <12 set @Conto= REPLICATE ( '0' ,12-len(rtrim(isnull(@Conto, ''))) ) +rtrim(isnull(@Conto, '')) + if len(rtrim(isnull(@Rubricato, ''))) <3 set @Rubricato= REPLICATE ( '0' ,3-len(rtrim(isnull(@Rubricato, ''))) ) +rtrim(isnull(@Rubricato, '')) + if len(rtrim(isnull(@CustodiaGaranzia, ''))) <1 set @CustodiaGaranzia= '0' + if len(rtrim(isnull(@NumeroPolizza, ''))) <11 set @NumeroPolizza= REPLICATE ( '0' ,11-len(rtrim(isnull(@NumeroPolizza, ''))) ) +rtrim(isnull(@NumeroPolizza, '')) + if len(rtrim(isnull(@Termid, ''))) <8 set @Termid= REPLICATE ( '0' ,8-len(rtrim(isnull(@Termid, ''))) ) +rtrim(isnull(@Termid, '')) + if len(rtrim(isnull(@AnnoS, 0))) <3 set @AnnoS= REPLICATE ( '0' ,3-len(rtrim(isnull(@AnnoS, 0))) ) +rtrim(isnull(@AnnoS, 0)) + if len(rtrim(isnull(@ProgS, 0))) <9 set @ProgS= REPLICATE ( '0' ,9-len(rtrim(isnull(@ProgS, 0))) ) +rtrim(isnull(@ProgS, 0)) + set @t1= rtrim(isnull(@CodiceContratto,'e'))+rtrim(isnull(@Conto,'e'))+ rtrim(isnull(@Rubricato,'e'))+ + rtrim(isnull(@CustodiaGaranzia, 'e'))+ rtrim(isnull(@NumeroPolizza,'e'))+rtrim(isnull(@Termid, 'e'))+ + rtrim(isnull(@AnnoS, 'e'))+rtrim(isnull(@ProgS, 'e')) + set @ResultVar = isnull(@tp,'tp') +isnull(@t1,'1') + isnull(@t2,'2') + -- Return the result of the function + RETURN @ResultVar +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/dbo_GeneraPositionID.sql b/sql/Produzione/funzioni/dbo_GeneraPositionID.sql new file mode 100644 index 00000000..4ab45264 --- /dev/null +++ b/sql/Produzione/funzioni/dbo_GeneraPositionID.sql @@ -0,0 +1,55 @@ +CREATE FUNCTION [dbo].[GeneraPositionID] +( + @TipoProdotto VARCHAR(5)='', + @CodInterno VARCHAR(13)='', + @CodMAF VARCHAR(13)='', + @CodISIN VARCHAR(16)='', + @CodSottoprodotto VARCHAR(13)='', + @CodiceContratto VARCHAR(11)='', + @NumeroPolizza VARCHAR(11)= '', + @Conto VARCHAR(12)= '', + @Rubricato VARCHAR(4)='', + @CustodiaGaranzia VARCHAR(1)='', + @Termid VARCHAR(8)='', + @Anno DECIMAL(3)=0, + @Prog DECIMAL(9)=0 +) +RETURNS VARCHAR(123) +AS +BEGIN + -- Questa funzione concatena i dati formando una stringa unica + DECLARE @ResultVar VARCHAR(123) + DECLARE @t1 VARCHAR(63) + DECLARE @tp VARCHAR(5) + DECLARE @t2 VARCHAR(60) + DECLARE @AnnoS VARCHAR(3) + DECLARE @ProgS VARCHAR(9) + SET @AnnoS = cast(@Anno AS VARCHAR(3)) + SET @ProgS = cast(@Prog AS VARCHAR(9)) + IF LEN(RTRIM(ISNULL(@Conto, ''))) <12 + SET @Conto= REPLICATE ( '0' ,12 - LEN(RTRIM(ISNULL(@Conto, ''))) ) +RTRIM(ISNULL(@Conto, '')) + IF LEN(RTRIM(ISNULL(@Rubricato, ''))) <3 + SET @Rubricato= REPLICATE ( '0' ,3 - LEN(RTRIM(ISNULL(@Rubricato, ''))) ) +RTRIM(ISNULL(@Rubricato, '')) + IF LEN(RTRIM(ISNULL(@CustodiaGaranzia, ''))) <1 + SET @CustodiaGaranzia= '0' + IF LEN(RTRIM(ISNULL(@NumeroPolizza, ''))) <11 + SET @NumeroPolizza= REPLICATE ( '0' ,11 - LEN(RTRIM(ISNULL(@NumeroPolizza, ''))) ) +RTRIM(ISNULL(@NumeroPolizza, '')) + IF LEN(RTRIM(ISNULL(@Termid, ''))) <8 + SET @Termid= REPLICATE ( '0' ,8 - LEN(RTRIM(ISNULL(@Termid, ''))) ) +RTRIM(ISNULL(@Termid, '')) + IF LEN(RTRIM(ISNULL(@AnnoS, 0))) <3 + SET @AnnoS= REPLICATE ( '0' ,3 - LEN(RTRIM(ISNULL(@AnnoS, 0))) ) +RTRIM(ISNULL(@AnnoS, 0)) + IF LEN(RTRIM(ISNULL(@ProgS, 0))) <9 + SET @ProgS= REPLICATE ( '0' ,9 - LEN(RTRIM(ISNULL(@ProgS, 0))) ) +RTRIM(ISNULL(@ProgS, 0)) + SET @t1= + RTRIM(ISNULL(@CodiceContratto,'e'))+ + RTRIM(ISNULL(@Conto,'e'))+ + RTRIM(ISNULL(@Rubricato,'e'))+ + RTRIM(ISNULL(@CustodiaGaranzia, 'e'))+ + RTRIM(ISNULL(@NumeroPolizza,'e'))+ + RTRIM(ISNULL(@Termid, 'e'))+ + RTRIM(ISNULL(@AnnoS, 'e'))+ + RTRIM(ISNULL(@ProgS, 'e')) + SET @ResultVar = ISNULL(@t1,'1') + -- Return the result of the function + RETURN @ResultVar +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/dbo_GetFeriale.sql b/sql/Produzione/funzioni/dbo_GetFeriale.sql new file mode 100644 index 00000000..431b621f --- /dev/null +++ b/sql/Produzione/funzioni/dbo_GetFeriale.sql @@ -0,0 +1,18 @@ +CREATE FUNCTION dbo.GetFeriale (@InputDate DATE) +RETURNS DATE +AS +BEGIN + DECLARE @NextWorkingDay DATE = @InputDate; + -- Controllo se il giorno è festivo o weekend + WHILE EXISTS ( + SELECT 1 + FROM Holidays + WHERE HolidayDate = @NextWorkingDay + ) + OR DATEPART(WEEKDAY, @NextWorkingDay) IN (1, 7) -- 1 = Domenica, 7 = Sabato + BEGIN + -- Se è festivo o weekend, passa al giorno successivo + SET @NextWorkingDay = DATEADD(DAY, 1, @NextWorkingDay); + END + RETURN @NextWorkingDay; +END; \ No newline at end of file diff --git a/sql/Produzione/funzioni/dbo_Info_DaProdottoCSaCatalogo.sql b/sql/Produzione/funzioni/dbo_Info_DaProdottoCSaCatalogo.sql new file mode 100644 index 00000000..83ad84e4 --- /dev/null +++ b/sql/Produzione/funzioni/dbo_Info_DaProdottoCSaCatalogo.sql @@ -0,0 +1,44 @@ +CREATE FUNCTION [dbo].[Info_DaProdottoCSaCatalogo] +( + @TipoProdotto varchar(5), + @CodInterno varchar(13), + @CodMAF varchar(13), + @CodISIN varchar(16), + @CodSottoprodotto varchar(13) +) +RETURNS varchar(63) +AS +BEGIN + -- Declare the return variable here + DECLARE @ResultVar VARCHAR(63) + -- Add the T-SQL statements to compute the return value here + IF @TipoProdotto in ('FI', 'GE', 'ASU1', 'ASVI', 'ASCM', 'AC' ) + SELECT TOP 1 @ResultVar = CATALOGUEID FROM C6Staging.CATITEMREF cat + where 1=1 and cat.COD_INTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) and cat.COD_SOTTOPRODOTTO= (case rtrim(isnull(@CodSottoprodotto,'')) when '' then '$' else @CodSottoprodotto end) + ORDER BY ISVISIBLE DESC +-- aggiunta skandia tringali + IF @TipoProdotto in ('ASUL') and @codisin <>'' + SELECT TOP 1 @ResultVar = CATALOGUEID FROM C6Staging.CATITEMREF cat + where 1=1 and cat.COD_INTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) and cat.COD_SOTTOPRODOTTO= (case rtrim(isnull(@CodSottoprodotto,'')) when '' then '$' else @CodSottoprodotto end) + and cat.COD_adeguatezza = (case rtrim(isnull(@CodIsin,'')) when '' then '$' else @CodIsin end) + and cat.COD_maf = (case rtrim(isnull(@Codmaf,'')) when '' then '$' else @Codmaf end) + ORDER BY ISVISIBLE DESC +-- aggiunta asul tringali + IF @TipoProdotto in ('ASUL') and @codisin = '' + SELECT TOP 1 @ResultVar = CATALOGUEID FROM C6Staging.CATITEMREF cat + where 1=1 and cat.COD_INTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) + and cat.COD_SOTTOPRODOTTO= (case rtrim(isnull(@CodSottoprodotto,'')) when '' then '$' else @CodSottoprodotto end) + --and cat.COD_adeguatezza = (case rtrim(isnull(@CodIsin,'')) when '' then '$' else @CodIsin end) + --and cat.COD_maf = (case rtrim(isnull(@Codmaf,'')) when '' then '$' else @Codmaf end) + ORDER BY ISVISIBLE DESC + IF @TipoProdotto in ('DT','ASD' ) + SELECT TOP 1 @ResultVar = CATALOGUEID FROM C6Staging.CATITEMREF cat + where 1=1 and cat.COD_INTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) + ORDER BY ISVISIBLE DESC + IF @TipoProdotto in ('GES' ) + SELECT TOP 1 @ResultVar = CATALOGUEID FROM C6Staging.CATITEMREF cat + where 1=1 and cat.COD_INTERNO = (case rtrim(isnull(@CodInterno,'')) when '' then '$' else @CodInterno end) and cat.COD_MAF=(case rtrim(isnull(@CodMAF,'')) when '' then '$' else @CodMAF end) + ORDER BY ISVISIBLE DESC + -- Return the result of the function + RETURN @ResultVar +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/dbo_Replace_Firma_Lettera_Benvenuto.sql b/sql/Produzione/funzioni/dbo_Replace_Firma_Lettera_Benvenuto.sql new file mode 100644 index 00000000..607f982f --- /dev/null +++ b/sql/Produzione/funzioni/dbo_Replace_Firma_Lettera_Benvenuto.sql @@ -0,0 +1,13 @@ +CREATE FUNCTION [dbo].[Replace_Firma_Lettera_Benvenuto] +( + @TESTO as TEXT = '' +) +RETURNS varchar(5000) +AS +BEGIN + DECLARE @TESTO_DI_RITORNO as varchar(5000) + SET @TESTO_DI_RITORNO = @TESTO + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'\r\n',char(10)); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'\t',char(8)); + RETURN @TESTO_DI_RITORNO +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/dbo_Replace_From_Email.sql b/sql/Produzione/funzioni/dbo_Replace_From_Email.sql new file mode 100644 index 00000000..1e3f4ac3 --- /dev/null +++ b/sql/Produzione/funzioni/dbo_Replace_From_Email.sql @@ -0,0 +1,28 @@ +CREATE FUNCTION [dbo].[Replace_From_Email] +( + @RETE as varchar(1) = '', + @FROM as varchar(100) = '' +) +RETURNS varchar(5000) +AS +BEGIN + DECLARE @FROM_DI_RITORNO as varchar(255) + SET @FROM_DI_RITORNO = @FROM; + IF @RETE = 'S' + BEGIN + SET @FROM_DI_RITORNO = REPLACE(@FROM_DI_RITORNO,'/$SERVIZIO_CONTRATTO6$/','Servizio.ContrattoSEI@Spinvest.com'); + END + --immissione rete iwb + IF @RETE = 'W' + BEGIN + SET @FROM_DI_RITORNO = REPLACE(@FROM_DI_RITORNO,'/$SERVIZIO_CONTRATTO6$/','Servizio.ContrattoSEI@iwprivateinvestments.it'); + END + ELSE + BEGIN + --modifica del 16/3/2017 su richiesta di Casoli - Modifica dellindirizzo + --SET @FROM_DI_RITORNO = REPLACE(@FROM_DI_RITORNO,'/$SERVIZIO_CONTRATTO6$/','Servizio.ContrattoSEI@BancaFideuram.it'); + SET @FROM_DI_RITORNO = REPLACE(@FROM_DI_RITORNO,'/$SERVIZIO_CONTRATTO6$/','Servizio.ContrattoSEI@Fideuram.it'); + -- fine modifica del 16/3/2017 + END + RETURN @FROM_DI_RITORNO +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/dbo_Replace_From_Email_20170316.sql b/sql/Produzione/funzioni/dbo_Replace_From_Email_20170316.sql new file mode 100644 index 00000000..a95587c7 --- /dev/null +++ b/sql/Produzione/funzioni/dbo_Replace_From_Email_20170316.sql @@ -0,0 +1,20 @@ +CREATE FUNCTION [dbo].[Replace_From_Email_20170316] +( + @RETE as varchar(1) = '', + @FROM as varchar(100) = '' +) +RETURNS varchar(5000) +AS +BEGIN + DECLARE @FROM_DI_RITORNO as varchar(255) + SET @FROM_DI_RITORNO = @FROM; + IF @RETE = 'S' + BEGIN + SET @FROM_DI_RITORNO = REPLACE(@FROM_DI_RITORNO,'/$SERVIZIO_CONTRATTO6$/','Servizio.ContrattoSEI@Spinvest.com'); + END + ELSE + BEGIN + SET @FROM_DI_RITORNO = REPLACE(@FROM_DI_RITORNO,'/$SERVIZIO_CONTRATTO6$/','Servizio.ContrattoSEI@BancaFideuram.it'); + END + RETURN @FROM_DI_RITORNO +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/dbo_Replace_Oggetto_Lettera_Benvenuto.sql b/sql/Produzione/funzioni/dbo_Replace_Oggetto_Lettera_Benvenuto.sql new file mode 100644 index 00000000..4c2b86e5 --- /dev/null +++ b/sql/Produzione/funzioni/dbo_Replace_Oggetto_Lettera_Benvenuto.sql @@ -0,0 +1,24 @@ +CREATE FUNCTION [dbo].[Replace_Oggetto_Lettera_Benvenuto] +( + @CODICE_CONTRATTO as varchar(16) = '', + @COGNOME as varchar(20) = '', + @NOME as varchar(20) = '', + @TESTO as TEXT = '', + @TIPOREPORT as varchar(20) +) +RETURNS varchar(5000) +AS +BEGIN + DECLARE @TESTO_DI_RITORNO as varchar(5000) + SET @TESTO_DI_RITORNO = @TESTO + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'\r\n',char(10)); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'\t',char(8)); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$codiceContratto$/',@CODICE_CONTRATTO); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$cognome$/',@COGNOME); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$nome$/',@NOME); + IF (@TIPOREPORT = 'DIAGNOSI') + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$tipo$/','Report di Diagnosi Sei') + IF (@TIPOREPORT = 'MONITORAGGIO') + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$tipo$/','Report di Monitoraggio Sei') + RETURN @TESTO_DI_RITORNO +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/dbo_Replace_Subject_Email.sql b/sql/Produzione/funzioni/dbo_Replace_Subject_Email.sql new file mode 100644 index 00000000..13aab1fa --- /dev/null +++ b/sql/Produzione/funzioni/dbo_Replace_Subject_Email.sql @@ -0,0 +1,26 @@ +CREATE FUNCTION [dbo].[Replace_Subject_Email] +( + @SUBJECT as varchar(255), + @NOME_CLIENTE as varchar(50) = '', + @COGNOME_CLIENTE as varchar(50) = '', + @NOME_PB as varchar(50) = '', + @COGNOME_PB as varchar(50) = '', + @CODICE_PB as varchar(50) = '', + @TIP_CONTRATTO as int = -1 +) +RETURNS varchar(5000) +AS +BEGIN + DECLARE @SUBJECT_RITORNO as varchar(5000); + DECLARE @TIP_CONTRATTO_TEXT as nvarchar(20) + SET @TIP_CONTRATTO_TEXT = case @TIP_CONTRATTO when 1 then 'Sei' when 2 then 'Sei Versione Private' else 'Sei' end + SET @SUBJECT_RITORNO = @SUBJECT; + SET @SUBJECT_RITORNO = REPLACE(@SUBJECT_RITORNO,'/$NOME_CLIENTE$/',isnull(@NOME_CLIENTE,'--NOME CLIENTE NP--')); + SET @SUBJECT_RITORNO = REPLACE(@SUBJECT_RITORNO,'/$COGNOME_CLIENTE$/',isnull(@COGNOME_CLIENTE,'--COGNOME CLIENTE NP--')); + SET @SUBJECT_RITORNO = REPLACE(@SUBJECT_RITORNO,'/$NOME_PB$/',isnull(@NOME_PB,'--NOME PB NP--')); + SET @SUBJECT_RITORNO = REPLACE(@SUBJECT_RITORNO,'/$COGNOME_PB$/',isnull(@COGNOME_PB,'--COGNOME PB NP--')); + SET @SUBJECT_RITORNO = REPLACE(@SUBJECT_RITORNO,'/$CODICE_PB$/',isnull(@CODICE_PB,'--CODICE PB NP--')); + SET @SUBJECT_RITORNO = REPLACE(@SUBJECT_RITORNO,'/$TIP_CONTRATTO$/',isnull(@TIP_CONTRATTO_TEXT,'--TIP CONTRATTO--')); + --RETURN 'rettifica mailing informativo' + RETURN @SUBJECT_RITORNO +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/dbo_Replace_Subject_Email_20161021.sql b/sql/Produzione/funzioni/dbo_Replace_Subject_Email_20161021.sql new file mode 100644 index 00000000..28098ecd --- /dev/null +++ b/sql/Produzione/funzioni/dbo_Replace_Subject_Email_20161021.sql @@ -0,0 +1,22 @@ +CREATE FUNCTION [dbo].[Replace_Subject_Email_20161021] +( + @SUBJECT as varchar(255), + @NOME_CLIENTE as varchar(50) = '', + @COGNOME_CLIENTE as varchar(50) = '', + @NOME_PB as varchar(50) = '', + @COGNOME_PB as varchar(50) = '', + @CODICE_PB as varchar(50) = '' +) +RETURNS varchar(5000) +AS +BEGIN + DECLARE @SUBJECT_RITORNO as varchar(5000); + SET @SUBJECT_RITORNO = @SUBJECT; + SET @SUBJECT_RITORNO = REPLACE(@SUBJECT_RITORNO,'/$NOME_CLIENTE$/',isnull(@NOME_CLIENTE,'--NOME CLIENTE NP--')); + SET @SUBJECT_RITORNO = REPLACE(@SUBJECT_RITORNO,'/$COGNOME_CLIENTE$/',isnull(@COGNOME_CLIENTE,'--COGNOME CLIENTE NP--')); + SET @SUBJECT_RITORNO = REPLACE(@SUBJECT_RITORNO,'/$NOME_PB$/',isnull(@NOME_PB,'--NOME PB NP--')); + SET @SUBJECT_RITORNO = REPLACE(@SUBJECT_RITORNO,'/$COGNOME_PB$/',isnull(@COGNOME_PB,'--COGNOME PB NP--')); + SET @SUBJECT_RITORNO = REPLACE(@SUBJECT_RITORNO,'/$CODICE_PB$/',isnull(@CODICE_PB,'--CODICE PB NP--')); + --RETURN 'rettifica mailing informativo' + RETURN @SUBJECT_RITORNO +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/dbo_Replace_Subject_Email_Periodico.sql b/sql/Produzione/funzioni/dbo_Replace_Subject_Email_Periodico.sql new file mode 100644 index 00000000..d60a0141 --- /dev/null +++ b/sql/Produzione/funzioni/dbo_Replace_Subject_Email_Periodico.sql @@ -0,0 +1,22 @@ +CREATE FUNCTION [dbo].[Replace_Subject_Email_Periodico] +( + @SUBJECT as varchar(255), + @NOME_CLIENTE as varchar(50) = '', + @COGNOME_CLIENTE as varchar(50) = '', + @NOME_PB as varchar(50) = '', + @COGNOME_PB as varchar(50) = '', + @CODICE_PB as varchar(50) = '' +) +RETURNS varchar(5000) +AS +BEGIN + DECLARE @SUBJECT_RITORNO as varchar(5000); + SET @SUBJECT_RITORNO = @SUBJECT; + SET @SUBJECT_RITORNO = REPLACE(@SUBJECT_RITORNO,'/$NOME_CLIENTE$/',isnull(@NOME_CLIENTE,'--NOME CLIENTE NP--')); + SET @SUBJECT_RITORNO = REPLACE(@SUBJECT_RITORNO,'/$COGNOME_CLIENTE$/',isnull(@COGNOME_CLIENTE,'--COGNOME CLIENTE NP--')); + SET @SUBJECT_RITORNO = REPLACE(@SUBJECT_RITORNO,'/$NOME_PB$/',isnull(@NOME_PB,'--NOME PB NP--')); + SET @SUBJECT_RITORNO = REPLACE(@SUBJECT_RITORNO,'/$COGNOME_PB$/',isnull(@COGNOME_PB,'--COGNOME PB NP--')); + SET @SUBJECT_RITORNO = REPLACE(@SUBJECT_RITORNO,'/$CODICE_PB$/',isnull(@CODICE_PB,'--CODICE PB NP--')); + --RETURN 'rettifica mailing informativo' + RETURN @SUBJECT_RITORNO +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/dbo_Replace_Subject_Email_test.sql b/sql/Produzione/funzioni/dbo_Replace_Subject_Email_test.sql new file mode 100644 index 00000000..aa6c2cce --- /dev/null +++ b/sql/Produzione/funzioni/dbo_Replace_Subject_Email_test.sql @@ -0,0 +1,26 @@ +CREATE FUNCTION [dbo].[Replace_Subject_Email_test] +( + @SUBJECT as varchar(255), + @NOME_CLIENTE as varchar(50) = '', + @COGNOME_CLIENTE as varchar(50) = '', + @NOME_PB as varchar(50) = '', + @COGNOME_PB as varchar(50) = '', + @CODICE_PB as varchar(50) = '', + @TIP_CONTRATTO as int = -1 +) +RETURNS varchar(5000) +AS +BEGIN + DECLARE @SUBJECT_RITORNO as varchar(5000); + DECLARE @TIP_CONTRATTO_TEXT as nvarchar(20) + SET @TIP_CONTRATTO_TEXT = case @TIP_CONTRATTO when 1 then 'Sei' when 2 then 'Sei Versione Private' when 3 then '' else 'Sei' end + SET @SUBJECT_RITORNO = @SUBJECT; + SET @SUBJECT_RITORNO = REPLACE(@SUBJECT_RITORNO,'/$NOME_CLIENTE$/',isnull(@NOME_CLIENTE,'--NOME CLIENTE NP--')); + SET @SUBJECT_RITORNO = REPLACE(@SUBJECT_RITORNO,'/$COGNOME_CLIENTE$/',isnull(@COGNOME_CLIENTE,'--COGNOME CLIENTE NP--')); + SET @SUBJECT_RITORNO = REPLACE(@SUBJECT_RITORNO,'/$NOME_PB$/',isnull(@NOME_PB,'--NOME PB NP--')); + SET @SUBJECT_RITORNO = REPLACE(@SUBJECT_RITORNO,'/$COGNOME_PB$/',isnull(@COGNOME_PB,'--COGNOME PB NP--')); + SET @SUBJECT_RITORNO = REPLACE(@SUBJECT_RITORNO,'/$CODICE_PB$/',isnull(@CODICE_PB,'--CODICE PB NP--')); + SET @SUBJECT_RITORNO = REPLACE(@SUBJECT_RITORNO,'/$TIP_CONTRATTO$/',isnull(@TIP_CONTRATTO_TEXT,'--TIP CONTRATTO--')); + --RETURN 'rettifica mailing informativo' + RETURN @SUBJECT_RITORNO +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/dbo_Replace_Testo_Email.sql b/sql/Produzione/funzioni/dbo_Replace_Testo_Email.sql new file mode 100644 index 00000000..0ed59f1a --- /dev/null +++ b/sql/Produzione/funzioni/dbo_Replace_Testo_Email.sql @@ -0,0 +1,107 @@ +CREATE FUNCTION [dbo].[Replace_Testo_Email] +( + @CODICE_CONTRATTO as varchar(16) = '', + @CODICE_FISCALE as varchar(16) = '', + @COGNOME_CLIENTE as varchar(20) = '', + @NOME_CLIENTE as varchar(20) = '', + @CODICE_PB as varchar(6) = '', + @COGNOME_PB as varchar(20) = '', + @NOME_PB as varchar(20) = '', + @DATA_PERFEZIONAMENTO as datetime = null, + @FREQUENZA_DIAGN as varchar(16) = '', + @FREQUENZA_MONITOR as varchar(16) = '', + @PERC_RNA as varchar(3), + @TIP_CONTRATTO as int = -1, + @DATA_REVOCA_CONTRATTO as datetime = '2001-01-01', + @DATA_SOTTOSCRIZIONE_CONTRATTO as datetime = '2001-01-01', + @RETE AS NVARCHAR(5) = 'S', + @TESTO as TEXT = '' +) +RETURNS varchar(5000) +AS +BEGIN + DECLARE @TESTO_DI_RITORNO as varchar(8000) + DECLARE @TIPO_REPORT_D as varchar(100) + DECLARE @TIPO_REPORT_M as varchar(100) + DECLARE @CODMAN AS VARCHAR(6) + DECLARE @TIP_CONTRATTO_TEXT as nvarchar(20) + SET @TIP_CONTRATTO_TEXT = case @TIP_CONTRATTO when 1 then 'Sei' when 2 then 'Sei Versione Private' else 'Sei' end + DECLARE @RETE_TEXT as nvarchar(20) + SET @RETE_TEXT = case @RETE when 'F' then 'Fideuram' else 'SanPaolo Invest' end + IF @FREQUENZA_MONITOR is null + BEGIN + SET @TIPO_REPORT_M = ''; + SET @FREQUENZA_MONITOR = ''; + END + ELSE + BEGIN + SET @TIPO_REPORT_M = 'Monitoraggio'; + if @FREQUENZA_MONITOR = 'T' + SET @FREQUENZA_MONITOR = 'Trimestrale'; + if @FREQUENZA_MONITOR = 'S' + SET @FREQUENZA_MONITOR = 'Semestrale'; + if @FREQUENZA_MONITOR = 'A' + SET @FREQUENZA_MONITOR = 'Annuale'; + SET @TIPO_REPORT_M = 'Report ' +@TIPO_REPORT_M + ' ' + @FREQUENZA_MONITOR; + END + if @FREQUENZA_DIAGN is null + BEGIN + SET @TIPO_REPORT_D = ''; + SET @FREQUENZA_DIAGN = ''; + END + else + BEGIN + SET @TIPO_REPORT_D = 'Diagnosi'; + if @FREQUENZA_DIAGN = 'T' + SET @FREQUENZA_DIAGN = 'Trimestrale'; + if @FREQUENZA_DIAGN = 'S' + SET @FREQUENZA_DIAGN = 'Semestrale'; + if @FREQUENZA_DIAGN = 'A' + SET @FREQUENZA_DIAGN = 'Annuale'; + SET @TIPO_REPORT_D = 'Report ' + @TIPO_REPORT_D + ' ' + @FREQUENZA_DIAGN; + END + -- modifica del 10/3/2017 per gestire codici mandato maggiori di 4 caratteri (tt T-1933818-K3C4) + --SET @CODMAN= CASE WHEN @CODICE_FISCALE LIKE '%@%' THEN SUBSTRING(@CODICE_FISCALE,4,4) ELSE '' END + SET @CODMAN= CASE WHEN @CODICE_FISCALE LIKE '%@%' THEN SUBSTRING(@CODICE_FISCALE,4,LEN(rtrim(@CODICE_FISCALE))-3) ELSE '' END + -- fine modifica del 10/3/2017 per gestire codici mandato maggiori di 4 caratteri (tt T-1933818-K3C4) + SET @TESTO_DI_RITORNO = isnull(@TESTO,'/$TESTO NON VALORIZZATO$/'); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$ACAPO$/',char(10)); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$CODICE_CONTRATTO$/',@CODICE_CONTRATTO); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$CODICE_FISCALE$/',@CODICE_FISCALE); + IF (@CODMAN = '') + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$COGNOME_CLIENTE$/',@COGNOME_CLIENTE) + ELSE + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$COGNOME_CLIENTE$/',@COGNOME_CLIENTE + '-' + @CODMAN) + --SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$DATA_REVOCA_CONTRATTO$/',dbo.ToShortDateString(@DATA_REVOCA_CONTRATTO)); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$DATA_SOTTOSCRIZIONE_CONTRATTO$/',dbo.ToShortDateString(@DATA_SOTTOSCRIZIONE_CONTRATTO)); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$TIP_CONTRATTO$/',isnull(@TIP_CONTRATTO_TEXT,'--TIP CONTRATTO--')); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$RETE$/',isnull(@RETE_TEXT,'--RETE--')); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$NOME_CLIENTE$/',@NOME_CLIENTE); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$CODICE_PB$/',@CODICE_PB); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$PERC_LIMITE_RNA$/',@PERC_RNA); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$COGNOME_PB$/',isnull(@COGNOME_PB,'/$COGNOME_PB$/')); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$NOME_PB$/',isnull(@NOME_PB,'/$NOME_PB$/')); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$report_type_monitoraggio$/',@TIPO_REPORT_M); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$report_type_diagnosi$/',@TIPO_REPORT_D); + if not @DATA_PERFEZIONAMENTO is null + begin + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$DATA_PERFEZIONAMENTO$/',dbo.ToShortDateString(@DATA_PERFEZIONAMENTO)); + --V Condizione aggiunta per evitare il fatto che sulla mail non compaia una data di generazione del report antecedente alla data attuale + IF ((@DATA_PERFEZIONAMENTO + 15) < getdate()) + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$DATA_INVIO_REPORT$/',dbo.ToShortDateString(GETDATE() + 1)); + ELSE + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$DATA_INVIO_REPORT$/',dbo.ToShortDateString(dateadd(day,cast(dbo.getParametro('NUMGIORNIDALPERF_REP') as smallint),@DATA_PERFEZIONAMENTO))); + -- + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$GG_DA_PERF$/',cast(dbo.getParametro('NUMGIORNIDALPERF_REP') as smallint)); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO, + '/$DATA_REVOCA_CONTRATTO$/', + dbo.ToShortDateString( + dateadd( + day,( + (CAST(dbo.getParametro('MaxInvioSoll') as smallint)-1) * + CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') as smallint)+ + CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint)), + @DATA_PERFEZIONAMENTO))); + end + RETURN @TESTO_DI_RITORNO +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/dbo_Replace_Testo_Email_20161021.sql b/sql/Produzione/funzioni/dbo_Replace_Testo_Email_20161021.sql new file mode 100644 index 00000000..72932745 --- /dev/null +++ b/sql/Produzione/funzioni/dbo_Replace_Testo_Email_20161021.sql @@ -0,0 +1,96 @@ +CREATE FUNCTION [dbo].[Replace_Testo_Email_20161021] +( + @CODICE_CONTRATTO as varchar(16) = '', + @CODICE_FISCALE as varchar(16) = '', + @COGNOME_CLIENTE as varchar(20) = '', + @NOME_CLIENTE as varchar(20) = '', + @CODICE_PB as varchar(6) = '', + @COGNOME_PB as varchar(20) = '', + @NOME_PB as varchar(20) = '', + @DATA_PERFEZIONAMENTO as datetime = null, + @FREQUENZA_DIAGN as varchar(16) = '', + @FREQUENZA_MONITOR as varchar(16) = '', + @PERC_RNA as varchar(3), + @TESTO as TEXT = '' +) +RETURNS varchar(5000) +AS +BEGIN + DECLARE @TESTO_DI_RITORNO as varchar(8000) + DECLARE @TIPO_REPORT_D as varchar(100) + DECLARE @TIPO_REPORT_M as varchar(100) + DECLARE @CODMAN AS VARCHAR(6) + IF @FREQUENZA_MONITOR is null + BEGIN + SET @TIPO_REPORT_M = ''; + SET @FREQUENZA_MONITOR = ''; + END + ELSE + BEGIN + SET @TIPO_REPORT_M = 'Monitoraggio'; + if @FREQUENZA_MONITOR = 'T' + SET @FREQUENZA_MONITOR = 'Trimestrale'; + if @FREQUENZA_MONITOR = 'S' + SET @FREQUENZA_MONITOR = 'Semestrale'; + if @FREQUENZA_MONITOR = 'A' + SET @FREQUENZA_MONITOR = 'Annuale'; + SET @TIPO_REPORT_M = 'Report ' +@TIPO_REPORT_M + ' ' + @FREQUENZA_MONITOR; + END + if @FREQUENZA_DIAGN is null + BEGIN + SET @TIPO_REPORT_D = ''; + SET @FREQUENZA_DIAGN = ''; + END + else + BEGIN + SET @TIPO_REPORT_D = 'Diagnosi'; + if @FREQUENZA_DIAGN = 'T' + SET @FREQUENZA_DIAGN = 'Trimestrale'; + if @FREQUENZA_DIAGN = 'S' + SET @FREQUENZA_DIAGN = 'Semestrale'; + if @FREQUENZA_DIAGN = 'A' + SET @FREQUENZA_DIAGN = 'Annuale'; + SET @TIPO_REPORT_D = 'Report ' + @TIPO_REPORT_D + ' ' + @FREQUENZA_DIAGN; + END + SET @CODMAN= CASE WHEN @CODICE_FISCALE LIKE '%@%' THEN SUBSTRING(@CODICE_FISCALE,4,4) ELSE '' END + SET @TESTO_DI_RITORNO = isnull(@TESTO,'/$TESTO NON VALORIZZATO$/'); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$ACAPO$/',char(10)); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$CODICE_CONTRATTO$/',@CODICE_CONTRATTO); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$CODICE_FISCALE$/',@CODICE_FISCALE); + IF (@CODMAN = '') + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$COGNOME_CLIENTE$/',@COGNOME_CLIENTE) + ELSE + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$COGNOME_CLIENTE$/',@COGNOME_CLIENTE + '-' + @CODMAN) + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$NOME_CLIENTE$/',@NOME_CLIENTE); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$CODICE_PB$/',@CODICE_PB); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$PERC_LIMITE_RNA$/',@PERC_RNA); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$COGNOME_PB$/',isnull(@COGNOME_PB,'/$COGNOME_PB$/')); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$NOME_PB$/',isnull(@NOME_PB,'/$NOME_PB$/')); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$report_type_monitoraggio$/',@TIPO_REPORT_M); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$report_type_diagnosi$/',@TIPO_REPORT_D); + if not @DATA_PERFEZIONAMENTO is null + begin + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$DATA_PERFEZIONAMENTO$/',dbo.ToShortDateString(@DATA_PERFEZIONAMENTO)); + --V Condizione aggiunta per evitare il fatto che sulla mail non compaia una data di generazione del report antecedente alla data attuale + IF ((@DATA_PERFEZIONAMENTO + 15) < getdate()) + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$DATA_INVIO_REPORT$/',dbo.ToShortDateString(GETDATE() + 1)); + ELSE + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$DATA_INVIO_REPORT$/',dbo.ToShortDateString(dateadd(day,cast(dbo.getParametro('NUMGIORNIDALPERF_REP') as smallint),@DATA_PERFEZIONAMENTO))); + -- + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$GG_DA_PERF$/',cast(dbo.getParametro('NUMGIORNIDALPERF_REP') as smallint)); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO, + '/$DATA_REVOCA_CONTRATTO$/', + dbo.ToShortDateString( + dateadd( + day,( + (CAST(dbo.getParametro('MaxInvioSoll') as smallint)-1) * + CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') as smallint)+ + CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint)), + @DATA_PERFEZIONAMENTO))); + end +--SET @TESTO_DI_RITORNO = 'Si avvisa di non considerare le mail informative pervenute oggi da ServizioContrattoSEI, in quanto erroneamente inviate a causa di un problema tecnico.

Grazie' +-- +--IF @CODICE_PB = '005050' +-- SET @TESTO_DI_RITORNO = 'Si avvisa di non considerare le mail informative pervenute oggi da ServizioContrattoSEI per i clienti di seguito indicati:

CLDLRD25R08D803H
CLDPRZ61H19D803Z
FRTFNC50B03C632M

in quanto erroneamente inviate a causa di un problema tecnico.

Grazie' + RETURN @TESTO_DI_RITORNO +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/dbo_Replace_Testo_Email_20170310.sql b/sql/Produzione/funzioni/dbo_Replace_Testo_Email_20170310.sql new file mode 100644 index 00000000..0d2b7621 --- /dev/null +++ b/sql/Produzione/funzioni/dbo_Replace_Testo_Email_20170310.sql @@ -0,0 +1,104 @@ +CREATE FUNCTION [dbo].[Replace_Testo_Email_20170310] +( + @CODICE_CONTRATTO as varchar(16) = '', + @CODICE_FISCALE as varchar(16) = '', + @COGNOME_CLIENTE as varchar(20) = '', + @NOME_CLIENTE as varchar(20) = '', + @CODICE_PB as varchar(6) = '', + @COGNOME_PB as varchar(20) = '', + @NOME_PB as varchar(20) = '', + @DATA_PERFEZIONAMENTO as datetime = null, + @FREQUENZA_DIAGN as varchar(16) = '', + @FREQUENZA_MONITOR as varchar(16) = '', + @PERC_RNA as varchar(3), + @TIP_CONTRATTO as int = -1, + @DATA_REVOCA_CONTRATTO as datetime = '2001-01-01', + @DATA_SOTTOSCRIZIONE_CONTRATTO as datetime = '2001-01-01', + @RETE AS NVARCHAR(5) = 'S', + @TESTO as TEXT = '' +) +RETURNS varchar(5000) +AS +BEGIN + DECLARE @TESTO_DI_RITORNO as varchar(8000) + DECLARE @TIPO_REPORT_D as varchar(100) + DECLARE @TIPO_REPORT_M as varchar(100) + DECLARE @CODMAN AS VARCHAR(6) + DECLARE @TIP_CONTRATTO_TEXT as nvarchar(20) + SET @TIP_CONTRATTO_TEXT = case @TIP_CONTRATTO when 1 then 'Sei' when 2 then 'Sei Versione Private' else 'Sei' end + DECLARE @RETE_TEXT as nvarchar(20) + SET @RETE_TEXT = case @RETE when 'F' then 'Fideuram' else 'SanPaolo Invest' end + IF @FREQUENZA_MONITOR is null + BEGIN + SET @TIPO_REPORT_M = ''; + SET @FREQUENZA_MONITOR = ''; + END + ELSE + BEGIN + SET @TIPO_REPORT_M = 'Monitoraggio'; + if @FREQUENZA_MONITOR = 'T' + SET @FREQUENZA_MONITOR = 'Trimestrale'; + if @FREQUENZA_MONITOR = 'S' + SET @FREQUENZA_MONITOR = 'Semestrale'; + if @FREQUENZA_MONITOR = 'A' + SET @FREQUENZA_MONITOR = 'Annuale'; + SET @TIPO_REPORT_M = 'Report ' +@TIPO_REPORT_M + ' ' + @FREQUENZA_MONITOR; + END + if @FREQUENZA_DIAGN is null + BEGIN + SET @TIPO_REPORT_D = ''; + SET @FREQUENZA_DIAGN = ''; + END + else + BEGIN + SET @TIPO_REPORT_D = 'Diagnosi'; + if @FREQUENZA_DIAGN = 'T' + SET @FREQUENZA_DIAGN = 'Trimestrale'; + if @FREQUENZA_DIAGN = 'S' + SET @FREQUENZA_DIAGN = 'Semestrale'; + if @FREQUENZA_DIAGN = 'A' + SET @FREQUENZA_DIAGN = 'Annuale'; + SET @TIPO_REPORT_D = 'Report ' + @TIPO_REPORT_D + ' ' + @FREQUENZA_DIAGN; + END + SET @CODMAN= CASE WHEN @CODICE_FISCALE LIKE '%@%' THEN SUBSTRING(@CODICE_FISCALE,4,4) ELSE '' END + SET @TESTO_DI_RITORNO = isnull(@TESTO,'/$TESTO NON VALORIZZATO$/'); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$ACAPO$/',char(10)); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$CODICE_CONTRATTO$/',@CODICE_CONTRATTO); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$CODICE_FISCALE$/',@CODICE_FISCALE); + IF (@CODMAN = '') + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$COGNOME_CLIENTE$/',@COGNOME_CLIENTE) + ELSE + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$COGNOME_CLIENTE$/',@COGNOME_CLIENTE + '-' + @CODMAN) + --SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$DATA_REVOCA_CONTRATTO$/',dbo.ToShortDateString(@DATA_REVOCA_CONTRATTO)); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$DATA_SOTTOSCRIZIONE_CONTRATTO$/',dbo.ToShortDateString(@DATA_SOTTOSCRIZIONE_CONTRATTO)); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$TIP_CONTRATTO$/',isnull(@TIP_CONTRATTO_TEXT,'--TIP CONTRATTO--')); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$RETE$/',isnull(@RETE_TEXT,'--RETE--')); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$NOME_CLIENTE$/',@NOME_CLIENTE); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$CODICE_PB$/',@CODICE_PB); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$PERC_LIMITE_RNA$/',@PERC_RNA); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$COGNOME_PB$/',isnull(@COGNOME_PB,'/$COGNOME_PB$/')); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$NOME_PB$/',isnull(@NOME_PB,'/$NOME_PB$/')); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$report_type_monitoraggio$/',@TIPO_REPORT_M); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$report_type_diagnosi$/',@TIPO_REPORT_D); + if not @DATA_PERFEZIONAMENTO is null + begin + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$DATA_PERFEZIONAMENTO$/',dbo.ToShortDateString(@DATA_PERFEZIONAMENTO)); + --V Condizione aggiunta per evitare il fatto che sulla mail non compaia una data di generazione del report antecedente alla data attuale + IF ((@DATA_PERFEZIONAMENTO + 15) < getdate()) + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$DATA_INVIO_REPORT$/',dbo.ToShortDateString(GETDATE() + 1)); + ELSE + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$DATA_INVIO_REPORT$/',dbo.ToShortDateString(dateadd(day,cast(dbo.getParametro('NUMGIORNIDALPERF_REP') as smallint),@DATA_PERFEZIONAMENTO))); + -- + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$GG_DA_PERF$/',cast(dbo.getParametro('NUMGIORNIDALPERF_REP') as smallint)); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO, + '/$DATA_REVOCA_CONTRATTO$/', + dbo.ToShortDateString( + dateadd( + day,( + (CAST(dbo.getParametro('MaxInvioSoll') as smallint)-1) * + CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') as smallint)+ + CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint)), + @DATA_PERFEZIONAMENTO))); + end + RETURN @TESTO_DI_RITORNO +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/dbo_Replace_Testo_Email_Periodico.sql b/sql/Produzione/funzioni/dbo_Replace_Testo_Email_Periodico.sql new file mode 100644 index 00000000..2ac75a18 --- /dev/null +++ b/sql/Produzione/funzioni/dbo_Replace_Testo_Email_Periodico.sql @@ -0,0 +1,157 @@ +--select [dbo].[Replace_Testo_Email_Periodico] 'S','005497','LC_REP_DA_GEN' +CREATE FUNCTION [dbo].[Replace_Testo_Email_Periodico] +( + @RETE as varchar(1) = '', + @CODICE_PB as varchar(6) = '', +-- @COGNOME_PB as varchar(20) = '', +-- @NOME_PB as varchar(20) = '', + @TIPOEMAIL as varchar(20) = '', + @TESTO as TEXT = '' +) +RETURNS varchar(8000) +AS +BEGIN + DECLARE @TESTO_DI_RITORNO1 as varchar(8000) + SET @TESTO_DI_RITORNO1 = '' + SELECT @TESTO_DI_RITORNO1 = @TESTO_DI_RITORNO1 + + 'Cliente: ' + + ISNULL(CLIENTI.[COGNOME],'') + ' ' + ISNULL(CLIENTI.[NOME],'') + + CASE WHEN (REPGEN.COD_FISCALE LIKE 'FF@%') THEN SUBSTRING(REPGEN.COD_FISCALE,4,7) ELSE '' END + + '' + FROM C6MartPeriodico.RP_vContrattiPerGenerazioneReport REPGEN + INNER JOIN [C6MartPeriodico].[ANAG_CLIENTI] CLIENTI + ON REPGEN.RETE = CLIENTI.[RETE] + AND REPGEN.COD_FISCALE = CLIENTI.[COD_FISCALE] + WHERE REPGEN.RETE = @RETE + AND REPGEN.COD_AGENTE = @CODICE_PB + AND REPGEN.FREQ_MONITORAGGIO IS NOT NULL + AND REPGEN.FREQ_DIAGNOSI IS NOT NULL + IF @TESTO_DI_RITORNO1 <> '' + SET @TESTO_DI_RITORNO1 = '' + @TESTO_DI_RITORNO1 + '
Report: Report Monitoraggio e Diagnosi trimestrale

' + DECLARE @TESTO_DI_RITORNO2 as varchar(8000) + SET @TESTO_DI_RITORNO2 = '' + SELECT @TESTO_DI_RITORNO2 = @TESTO_DI_RITORNO2 + 'Cliente: ' + + ISNULL(CLIENTI.[COGNOME],'') + ' ' + ISNULL(CLIENTI.[NOME],'') + + CASE WHEN (REPGEN.COD_FISCALE LIKE 'FF@%') THEN SUBSTRING(REPGEN.COD_FISCALE,4,7) ELSE '' END + + '' + FROM C6MartPeriodico.RP_vContrattiPerGenerazioneReport REPGEN + INNER JOIN [C6MartPeriodico].[ANAG_CLIENTI] CLIENTI + ON REPGEN.RETE = CLIENTI.[RETE] + AND REPGEN.COD_FISCALE = CLIENTI.[COD_FISCALE] + WHERE REPGEN.RETE = @RETE + AND REPGEN.COD_AGENTE = @CODICE_PB + AND REPGEN.FREQ_MONITORAGGIO IS NOT NULL + AND REPGEN.FREQ_DIAGNOSI IS NULL + IF @TESTO_DI_RITORNO2 <> '' + SET @TESTO_DI_RITORNO2 = '' + @TESTO_DI_RITORNO2 + '
Report: Report Monitoraggio trimestrale

' + DECLARE @TESTO_DI_RITORNO3 as varchar(8000) + SET @TESTO_DI_RITORNO3 = '' +SELECT @TESTO_DI_RITORNO3 = @TESTO_DI_RITORNO3 + 'Cliente: ' + ISNULL(CLIENTI.[COGNOME],'') + ' ' + ISNULL(CLIENTI.[NOME],'') + + CASE WHEN (REPGEN.COD_FISCALE LIKE 'FF@%') THEN SUBSTRING(REPGEN.COD_FISCALE,4,7) ELSE '' END + + '' + FROM C6MartPeriodico.RP_vContrattiPerGenerazioneReport REPGEN + INNER JOIN [C6MartPeriodico].[ANAG_CLIENTI] CLIENTI + ON REPGEN.RETE = CLIENTI.[RETE] + AND REPGEN.COD_FISCALE = CLIENTI.[COD_FISCALE] + JOIN + c6martperiodico.mail_profili_rischio r + on + repgen.rete = r.rete + and repgen.cod_fiscale = r.cod_fiscale + WHERE REPGEN.RETE = @RETE + AND REPGEN.COD_AGENTE = @CODICE_PB + AND flagScaduto = 1 + IF @TESTO_DI_RITORNO3 <> '' + SET @TESTO_DI_RITORNO3 = '' + @TESTO_DI_RITORNO3 + '
Nominativo

' + DECLARE @TESTO_DI_RITORNO4 as varchar(8000) + SET @TESTO_DI_RITORNO4 = '' + SELECT @TESTO_DI_RITORNO4 = @TESTO_DI_RITORNO4 + + 'Cliente: ' + ISNULL(CLIENTI.[COGNOME],'') + ' ' + ISNULL(CLIENTI.[NOME],'') + + CASE WHEN (REPGEN.COD_FISCALE LIKE 'FF@%') THEN SUBSTRING(REPGEN.COD_FISCALE,4,7) ELSE '' END + + '' + + '' + dbo.ToShortDateString(dateadd(yy,3,r.dt_creazione_profilo)) + '' + +'' + FROM C6MartPeriodico.RP_vContrattiPerGenerazioneReport REPGEN + INNER JOIN [C6MartPeriodico].[ANAG_CLIENTI] CLIENTI + ON REPGEN.RETE = CLIENTI.[RETE] + AND REPGEN.COD_FISCALE = CLIENTI.[COD_FISCALE] + JOIN + c6martperiodico.mail_profili_rischio r + on + repgen.rete = r.rete + and repgen.cod_fiscale = r.cod_fiscale + WHERE REPGEN.RETE = @RETE + AND REPGEN.COD_AGENTE = @CODICE_PB + AND flagScaduto = 0 + AND flagScadenzaTrim = 1 + IF @TESTO_DI_RITORNO4 <> '' + SET @TESTO_DI_RITORNO4 + = '' + @TESTO_DI_RITORNO4 + '
NominativoScadenza Profilo

' + DECLARE @TESTO_DI_RITORNO5 as varchar(8000) + SET @TESTO_DI_RITORNO5 = '' + SELECT @TESTO_DI_RITORNO5 = @TESTO_DI_RITORNO5 + + 'Cliente: ' + ISNULL(CLIENTI.[COGNOME],'') + ' ' + ISNULL(CLIENTI.[NOME],'') + + CASE WHEN (REPGEN.COD_FISCALE LIKE 'FF@%') THEN SUBSTRING(REPGEN.COD_FISCALE,4,7) ELSE '' END + + '' + + '' + dbo.ToShortDateString(dateadd(yy,3,r.dt_creazione_profilo)) + '' + +'' + FROM C6MartPeriodico.RP_vContrattiPerGenerazioneReport REPGEN + INNER JOIN [C6MartPeriodico].[ANAG_CLIENTI] CLIENTI + ON REPGEN.RETE = CLIENTI.[RETE] + AND REPGEN.COD_FISCALE = CLIENTI.[COD_FISCALE] + JOIN + c6martperiodico.mail_profili_rischio r + on + repgen.rete = r.rete + and repgen.cod_fiscale = r.cod_fiscale + WHERE REPGEN.RETE = @RETE + AND REPGEN.COD_AGENTE = @CODICE_PB + AND flagScaduto = 0 + AND flagScadenzaTrim = 0 + AND flagScadenzaNextTrim = 1 + IF @TESTO_DI_RITORNO5 <> '' + SET @TESTO_DI_RITORNO5 = '' + @TESTO_DI_RITORNO5 + '
NominativoScadenza Profilo

' + DECLARE @TESTO_DI_RITORNO as varchar(8000) + SET @TESTO_DI_RITORNO = 'EMAIL ERRATA CONTATTARE HELP DESK' + DECLARE @NUM_GIORNI as varchar(4) + --SET @NUM_GIORNI = cast(datediff(dd,getDate(),c6martperiodico.getTrimestre2(getDate(),0)) as varchar) + --FC14032014 + -- Modifica Temporanea... la funzione gettrimeste2 ritorna la data di simulazione e l'email ritorna -14gg dalla spedizione( errato) + -- SET @NUM_GIORNI = cast(datediff(dd,getDate(),'20141231') as varchar) + -- modifica 11/12/2014 per evitare di dover impostare la data fine trimestre ogni trim + SET @NUM_GIORNI = cast(datediff(dd,getDate(),c6martperiodico.getTrimestre_EMAIL_PB(getDate())) as varchar) + --select cast(datediff(dd,getDate(),c6martperiodico.getTrimestre2(getDate(),0)) as varchar) + IF @TESTO_DI_RITORNO1 <> '' OR @TESTO_DI_RITORNO2 <> '' + BEGIN + SET @TESTO_DI_RITORNO = isnull(@TESTO,'/$TESTO NON VALORIZZATO$/'); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$ACAPO$/',char(10)); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$num_gg_gen_rep_periodico$/',@NUM_GIORNI); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$Mon_Diagn_Per$/',@TESTO_DI_RITORNO1 + ' ' + @TESTO_DI_RITORNO2); + IF(@TESTO_DI_RITORNO3 <> '') + BEGIN + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$Scaduti$/',dbo.getParametro('ParagrafoScaduti')+dbo.getParametro('StileTabScaduti')) + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$tabellaScaduti$/',@TESTO_DI_RITORNO3); + END + ELSE + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$Scaduti$/','') + IF(@TESTO_DI_RITORNO4 <> '') + BEGIN + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$inScadenza$/',dbo.getParametro('ParagrafoScadenzaTrim')+dbo.getParametro('StileTabScadenzaTrim')) + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$tabellaInScadenza$/',@TESTO_DI_RITORNO4); + END + ELSE + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$inScadenza$/','') + IF(@TESTO_DI_RITORNO5 <> '') + BEGIN + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$inScadenzaNextTrim$/',dbo.getParametro('ParagrafoScadenzaNextTrim')+dbo.getParametro('StileTabScadenzaNextTrim')) + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$tabellaInScadenzaNextTrimestre$/',@TESTO_DI_RITORNO5); + END + ELSE + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$inScadenzaNextTrim$/','') + IF(@TESTO_DI_RITORNO5 <> '' OR @TESTO_DI_RITORNO4 <> '' OR @TESTO_DI_RITORNO3 <> '') + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$paragrafo_opzionale$/',dbo.getParametro('ParagrafoOpzionaleMailPB')) + ELSE + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$paragrafo_opzionale$/','') + END + RETURN @TESTO_DI_RITORNO +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/dbo_Replace_Testo_Email_Periodico_LC_REP_DEF.sql b/sql/Produzione/funzioni/dbo_Replace_Testo_Email_Periodico_LC_REP_DEF.sql new file mode 100644 index 00000000..b3c1c956 --- /dev/null +++ b/sql/Produzione/funzioni/dbo_Replace_Testo_Email_Periodico_LC_REP_DEF.sql @@ -0,0 +1,51 @@ +CREATE FUNCTION [dbo].[Replace_Testo_Email_Periodico_LC_REP_DEF] +( + @RETE as varchar(1) = '', + @CODICE_PB as varchar(6) = '', +-- @COGNOME_PB as varchar(20) = '', +-- @NOME_PB as varchar(20) = '', + @TIPOEMAIL as varchar(20) = '', + @TESTO as TEXT = '' +) +RETURNS varchar(5000) +AS +BEGIN + DECLARE @TESTO_DI_RITORNO1 as varchar(8000) + SET @TESTO_DI_RITORNO1 = '' + SELECT @TESTO_DI_RITORNO1 = @TESTO_DI_RITORNO1 + 'Cliente: ' + ISNULL(CLIENTI.[COGNOME],'') + ' ' + ISNULL(CLIENTI.[NOME],'') + '' + FROM C6Mart.CONTRATTOSEI REPGEN + INNER JOIN [C6MartPeriodico].[ANAG_CLIENTI] CLIENTI + ON REPGEN.RETE = CLIENTI.[RETE] + AND REPGEN.COD_FISCALE = CLIENTI.[COD_FISCALE] + WHERE REPGEN.RETE = @RETE + AND REPGEN.COD_AGENTE = @CODICE_PB + AND REPGEN.FREQ_MONITOR IS NOT NULL + AND REPGEN.FREQ_DIAGNOSI IS NOT NULL + AND C6MARTPERIODICO.GETTRIMESTRE(getdate(),0) = C6MARTPERIODICO.GETTRIMESTRE(REPGEN.DATA_INVIO_DIAGNOSI_TRIMESTRALE,0) + IF @TESTO_DI_RITORNO1 <> '' + SET @TESTO_DI_RITORNO1 = '' + @TESTO_DI_RITORNO1 + '
Report: Report Monitoraggio e Diagnosi trimestrale

' + DECLARE @TESTO_DI_RITORNO2 as varchar(8000) + SET @TESTO_DI_RITORNO2 = '' + SELECT @TESTO_DI_RITORNO2 = @TESTO_DI_RITORNO2 + 'Cliente: ' + ISNULL(CLIENTI.[COGNOME],'') + ' ' + ISNULL(CLIENTI.[NOME],'') + '' + FROM C6Mart.CONTRATTOSEI REPGEN + INNER JOIN [C6MartPeriodico].[ANAG_CLIENTI] CLIENTI + ON REPGEN.RETE = CLIENTI.[RETE] + AND REPGEN.COD_FISCALE = CLIENTI.[COD_FISCALE] + WHERE REPGEN.RETE = @RETE + AND REPGEN.COD_AGENTE = @CODICE_PB + AND REPGEN.FREQ_MONITOR IS NOT NULL + AND REPGEN.FREQ_DIAGNOSI IS NULL + AND C6MARTPERIODICO.GETTRIMESTRE(getdate(),0) = C6MARTPERIODICO.GETTRIMESTRE(REPGEN.DATA_INVIO_MONITORAGGIO_TRIMESTRALE,0) + IF @TESTO_DI_RITORNO2 <> '' + SET @TESTO_DI_RITORNO2 = '' + @TESTO_DI_RITORNO2 + '
Report: Report Monitoraggio trimestrale

' + DECLARE @TESTO_DI_RITORNO as varchar(8000) + SET @TESTO_DI_RITORNO = 'EMAIL ERRATA CONTATTARE HELP DESK' + IF @TESTO_DI_RITORNO1 <> '' OR @TESTO_DI_RITORNO2 <> '' + BEGIN + SET @TESTO_DI_RITORNO = isnull(@TESTO,'/$TESTO NON VALORIZZATO$/'); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$ACAPO$/',char(10)); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$num_gg_gen_rep_periodico$/','15'); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$Mon_Diagn_Per$/',@TESTO_DI_RITORNO1 + ' ' + @TESTO_DI_RITORNO2); + END + RETURN @TESTO_DI_RITORNO +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/dbo_Replace_Testo_Email_Periodico_LC_REP_GEN.sql b/sql/Produzione/funzioni/dbo_Replace_Testo_Email_Periodico_LC_REP_GEN.sql new file mode 100644 index 00000000..1df2348f --- /dev/null +++ b/sql/Produzione/funzioni/dbo_Replace_Testo_Email_Periodico_LC_REP_GEN.sql @@ -0,0 +1,99 @@ +CREATE FUNCTION [dbo].[Replace_Testo_Email_Periodico_LC_REP_GEN] +( + @TESTO as varchar(max) = '' +) +RETURNS varchar(max) +AS +BEGIN + DECLARE @TESTO_DI_RITORNO1 as varchar(max) + SET @TESTO_DI_RITORNO1 = '' + --CLIENTI CON REPORT DI DIAGNOSI + DECLARE @TABLE_DIAGNOSI AS TABLE(rete VARCHAR(1),codicefiscale VARCHAR(16)) + INSERT INTO @TABLE_DIAGNOSI(rete,CODICEFISCALE) + SELECT RETE,CODICEFISCALE + FROM C6MartPeriodico.[GESTIONE_PDF_FTP] REPGEN + WHERE ISNULL(REPGEN.FLAGINVIO,'N') = 'N' + AND REPGEN.TIPOREPORT = 'D' + --CLIENTI CON REPORT DI DIAGNOSI E MONITORAGGIO + DECLARE @TABLE_MONITORAGGIO_DIAGNOSI AS TABLE(rete VARCHAR(1),codicefiscale VARCHAR(16)) + INSERT INTO @TABLE_MONITORAGGIO_DIAGNOSI(rete,CODICEFISCALE) + SELECT REPGEN.RETE,REPGEN.CODICEFISCALE + FROM C6MartPeriodico.[GESTIONE_PDF_FTP] REPGEN + INNER JOIN @TABLE_DIAGNOSI TABLE_DIAGNOSI + ON TABLE_DIAGNOSI.rete = REPGEN.rete + AND TABLE_DIAGNOSI.codicefiscale = REPGEN.codicefiscale + WHERE ISNULL(REPGEN.FLAGINVIO,'N') = 'N' + AND REPGEN.TIPOREPORT = 'M' + --CONCATENO LA STRINGA DI TESTO PER LE EMAIL DI REPORT MONITORAGGIO E DIAGNOSI + DECLARE @PB AS VARCHAR(6) + SET @PB = '' + DECLARE @RETE AS VARCHAR(1) + SET @RETE = '' + SELECT @TESTO_DI_RITORNO1 = @TESTO_DI_RITORNO1 + + (CASE WHEN @PB <> C6.COD_AGENTE OR @RETE <> C6.RETE THEN 'PB: ' + C6.COD_AGENTE + ' (RETE ' + C6.RETE + ')' ELSE '' END) + + 'Cliente: ' + ISNULL(ANAG_CLIENTI.NOME,'') + ' ' + ISNULL(ANAG_CLIENTI.COGNOME,'') + ' (' + CASE WHEN RISCHIO_AGGREGATO.VAR_PERC_PTF <= CODIFICA_RISCHIO.MAX_VAR THEN 'profilo adeguato' else 'profilo non adeguato' end + ')' + '' + , @PB = C6.COD_AGENTE + , @RETE = C6.RETE + FROM @TABLE_MONITORAGGIO_DIAGNOSI REP_GEN + INNER JOIN C6MartPeriodico.MIFID MIFID + ON REP_GEN.RETE = MIFID.RETE + AND REP_GEN.codicefiscale = MIFID.COD_FISCALE + INNER JOIN C6MartPeriodico.CODIFICA_RISCHIO CODIFICA_RISCHIO + ON MIFID.PROFILO_ASS = CODIFICA_RISCHIO.PROFILO + INNER JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGREGATO + ON RISCHIO_AGGREGATO.RETE = REP_GEN.RETE + AND RISCHIO_AGGREGATO.COD_FISCALE = REP_GEN.codicefiscale + AND RISCHIO_AGGREGATO.COD_AGGREG = 'COMPLESSIVO|BF' + INNER JOIN C6Mart.[CONTRATTOSEI] C6 + ON REP_GEN.RETE = C6.RETE + AND REP_GEN.codicefiscale = C6.cod_fiscale + INNER JOIN [C6MartPeriodico].[ANAG_CLIENTI] ANAG_CLIENTI + ON REP_GEN.RETE = ANAG_CLIENTI.RETE + AND REP_GEN.codicefiscale = ANAG_CLIENTI.cod_fiscale + ORDER BY C6.RETE , C6.COD_AGENTE, ANAG_CLIENTI.cod_fiscale +-- mifid -- profilo +-- codifica_rischio varmax +-- riscio_aggregato con COMPLESSIVO|BF var +--var<=varmax adeguato else non adeguato + IF @TESTO_DI_RITORNO1 <> '' + SET @TESTO_DI_RITORNO1 = '' + @TESTO_DI_RITORNO1 + '
Report: Report Monitoraggio e Diagnosi trimestrale

' + --CLIENTI CON REPORT DI SOLO MONITORAGGIO + DECLARE @TESTO_DI_RITORNO2 as varchar(max) + SET @TESTO_DI_RITORNO2 = '' + SET @PB = '' + SET @RETE = '' + SELECT @TESTO_DI_RITORNO2 = @TESTO_DI_RITORNO2 + + (CASE WHEN @PB <> C6.COD_AGENTE OR @RETE <> C6.RETE THEN 'PB: ' + C6.COD_AGENTE + ' (RETE ' + C6.RETE + ')' ELSE '' END) + + 'Cliente: ' + ISNULL(ANAG_CLIENTI.NOME,'') + ' ' + ISNULL(ANAG_CLIENTI.COGNOME,'') + '' + , @PB = C6.COD_AGENTE + , @RETE = C6.RETE + FROM ( + SELECT REPGEN.RETE,REPGEN.CODICEFISCALE + FROM C6MartPeriodico.[GESTIONE_PDF_FTP] REPGEN + LEFT OUTER JOIN @TABLE_DIAGNOSI TABLE_DIAGNOSI + ON TABLE_DIAGNOSI.rete = REPGEN.rete + AND TABLE_DIAGNOSI.codicefiscale = REPGEN.codicefiscale + WHERE ISNULL(REPGEN.FLAGINVIO,'N') = 'N' + AND REPGEN.TIPOREPORT = 'M' + AND TABLE_DIAGNOSI.rete IS NULL + ) REP_GEN + INNER JOIN C6Mart.[CONTRATTOSEI] C6 + ON REP_GEN.RETE = C6.RETE + AND REP_GEN.codicefiscale = C6.cod_fiscale + INNER JOIN [C6MartPeriodico].[ANAG_CLIENTI] ANAG_CLIENTI + ON REP_GEN.RETE = ANAG_CLIENTI.RETE + AND REP_GEN.codicefiscale = ANAG_CLIENTI.cod_fiscale + ORDER BY C6.RETE , C6.COD_AGENTE, ANAG_CLIENTI.cod_fiscale + IF @TESTO_DI_RITORNO2 <> '' + SET @TESTO_DI_RITORNO2 = '' + @TESTO_DI_RITORNO2 + '
Report: Report Monitoraggio trimestrale

' + DECLARE @TESTO_DI_RITORNO as varchar(max) + SET @TESTO_DI_RITORNO = 'EMAIL ERRATA CONTATTARE HELP DESK' + IF @TESTO_DI_RITORNO1 <> '' OR @TESTO_DI_RITORNO2 <> '' + BEGIN + SET @TESTO_DI_RITORNO = isnull(@TESTO,'/$TESTO NON VALORIZZATO$/'); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$ACAPO$/',char(10)); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$num_gg_gen_rep_periodico$/','15'); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$Mon_Diagn_Per$/',@TESTO_DI_RITORNO1 + ' ' + @TESTO_DI_RITORNO2); + END + RETURN @TESTO_DI_RITORNO +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/dbo_Replace_Testo_Email_test.sql b/sql/Produzione/funzioni/dbo_Replace_Testo_Email_test.sql new file mode 100644 index 00000000..76b09dae --- /dev/null +++ b/sql/Produzione/funzioni/dbo_Replace_Testo_Email_test.sql @@ -0,0 +1,109 @@ +CREATE FUNCTION [dbo].[Replace_Testo_Email_test] +( + @CODICE_CONTRATTO as varchar(16) = '', + @CODICE_FISCALE as varchar(16) = '', + @COGNOME_CLIENTE as varchar(20) = '', + @NOME_CLIENTE as varchar(20) = '', + @CODICE_PB as varchar(6) = '', + @COGNOME_PB as varchar(20) = '', + @NOME_PB as varchar(20) = '', + @DATA_PERFEZIONAMENTO as datetime = null, + @FREQUENZA_DIAGN as varchar(16) = '', + @FREQUENZA_MONITOR as varchar(16) = '', + @PERC_RNA as varchar(3), + @TIP_CONTRATTO as int = -1, + @DATA_REVOCA_CONTRATTO as datetime = '2001-01-01', + @DATA_SOTTOSCRIZIONE_CONTRATTO as datetime = '2001-01-01', + @RETE AS NVARCHAR(5) = 'S', + @TESTO as TEXT = '' +) +RETURNS varchar(5000) +AS +BEGIN + DECLARE @TESTO_DI_RITORNO as varchar(8000) + DECLARE @TIPO_REPORT_D as varchar(100) + DECLARE @TIPO_REPORT_M as varchar(100) + DECLARE @CODMAN AS VARCHAR(6) + DECLARE @TIP_CONTRATTO_TEXT as nvarchar(20) + SET @TIP_CONTRATTO_TEXT = case @TIP_CONTRATTO when 1 then 'Sei' when 2 then 'Sei Versione Private' when 3 then '' else 'Sei' end + DECLARE @RETE_TEXT as nvarchar(20) + SET @RETE_TEXT = case @RETE when 'F' then 'Fideuram' + when 'W' then 'IW Private Investments' + else 'SanPaolo Invest' end + IF @FREQUENZA_MONITOR is null + BEGIN + SET @TIPO_REPORT_M = ''; + SET @FREQUENZA_MONITOR = ''; + END + ELSE + BEGIN + SET @TIPO_REPORT_M = 'Monitoraggio'; + if @FREQUENZA_MONITOR = 'T' + SET @FREQUENZA_MONITOR = 'Trimestrale'; + if @FREQUENZA_MONITOR = 'S' + SET @FREQUENZA_MONITOR = 'Semestrale'; + if @FREQUENZA_MONITOR = 'A' + SET @FREQUENZA_MONITOR = 'Annuale'; + SET @TIPO_REPORT_M = 'Report ' +@TIPO_REPORT_M + ' ' + @FREQUENZA_MONITOR; + END + if @FREQUENZA_DIAGN is null + BEGIN + SET @TIPO_REPORT_D = ''; + SET @FREQUENZA_DIAGN = ''; + END + else + BEGIN + SET @TIPO_REPORT_D = 'Diagnosi'; + if @FREQUENZA_DIAGN = 'T' + SET @FREQUENZA_DIAGN = 'Trimestrale'; + if @FREQUENZA_DIAGN = 'S' + SET @FREQUENZA_DIAGN = 'Semestrale'; + if @FREQUENZA_DIAGN = 'A' + SET @FREQUENZA_DIAGN = 'Annuale'; + SET @TIPO_REPORT_D = 'Report ' + @TIPO_REPORT_D + ' ' + @FREQUENZA_DIAGN; + END + -- modifica del 10/3/2017 per gestire codici mandato maggiori di 4 caratteri (tt T-1933818-K3C4) + --SET @CODMAN= CASE WHEN @CODICE_FISCALE LIKE '%@%' THEN SUBSTRING(@CODICE_FISCALE,4,4) ELSE '' END + SET @CODMAN= CASE WHEN @CODICE_FISCALE LIKE '%@%' THEN SUBSTRING(@CODICE_FISCALE,4,LEN(rtrim(@CODICE_FISCALE))-3) ELSE '' END + -- fine modifica del 10/3/2017 per gestire codici mandato maggiori di 4 caratteri (tt T-1933818-K3C4) + SET @TESTO_DI_RITORNO = isnull(@TESTO,'/$TESTO NON VALORIZZATO$/'); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$ACAPO$/',char(10)); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$CODICE_CONTRATTO$/',@CODICE_CONTRATTO); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$CODICE_FISCALE$/',@CODICE_FISCALE); + IF (@CODMAN = '') + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$COGNOME_CLIENTE$/',@COGNOME_CLIENTE) + ELSE + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$COGNOME_CLIENTE$/',@COGNOME_CLIENTE + '-' + @CODMAN) + --SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$DATA_REVOCA_CONTRATTO$/',dbo.ToShortDateString(@DATA_REVOCA_CONTRATTO)); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$DATA_SOTTOSCRIZIONE_CONTRATTO$/',dbo.ToShortDateString(@DATA_SOTTOSCRIZIONE_CONTRATTO)); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$TIP_CONTRATTO$/',isnull(@TIP_CONTRATTO_TEXT,'--TIP CONTRATTO--')); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$RETE$/',isnull(@RETE_TEXT,'--RETE--')); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$NOME_CLIENTE$/',@NOME_CLIENTE); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$CODICE_PB$/',@CODICE_PB); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$PERC_LIMITE_RNA$/',@PERC_RNA); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$COGNOME_PB$/',isnull(@COGNOME_PB,'/$COGNOME_PB$/')); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$NOME_PB$/',isnull(@NOME_PB,'/$NOME_PB$/')); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$report_type_monitoraggio$/',@TIPO_REPORT_M); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$report_type_diagnosi$/',@TIPO_REPORT_D); + if not @DATA_PERFEZIONAMENTO is null + begin + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$DATA_PERFEZIONAMENTO$/',dbo.ToShortDateString(@DATA_PERFEZIONAMENTO)); + --V Condizione aggiunta per evitare il fatto che sulla mail non compaia una data di generazione del report antecedente alla data attuale + IF ((@DATA_PERFEZIONAMENTO + 15) < getdate()) + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$DATA_INVIO_REPORT$/',dbo.ToShortDateString(GETDATE() + 1)); + ELSE + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$DATA_INVIO_REPORT$/',dbo.ToShortDateString(dateadd(day,cast(dbo.getParametro('NUMGIORNIDALPERF_REP') as smallint),@DATA_PERFEZIONAMENTO))); + -- + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$GG_DA_PERF$/',cast(dbo.getParametro('NUMGIORNIDALPERF_REP') as smallint)); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO, + '/$DATA_REVOCA_CONTRATTO$/', + dbo.ToShortDateString( + dateadd( + day,( + (CAST(dbo.getParametro('MaxInvioSoll') as smallint)-1) * + CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') as smallint)+ + CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint)), + @DATA_PERFEZIONAMENTO))); + end + RETURN @TESTO_DI_RITORNO +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/dbo_Replace_Testo_Email_test_20170310.sql b/sql/Produzione/funzioni/dbo_Replace_Testo_Email_test_20170310.sql new file mode 100644 index 00000000..646ed43c --- /dev/null +++ b/sql/Produzione/funzioni/dbo_Replace_Testo_Email_test_20170310.sql @@ -0,0 +1,104 @@ +CREATE FUNCTION [dbo].[Replace_Testo_Email_test_20170310] +( + @CODICE_CONTRATTO as varchar(16) = '', + @CODICE_FISCALE as varchar(16) = '', + @COGNOME_CLIENTE as varchar(20) = '', + @NOME_CLIENTE as varchar(20) = '', + @CODICE_PB as varchar(6) = '', + @COGNOME_PB as varchar(20) = '', + @NOME_PB as varchar(20) = '', + @DATA_PERFEZIONAMENTO as datetime = null, + @FREQUENZA_DIAGN as varchar(16) = '', + @FREQUENZA_MONITOR as varchar(16) = '', + @PERC_RNA as varchar(3), + @TIP_CONTRATTO as int = -1, + @DATA_REVOCA_CONTRATTO as datetime = '2001-01-01', + @DATA_SOTTOSCRIZIONE_CONTRATTO as datetime = '2001-01-01', + @RETE AS NVARCHAR(5) = 'S', + @TESTO as TEXT = '' +) +RETURNS varchar(5000) +AS +BEGIN + DECLARE @TESTO_DI_RITORNO as varchar(8000) + DECLARE @TIPO_REPORT_D as varchar(100) + DECLARE @TIPO_REPORT_M as varchar(100) + DECLARE @CODMAN AS VARCHAR(6) + DECLARE @TIP_CONTRATTO_TEXT as nvarchar(20) + SET @TIP_CONTRATTO_TEXT = case @TIP_CONTRATTO when 1 then 'Sei' when 2 then 'Sei Versione Private' else 'Sei' end + DECLARE @RETE_TEXT as nvarchar(20) + SET @RETE_TEXT = case @RETE when 'F' then 'Fideuram' else 'SanPaolo Invest' end + IF @FREQUENZA_MONITOR is null + BEGIN + SET @TIPO_REPORT_M = ''; + SET @FREQUENZA_MONITOR = ''; + END + ELSE + BEGIN + SET @TIPO_REPORT_M = 'Monitoraggio'; + if @FREQUENZA_MONITOR = 'T' + SET @FREQUENZA_MONITOR = 'Trimestrale'; + if @FREQUENZA_MONITOR = 'S' + SET @FREQUENZA_MONITOR = 'Semestrale'; + if @FREQUENZA_MONITOR = 'A' + SET @FREQUENZA_MONITOR = 'Annuale'; + SET @TIPO_REPORT_M = 'Report ' +@TIPO_REPORT_M + ' ' + @FREQUENZA_MONITOR; + END + if @FREQUENZA_DIAGN is null + BEGIN + SET @TIPO_REPORT_D = ''; + SET @FREQUENZA_DIAGN = ''; + END + else + BEGIN + SET @TIPO_REPORT_D = 'Diagnosi'; + if @FREQUENZA_DIAGN = 'T' + SET @FREQUENZA_DIAGN = 'Trimestrale'; + if @FREQUENZA_DIAGN = 'S' + SET @FREQUENZA_DIAGN = 'Semestrale'; + if @FREQUENZA_DIAGN = 'A' + SET @FREQUENZA_DIAGN = 'Annuale'; + SET @TIPO_REPORT_D = 'Report ' + @TIPO_REPORT_D + ' ' + @FREQUENZA_DIAGN; + END + SET @CODMAN= CASE WHEN @CODICE_FISCALE LIKE '%@%' THEN SUBSTRING(@CODICE_FISCALE,4,4) ELSE '' END + SET @TESTO_DI_RITORNO = isnull(@TESTO,'/$TESTO NON VALORIZZATO$/'); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$ACAPO$/',char(10)); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$CODICE_CONTRATTO$/',@CODICE_CONTRATTO); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$CODICE_FISCALE$/',@CODICE_FISCALE); + IF (@CODMAN = '') + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$COGNOME_CLIENTE$/',@COGNOME_CLIENTE) + ELSE + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$COGNOME_CLIENTE$/',@COGNOME_CLIENTE + '-' + @CODMAN) + --SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$DATA_REVOCA_CONTRATTO$/',dbo.ToShortDateString(@DATA_REVOCA_CONTRATTO)); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$DATA_SOTTOSCRIZIONE_CONTRATTO$/',dbo.ToShortDateString(@DATA_SOTTOSCRIZIONE_CONTRATTO)); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$TIP_CONTRATTO$/',isnull(@TIP_CONTRATTO_TEXT,'--TIP CONTRATTO--')); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$RETE$/',isnull(@RETE_TEXT,'--RETE--')); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$NOME_CLIENTE$/',@NOME_CLIENTE); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$CODICE_PB$/',@CODICE_PB); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$PERC_LIMITE_RNA$/',@PERC_RNA); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$COGNOME_PB$/',isnull(@COGNOME_PB,'/$COGNOME_PB$/')); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$NOME_PB$/',isnull(@NOME_PB,'/$NOME_PB$/')); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$report_type_monitoraggio$/',@TIPO_REPORT_M); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$report_type_diagnosi$/',@TIPO_REPORT_D); + if not @DATA_PERFEZIONAMENTO is null + begin + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$DATA_PERFEZIONAMENTO$/',dbo.ToShortDateString(@DATA_PERFEZIONAMENTO)); + --V Condizione aggiunta per evitare il fatto che sulla mail non compaia una data di generazione del report antecedente alla data attuale + IF ((@DATA_PERFEZIONAMENTO + 15) < getdate()) + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$DATA_INVIO_REPORT$/',dbo.ToShortDateString(GETDATE() + 1)); + ELSE + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$DATA_INVIO_REPORT$/',dbo.ToShortDateString(dateadd(day,cast(dbo.getParametro('NUMGIORNIDALPERF_REP') as smallint),@DATA_PERFEZIONAMENTO))); + -- + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$GG_DA_PERF$/',cast(dbo.getParametro('NUMGIORNIDALPERF_REP') as smallint)); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO, + '/$DATA_REVOCA_CONTRATTO$/', + dbo.ToShortDateString( + dateadd( + day,( + (CAST(dbo.getParametro('MaxInvioSoll') as smallint)-1) * + CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') as smallint)+ + CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint)), + @DATA_PERFEZIONAMENTO))); + end + RETURN @TESTO_DI_RITORNO +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/dbo_Replace_Testo_Lettera_Benvenuto.sql b/sql/Produzione/funzioni/dbo_Replace_Testo_Lettera_Benvenuto.sql new file mode 100644 index 00000000..15274b8a --- /dev/null +++ b/sql/Produzione/funzioni/dbo_Replace_Testo_Lettera_Benvenuto.sql @@ -0,0 +1,90 @@ +CREATE FUNCTION [dbo].[Replace_Testo_Lettera_Benvenuto] +( + @CODICE_CONTRATTO as varchar(16) = '', + @FREQUENZA_DIAGN as varchar(16) = '', + @FREQUENZA_MONITOR as varchar(16) = '', + @COGNOME as varchar(20) = '', + @NOME as varchar(20) = '', + @TIPO_REPORT as varchar(100) = '', + @INDIRIZZO as varchar(20) = '', + @DATA as datetime = null, + @DATA_RICHIESTA_RISTAMPA as datetime = null, + @DATA_GENERAZIONE_REPORT as datetime = null, + @TESTO as TEXT = '' +) +RETURNS varchar(5000) +AS +BEGIN + DECLARE @TESTO_DI_RITORNO as varchar(5000) + DECLARE @REPORTISTICA as varchar(100) + if @FREQUENZA_DIAGN is null + BEGIN + SET @REPORTISTICA = 'Report di Monitoraggio'; + --SET @TIPO_REPORT_D = ''; + --SET @FREQUENZA_DIAGN = ''; + END + else + BEGIN + --if @FREQUENZA_DIAGN = 'T' + --SET @FREQUENZA_DIAGN = 'Trimestrale'; + --if @FREQUENZA_DIAGN = 'S' + --SET @FREQUENZA_DIAGN = 'Semestrale'; + --if @FREQUENZA_DIAGN = 'A' + --SET @FREQUENZA_DIAGN = 'Annuale'; + SET @REPORTISTICA = 'Report di Diagnosi e Monitoraggio'; + END + --if @FREQUENZA_MONITOR is null + --BEGIN + --SET @TIPO_REPORT_M = ''; + --SET @FREQUENZA_MONITOR = ''; + --END + --else + --BEGIN + --if @FREQUENZA_MONITOR = 'T' + --SET @FREQUENZA_MONITOR = 'Trimestrale'; + --if @FREQUENZA_MONITOR = 'S' + --SET @FREQUENZA_MONITOR = 'Semestrale'; + --if @FREQUENZA_MONITOR = 'A' + --SET @FREQUENZA_MONITOR = 'Annuale'; + --SET @TIPO_REPORT_M = '[' +@TIPO_REPORT_M + ', ' + @FREQUENZA_MONITOR+']'; + --END + SET @TESTO_DI_RITORNO = @TESTO + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'\r\n',char(10)); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'\t',char(8)); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$CONTRACT_ID$/',@CODICE_CONTRATTO); + if not @DATA is null + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$DATE$/',CONVERT(VARCHAR(10), @DATA, 103)); + else + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$DATE$/',''); + if not @DATA_RICHIESTA_RISTAMPA is null + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$reprint_date_req$/',CONVERT(VARCHAR(10), @DATA_RICHIESTA_RISTAMPA, 103)); + else + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$reprint_date_req$/',''); + if not @DATA_GENERAZIONE_REPORT is null + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$GENERATION_REP_DATE$/',CONVERT(VARCHAR(10), @DATA_GENERAZIONE_REPORT, 103)); + else + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$GENERATION_REP_DATE$/',''); + ---- MODIFICARE PER MONITORAGGIO FARSI PASSARE L'ARGOMENTO DAL RM + --- Inserire il caso del monitoraggio + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$report_type$/',@TIPO_REPORT); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$LASTNAME$/',@COGNOME); + if NOT @NOME IS NULL + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$NAME$/',@NOME); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$REPORTISCA$/',@REPORTISTICA); + -- + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$TIPO$/',@TIPO_REPORT); + -- + --SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$REPORT_TYPE_MONITORAGGIO$/',@TIPO_REPORT_M); +-- SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$FREQUENCY_DIAGNOSI$/',@FREQUENZA_DIAGN); +-- SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$FREQUENCY_MONITORAGGIO$/',@FREQUENZA_MONITOR); + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$ADDRESS$/',@INDIRIZZO); + if not @DATA_RICHIESTA_RISTAMPA is null + begin + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$REPRINT_DATE_REQ$/',@DATA_RICHIESTA_RISTAMPA); + end + if not @DATA_GENERAZIONE_REPORT is null + begin + SET @TESTO_DI_RITORNO = REPLACE(@TESTO_DI_RITORNO,'/$GENERATION_REP_DATE$/',@DATA_GENERAZIONE_REPORT); + end + RETURN @TESTO_DI_RITORNO +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/dbo_Replace_To_Email.sql b/sql/Produzione/funzioni/dbo_Replace_To_Email.sql new file mode 100644 index 00000000..5fb90bd8 --- /dev/null +++ b/sql/Produzione/funzioni/dbo_Replace_To_Email.sql @@ -0,0 +1,17 @@ +CREATE FUNCTION [dbo].[Replace_To_Email] +( + @TO as varchar(50) = '', + @EMAIL_PB as varchar(50) = '', + @SERVIZI_OPERATIVI as varchar(50) = '', + @RESPONSABILE_PROCESSO as varchar(50) = '' +) +RETURNS varchar(5000) +AS +BEGIN + DECLARE @TO_DI_RITORNO as varchar(255) + SET @TO_DI_RITORNO = isnull(@TO,'/$TO NON VALORIZZATO$/'); + SET @TO_DI_RITORNO = REPLACE(@TO_DI_RITORNO,'/$EMAIL_PB$/',@EMAIL_PB); + --SET @TO_DI_RITORNO = REPLACE(@TO_DI_RITORNO,'/$SERVIZI_OPERATIVI$/',@SERVIZI_OPERATIVI); + --SET @TO_DI_RITORNO = REPLACE(@TO_DI_RITORNO,'/$RESPONSABILE_PROCESSO$/',@RESPONSABILE_PROCESSO); + RETURN @TO_DI_RITORNO +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/dbo_Split.sql b/sql/Produzione/funzioni/dbo_Split.sql new file mode 100644 index 00000000..55b6ff74 --- /dev/null +++ b/sql/Produzione/funzioni/dbo_Split.sql @@ -0,0 +1,30 @@ +create FUNCTION [dbo].[Split] + ( @Delimiter varchar(5), + @List varchar(8000) + ) + RETURNS @TableOfValues table + ( RowID smallint IDENTITY(1,1), + [Value] varchar(50) + ) +AS + BEGIN + DECLARE @LenString int + WHILE len( @List ) > 0 + BEGIN + SELECT @LenString = + (CASE charindex( @Delimiter, @List ) + WHEN 0 THEN len( @List ) + ELSE ( charindex( @Delimiter, @List ) -1 ) + END + ) + INSERT INTO @TableOfValues + SELECT substring( @List, 1, @LenString ) + SELECT @List = + (CASE ( len( @List ) - @LenString ) + WHEN 0 THEN '' + ELSE right( @List, len( @List ) - @LenString - 1 ) + END + ) + END + RETURN + END \ No newline at end of file diff --git a/sql/Produzione/funzioni/dbo_ToShortDateString.sql b/sql/Produzione/funzioni/dbo_ToShortDateString.sql new file mode 100644 index 00000000..0642e0b6 --- /dev/null +++ b/sql/Produzione/funzioni/dbo_ToShortDateString.sql @@ -0,0 +1,10 @@ +CREATE FUNCTION [dbo].[ToShortDateString] +( + @date datetime +) +RETURNS varchar(10) +AS +BEGIN + --RETURN DATEADD(dd, 0, DATEDIFF(dd, 0, @date)) + RETURN CONVERT(VARCHAR(10), @date, 103) +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/dbo_VerificaFestivo.sql b/sql/Produzione/funzioni/dbo_VerificaFestivo.sql new file mode 100644 index 00000000..47880402 --- /dev/null +++ b/sql/Produzione/funzioni/dbo_VerificaFestivo.sql @@ -0,0 +1,25 @@ +CREATE FUNCTION dbo.VerificaFestivo +( + @DataInput VARCHAR(8) +) +RETURNS VARCHAR(8) +AS +BEGIN + DECLARE @DataFeriale DATE + -- Converte la stringa di input nel formato data + SET @DataInput = CONVERT(VARCHAR, @DataInput, 112) + SET @DataFeriale = CAST(@DataInput AS DATE) + -- Verifica se la data è sabato o domenica + IF DATEPART(WEEKDAY, @DataFeriale) = 7 -- 7 = Sabato + BEGIN + -- Se è sabato, restituisci la giornata precedente + SET @DataFeriale = DATEADD(DAY, -1, @DataFeriale) + END + ELSE IF DATEPART(WEEKDAY, @DataFeriale) = 1 -- 1 = Domenica + BEGIN + -- Se è domenica, restituisci la giornata successiva + SET @DataFeriale = DATEADD(DAY, 1, @DataFeriale) + END + -- Formatta la data nel formato desiderato e restituisci come stringa + RETURN CONVERT(VARCHAR(8), @DataFeriale, 112) +END; \ No newline at end of file diff --git a/sql/Produzione/funzioni/dbo_fn_diagramobjects.sql b/sql/Produzione/funzioni/dbo_fn_diagramobjects.sql new file mode 100644 index 00000000..e9f1474d --- /dev/null +++ b/sql/Produzione/funzioni/dbo_fn_diagramobjects.sql @@ -0,0 +1,41 @@ +CREATE FUNCTION dbo.fn_diagramobjects() + RETURNS int + WITH EXECUTE AS N'dbo' + AS + BEGIN + declare @id_upgraddiagrams int + declare @id_sysdiagrams int + declare @id_helpdiagrams int + declare @id_helpdiagramdefinition int + declare @id_creatediagram int + declare @id_renamediagram int + declare @id_alterdiagram int + declare @id_dropdiagram int + declare @InstalledObjects int + select @InstalledObjects = 0 + select @id_upgraddiagrams = object_id(N'dbo.sp_upgraddiagrams'), + @id_sysdiagrams = object_id(N'dbo.sysdiagrams'), + @id_helpdiagrams = object_id(N'dbo.sp_helpdiagrams'), + @id_helpdiagramdefinition = object_id(N'dbo.sp_helpdiagramdefinition'), + @id_creatediagram = object_id(N'dbo.sp_creatediagram'), + @id_renamediagram = object_id(N'dbo.sp_renamediagram'), + @id_alterdiagram = object_id(N'dbo.sp_alterdiagram'), + @id_dropdiagram = object_id(N'dbo.sp_dropdiagram') + if @id_upgraddiagrams is not null + select @InstalledObjects = @InstalledObjects + 1 + if @id_sysdiagrams is not null + select @InstalledObjects = @InstalledObjects + 2 + if @id_helpdiagrams is not null + select @InstalledObjects = @InstalledObjects + 4 + if @id_helpdiagramdefinition is not null + select @InstalledObjects = @InstalledObjects + 8 + if @id_creatediagram is not null + select @InstalledObjects = @InstalledObjects + 16 + if @id_renamediagram is not null + select @InstalledObjects = @InstalledObjects + 32 + if @id_alterdiagram is not null + select @InstalledObjects = @InstalledObjects + 64 + if @id_dropdiagram is not null + select @InstalledObjects = @InstalledObjects + 128 + return @InstalledObjects + END \ No newline at end of file diff --git a/sql/Produzione/funzioni/dbo_getAppellativo.sql b/sql/Produzione/funzioni/dbo_getAppellativo.sql new file mode 100644 index 00000000..c00b0cd1 --- /dev/null +++ b/sql/Produzione/funzioni/dbo_getAppellativo.sql @@ -0,0 +1,31 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE FUNCTION [dbo].[getAppellativo] +( + -- Add the parameters for the function here + @Sesso varchar(1), + @Cod_fiscale varchar(16) +) +RETURNS VARCHAR(150) +AS +BEGIN + -- Declare the return variable here + DECLARE @Appellativo VARCHAR(150) + IF(LEN(@Cod_fiscale) = 16 AND CHARINDEX('@',@Cod_fiscale) = 0) + BEGIN + IF(@Sesso = 'F') + SET @Appellativo = 'Gent. Sig.ra' + --SET @Appellativo = 'Gentile signora' + ELSE + SET @Appellativo = 'Egr. Sig.' + --SET @Appellativo = 'Gentile signore' + END + ELSE + SET @Appellativo = 'Spett.le' + --SET @Appellativo = 'Spettabile' + -- Return the result of the function + RETURN @Appellativo +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/dbo_getFiduciariaByCodMand.sql b/sql/Produzione/funzioni/dbo_getFiduciariaByCodMand.sql new file mode 100644 index 00000000..9b2cfee8 --- /dev/null +++ b/sql/Produzione/funzioni/dbo_getFiduciariaByCodMand.sql @@ -0,0 +1,20 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE FUNCTION [dbo].[getFiduciariaByCodMand] +(@codMand varchar(6)) +RETURNS varchar(10) +WITH EXEC AS CALLER +AS +BEGIN +DECLARE @fiduciaria VARCHAR(10) + SELECT + @fiduciaria = CODBREVE + FROM + C6stagingperiodico.WMANDATI + WHERE + CODMAND = @codMand + RETURN @fiduciaria + '@' + @codMand +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/dbo_getNumSollecitiNOASS.sql b/sql/Produzione/funzioni/dbo_getNumSollecitiNOASS.sql new file mode 100644 index 00000000..ca70812f --- /dev/null +++ b/sql/Produzione/funzioni/dbo_getNumSollecitiNOASS.sql @@ -0,0 +1,29 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE FUNCTION [dbo].[getNumSollecitiNOASS] +( + -- {1,2,3,S} + @TipoSollecito char +) +RETURNS smallint +AS +BEGIN + DECLARE @numSoll smallint + DECLARE @NUMGIORNIDASOLLECITO smallint + set @numSoll = 0 + SET @NUMGIORNIDASOLLECITO = CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') as smallint) --7 + DECLARE @TipoNumSoll smallint + if (@TipoSollecito = '1' or @TipoSollecito = '2' or @TipoSollecito = '3') + BEGIN + SET @tipoNumSoll = CAST(@TipoSollecito as smallint) + select @numSoll = count(*) from c6mart.contrattosei c6 where numSolleciti = @tipoNumSoll -1 and c6.clienteMigrato = 'S' and c6.risorseNA = 'S' and DATEDIFF(day,C6.Data_Perf,GETDATE()) >= @NUMGIORNIDASOLLECITO * @tipoNumSoll + END + if @TipoSollecito = 'S' + BEGIN + select @numSoll = count(*) from c6mart.contrattosei c6 where numSolleciti > 2 and c6.clienteMigrato = 'S' and c6.risorseNA = 'S'and DATEDIFF(day,C6.Data_Perf,GETDATE()) >= @NUMGIORNIDASOLLECITO * (numSolleciti + 1) + END + RETURN @numSoll +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/dbo_getNumSollecitiNOMIG.sql b/sql/Produzione/funzioni/dbo_getNumSollecitiNOMIG.sql new file mode 100644 index 00000000..283ff2cd --- /dev/null +++ b/sql/Produzione/funzioni/dbo_getNumSollecitiNOMIG.sql @@ -0,0 +1,39 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE FUNCTION [dbo].[getNumSollecitiNOMIG] +( + -- {1,2,3,S} + @TipoSollecito char +) +RETURNS smallint +AS +BEGIN + DECLARE @numSoll smallint + DECLARE @NUMGIORNIDASOLLECITO smallint + DECLARE @TipoNumSoll smallint + SET @numSoll = 0 + SET @NUMGIORNIDASOLLECITO = CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') as smallint) --7 + IF (@TipoSollecito = '1' or @TipoSollecito = '2' or @TipoSollecito = '3') + BEGIN + SET @tipoNumSoll = CAST(@TipoSollecito as smallint) + select @numSoll = count(*) + from c6mart.contrattosei c6 + where + numSolleciti = @tipoNumSoll -1 and + c6.clienteMigrato = 'N' and + DATEDIFF(day,C6.Data_Perf,GETDATE()) >= @NUMGIORNIDASOLLECITO * @tipoNumSoll + END + IF @TipoSollecito = 'S' + BEGIN + select @numSoll = count(*) + from c6mart.contrattosei c6 + where + numSolleciti > 2 and + c6.clienteMigrato = 'N' and + DATEDIFF(day,C6.Data_Perf,GETDATE()) >= @NUMGIORNIDASOLLECITO * (numSolleciti + 1) + END + RETURN @numSoll +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/dbo_getParametro.sql b/sql/Produzione/funzioni/dbo_getParametro.sql new file mode 100644 index 00000000..d607473f --- /dev/null +++ b/sql/Produzione/funzioni/dbo_getParametro.sql @@ -0,0 +1,21 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE FUNCTION [dbo].[getParametro] +( + -- Add the parameters for the function here + @NomeParametro varchar(255) +) +RETURNS VARCHAR(255) +AS +BEGIN + -- Declare the return variable here + DECLARE @ValoreParametro VARCHAR(255) + SELECT @ValoreParametro=Valore + FROM dbo.GESTIONE_C6Parametri + WHERE Nome=@NomeParametro + -- Return the result of the function + RETURN @ValoreParametro +END \ No newline at end of file diff --git a/sql/Produzione/funzioni/dbo_udf_HexToRGB.sql b/sql/Produzione/funzioni/dbo_udf_HexToRGB.sql new file mode 100644 index 00000000..40db794d --- /dev/null +++ b/sql/Produzione/funzioni/dbo_udf_HexToRGB.sql @@ -0,0 +1,11 @@ +CREATE FUNCTION dbo.udf_HexToRGB (@hex char(6)) +RETURNS TABLE +AS RETURN + ( + SELECT 16 * (CHARINDEX(SUBSTRING(@hex, 1, 1), '0123456789abcdef') - 1) + (CHARINDEX(SUBSTRING(@hex, 2, 1), + '0123456789abcdef') - 1) AS R + ,16 * (CHARINDEX(SUBSTRING(@hex, 3, 1), '0123456789abcdef') - 1) + (CHARINDEX(SUBSTRING(@hex, 4, 1), + '0123456789abcdef') - 1) AS G + ,16 * (CHARINDEX(SUBSTRING(@hex, 5, 1), '0123456789abcdef') - 1) + (CHARINDEX(SUBSTRING(@hex, 6, 1), + '0123456789abcdef') - 1) AS B + ) \ No newline at end of file diff --git a/sql/Produzione/funzioni/wh_IsZero.sql b/sql/Produzione/funzioni/wh_IsZero.sql new file mode 100644 index 00000000..37f2b175 --- /dev/null +++ b/sql/Produzione/funzioni/wh_IsZero.sql @@ -0,0 +1,16 @@ +--CREATE SCHEMA WH +--go +CREATE function [wh].[IsZero] +( + @Number FLOAT, + @IsZeroNumber FLOAT +) +RETURNS FLOAT +AS +BEGIN + IF (@Number = 0) + BEGIN + SET @Number = @IsZeroNumber + END + RETURN (@Number) +END \ No newline at end of file diff --git a/sql/Produzione/trigger/C6MartPeriodico_storicizza_sblocchi_tabellone.sql b/sql/Produzione/trigger/C6MartPeriodico_storicizza_sblocchi_tabellone.sql new file mode 100644 index 00000000..61b8ae6d --- /dev/null +++ b/sql/Produzione/trigger/C6MartPeriodico_storicizza_sblocchi_tabellone.sql @@ -0,0 +1,17 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE TRIGGER [C6MartPeriodico].[storicizza_sblocchi_tabellone] + ON [C6MartPeriodico].[ExcludedList_testing] + AFTER Insert +AS +BEGIN + + SET NOCOUNT ON; + +insert into C6MartPeriodico.sblocco_blacklist +select Rete,codicefiscale,DescrErr,CONVERT(VARCHAR(10), GETDATE(), 126),Bloccato from C6MartPeriodico.ExcludedList_testing + +END diff --git a/sql/Produzione/viste/C6MartPeriodicoImmobiliare_ExcludedList.sql b/sql/Produzione/viste/C6MartPeriodicoImmobiliare_ExcludedList.sql new file mode 100644 index 00000000..6a2dd4bd --- /dev/null +++ b/sql/Produzione/viste/C6MartPeriodicoImmobiliare_ExcludedList.sql @@ -0,0 +1,11 @@ +CREATE VIEW [C6MartPeriodicoImmobiliare].[ExcludedList] +AS +select rete as Rete, +case when codicefiscale is not null then CodiceFiscale + when piva is not null then PIVA + when Codman is not null then 'FF@'+Codman + end as codicefiscale, + Motivazione_Blacklist as DescrErr, + Data_Inserimento as DataIns, + '1' as Bloccato +from C6MartPeriodicoImmobiliare.blacklist \ No newline at end of file diff --git a/sql/Produzione/viste/C6MartPeriodicoImmobiliare_RP_vContrattiPerGenerazioneReport.sql b/sql/Produzione/viste/C6MartPeriodicoImmobiliare_RP_vContrattiPerGenerazioneReport.sql new file mode 100644 index 00000000..3ba6b857 --- /dev/null +++ b/sql/Produzione/viste/C6MartPeriodicoImmobiliare_RP_vContrattiPerGenerazioneReport.sql @@ -0,0 +1,55 @@ +CREATE VIEW [C6MartPeriodicoImmobiliare].[RP_vContrattiPerGenerazioneReport] +AS +--select * from C6StagingPeriodico.APPO_CONTRATTI +--select * from vcontrcong0913 where bloccato is null +--* from appovcontratti0913 +select + distinct + a.[chiaveClientePB], + a.[COD_FISCALE], + [COD_MANDATO], + [PIVA_FIDUCIARIA], + [COD_AGENTE], + a.[rete], + [codiceContratto], + [flagRol], + [INDIRIZZO], + [cap], + [CITTA], + [PROVINCIA], + [NAZIONE], + [presso], + [email], + [FREQ_DIAGNOSI], + isnull([FREQ_MONITORAGGIO], 'T') AS FREQ_MONITORAGGIO, + [GENERAZIONEREPORT], + [DATA_INIZIOBASE], + [DATA_FINEBASE], + [DATA_PERF_BASE], + [DATA_PERF], + [DATA_INZIOAVANZATO], + [DATA_FINEAVANZATO], + [RIATTIVAZIONE], + [TIP_CONTRATTO], + [TIP_RIATTIVAZIONE], + [ClienteMIGRATO], + [RISORSENA], + [PROFILOATTIVO], + [NumSolleciti], + [NumRevoche], + [Data_ultimoSollecito], + [Data_ultimaRevoca], + [InvioBenvenuto] +FROM +C6StagingPeriodicoImmobiliare.APPO_CONTRATTI_v a +--LEFT JOIN +-- ( +-- SELECT rete, codiceFiscale FROM [C6MartPeriodico].[tb_SegnalazioniDataQuality] +-- GROUP BY rete, codiceFiscale +-- ) t +--ON +-- a.rete = t.rete +--AND +-- a.cod_fiscale = t.codiceFiscale +--WHERE 1=1 +-- and t.codiceFiscale is null \ No newline at end of file diff --git a/sql/Produzione/viste/C6MartPeriodicoImmobiliare_RP_vPrometeiaTerziCategoriaProdotto.sql b/sql/Produzione/viste/C6MartPeriodicoImmobiliare_RP_vPrometeiaTerziCategoriaProdotto.sql new file mode 100644 index 00000000..452c774d --- /dev/null +++ b/sql/Produzione/viste/C6MartPeriodicoImmobiliare_RP_vPrometeiaTerziCategoriaProdotto.sql @@ -0,0 +1,135 @@ +CREATE VIEW [C6MartPeriodicoImmobiliare].[RP_vPrometeiaTerziCategoriaProdotto] +AS +SELECT + TUTTI.RETE AS Rete, + TUTTI.CODICEFISCALE AS CodiceFiscale, + TUTTI.PORTAFOGLIO AS Portafoglio, + TUTTI.COD_ISIN AS CodiceIsin, + TUTTI.COD_ADEGUATEZZA AS CodiceAdeguatezza, + TUTTI.COD_MAF AS CodiceMaf, + TUTTI.COD_INTERNO AS CodiceInterno, + TUTTI.COD_SOTTOPRODOTTO AS CodiceSottoprodotto, + TUTTI.PIAZZA AS Piazza, + TUTTI.CODICEVALUTA AS Codicevaluta, + TUTTI.CLASSE AS Classe, + SUM(TUTTI.CONTROVALORE) AS Controvalore, + TUTTI.ESTRAZIONE AS Estrazione +FROM ( + -- 1. ASSET PER DATI PATRIMONIO TERZI NON IN CATALOGO + SELECT + 'DATI NON IN CATALOGO' AS ESTRAZIONE, + PATRIMONIO_TERZI.RETE AS RETE, + PATRIMONIO_TERZI.COD_FISCALE AS CODICEFISCALE, + 'TIPOPRODTERZI|TERZI|' + + ISNULL(PATRIMONIO_TERZI.DESCR_GRUPPO_PRODOTTO, PATRIMONIO_TERZI.TIPO_PRODOTTO) + + '|' + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI AS PORTAFOGLIO, + ASSETCLASS_TERZI.COD_ISIN AS COD_ISIN, + ASSETCLASS_TERZI.COD_ADEGUATEZZA AS COD_ADEGUATEZZA, + ASSETCLASS_TERZI.COD_MAF AS COD_MAF, + '' AS COD_INTERNO, + '' AS COD_SOTTOPRODOTTO, + '' AS PIAZZA, + '' AS CODICEVALUTA, + '' AS CLASSE, + (PATRIMONIO_TERZI.CTV * ASSET_PERC_TERZI.PERC) AS CONTROVALORE + FROM + C6MartPeriodicoImmobiliare.ASSET_PERC_TERZI + INNER JOIN + C6MartPeriodicoImmobiliare.ASSETCLASS_TERZI + ON + ASSET_PERC_TERZI.ID_ASSETCLASS = ASSETCLASS_TERZI.ID_ASSETCLASS + INNER JOIN + C6MartPeriodicoImmobiliare.PATRIMONIO_TERZI + ON + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI = ASSET_PERC_TERZI.COD_PRODOTTO_TERZI + INNER JOIN + C6MartPeriodicoImmobiliare.ANAG_PRODOTTI_TERZI + ON + ANAG_PRODOTTI_TERZI.COD_PRODOTTO_TERZI = PATRIMONIO_TERZI.COD_PRODOTTO_TERZI + WHERE + ASSET_PERC_TERZI.LIVELLO = 2 +-- AND NOT ( +-- PATRIMONIO_TERZI.TIPO_PRODOTTO = 'Conti correnti' +-- AND ANAG_PRODOTTI_TERZI.DESCR_PRODOTTO = 'Assets.FinancialAssets.CurrentAccount' +-- ) + UNION ALL + -- 2. ASSET PER DATI PATRIMONIO TERZI IN CATALOGO + SELECT + 'DATI IN CATALOGO' AS ESTRAZIONE, + PATRIMONIO_TERZI.RETE AS RETE, + PATRIMONIO_TERZI.COD_FISCALE AS CODICEFISCALE, + 'TIPOPRODTERZI|TERZI|' + + ISNULL(PATRIMONIO_TERZI.DESCR_GRUPPO_PRODOTTO, PATRIMONIO_TERZI.TIPO_PRODOTTO) + + '|' + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI AS PORTAFOGLIO, + ANAG_PRODOTTI.COD_ISIN AS COD_ISIN, + ANAG_PRODOTTI.COD_ADEGUATEZZA AS COD_ADEGUATEZZA, + ANAG_PRODOTTI.COD_MAF AS COD_MAF, + ANAG_PRODOTTI.COD_INTERNO AS COD_INTERNO, + ANAG_PRODOTTI.COD_SOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + '' AS PIAZZA, + '' AS CODICEVALUTA, + '' AS CLASSE, + (PATRIMONIO_TERZI.CTV * ISNULL(ASSET_PERC.PERC,1)) AS CONTROVALORE + FROM + C6MartPeriodicoImmobiliare.PATRIMONIO_TERZI + INNER JOIN + C6MartPeriodicoImmobiliare.ANAG_PRODOTTI + ON + ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_TERZI.COD_PRODOTTO + LEFT OUTER JOIN + C6MartPeriodicoImmobiliare.ASSET_PERC + ON + ASSET_PERC.COD_PRODOTTO = PATRIMONIO_TERZI.COD_PRODOTTO + AND ASSET_PERC.LIVELLO = 2 + UNION ALL + -- 3 ASSET NON ESISTENTI PER DATI PATRIMONIO TERZI DEL CATALOGO CON ADEGUATEZZA A NULL (SETTATI AD ALTRO PER CONVENZIONE) + SELECT + 'DATI IN CATALOGO CON COD_ADEGUATEZZA NULL E ASSET NON VALORIZZATO' AS ESTRAZIONE, + PATRIMONIO_TERZI.RETE AS RETE, + PATRIMONIO_TERZI.COD_FISCALE AS CODICEFISCALE, + 'TIPOPRODTERZI|TERZI|' + + ISNULL(PATRIMONIO_TERZI.DESCR_GRUPPO_PRODOTTO, PATRIMONIO_TERZI.TIPO_PRODOTTO) + + '|' + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI AS PORTAFOGLIO, + ASSETCLASS_TERZI.COD_ISIN AS COD_ISIN, + ASSETCLASS_TERZI.COD_ADEGUATEZZA AS COD_ADEGUATEZZA, + ASSETCLASS_TERZI.COD_MAF AS COD_MAF, + '' AS COD_INTERNO, + '' AS COD_SOTTOPRODOTTO, + '' AS PIAZZA, + '' AS CODICEVALUTA, + '' AS CLASSE, +--INIZIO 09012014_MV Correzione anomalia +-- (PATRIMONIO_TERZI.CTV * ASSET_PERC.PERC) AS CONTROVALORE + (PATRIMONIO_TERZI.CTV * ISNULL(ASSET_PERC.PERC,1)) AS CONTROVALORE +--FINE 09012014_MV Correzione anomalia + FROM + C6MartPeriodicoImmobiliare.PATRIMONIO_TERZI + INNER JOIN + C6MartPeriodicoImmobiliare.ANAG_PRODOTTI + ON + ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_TERZI.COD_PRODOTTO + LEFT JOIN + C6MartPeriodicoImmobiliare.ASSET_PERC + ON + ASSET_PERC.COD_PRODOTTO = PATRIMONIO_TERZI.COD_PRODOTTO + INNER JOIN + C6MartPeriodicoImmobiliare.ASSETCLASS_TERZI + ON + ASSETCLASS_TERZI.ID_ASSETCLASS = 'AL1' + WHERE + ISNULL(ANAG_PRODOTTI.COD_ADEGUATEZZA, '') = '' + AND ASSET_PERC.COD_PRODOTTO IS NULL +) TUTTI +GROUP BY + TUTTI.ESTRAZIONE, + TUTTI.RETE, + TUTTI.CODICEFISCALE, + TUTTI.PORTAFOGLIO, + TUTTI.COD_ISIN, + TUTTI.COD_ADEGUATEZZA, + TUTTI.COD_MAF, + TUTTI.COD_INTERNO, + TUTTI.COD_SOTTOPRODOTTO, + TUTTI.PIAZZA, + TUTTI.CODICEVALUTA, + TUTTI.CLASSE \ No newline at end of file diff --git a/sql/Produzione/viste/C6MartPeriodicoImmobiliare_RP_vPrometeiaTerziIntermediario.sql b/sql/Produzione/viste/C6MartPeriodicoImmobiliare_RP_vPrometeiaTerziIntermediario.sql new file mode 100644 index 00000000..4598b1c4 --- /dev/null +++ b/sql/Produzione/viste/C6MartPeriodicoImmobiliare_RP_vPrometeiaTerziIntermediario.sql @@ -0,0 +1,178 @@ +-- View +CREATE VIEW [C6MartPeriodicoImmobiliare].[RP_vPrometeiaTerziIntermediario] +AS +SELECT + TUTTI.RETE AS Rete, + TUTTI.CODICEFISCALE AS CodiceFiscale, + TUTTI.PORTAFOGLIO AS Portafoglio, + TUTTI.INTERMEDIARIO AS Intermediario, + TUTTI.COD_ISIN AS CodiceIsin, + TUTTI.COD_ADEGUATEZZA AS CodiceAdeguatezza, + TUTTI.COD_MAF AS CodiceMaf, + TUTTI.COD_INTERNO AS CodiceInterno, + TUTTI.COD_SOTTOPRODOTTO AS CodiceSottoprodotto, + TUTTI.PIAZZA AS Piazza, + TUTTI.CODICEVALUTA AS Codicevaluta, + TUTTI.CLASSE AS Classe, + SUM(TUTTI.CONTROVALORE) AS Controvalore, + TUTTI.ESTRAZIONE AS Estrazione +FROM ( + -- 1. ASSET PER DATI PATRIMONIO TERZI NON IN CATALOGO + SELECT + 'DATI NON IN CATALOGO' AS ESTRAZIONE, + PATRIMONIO_TERZI.RETE AS RETE, + PATRIMONIO_TERZI.COD_FISCALE AS CODICEFISCALE, + 'COMPLESSIVO|TERZI|' + PATRIMONIO_TERZI.INTERMEDIARIO + '|' + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI AS PORTAFOGLIO, + PATRIMONIO_TERZI.INTERMEDIARIO AS INTERMEDIARIO, + ASSETCLASS_TERZI.COD_ISIN AS COD_ISIN, + ASSETCLASS_TERZI.COD_ADEGUATEZZA AS COD_ADEGUATEZZA, + ASSETCLASS_TERZI.COD_MAF AS COD_MAF, + '' AS COD_INTERNO, + '' AS COD_SOTTOPRODOTTO, + '' AS PIAZZA, + '' AS CODICEVALUTA, + '' AS CLASSE, + (PATRIMONIO_TERZI.CTV * ASSET_PERC_TERZI.PERC) AS CONTROVALORE + FROM + C6MartPeriodicoImmobiliare.ASSET_PERC_TERZI + INNER JOIN + C6MartPeriodicoImmobiliare.ASSETCLASS_TERZI + ON + ASSET_PERC_TERZI.ID_ASSETCLASS = ASSETCLASS_TERZI.ID_ASSETCLASS + INNER JOIN + C6MartPeriodicoImmobiliare.PATRIMONIO_TERZI + ON + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI = ASSET_PERC_TERZI.COD_PRODOTTO_TERZI + INNER JOIN + C6MartPeriodicoImmobiliare.ANAG_PRODOTTI_TERZI + ON + ANAG_PRODOTTI_TERZI.COD_PRODOTTO_TERZI = PATRIMONIO_TERZI.COD_PRODOTTO_TERZI + WHERE + ASSET_PERC_TERZI.LIVELLO = 2 +-- AND NOT ( +-- PATRIMONIO_TERZI.TIPO_PRODOTTO = 'Conti correnti' +-- AND ANAG_PRODOTTI_TERZI.DESCR_PRODOTTO = 'Assets.FinancialAssets.CurrentAccount' +-- ) + UNION ALL + -- 2. ASSET PER DATI PATRIMONIO TERZI IN CATALOGO + SELECT + 'DATI IN CATALOGO' AS ESTRAZIONE, + PATRIMONIO_TERZI.RETE AS RETE, + PATRIMONIO_TERZI.COD_FISCALE AS CODICEFISCALE, + 'COMPLESSIVO|TERZI|' + PATRIMONIO_TERZI.INTERMEDIARIO + '|' + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI AS PORTAFOGLIO, + PATRIMONIO_TERZI.INTERMEDIARIO AS INTERMEDIARIO, + ANAG_PRODOTTI.COD_ISIN AS COD_ISIN, + ANAG_PRODOTTI.COD_ADEGUATEZZA AS COD_ADEGUATEZZA, + ANAG_PRODOTTI.COD_MAF AS COD_MAF, + ANAG_PRODOTTI.COD_INTERNO AS COD_INTERNO, + ANAG_PRODOTTI.COD_SOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + '' AS PIAZZA, + '' AS CODICEVALUTA, + '' AS CLASSE, + (PATRIMONIO_TERZI.CTV * ISNULL(ASSET_PERC.PERC,1)) AS CONTROVALORE + FROM + C6MartPeriodicoImmobiliare.PATRIMONIO_TERZI + INNER JOIN + C6MartPeriodicoImmobiliare.ANAG_PRODOTTI + ON + ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_TERZI.COD_PRODOTTO + LEFT OUTER JOIN + C6MartPeriodicoImmobiliare.ASSET_PERC + ON + ASSET_PERC.COD_PRODOTTO = PATRIMONIO_TERZI.COD_PRODOTTO + AND ASSET_PERC.LIVELLO = 2 + UNION ALL + -- 3 ASSET NON ESISTENTI PER DATI PATRIMONIO TERZI DEL CATALOGO CON ADEGUATEZZA A NULL (SETTATI AD ALTRO PER CONVENZIONE) + SELECT + 'DATI IN CATALOGO CON COD_ADEGUATEZZA NULL E ASSET NON VALORIZZATO' AS ESTRAZIONE, + PATRIMONIO_TERZI.RETE AS RETE, + PATRIMONIO_TERZI.COD_FISCALE AS CODICEFISCALE, + 'COMPLESSIVO|TERZI|' + PATRIMONIO_TERZI.INTERMEDIARIO + '|' + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI AS PORTAFOGLIO, + PATRIMONIO_TERZI.INTERMEDIARIO AS INTERMEDIARIO, + ASSETCLASS_TERZI.COD_ISIN AS COD_ISIN, + ASSETCLASS_TERZI.COD_ADEGUATEZZA AS COD_ADEGUATEZZA, + ASSETCLASS_TERZI.COD_MAF AS COD_MAF, + '' AS COD_INTERNO, + '' AS COD_SOTTOPRODOTTO, + '' AS PIAZZA, + '' AS CODICEVALUTA, + '' AS CLASSE, +--INIZIO 09012014_MV Correzione anomalia +-- (PATRIMONIO_TERZI.CTV * ASSET_PERC.PERC) AS CONTROVALORE + (PATRIMONIO_TERZI.CTV * ISNULL(ASSET_PERC.PERC,1)) AS CONTROVALORE +--FINE 09012014_MV Correzione anomalia + FROM + C6MartPeriodicoImmobiliare.PATRIMONIO_TERZI + INNER JOIN + C6MartPeriodicoImmobiliare.ANAG_PRODOTTI + ON + ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_TERZI.COD_PRODOTTO + LEFT JOIN + C6MartPeriodicoImmobiliare.ASSET_PERC + ON + ASSET_PERC.COD_PRODOTTO = PATRIMONIO_TERZI.COD_PRODOTTO + INNER JOIN + C6MartPeriodicoImmobiliare.ASSETCLASS_TERZI + ON + ASSETCLASS_TERZI.ID_ASSETCLASS = 'AL1' + WHERE + ISNULL(ANAG_PRODOTTI.COD_ADEGUATEZZA, '') = '' + AND ASSET_PERC.COD_PRODOTTO IS NULL + --V CC terzi + union all + SELECT + --PATRIMONIO_TERZI.tipo_prodotto, + 'CONTI CORRENTI' AS ESTRAZIONE, + PATRIMONIO_TERZI.RETE AS RETE, + PATRIMONIO_TERZI.COD_FISCALE AS CODICEFISCALE, + 'COMPLESSIVO|TERZI|' + PATRIMONIO_TERZI.INTERMEDIARIO + '|CC',-- + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI AS PORTAFOGLIO, + PATRIMONIO_TERZI.INTERMEDIARIO AS INTERMEDIARIO, + ASSETCLASS_TERZI.COD_ISIN AS COD_ISIN, + --ASSETCLASS_TERZI.COD_ADEGUATEZZA AS COD_ADEGUATEZZA, + 'EUR' AS COD_ADEGUATEZZA, + ASSETCLASS_TERZI.COD_MAF AS COD_MAF, + '' AS COD_INTERNO, + '' AS COD_SOTTOPRODOTTO, + '' AS PIAZZA, + '' AS CODICEVALUTA, + '' AS CLASSE, +-- sum(PATRIMONIO_TERZI.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') as int) AS CONTROVALORE + case when (sum(PATRIMONIO_terzi.CTV) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_terzi.CTV) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else sum(PATRIMONIO_terzi.CTV) end AS Controvalore --modifica 050520 per anomalie Levi + FROM + C6MartPeriodicoImmobiliare.ASSET_PERC_TERZI + INNER JOIN + C6MartPeriodicoImmobiliare.ASSETCLASS_TERZI + ON + ASSET_PERC_TERZI.ID_ASSETCLASS = ASSETCLASS_TERZI.ID_ASSETCLASS + INNER JOIN + C6MartPeriodicoImmobiliare.PATRIMONIO_TERZI + ON + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI = ASSET_PERC_TERZI.COD_PRODOTTO_TERZI + INNER JOIN + C6MartPeriodicoImmobiliare.ANAG_PRODOTTI_TERZI + ON + ANAG_PRODOTTI_TERZI.COD_PRODOTTO_TERZI = PATRIMONIO_TERZI.COD_PRODOTTO_TERZI + WHERE + ASSET_PERC_TERZI.LIVELLO = 2 + AND ( + PATRIMONIO_TERZI.TIPO_PRODOTTO = 'Conti correnti' + or ANAG_PRODOTTI_TERZI.DESCR_PRODOTTO = 'Assets.FinancialAssets.CurrentAccount' + ) +--and patrimonio_terzi.Cod_fiscale = 'BNCMRA47P12A944T' + group by PATRIMONIO_TERZI.intermediario,ASSETCLASS_TERZI.COD_ISIN,cod_adeguatezza,cod_maf,PATRIMONIO_TERZI.cod_Fiscale,rete +) TUTTI +GROUP BY + TUTTI.ESTRAZIONE, + TUTTI.RETE, + TUTTI.CODICEFISCALE, + TUTTI.PORTAFOGLIO, + TUTTI.INTERMEDIARIO, + TUTTI.COD_ISIN, + TUTTI.COD_ADEGUATEZZA, + TUTTI.COD_MAF, + TUTTI.COD_INTERNO, + TUTTI.COD_SOTTOPRODOTTO, + TUTTI.PIAZZA, + TUTTI.CODICEVALUTA, + TUTTI.CLASSE \ No newline at end of file diff --git a/sql/Produzione/viste/C6MartPeriodicoImmobiliare_RP_vTuttiIPortafogli.sql b/sql/Produzione/viste/C6MartPeriodicoImmobiliare_RP_vTuttiIPortafogli.sql new file mode 100644 index 00000000..0484b58b --- /dev/null +++ b/sql/Produzione/viste/C6MartPeriodicoImmobiliare_RP_vTuttiIPortafogli.sql @@ -0,0 +1,263 @@ +--select top 1 * from C6MartPeriodicoImmobiliare.anag_prodotti +--modificata per i cc in liq Marianna & Valerio +--Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +CREATE VIEW [C6MartPeriodicoImmobiliare].[RP_vTuttiIPortafogli] +AS +SELECT + ANAG_PRODOTTI.DESCR_PRODOTTO, + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN +-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, +-- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA +-- ELSE ANAG_PRODOTTI.COD_ISIN +-- END AS CodiceProdotto, +-- MODIFICA LUCA + CASE ISNULL(ANAG_PRODOTTI.COD_ADEGUATEZZA, '') --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + --V FRANCHIGIA CC +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV_NOMINALE +-- END AS CtvNominale, +--INIZIO INTERVENTO OMNIA +-- PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, +-- PATRIMONIO_BF.CTV AS CtvReale + case when PATRIMONIO_BF.ISIN in('EURO00000009', 'EURO10000007') then 0.0000 + else PATRIMONIO_BF.CTV_NOMINALE end AS CtvNominale , + case when PATRIMONIO_BF.ISIN in('EURO00000009', 'EURO10000007') then 0.0000 + else PATRIMONIO_BF.CTV end AS CtvReale +--FINE INTERVENTO OMNIA + FROM C6MartPeriodicoImmobiliare.PATRIMONIO_BF + INNER JOIN C6MartPeriodicoImmobiliare.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MartPeriodicoImmobiliare.ANAG_PRODOTTI ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO +--INIZIO INTERVENTO OMNIA +-- WHERE PATRIMONIO_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC','ASU2') + WHERE (PATRIMONIO_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC','ASU2') + AND PATRIMONIO_BF.ID_AREA <> 'SELF') +--FINE INTERVENTO OMNIA + UNION ALL + ---V Modifica per calcolo VaR prodotti ASU2 + SELECT + ANAG_PRODOTTI.DESCR_PRODOTTO, + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID + -- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + -- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + -- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + -- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA + -- ELSE ANAG_PRODOTTI.COD_ISIN + -- END AS CodiceProdotto, + ---- MODIFICA LUCA + --V Modifica per gli ASU2 CON IL COD_ADEGUATEZZA NON BECCA NESSUN PRODTTO PROMETEIA + -- CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + -- WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + -- ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA END + PATRIMONIO_BF.ISIN AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + --V FRANCHIGIA CC + -- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + -- THEN 0 + -- ELSE PATRIMONIO_BF.CTV_NOMINALE + -- END AS CtvNominale, + PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, + --PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, + -- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + -- THEN 0 + -- ELSE PATRIMONIO_BF.CTV + -- END AS CtvReale + PATRIMONIO_BF.CTV AS CtvReale + FROM C6MartPeriodicoImmobiliare.PATRIMONIO_BF + INNER JOIN C6MartPeriodicoImmobiliare.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MartPeriodicoImmobiliare.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + AND ANAG_PRODOTTI.COD_ISIN = PATRIMONIO_BF.ISIN + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASU2') + UNION ALL + -- PATRIMONIO ASUL + SELECT + ANAG_PRODOTTI.DESCR_PRODOTTO, + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- +-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN +-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + CASE ISNULL(DETTAGLIO_ASUL.COD_ISIN_FITTIZIO, '') --SELEZIONE DEL CODICEPRODOTTO: DETTAGLIO_ASUL.COD_ISIN_FITTIZIO, DETTAGLIO_ASUL.COD_SOTTOPRODOTTO, '$' + WHEN '' THEN DETTAGLIO_ASUL.COD_ISIN_SOTT + ELSE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO + END AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + DETTAGLIO_ASUL.CTV AS CtvNominale, + DETTAGLIO_ASUL.CTV AS CtvReale + FROM C6MartPeriodicoImmobiliare.PATRIMONIO_BF + INNER JOIN C6MartPeriodicoImmobiliare.ANAG_PRODOTTI ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + INNER JOIN C6MartPeriodicoImmobiliare.DETTAGLIO_ASUL + ON DETTAGLIO_ASUL.ID_CONTRATTO = PATRIMONIO_BF.ID_CONTRATTO + INNER JOIN C6MartPeriodicoImmobiliare.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASUL') + UNION ALL + -- PATRIMONIO TERZI + SELECT + '' as descr_prodotto, + INTERMEDIARIO.RETE AS Rete, + INTERMEDIARIO.CODICEFISCALE AS CodiceFiscale, + INTERMEDIARIO.PORTAFOGLIO AS Portafoglio, + INTERMEDIARIO.CODICEADEGUATEZZA AS CodiceProdotto, + INTERMEDIARIO.PIAZZA AS Piazza, + INTERMEDIARIO.CODICEVALUTA AS CodiceValuta, + INTERMEDIARIO.CLASSE AS Classe, + INTERMEDIARIO.CONTROVALORE AS CtvNominale, + INTERMEDIARIO.CONTROVALORE AS CtvReale + FROM C6MartPeriodicoImmobiliare.RP_VPROMETEIATERZIINTERMEDIARIO INTERMEDIARIO + INNER JOIN C6MartPeriodicoImmobiliare.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = INTERMEDIARIO.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = INTERMEDIARIO.CODICEFISCALE + UNION ALL + -- PATRIMONIO TERZI X TIPO PRODOTTO + SELECT + '' as descr_prodotto, + CATEGORIAPRODOTTO.RETE AS Rete, + CATEGORIAPRODOTTO.CODICEFISCALE AS CodiceFiscale, + CATEGORIAPRODOTTO.PORTAFOGLIO AS Portafoglio, + CATEGORIAPRODOTTO.CODICEADEGUATEZZA AS CodiceProdotto, + CATEGORIAPRODOTTO.PIAZZA AS Piazza, + CATEGORIAPRODOTTO.CODICEVALUTA AS CodiceValuta, + CATEGORIAPRODOTTO.CLASSE AS Classe, + CATEGORIAPRODOTTO.CONTROVALORE AS CtvNominale, + CATEGORIAPRODOTTO.CONTROVALORE AS CtvReale + FROM C6MartPeriodicoImmobiliare.RP_VPROMETEIATERZICATEGORIAPRODOTTO CATEGORIAPRODOTTO + INNER JOIN C6MartPeriodicoImmobiliare.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = CATEGORIAPRODOTTO.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = CATEGORIAPRODOTTO.CODICEFISCALE +--V Conti correnti Fideuram +union all +SELECT + 'CC' as descr_prodotto, + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE +-- WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN +-- 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- + WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + 'COMPLESSIVO|BF|CC'-- + PATRIMONIO_BF.POSITION_ID + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'COMPLESSIVO|BF|CC' +-- ELSE +-- 'COMPLESSIVO|BF|' + +-- LEFT(PATRIMONIO_BF.ID_AREA,3) + +-- CASE +-- WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO +-- ELSE '' +-- END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, +-- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA +-- ELSE ANAG_PRODOTTI.COD_ISIN +-- END AS CodiceProdotto, +-- MODIFICA LUCA +-- CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN +-- ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA +-- END + 'EUR' AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + --V FRANCHIGIA CC +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV_NOMINALE +-- END AS CtvNominale, + case when (sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else sum(PATRIMONIO_BF.CTV_NOMINALE) end AS CtvNominale , --0505020 tolto 0.0001 per anomalie Levi +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV +-- END AS CtvReale + case when (sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else sum(PATRIMONIO_BF.CTV_NOMINALE) end AS CtvReale --0505020 tolto 0.0001 per anomalie Levi +FROM C6MartPeriodicoImmobiliare.PATRIMONIO_BF + INNER JOIN C6MartPeriodicoImmobiliare.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MartPeriodicoImmobiliare.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('CC') +group by + PATRIMONIO_BF.rete, + PATRIMONIO_BF.cod_fiscale, + CASE ISNULL(ANAG_PRODOTTI.COD_ADEGUATEZZA, '') --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END, + CASE +-- WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN +-- 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- + WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + 'COMPLESSIVO|BF|CC'-- + PATRIMONIO_BF.POSITION_ID + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'COMPLESSIVO|BF|CC' +-- ELSE +-- 'COMPLESSIVO|BF|' + +-- LEFT(PATRIMONIO_BF.ID_AREA,3) + +-- CASE +-- WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO +-- ELSE '' +-- END + '|' + PATRIMONIO_BF.POSITION_ID + END \ No newline at end of file diff --git a/sql/Produzione/viste/C6MartPeriodicoImmobiliare_RP_vTuttiIPortafogli_Indicatore.sql b/sql/Produzione/viste/C6MartPeriodicoImmobiliare_RP_vTuttiIPortafogli_Indicatore.sql new file mode 100644 index 00000000..e221af39 --- /dev/null +++ b/sql/Produzione/viste/C6MartPeriodicoImmobiliare_RP_vTuttiIPortafogli_Indicatore.sql @@ -0,0 +1,311 @@ +CREATE VIEW [C6MartPeriodicoImmobiliare].[RP_vTuttiIPortafogli_Indicatore] +AS +SELECT + ANAG_PRODOTTI.DESCR_PRODOTTO, + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN +-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN isnull(PATRIMONIO_BF.NOME_PROGETTO, '') <> '' THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + ELSE '|Progetto investimento' + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, +-- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA +-- ELSE ANAG_PRODOTTI.COD_ISIN +-- END AS CodiceProdotto, +-- MODIFICA LUCA + CASE ISNULL(ANAG_PRODOTTI.COD_ADEGUATEZZA, '') --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END AS CodiceProdotto, + --- 23//5/2018 ---------------------------------------- + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA + WHEN '$' THEN '' + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END AS CodiceAdeguatezza, + ----------------------------------------------------------- + -- modifica del 9/7/2018 + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_INTERNO, ''))) AS Piazza, --codiceInterno + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_MAF, ''))) AS CodiceValuta, --codiceMAF + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_SOTTOPRODOTTO, ''))) AS Classe, --codiceSottoprodotto + --'' AS Piazza, --codiceInterno + --'' AS CodiceValuta, --codiceMAF + --'' AS Classe, --codiceSottoprodotto + -- fine modifica del 9/7/2018 + --V FRANCHIGIA CC +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV_NOMINALE +-- END AS CtvNominale, +--INIZIO INTERVENTO OMNIA +-- PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, +-- PATRIMONIO_BF.CTV AS CtvReale + case when PATRIMONIO_BF.ISIN in('EURO00000009', 'EURO10000007') then 0.0000 + else PATRIMONIO_BF.CTV_NOMINALE end AS CtvNominale , + case when PATRIMONIO_BF.ISIN in('EURO00000009', 'EURO10000007') then 0.0000 + else PATRIMONIO_BF.CTV end AS CtvReale +--FINE INTERVENTO OMNIA + FROM C6MartPeriodicoImmobiliare.PATRIMONIO_BF + INNER JOIN C6MartPeriodicoImmobiliare.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MartPeriodicoImmobiliare.ANAG_PRODOTTI ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO +--INIZIO INTERVENTO OMNIA +-- WHERE PATRIMONIO_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC','ASU2') + WHERE (PATRIMONIO_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC','ASU2') + AND PATRIMONIO_BF.ID_AREA <> 'SELF') +--FINE INTERVENTO OMNIA + UNION ALL + ---V Modifica per calcolo VaR prodotti ASU2 + SELECT + ANAG_PRODOTTI.DESCR_PRODOTTO, + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID + -- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + -- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN isnull(PATRIMONIO_BF.NOME_PROGETTO, '') <> '' THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + ELSE '|Progetto investimento' + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + -- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + -- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA + -- ELSE ANAG_PRODOTTI.COD_ISIN + -- END AS CodiceProdotto, + ---- MODIFICA LUCA + --V Modifica per gli ASU2 CON IL COD_ADEGUATEZZA NON BECCA NESSUN PRODTTO PROMETEIA + -- CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + -- WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + -- ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA END + PATRIMONIO_BF.ISIN AS CodiceProdotto, + ------------------------------------------- 12/6/2018 + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA + WHEN '$' THEN '' + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END AS CodiceAdeguatezza, + ------------------------------------------------------------------ + -- modifica del 9/7/2018 + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_INTERNO, ''))) AS Piazza, --codiceInterno + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_MAF, ''))) AS CodiceValuta, --codiceMAF + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_SOTTOPRODOTTO, ''))) AS Classe, --codiceSottoprodotto + -- '' AS Piazza, + -- '' AS CodiceValuta, + -- '' AS Classe, + -- fine modifica del 9/7/2018 + --V FRANCHIGIA CC + -- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + -- THEN 0 + -- ELSE PATRIMONIO_BF.CTV_NOMINALE + -- END AS CtvNominale, + PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, + --PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, + -- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + -- THEN 0 + -- ELSE PATRIMONIO_BF.CTV + -- END AS CtvReale + PATRIMONIO_BF.CTV AS CtvReale + FROM C6MartPeriodicoImmobiliare.PATRIMONIO_BF + INNER JOIN C6MartPeriodicoImmobiliare.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MartPeriodicoImmobiliare.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + AND ANAG_PRODOTTI.COD_ISIN = PATRIMONIO_BF.ISIN + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASU2') + UNION ALL + -- PATRIMONIO ASUL + SELECT + ANAG_PRODOTTI.DESCR_PRODOTTO, + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- +-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN +-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN isnull(PATRIMONIO_BF.NOME_PROGETTO, '') <> '' THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + ELSE '|Progetto investimento' + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + CASE ISNULL(DETTAGLIO_ASUL.COD_ISIN_FITTIZIO, '') --SELEZIONE DEL CODICEPRODOTTO: DETTAGLIO_ASUL.COD_ISIN_FITTIZIO, DETTAGLIO_ASUL.COD_SOTTOPRODOTTO, '$' + WHEN '' THEN DETTAGLIO_ASUL.COD_ISIN_SOTT + ELSE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO + END AS CodiceProdotto, + --- 12/6/2018------------------------------------------------- + '' AS CodiceAdeguatezza, + --------------------------------------------------------------- + -- modifica del 9/7/2018 + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_INTERNO, ''))) AS Piazza, --codiceInterno + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_MAF, ''))) AS CodiceValuta, --codiceMAF + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_SOTTOPRODOTTO, ''))) AS Classe, --codiceSottoprodotto + --'' AS Piazza, + --'' AS CodiceValuta, + -- '' AS Classe, + -- fine modifica del 9/7/2018 + DETTAGLIO_ASUL.CTV AS CtvNominale, + DETTAGLIO_ASUL.CTV AS CtvReale + FROM C6MartPeriodicoImmobiliare.PATRIMONIO_BF + INNER JOIN C6MartPeriodicoImmobiliare.ANAG_PRODOTTI ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + INNER JOIN C6MartPeriodicoImmobiliare.DETTAGLIO_ASUL + ON DETTAGLIO_ASUL.ID_CONTRATTO = PATRIMONIO_BF.ID_CONTRATTO + INNER JOIN C6MartPeriodicoImmobiliare.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASUL') + UNION ALL + -- PATRIMONIO TERZI + SELECT + '' as descr_prodotto, + INTERMEDIARIO.RETE AS Rete, + INTERMEDIARIO.CODICEFISCALE AS CodiceFiscale, + INTERMEDIARIO.PORTAFOGLIO AS Portafoglio, + INTERMEDIARIO.CODICEADEGUATEZZA AS CodiceProdotto, + --- 12/6/2018------------------------------------------------- + --'' AS CodiceAdeguatezza, + --------------------------------------------------------------- + INTERMEDIARIO.CODICEADEGUATEZZA AS CodiceAdeguatezza, --modifica 050520 per anomalie Levi + INTERMEDIARIO.PIAZZA AS Piazza, + INTERMEDIARIO.CODICEVALUTA AS CodiceValuta, + INTERMEDIARIO.CLASSE AS Classe, + INTERMEDIARIO.CONTROVALORE AS CtvNominale, + INTERMEDIARIO.CONTROVALORE AS CtvReale + FROM C6MartPeriodicoImmobiliare.RP_VPROMETEIATERZIINTERMEDIARIO INTERMEDIARIO + INNER JOIN C6MartPeriodicoImmobiliare.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = INTERMEDIARIO.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = INTERMEDIARIO.CODICEFISCALE + UNION ALL + -- PATRIMONIO TERZI X TIPO PRODOTTO + SELECT + '' as descr_prodotto, + CATEGORIAPRODOTTO.RETE AS Rete, + CATEGORIAPRODOTTO.CODICEFISCALE AS CodiceFiscale, + CATEGORIAPRODOTTO.PORTAFOGLIO AS Portafoglio, + CATEGORIAPRODOTTO.CODICEADEGUATEZZA AS CodiceProdotto, + --- 12/6/2018------------------------------------------------- + '' AS CodiceAdeguatezza, + --------------------------------------------------------------- + CATEGORIAPRODOTTO.PIAZZA AS Piazza, + CATEGORIAPRODOTTO.CODICEVALUTA AS CodiceValuta, + CATEGORIAPRODOTTO.CLASSE AS Classe, + CATEGORIAPRODOTTO.CONTROVALORE AS CtvNominale, + CATEGORIAPRODOTTO.CONTROVALORE AS CtvReale + FROM C6MartPeriodicoImmobiliare.RP_VPROMETEIATERZICATEGORIAPRODOTTO CATEGORIAPRODOTTO + INNER JOIN C6MartPeriodicoImmobiliare.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = CATEGORIAPRODOTTO.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = CATEGORIAPRODOTTO.CODICEFISCALE +--V Conti correnti Fideuram +union all +SELECT + 'CC' as descr_prodotto, + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE +-- WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN +-- 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- + WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + 'COMPLESSIVO|BF|CC'-- + PATRIMONIO_BF.POSITION_ID + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'COMPLESSIVO|BF|CC' +-- ELSE +-- 'COMPLESSIVO|BF|' + +-- LEFT(PATRIMONIO_BF.ID_AREA,3) + +-- CASE +-- WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO +-- ELSE '' +-- END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, +-- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA +-- ELSE ANAG_PRODOTTI.COD_ISIN +-- END AS CodiceProdotto, +-- MODIFICA LUCA +-- CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN +-- ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA +-- END + 'EUR' AS CodiceProdotto, + --- 12/6/2018 ---------------------------------------- + '' AS CodiceAdeguatezza, + ----------------------------------------------------------- + -- modifica del 9/7/2018 + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_INTERNO, ''))) AS Piazza, --codiceInterno + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_MAF, ''))) AS CodiceValuta, --codiceMAF + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_SOTTOPRODOTTO, ''))) AS Classe, --codiceSottoprodotto + --'' AS Piazza, + --'' AS CodiceValuta, + -- '' AS Classe, + -- fine modifica del 9/7/2018 + --V FRANCHIGIA CC +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV_NOMINALE +-- END AS CtvNominale, + case when (sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else sum(PATRIMONIO_BF.CTV_NOMINALE) end AS CtvNominale , --0505020 tolto 0.0001 per anomalie Levi +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV +-- END AS CtvReale + case when (sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else sum(PATRIMONIO_BF.CTV) end AS CtvReale --0505020 tolto 0.0001 per anomalie Levi +FROM C6MartPeriodicoImmobiliare.PATRIMONIO_BF + INNER JOIN C6MartPeriodicoImmobiliare.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MartPeriodicoImmobiliare.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('CC') +group by + PATRIMONIO_BF.rete, + PATRIMONIO_BF.cod_fiscale, + CASE ISNULL(ANAG_PRODOTTI.COD_ADEGUATEZZA, '') --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END, + PATRIMONIO_BF.COD_INTERNO, + PATRIMONIO_BF.COD_MAF, + PATRIMONIO_BF.COD_SOTTOPRODOTTO, + CASE +-- WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN +-- 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- + WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + 'COMPLESSIVO|BF|CC'-- + PATRIMONIO_BF.POSITION_ID + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'COMPLESSIVO|BF|CC' +-- ELSE +-- 'COMPLESSIVO|BF|' + +-- LEFT(PATRIMONIO_BF.ID_AREA,3) + +-- CASE +-- WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO +-- ELSE '' +-- END + '|' + PATRIMONIO_BF.POSITION_ID + END \ No newline at end of file diff --git a/sql/Produzione/viste/C6MartPeriodicoImmobiliare_RP_vTuttiIPortafogli_ccLiq.sql b/sql/Produzione/viste/C6MartPeriodicoImmobiliare_RP_vTuttiIPortafogli_ccLiq.sql new file mode 100644 index 00000000..81ab16ae --- /dev/null +++ b/sql/Produzione/viste/C6MartPeriodicoImmobiliare_RP_vTuttiIPortafogli_ccLiq.sql @@ -0,0 +1,147 @@ +-- View +-- View +--modificata per i cc in liq Marianna & Valerio +--Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014 +CREATE VIEW [C6MartPeriodicoImmobiliare].[RP_vTuttiIPortafogli_ccLiq] +AS +SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'RISFIN|NA|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'RISFIN|PIRAMIDE|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, +--INIZIO INTERVENTO OMNIA +-- PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, +-- PATRIMONIO_BF.CTV AS CtvReale + case when PATRIMONIO_BF.ISIN in('EURO00000009', 'EURO10000007') then 0.0000 + else PATRIMONIO_BF.CTV_NOMINALE end AS CtvNominale , + case when PATRIMONIO_BF.ISIN in('EURO00000009', 'EURO10000007') then 0.0000 + else PATRIMONIO_BF.CTV end AS CtvReale +--FINE INTERVENTO OMNIA + FROM C6MartPeriodicoImmobiliare.PATRIMONIO_BF + INNER JOIN C6MartPeriodicoImmobiliare.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MartPeriodicoImmobiliare.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO +--INIZIO INTERVENTO OMNIA +-- WHERE PATRIMONIO_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC','ASU2') + WHERE (PATRIMONIO_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC','ASU2') + AND PATRIMONIO_BF.ID_AREA <> 'SELF') +--FINE INTERVENTO OMNIA + UNION ALL + ---V Modifica per calcolo VaR prodotti ASU2 + SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'RISFIN|NA|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'RISFIN|PIRAMIDE|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + PATRIMONIO_BF.ISIN AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, + PATRIMONIO_BF.CTV AS CtvReale + FROM C6MartPeriodicoImmobiliare.PATRIMONIO_BF + INNER JOIN C6MartPeriodicoImmobiliare.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MartPeriodicoImmobiliare.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + AND ANAG_PRODOTTI.COD_ISIN = PATRIMONIO_BF.ISIN + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASU2') + UNION ALL + -- PATRIMONIO ASUL + SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'RISFIN|NA|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'RISFIN|PIRAMIDE|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + CASE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO --SELEZIONE DEL CODICEPRODOTTO: DETTAGLIO_ASUL.COD_ISIN_FITTIZIO, DETTAGLIO_ASUL.COD_SOTTOPRODOTTO, '$' + WHEN '' THEN DETTAGLIO_ASUL.COD_ISIN_SOTT + ELSE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO + END AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + DETTAGLIO_ASUL.CTV AS CtvNominale, + DETTAGLIO_ASUL.CTV AS CtvReale + FROM C6MartPeriodicoImmobiliare.PATRIMONIO_BF + INNER JOIN C6MartPeriodicoImmobiliare.DETTAGLIO_ASUL + ON DETTAGLIO_ASUL.ID_CONTRATTO = PATRIMONIO_BF.ID_CONTRATTO + INNER JOIN C6MartPeriodicoImmobiliare.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASUL') +union all +SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'RISFIN|PIRAMIDE|Liq'+ '|Cc|'--V TOGLIERE + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + 'EUR' AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + case when (sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0.0001 end AS CtvNominale , + --PATRIMONIO_BF.CTV_NOMINALE, + case when (sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0.0001 end AS CtvReale + --PATRIMONIO_BF.CTV +FROM C6MartPeriodicoImmobiliare.PATRIMONIO_BF + INNER JOIN C6MartPeriodicoImmobiliare.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MartPeriodicoImmobiliare.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('CC') and patrimonio_bf.ctv>0 +group by + PATRIMONIO_BF.rete, + PATRIMONIO_BF.cod_fiscale, + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END, + CASE + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'RISFIN|PIRAMIDE|Liq'+ '|Cc|' --V TOGLIEREEEEEE + PATRIMONIO_BF.POSITION_ID + END \ No newline at end of file diff --git a/sql/Produzione/viste/C6MartPeriodico_ClientiConCCNegativo.sql b/sql/Produzione/viste/C6MartPeriodico_ClientiConCCNegativo.sql new file mode 100644 index 00000000..6c645f87 --- /dev/null +++ b/sql/Produzione/viste/C6MartPeriodico_ClientiConCCNegativo.sql @@ -0,0 +1,7 @@ +CREATE VIEW [C6MartPeriodico].[ClientiConCCNegativo] +AS + SELECT RETE, COD_FISCALE + FROM C6MartPeriodico.PATRIMONIO_BF + WHERE (TIPO_PRODOTTO = 'CC') + GROUP BY RETE, COD_FISCALE + HAVING SUM(CTV) < 0 \ No newline at end of file diff --git a/sql/Produzione/viste/C6MartPeriodico_RP_vContrattiPerGenerazioneReport.sql b/sql/Produzione/viste/C6MartPeriodico_RP_vContrattiPerGenerazioneReport.sql new file mode 100644 index 00000000..8af74f6a --- /dev/null +++ b/sql/Produzione/viste/C6MartPeriodico_RP_vContrattiPerGenerazioneReport.sql @@ -0,0 +1,55 @@ +CREATE VIEW [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] +AS +--select * from C6StagingPeriodico.APPO_CONTRATTI +--select * from vcontrcong0913 where bloccato is null +--* from appovcontratti0913 +select + distinct + a.[chiaveClientePB], + a.[COD_FISCALE], + [COD_MANDATO], + [PIVA_FIDUCIARIA], + [COD_AGENTE], + a.[rete], + [codiceContratto], + [flagRol], + [INDIRIZZO], + [cap], + [CITTA], + [PROVINCIA], + [NAZIONE], + [presso], + [email], + [FREQ_DIAGNOSI], + isnull([FREQ_MONITORAGGIO], 'T') AS FREQ_MONITORAGGIO, + [GENERAZIONEREPORT], + [DATA_INIZIOBASE], + [DATA_FINEBASE], + [DATA_PERF_BASE], + [DATA_PERF], + [DATA_INZIOAVANZATO], + [DATA_FINEAVANZATO], + [RIATTIVAZIONE], + [TIP_CONTRATTO], + [TIP_RIATTIVAZIONE], + [ClienteMIGRATO], + [RISORSENA], + [PROFILOATTIVO], + [NumSolleciti], + [NumRevoche], + [Data_ultimoSollecito], + [Data_ultimaRevoca], + [InvioBenvenuto] +FROM +C6StagingPeriodico.APPO_CONTRATTI_v a +LEFT JOIN + ( + SELECT rete, codiceFiscale FROM [C6MartPeriodico].[tb_SegnalazioniDataQuality] + GROUP BY rete, codiceFiscale + ) t +ON + a.rete = t.rete +AND + a.cod_fiscale = t.codiceFiscale +WHERE 1=1 + and t.codiceFiscale is null \ No newline at end of file diff --git a/sql/Produzione/viste/C6MartPeriodico_RP_vContrattiPerGenerazioneReportTEST.sql b/sql/Produzione/viste/C6MartPeriodico_RP_vContrattiPerGenerazioneReportTEST.sql new file mode 100644 index 00000000..e1aa243d --- /dev/null +++ b/sql/Produzione/viste/C6MartPeriodico_RP_vContrattiPerGenerazioneReportTEST.sql @@ -0,0 +1,74 @@ +--select * from C6MartPeriodico.RP_vContrattiPerGenerazioneReport +--select count(*) from C6MartPeriodico.RP_vContrattiPerGenerazioneReport +CREATE VIEW [C6MartPeriodico].[RP_vContrattiPerGenerazioneReportTEST] +AS +--select * from C6StagingPeriodico.APPO_CONTRATTI +--select * from vcontrcong0913 where bloccato is null +--* from appovcontratti0913 +select + distinct + a.[chiaveClientePB], + a.[COD_FISCALE], + [COD_MANDATO], + [PIVA_FIDUCIARIA], + [COD_AGENTE], + a.[rete], + [codiceContratto], + [flagRol], + [INDIRIZZO], + [cap], + [CITTA], + [PROVINCIA], + [NAZIONE], + [presso], + [email], + [FREQ_DIAGNOSI], + isnull([FREQ_MONITORAGGIO], 'T') AS FREQ_MONITORAGGIO, + [GENERAZIONEREPORT], + [DATA_INIZIOBASE], + [DATA_FINEBASE], + [DATA_PERF_BASE], + [DATA_PERF], + [DATA_INZIOAVANZATO], + [DATA_FINEAVANZATO], + [RIATTIVAZIONE], + [TIP_CONTRATTO], + [TIP_RIATTIVAZIONE], + [ClienteMIGRATO], + [RISORSENA], + [PROFILOATTIVO], + [NumSolleciti], + [NumRevoche], + [Data_ultimoSollecito], + [Data_ultimaRevoca], + [InvioBenvenuto] +FROM + C6StagingPeriodico.APPO_CONTRATTI a +LEFT JOIN + ( + SELECT rete, cod_fiscale FROM c6martperiodico.test_quality + GROUP BY rete, cod_fiscale + ) t +ON + a.rete = t.rete +AND + a.cod_fiscale = t.cod_fiscale +WHERE 1=1 + and t.cod_fiscale is null +and a.cod_fiscale = 'GSPNGL31C04B157Q' +--and a.COD_FISCALE in +--( +--'GSTGPL59P03B586G', +--'SNTMLE45A22B300M', +-- +--'BCHRRT54L12G999R', +--'BNCRRT34C30D612C', +--'BNIFNC55A04G999O', +--'BRGMSM68S20D869Z', +--'BRNLFR41R12B564B', +--'CHCLRA53P63C847G', +--'CRNPRZ46B14D612J', +--'CRZMRA47R50G337Y', +--'FBRDNL53E63L736K', +--'GTTNRC39H15F336S' +--) \ No newline at end of file diff --git a/sql/Produzione/viste/C6MartPeriodico_RP_vContrattiPerGenerazioneReport_20170407.SAVE.sql b/sql/Produzione/viste/C6MartPeriodico_RP_vContrattiPerGenerazioneReport_20170407.SAVE.sql new file mode 100644 index 00000000..53f7987e --- /dev/null +++ b/sql/Produzione/viste/C6MartPeriodico_RP_vContrattiPerGenerazioneReport_20170407.SAVE.sql @@ -0,0 +1,73 @@ +--select * from C6MartPeriodico.RP_vContrattiPerGenerazioneReport +--select count(*) from C6MartPeriodico.RP_vContrattiPerGenerazioneReport +CREATE VIEW [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport_20170407.SAVE] +AS +--select * from C6StagingPeriodico.APPO_CONTRATTI +--select * from vcontrcong0913 where bloccato is null +--* from appovcontratti0913 +select + distinct + a.[chiaveClientePB], + a.[COD_FISCALE], + [COD_MANDATO], + [PIVA_FIDUCIARIA], + [COD_AGENTE], + a.[rete], + [codiceContratto], + [flagRol], + [INDIRIZZO], + [cap], + [CITTA], + [PROVINCIA], + [NAZIONE], + [presso], + [email], + [FREQ_DIAGNOSI], + isnull([FREQ_MONITORAGGIO], 'T') AS FREQ_MONITORAGGIO, + [GENERAZIONEREPORT], + [DATA_INIZIOBASE], + [DATA_FINEBASE], + [DATA_PERF_BASE], + [DATA_PERF], + [DATA_INZIOAVANZATO], + [DATA_FINEAVANZATO], + [RIATTIVAZIONE], + [TIP_CONTRATTO], + [TIP_RIATTIVAZIONE], + [ClienteMIGRATO], + [RISORSENA], + [PROFILOATTIVO], + [NumSolleciti], + [NumRevoche], + [Data_ultimoSollecito], + [Data_ultimaRevoca], + [InvioBenvenuto] +FROM +C6StagingPeriodico.APPO_CONTRATTI a +LEFT JOIN + ( + SELECT rete, codiceFiscale FROM [C6MartPeriodico].[tb_SegnalazioniDataQuality] + GROUP BY rete, codiceFiscale + ) t +ON + a.rete = t.rete +AND + a.cod_fiscale = t.codiceFiscale +WHERE 1=1 + and t.codiceFiscale is null +--and a.COD_FISCALE in +--( +--'GSTGPL59P03B586G', +--'SNTMLE45A22B300M', +-- +--'BCHRRT54L12G999R', +--'BNCRRT34C30D612C', +--'BNIFNC55A04G999O', +--'BRGMSM68S20D869Z', +--'BRNLFR41R12B564B', +--'CHCLRA53P63C847G', +--'CRNPRZ46B14D612J', +--'CRZMRA47R50G337Y', +--'FBRDNL53E63L736K', +--'GTTNRC39H15F336S' +--) \ No newline at end of file diff --git a/sql/Produzione/viste/C6MartPeriodico_RP_vPrometeiaTerziCategoriaProdotto.sql b/sql/Produzione/viste/C6MartPeriodico_RP_vPrometeiaTerziCategoriaProdotto.sql new file mode 100644 index 00000000..784ed63b --- /dev/null +++ b/sql/Produzione/viste/C6MartPeriodico_RP_vPrometeiaTerziCategoriaProdotto.sql @@ -0,0 +1,135 @@ +CREATE VIEW [C6MartPeriodico].[RP_vPrometeiaTerziCategoriaProdotto] +AS +SELECT + TUTTI.RETE AS Rete, + TUTTI.CODICEFISCALE AS CodiceFiscale, + TUTTI.PORTAFOGLIO AS Portafoglio, + TUTTI.COD_ISIN AS CodiceIsin, + TUTTI.COD_ADEGUATEZZA AS CodiceAdeguatezza, + TUTTI.COD_MAF AS CodiceMaf, + TUTTI.COD_INTERNO AS CodiceInterno, + TUTTI.COD_SOTTOPRODOTTO AS CodiceSottoprodotto, + TUTTI.PIAZZA AS Piazza, + TUTTI.CODICEVALUTA AS Codicevaluta, + TUTTI.CLASSE AS Classe, + SUM(TUTTI.CONTROVALORE) AS Controvalore, + TUTTI.ESTRAZIONE AS Estrazione +FROM ( + -- 1. ASSET PER DATI PATRIMONIO TERZI NON IN CATALOGO + SELECT + 'DATI NON IN CATALOGO' AS ESTRAZIONE, + PATRIMONIO_TERZI.RETE AS RETE, + PATRIMONIO_TERZI.COD_FISCALE AS CODICEFISCALE, + 'TIPOPRODTERZI|TERZI|' + + ISNULL(PATRIMONIO_TERZI.DESCR_GRUPPO_PRODOTTO, PATRIMONIO_TERZI.TIPO_PRODOTTO) + + '|' + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI AS PORTAFOGLIO, + ASSETCLASS_TERZI.COD_ISIN AS COD_ISIN, + ASSETCLASS_TERZI.COD_ADEGUATEZZA AS COD_ADEGUATEZZA, + ASSETCLASS_TERZI.COD_MAF AS COD_MAF, + '' AS COD_INTERNO, + '' AS COD_SOTTOPRODOTTO, + '' AS PIAZZA, + '' AS CODICEVALUTA, + '' AS CLASSE, + (PATRIMONIO_TERZI.CTV * ASSET_PERC_TERZI.PERC) AS CONTROVALORE + FROM + C6MartPeriodico.ASSET_PERC_TERZI + INNER JOIN + C6MartPeriodico.ASSETCLASS_TERZI + ON + ASSET_PERC_TERZI.ID_ASSETCLASS = ASSETCLASS_TERZI.ID_ASSETCLASS + INNER JOIN + C6MartPeriodico.PATRIMONIO_TERZI + ON + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI = ASSET_PERC_TERZI.COD_PRODOTTO_TERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI + ON + ANAG_PRODOTTI_TERZI.COD_PRODOTTO_TERZI = PATRIMONIO_TERZI.COD_PRODOTTO_TERZI + WHERE + ASSET_PERC_TERZI.LIVELLO = 2 +-- AND NOT ( +-- PATRIMONIO_TERZI.TIPO_PRODOTTO = 'Conti correnti' +-- AND ANAG_PRODOTTI_TERZI.DESCR_PRODOTTO = 'Assets.FinancialAssets.CurrentAccount' +-- ) + UNION ALL + -- 2. ASSET PER DATI PATRIMONIO TERZI IN CATALOGO + SELECT + 'DATI IN CATALOGO' AS ESTRAZIONE, + PATRIMONIO_TERZI.RETE AS RETE, + PATRIMONIO_TERZI.COD_FISCALE AS CODICEFISCALE, + 'TIPOPRODTERZI|TERZI|' + + ISNULL(PATRIMONIO_TERZI.DESCR_GRUPPO_PRODOTTO, PATRIMONIO_TERZI.TIPO_PRODOTTO) + + '|' + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI AS PORTAFOGLIO, + ANAG_PRODOTTI.COD_ISIN AS COD_ISIN, + ANAG_PRODOTTI.COD_ADEGUATEZZA AS COD_ADEGUATEZZA, + ANAG_PRODOTTI.COD_MAF AS COD_MAF, + ANAG_PRODOTTI.COD_INTERNO AS COD_INTERNO, + ANAG_PRODOTTI.COD_SOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + '' AS PIAZZA, + '' AS CODICEVALUTA, + '' AS CLASSE, + (PATRIMONIO_TERZI.CTV * ISNULL(ASSET_PERC.PERC,1)) AS CONTROVALORE + FROM + C6MartPeriodico.PATRIMONIO_TERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI + ON + ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_TERZI.COD_PRODOTTO + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC + ON + ASSET_PERC.COD_PRODOTTO = PATRIMONIO_TERZI.COD_PRODOTTO + AND ASSET_PERC.LIVELLO = 2 + UNION ALL + -- 3 ASSET NON ESISTENTI PER DATI PATRIMONIO TERZI DEL CATALOGO CON ADEGUATEZZA A NULL (SETTATI AD ALTRO PER CONVENZIONE) + SELECT + 'DATI IN CATALOGO CON COD_ADEGUATEZZA NULL E ASSET NON VALORIZZATO' AS ESTRAZIONE, + PATRIMONIO_TERZI.RETE AS RETE, + PATRIMONIO_TERZI.COD_FISCALE AS CODICEFISCALE, + 'TIPOPRODTERZI|TERZI|' + + ISNULL(PATRIMONIO_TERZI.DESCR_GRUPPO_PRODOTTO, PATRIMONIO_TERZI.TIPO_PRODOTTO) + + '|' + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI AS PORTAFOGLIO, + ASSETCLASS_TERZI.COD_ISIN AS COD_ISIN, + ASSETCLASS_TERZI.COD_ADEGUATEZZA AS COD_ADEGUATEZZA, + ASSETCLASS_TERZI.COD_MAF AS COD_MAF, + '' AS COD_INTERNO, + '' AS COD_SOTTOPRODOTTO, + '' AS PIAZZA, + '' AS CODICEVALUTA, + '' AS CLASSE, +--INIZIO 09012014_MV Correzione anomalia +-- (PATRIMONIO_TERZI.CTV * ASSET_PERC.PERC) AS CONTROVALORE + (PATRIMONIO_TERZI.CTV * ISNULL(ASSET_PERC.PERC,1)) AS CONTROVALORE +--FINE 09012014_MV Correzione anomalia + FROM + C6MartPeriodico.PATRIMONIO_TERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI + ON + ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_TERZI.COD_PRODOTTO + LEFT JOIN + C6MartPeriodico.ASSET_PERC + ON + ASSET_PERC.COD_PRODOTTO = PATRIMONIO_TERZI.COD_PRODOTTO + INNER JOIN + C6MartPeriodico.ASSETCLASS_TERZI + ON + ASSETCLASS_TERZI.ID_ASSETCLASS = 'AL1' + WHERE + ISNULL(ANAG_PRODOTTI.COD_ADEGUATEZZA, '') = '' + AND ASSET_PERC.COD_PRODOTTO IS NULL +) TUTTI +GROUP BY + TUTTI.ESTRAZIONE, + TUTTI.RETE, + TUTTI.CODICEFISCALE, + TUTTI.PORTAFOGLIO, + TUTTI.COD_ISIN, + TUTTI.COD_ADEGUATEZZA, + TUTTI.COD_MAF, + TUTTI.COD_INTERNO, + TUTTI.COD_SOTTOPRODOTTO, + TUTTI.PIAZZA, + TUTTI.CODICEVALUTA, + TUTTI.CLASSE \ No newline at end of file diff --git a/sql/Produzione/viste/C6MartPeriodico_RP_vPrometeiaTerziCategoriaProdotto_aladdin.sql b/sql/Produzione/viste/C6MartPeriodico_RP_vPrometeiaTerziCategoriaProdotto_aladdin.sql new file mode 100644 index 00000000..6f367009 --- /dev/null +++ b/sql/Produzione/viste/C6MartPeriodico_RP_vPrometeiaTerziCategoriaProdotto_aladdin.sql @@ -0,0 +1,177 @@ +CREATE VIEW [C6MartPeriodico].[RP_vPrometeiaTerziCategoriaProdotto_aladdin] +AS +SELECT + TUTTI.RETE AS Rete, + TUTTI.CODICEFISCALE AS CodiceFiscale, + TUTTI.PORTAFOGLIO AS Portafoglio, + -------------------------------------- + tutti.TIPOptf as TIPOptf, + tutti.COD_PRODOTTO_TERZI as COD_PRODOTTO_TERZI, + tutti.ASSET_TERZI as Asset_Terzi, + tutti.FAMPRODT as FAMPRODT, + --------------------------------------- + TUTTI.COD_ISIN AS CodiceIsin, + TUTTI.COD_ADEGUATEZZA AS CodiceAdeguatezza, + TUTTI.COD_MAF AS CodiceMaf, + TUTTI.COD_INTERNO AS CodiceInterno, + TUTTI.COD_SOTTOPRODOTTO AS CodiceSottoprodotto, + TUTTI.PIAZZA AS Piazza, + TUTTI.CODICEVALUTA AS Codicevaluta, + TUTTI.CLASSE AS Classe, + SUM(TUTTI.CONTROVALORE) AS Controvalore, + TUTTI.ESTRAZIONE AS Estrazione, + TUTTI.COD_PRODOTTO AS Cod_Prodotto +FROM ( + --34024 + -- 1. ASSET PER DATI PATRIMONIO TERZI NON IN CATALOGO + SELECT + 'DATI NON IN CATALOGO' AS ESTRAZIONE, + PATRIMONIO_TERZI.RETE AS RETE, + PATRIMONIO_TERZI.COD_FISCALE AS CODICEFISCALE, + 'TIPOPRODTERZI|TERZI|' + + ISNULL(PATRIMONIO_TERZI.DESCR_GRUPPO_PRODOTTO, PATRIMONIO_TERZI.TIPO_PRODOTTO) + + '|' + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI AS PORTAFOGLIO, + -------------------------- + 'TIPOPRODTERZI|TERZI' as TIPOptf, + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI as COD_PRODOTTO_TERZI, + --ASSETCLASS_TERZI.COD_ADEGUATEZZA + 'Asset' as ASSET_TERZI, + ISNULL(PATRIMONIO_TERZI.DESCR_GRUPPO_PRODOTTO, PATRIMONIO_TERZI.TIPO_PRODOTTO) as FAMPRODT, + ------------------------ + --ASSETCLASS_TERZI.COD_ISIN + '' AS COD_ISIN, + --ASSETCLASS_TERZI.COD_ADEGUATEZZA + '' AS COD_ADEGUATEZZA, + --ASSETCLASS_TERZI.COD_MAF + ''AS COD_MAF, + '' AS COD_INTERNO, + '' AS COD_SOTTOPRODOTTO, + '' AS PIAZZA, + '' AS CODICEVALUTA, + '' AS CLASSE, + (PATRIMONIO_TERZI.CTV * ASSET_PERC_TERZI.PERC) AS CONTROVALORE + ,PATRIMONIO_TERZI.COD_PRODOTTO AS COD_PRODOTTO + FROM + C6MartPeriodico.ASSET_PERC_TERZI + INNER JOIN + C6MartPeriodico.ASSETCLASS_TERZI + ON + ASSET_PERC_TERZI.ID_ASSETCLASS = ASSETCLASS_TERZI.ID_ASSETCLASS + INNER JOIN + C6MartPeriodico.PATRIMONIO_TERZI + ON + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI = ASSET_PERC_TERZI.COD_PRODOTTO_TERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI + ON + ANAG_PRODOTTI_TERZI.COD_PRODOTTO_TERZI = PATRIMONIO_TERZI.COD_PRODOTTO_TERZI + WHERE + ASSET_PERC_TERZI.LIVELLO = 2 +-- AND NOT ( +-- PATRIMONIO_TERZI.TIPO_PRODOTTO = 'Conti correnti' +-- AND ANAG_PRODOTTI_TERZI.DESCR_PRODOTTO = 'Assets.FinancialAssets.CurrentAccount' +-- ) + UNION ALL + --76400 + -- 2. ASSET PER DATI PATRIMONIO TERZI IN CATALOGO + SELECT + 'DATI IN CATALOGO' AS ESTRAZIONE, + PATRIMONIO_TERZI.RETE AS RETE, + PATRIMONIO_TERZI.COD_FISCALE AS CODICEFISCALE, + 'TIPOPRODTERZI|TERZI|' + + ISNULL(PATRIMONIO_TERZI.DESCR_GRUPPO_PRODOTTO, PATRIMONIO_TERZI.TIPO_PRODOTTO) + + '|' + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI AS PORTAFOGLIO, + ------------------------ + 'TIPOPRODTERZI|TERZI' as TIPOptf, + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI as COD_PRODOTTO_TERZI, + '' as ASSET_TERZI, + ISNULL(PATRIMONIO_TERZI.DESCR_GRUPPO_PRODOTTO, PATRIMONIO_TERZI.TIPO_PRODOTTO) as FAMPRODT, + ------------------------ + ANAG_PRODOTTI.COD_ISIN AS COD_ISIN, + ANAG_PRODOTTI.COD_ADEGUATEZZA AS COD_ADEGUATEZZA, + ANAG_PRODOTTI.COD_MAF AS COD_MAF, + ANAG_PRODOTTI.COD_INTERNO AS COD_INTERNO, + ANAG_PRODOTTI.COD_SOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + '' AS PIAZZA, + '' AS CODICEVALUTA, + '' AS CLASSE, + (PATRIMONIO_TERZI.CTV * ISNULL(ASSET_PERC.PERC,1)) AS CONTROVALORE + ,PATRIMONIO_TERZI.COD_PRODOTTO AS COD_PRODOTTO + FROM + C6MartPeriodico.PATRIMONIO_TERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI + ON + ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_TERZI.COD_PRODOTTO + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC + ON + ASSET_PERC.COD_PRODOTTO = PATRIMONIO_TERZI.COD_PRODOTTO + AND ASSET_PERC.LIVELLO = 2 + UNION ALL + --178 + -- 3 ASSET NON ESISTENTI PER DATI PATRIMONIO TERZI DEL CATALOGO CON ADEGUATEZZA A NULL (SETTATI AD ALTRO PER CONVENZIONE) + SELECT + 'DATI IN CATALOGO CON COD_ADEGUATEZZA NULL E ASSET NON VALORIZZATO' AS ESTRAZIONE, + PATRIMONIO_TERZI.RETE AS RETE, + PATRIMONIO_TERZI.COD_FISCALE AS CODICEFISCALE, + 'TIPOPRODTERZI|TERZI|' + + ISNULL(PATRIMONIO_TERZI.DESCR_GRUPPO_PRODOTTO, PATRIMONIO_TERZI.TIPO_PRODOTTO) + + '|' + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI AS PORTAFOGLIO, + --------------------------------- + 'TIPOPRODTERZI|TERZI' as TIPOptf, + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI as COD_PRODOTTO_TERZI, + '' as ASSET_TERZI, + ISNULL(PATRIMONIO_TERZI.DESCR_GRUPPO_PRODOTTO, PATRIMONIO_TERZI.TIPO_PRODOTTO) as FAMPRODT, + ---------------------------- + ASSETCLASS_TERZI.COD_ISIN AS COD_ISIN, + ASSETCLASS_TERZI.COD_ADEGUATEZZA AS COD_ADEGUATEZZA, + ASSETCLASS_TERZI.COD_MAF AS COD_MAF, + '' AS COD_INTERNO, + '' AS COD_SOTTOPRODOTTO, + '' AS PIAZZA, + '' AS CODICEVALUTA, + '' AS CLASSE, +--INIZIO 09012014_MV Correzione anomalia +-- (PATRIMONIO_TERZI.CTV * ASSET_PERC.PERC) AS CONTROVALORE + (PATRIMONIO_TERZI.CTV * ISNULL(ASSET_PERC.PERC,1)) AS CONTROVALORE + ,PATRIMONIO_TERZI.COD_PRODOTTO AS COD_PRODOTTO +--FINE 09012014_MV Correzione anomalia + FROM + C6MartPeriodico.PATRIMONIO_TERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI + ON + ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_TERZI.COD_PRODOTTO + LEFT JOIN + C6MartPeriodico.ASSET_PERC + ON + ASSET_PERC.COD_PRODOTTO = PATRIMONIO_TERZI.COD_PRODOTTO + INNER JOIN + C6MartPeriodico.ASSETCLASS_TERZI + ON + ASSETCLASS_TERZI.ID_ASSETCLASS = 'AL1' + WHERE + ISNULL(ANAG_PRODOTTI.COD_ADEGUATEZZA, '') = '' + AND ASSET_PERC.COD_PRODOTTO IS NULL +) TUTTI +GROUP BY + TUTTI.ESTRAZIONE, + TUTTI.RETE, + TUTTI.CODICEFISCALE, + TUTTI.PORTAFOGLIO, + ------------------- + tutti.TIPOptf , + tutti.COD_PRODOTTO_TERZI, + tutti.ASSET_TERZI , + tutti.FAMPRODT , + -------------------------- + TUTTI.COD_ISIN, + TUTTI.COD_ADEGUATEZZA, + TUTTI.COD_MAF, + TUTTI.COD_INTERNO, + TUTTI.COD_SOTTOPRODOTTO, + TUTTI.PIAZZA, + TUTTI.CODICEVALUTA, + TUTTI.CLASSE, + TUTTI.COD_PRODOTTO \ No newline at end of file diff --git a/sql/Produzione/viste/C6MartPeriodico_RP_vPrometeiaTerziCategoriaProdotto_aladdin_bkp_20250305.sql b/sql/Produzione/viste/C6MartPeriodico_RP_vPrometeiaTerziCategoriaProdotto_aladdin_bkp_20250305.sql new file mode 100644 index 00000000..1481a727 --- /dev/null +++ b/sql/Produzione/viste/C6MartPeriodico_RP_vPrometeiaTerziCategoriaProdotto_aladdin_bkp_20250305.sql @@ -0,0 +1,172 @@ +CREATE VIEW [C6MartPeriodico].[RP_vPrometeiaTerziCategoriaProdotto_aladdin_bkp_20250305] +AS +SELECT + TUTTI.RETE AS Rete, + TUTTI.CODICEFISCALE AS CodiceFiscale, + TUTTI.PORTAFOGLIO AS Portafoglio, + -------------------------------------- + tutti.TIPOptf as TIPOptf, + tutti.COD_PRODOTTO_TERZI as COD_PRODOTTO_TERZI, + tutti.ASSET_TERZI as Asset_Terzi, + tutti.FAMPRODT as FAMPRODT, + --------------------------------------- + TUTTI.COD_ISIN AS CodiceIsin, + TUTTI.COD_ADEGUATEZZA AS CodiceAdeguatezza, + TUTTI.COD_MAF AS CodiceMaf, + TUTTI.COD_INTERNO AS CodiceInterno, + TUTTI.COD_SOTTOPRODOTTO AS CodiceSottoprodotto, + TUTTI.PIAZZA AS Piazza, + TUTTI.CODICEVALUTA AS Codicevaluta, + TUTTI.CLASSE AS Classe, + SUM(TUTTI.CONTROVALORE) AS Controvalore, + TUTTI.ESTRAZIONE AS Estrazione +FROM ( + --34024 + -- 1. ASSET PER DATI PATRIMONIO TERZI NON IN CATALOGO + SELECT + 'DATI NON IN CATALOGO' AS ESTRAZIONE, + PATRIMONIO_TERZI.RETE AS RETE, + PATRIMONIO_TERZI.COD_FISCALE AS CODICEFISCALE, + 'TIPOPRODTERZI|TERZI|' + + ISNULL(PATRIMONIO_TERZI.DESCR_GRUPPO_PRODOTTO, PATRIMONIO_TERZI.TIPO_PRODOTTO) + + '|' + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI AS PORTAFOGLIO, + -------------------------- + 'TIPOPRODTERZI|TERZI' as TIPOptf, + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI as COD_PRODOTTO_TERZI, + --ASSETCLASS_TERZI.COD_ADEGUATEZZA + 'Asset' as ASSET_TERZI, + ISNULL(PATRIMONIO_TERZI.DESCR_GRUPPO_PRODOTTO, PATRIMONIO_TERZI.TIPO_PRODOTTO) as FAMPRODT, + ------------------------ + --ASSETCLASS_TERZI.COD_ISIN + '' AS COD_ISIN, + --ASSETCLASS_TERZI.COD_ADEGUATEZZA + '' AS COD_ADEGUATEZZA, + --ASSETCLASS_TERZI.COD_MAF + ''AS COD_MAF, + '' AS COD_INTERNO, + '' AS COD_SOTTOPRODOTTO, + '' AS PIAZZA, + '' AS CODICEVALUTA, + '' AS CLASSE, + (PATRIMONIO_TERZI.CTV * ASSET_PERC_TERZI.PERC) AS CONTROVALORE + FROM + C6MartPeriodico.ASSET_PERC_TERZI + INNER JOIN + C6MartPeriodico.ASSETCLASS_TERZI + ON + ASSET_PERC_TERZI.ID_ASSETCLASS = ASSETCLASS_TERZI.ID_ASSETCLASS + INNER JOIN + C6MartPeriodico.PATRIMONIO_TERZI + ON + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI = ASSET_PERC_TERZI.COD_PRODOTTO_TERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI + ON + ANAG_PRODOTTI_TERZI.COD_PRODOTTO_TERZI = PATRIMONIO_TERZI.COD_PRODOTTO_TERZI + WHERE + ASSET_PERC_TERZI.LIVELLO = 2 +-- AND NOT ( +-- PATRIMONIO_TERZI.TIPO_PRODOTTO = 'Conti correnti' +-- AND ANAG_PRODOTTI_TERZI.DESCR_PRODOTTO = 'Assets.FinancialAssets.CurrentAccount' +-- ) + UNION ALL + --76400 + -- 2. ASSET PER DATI PATRIMONIO TERZI IN CATALOGO + SELECT + 'DATI IN CATALOGO' AS ESTRAZIONE, + PATRIMONIO_TERZI.RETE AS RETE, + PATRIMONIO_TERZI.COD_FISCALE AS CODICEFISCALE, + 'TIPOPRODTERZI|TERZI|' + + ISNULL(PATRIMONIO_TERZI.DESCR_GRUPPO_PRODOTTO, PATRIMONIO_TERZI.TIPO_PRODOTTO) + + '|' + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI AS PORTAFOGLIO, + ------------------------ + 'TIPOPRODTERZI|TERZI' as TIPOptf, + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI as COD_PRODOTTO_TERZI, + '' as ASSET_TERZI, + ISNULL(PATRIMONIO_TERZI.DESCR_GRUPPO_PRODOTTO, PATRIMONIO_TERZI.TIPO_PRODOTTO) as FAMPRODT, + ------------------------ + ANAG_PRODOTTI.COD_ISIN AS COD_ISIN, + ANAG_PRODOTTI.COD_ADEGUATEZZA AS COD_ADEGUATEZZA, + ANAG_PRODOTTI.COD_MAF AS COD_MAF, + ANAG_PRODOTTI.COD_INTERNO AS COD_INTERNO, + ANAG_PRODOTTI.COD_SOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + '' AS PIAZZA, + '' AS CODICEVALUTA, + '' AS CLASSE, + (PATRIMONIO_TERZI.CTV * ISNULL(ASSET_PERC.PERC,1)) AS CONTROVALORE + FROM + C6MartPeriodico.PATRIMONIO_TERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI + ON + ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_TERZI.COD_PRODOTTO + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC + ON + ASSET_PERC.COD_PRODOTTO = PATRIMONIO_TERZI.COD_PRODOTTO + AND ASSET_PERC.LIVELLO = 2 + UNION ALL + --178 + -- 3 ASSET NON ESISTENTI PER DATI PATRIMONIO TERZI DEL CATALOGO CON ADEGUATEZZA A NULL (SETTATI AD ALTRO PER CONVENZIONE) + SELECT + 'DATI IN CATALOGO CON COD_ADEGUATEZZA NULL E ASSET NON VALORIZZATO' AS ESTRAZIONE, + PATRIMONIO_TERZI.RETE AS RETE, + PATRIMONIO_TERZI.COD_FISCALE AS CODICEFISCALE, + 'TIPOPRODTERZI|TERZI|' + + ISNULL(PATRIMONIO_TERZI.DESCR_GRUPPO_PRODOTTO, PATRIMONIO_TERZI.TIPO_PRODOTTO) + + '|' + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI AS PORTAFOGLIO, + --------------------------------- + 'TIPOPRODTERZI|TERZI' as TIPOptf, + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI as COD_PRODOTTO_TERZI, + '' as ASSET_TERZI, + ISNULL(PATRIMONIO_TERZI.DESCR_GRUPPO_PRODOTTO, PATRIMONIO_TERZI.TIPO_PRODOTTO) as FAMPRODT, + ---------------------------- + ASSETCLASS_TERZI.COD_ISIN AS COD_ISIN, + ASSETCLASS_TERZI.COD_ADEGUATEZZA AS COD_ADEGUATEZZA, + ASSETCLASS_TERZI.COD_MAF AS COD_MAF, + '' AS COD_INTERNO, + '' AS COD_SOTTOPRODOTTO, + '' AS PIAZZA, + '' AS CODICEVALUTA, + '' AS CLASSE, +--INIZIO 09012014_MV Correzione anomalia +-- (PATRIMONIO_TERZI.CTV * ASSET_PERC.PERC) AS CONTROVALORE + (PATRIMONIO_TERZI.CTV * ISNULL(ASSET_PERC.PERC,1)) AS CONTROVALORE +--FINE 09012014_MV Correzione anomalia + FROM + C6MartPeriodico.PATRIMONIO_TERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI + ON + ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_TERZI.COD_PRODOTTO + LEFT JOIN + C6MartPeriodico.ASSET_PERC + ON + ASSET_PERC.COD_PRODOTTO = PATRIMONIO_TERZI.COD_PRODOTTO + INNER JOIN + C6MartPeriodico.ASSETCLASS_TERZI + ON + ASSETCLASS_TERZI.ID_ASSETCLASS = 'AL1' + WHERE + ISNULL(ANAG_PRODOTTI.COD_ADEGUATEZZA, '') = '' + AND ASSET_PERC.COD_PRODOTTO IS NULL +) TUTTI +GROUP BY + TUTTI.ESTRAZIONE, + TUTTI.RETE, + TUTTI.CODICEFISCALE, + TUTTI.PORTAFOGLIO, + ------------------- + tutti.TIPOptf , + tutti.COD_PRODOTTO_TERZI, + tutti.ASSET_TERZI , + tutti.FAMPRODT , + -------------------------- + TUTTI.COD_ISIN, + TUTTI.COD_ADEGUATEZZA, + TUTTI.COD_MAF, + TUTTI.COD_INTERNO, + TUTTI.COD_SOTTOPRODOTTO, + TUTTI.PIAZZA, + TUTTI.CODICEVALUTA, + TUTTI.CLASSE \ No newline at end of file diff --git a/sql/Produzione/viste/C6MartPeriodico_RP_vPrometeiaTerziIntermediario.sql b/sql/Produzione/viste/C6MartPeriodico_RP_vPrometeiaTerziIntermediario.sql new file mode 100644 index 00000000..8429e661 --- /dev/null +++ b/sql/Produzione/viste/C6MartPeriodico_RP_vPrometeiaTerziIntermediario.sql @@ -0,0 +1,177 @@ +-- View +CREATE VIEW [C6MartPeriodico].[RP_vPrometeiaTerziIntermediario] +AS +SELECT + TUTTI.RETE AS Rete, + TUTTI.CODICEFISCALE AS CodiceFiscale, + TUTTI.PORTAFOGLIO AS Portafoglio, + TUTTI.INTERMEDIARIO AS Intermediario, + TUTTI.COD_ISIN AS CodiceIsin, + TUTTI.COD_ADEGUATEZZA AS CodiceAdeguatezza, + TUTTI.COD_MAF AS CodiceMaf, + TUTTI.COD_INTERNO AS CodiceInterno, + TUTTI.COD_SOTTOPRODOTTO AS CodiceSottoprodotto, + TUTTI.PIAZZA AS Piazza, + TUTTI.CODICEVALUTA AS Codicevaluta, + TUTTI.CLASSE AS Classe, + SUM(TUTTI.CONTROVALORE) AS Controvalore, + TUTTI.ESTRAZIONE AS Estrazione +FROM ( + -- 1. ASSET PER DATI PATRIMONIO TERZI NON IN CATALOGO + SELECT + 'DATI NON IN CATALOGO' AS ESTRAZIONE, + PATRIMONIO_TERZI.RETE AS RETE, + PATRIMONIO_TERZI.COD_FISCALE AS CODICEFISCALE, + 'COMPLESSIVO|TERZI|' + PATRIMONIO_TERZI.INTERMEDIARIO + '|' + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI AS PORTAFOGLIO, + PATRIMONIO_TERZI.INTERMEDIARIO AS INTERMEDIARIO, + ASSETCLASS_TERZI.COD_ISIN AS COD_ISIN, + ASSETCLASS_TERZI.COD_ADEGUATEZZA AS COD_ADEGUATEZZA, + ASSETCLASS_TERZI.COD_MAF AS COD_MAF, + '' AS COD_INTERNO, + '' AS COD_SOTTOPRODOTTO, + '' AS PIAZZA, + '' AS CODICEVALUTA, + '' AS CLASSE, + (PATRIMONIO_TERZI.CTV * ASSET_PERC_TERZI.PERC) AS CONTROVALORE + FROM + C6MartPeriodico.ASSET_PERC_TERZI + INNER JOIN + C6MartPeriodico.ASSETCLASS_TERZI + ON + ASSET_PERC_TERZI.ID_ASSETCLASS = ASSETCLASS_TERZI.ID_ASSETCLASS + INNER JOIN + C6MartPeriodico.PATRIMONIO_TERZI + ON + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI = ASSET_PERC_TERZI.COD_PRODOTTO_TERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI + ON + ANAG_PRODOTTI_TERZI.COD_PRODOTTO_TERZI = PATRIMONIO_TERZI.COD_PRODOTTO_TERZI + WHERE + ASSET_PERC_TERZI.LIVELLO = 2 +-- AND NOT ( +-- PATRIMONIO_TERZI.TIPO_PRODOTTO = 'Conti correnti' +-- AND ANAG_PRODOTTI_TERZI.DESCR_PRODOTTO = 'Assets.FinancialAssets.CurrentAccount' +-- ) + UNION ALL + -- 2. ASSET PER DATI PATRIMONIO TERZI IN CATALOGO + SELECT + 'DATI IN CATALOGO' AS ESTRAZIONE, + PATRIMONIO_TERZI.RETE AS RETE, + PATRIMONIO_TERZI.COD_FISCALE AS CODICEFISCALE, + 'COMPLESSIVO|TERZI|' + PATRIMONIO_TERZI.INTERMEDIARIO + '|' + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI AS PORTAFOGLIO, + PATRIMONIO_TERZI.INTERMEDIARIO AS INTERMEDIARIO, + ANAG_PRODOTTI.COD_ISIN AS COD_ISIN, + ANAG_PRODOTTI.COD_ADEGUATEZZA AS COD_ADEGUATEZZA, + ANAG_PRODOTTI.COD_MAF AS COD_MAF, + ANAG_PRODOTTI.COD_INTERNO AS COD_INTERNO, + ANAG_PRODOTTI.COD_SOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + '' AS PIAZZA, + '' AS CODICEVALUTA, + '' AS CLASSE, + (PATRIMONIO_TERZI.CTV * ISNULL(ASSET_PERC.PERC,1)) AS CONTROVALORE + FROM + C6MartPeriodico.PATRIMONIO_TERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI + ON + ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_TERZI.COD_PRODOTTO + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC + ON + ASSET_PERC.COD_PRODOTTO = PATRIMONIO_TERZI.COD_PRODOTTO + AND ASSET_PERC.LIVELLO = 2 + UNION ALL + -- 3 ASSET NON ESISTENTI PER DATI PATRIMONIO TERZI DEL CATALOGO CON ADEGUATEZZA A NULL (SETTATI AD ALTRO PER CONVENZIONE) + SELECT + 'DATI IN CATALOGO CON COD_ADEGUATEZZA NULL E ASSET NON VALORIZZATO' AS ESTRAZIONE, + PATRIMONIO_TERZI.RETE AS RETE, + PATRIMONIO_TERZI.COD_FISCALE AS CODICEFISCALE, + 'COMPLESSIVO|TERZI|' + PATRIMONIO_TERZI.INTERMEDIARIO + '|' + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI AS PORTAFOGLIO, + PATRIMONIO_TERZI.INTERMEDIARIO AS INTERMEDIARIO, + ASSETCLASS_TERZI.COD_ISIN AS COD_ISIN, + ASSETCLASS_TERZI.COD_ADEGUATEZZA AS COD_ADEGUATEZZA, + ASSETCLASS_TERZI.COD_MAF AS COD_MAF, + '' AS COD_INTERNO, + '' AS COD_SOTTOPRODOTTO, + '' AS PIAZZA, + '' AS CODICEVALUTA, + '' AS CLASSE, +--INIZIO 09012014_MV Correzione anomalia +-- (PATRIMONIO_TERZI.CTV * ASSET_PERC.PERC) AS CONTROVALORE + (PATRIMONIO_TERZI.CTV * ISNULL(ASSET_PERC.PERC,1)) AS CONTROVALORE +--FINE 09012014_MV Correzione anomalia + FROM + C6MartPeriodico.PATRIMONIO_TERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI + ON + ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_TERZI.COD_PRODOTTO + LEFT JOIN + C6MartPeriodico.ASSET_PERC + ON + ASSET_PERC.COD_PRODOTTO = PATRIMONIO_TERZI.COD_PRODOTTO + INNER JOIN + C6MartPeriodico.ASSETCLASS_TERZI + ON + ASSETCLASS_TERZI.ID_ASSETCLASS = 'AL1' + WHERE + ISNULL(ANAG_PRODOTTI.COD_ADEGUATEZZA, '') = '' + AND ASSET_PERC.COD_PRODOTTO IS NULL + --V CC terzi + union all + SELECT + --PATRIMONIO_TERZI.tipo_prodotto, + 'CONTI CORRENTI' AS ESTRAZIONE, + PATRIMONIO_TERZI.RETE AS RETE, + PATRIMONIO_TERZI.COD_FISCALE AS CODICEFISCALE, + 'COMPLESSIVO|TERZI|' + PATRIMONIO_TERZI.INTERMEDIARIO + '|CC',-- + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI AS PORTAFOGLIO, + PATRIMONIO_TERZI.INTERMEDIARIO AS INTERMEDIARIO, + ASSETCLASS_TERZI.COD_ISIN AS COD_ISIN, + --ASSETCLASS_TERZI.COD_ADEGUATEZZA AS COD_ADEGUATEZZA, + 'EUR' AS COD_ADEGUATEZZA, + ASSETCLASS_TERZI.COD_MAF AS COD_MAF, + '' AS COD_INTERNO, + '' AS COD_SOTTOPRODOTTO, + '' AS PIAZZA, + '' AS CODICEVALUTA, + '' AS CLASSE, + --sum(PATRIMONIO_TERZI.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') as int) AS CONTROVALORE + case when (sum(PATRIMONIO_TERZI.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') as int)<0) then sum(PATRIMONIO_TERZI.CTV) else sum(PATRIMONIO_TERZI.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') as int) end AS CONTROVALORE --modifica 050520 per anomalie Levi + FROM + C6MartPeriodico.ASSET_PERC_TERZI + INNER JOIN + C6MartPeriodico.ASSETCLASS_TERZI + ON + ASSET_PERC_TERZI.ID_ASSETCLASS = ASSETCLASS_TERZI.ID_ASSETCLASS + INNER JOIN + C6MartPeriodico.PATRIMONIO_TERZI + ON + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI = ASSET_PERC_TERZI.COD_PRODOTTO_TERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI + ON + ANAG_PRODOTTI_TERZI.COD_PRODOTTO_TERZI = PATRIMONIO_TERZI.COD_PRODOTTO_TERZI + WHERE + ASSET_PERC_TERZI.LIVELLO = 2 + AND ( + PATRIMONIO_TERZI.TIPO_PRODOTTO = 'Conti correnti' + or ANAG_PRODOTTI_TERZI.DESCR_PRODOTTO = 'Assets.FinancialAssets.CurrentAccount' + ) +--and patrimonio_terzi.Cod_fiscale = 'BNCMRA47P12A944T' + group by PATRIMONIO_TERZI.intermediario,ASSETCLASS_TERZI.COD_ISIN,cod_adeguatezza,cod_maf,PATRIMONIO_TERZI.cod_Fiscale,rete +) TUTTI +GROUP BY + TUTTI.ESTRAZIONE, + TUTTI.RETE, + TUTTI.CODICEFISCALE, + TUTTI.PORTAFOGLIO, + TUTTI.INTERMEDIARIO, + TUTTI.COD_ISIN, + TUTTI.COD_ADEGUATEZZA, + TUTTI.COD_MAF, + TUTTI.COD_INTERNO, + TUTTI.COD_SOTTOPRODOTTO, + TUTTI.PIAZZA, + TUTTI.CODICEVALUTA, + TUTTI.CLASSE \ No newline at end of file diff --git a/sql/Produzione/viste/C6MartPeriodico_RP_vPrometeiaTerziIntermediario_Aladdin.sql b/sql/Produzione/viste/C6MartPeriodico_RP_vPrometeiaTerziIntermediario_Aladdin.sql new file mode 100644 index 00000000..118c4fc6 --- /dev/null +++ b/sql/Produzione/viste/C6MartPeriodico_RP_vPrometeiaTerziIntermediario_Aladdin.sql @@ -0,0 +1,228 @@ +-- View +CREATE VIEW [C6MartPeriodico].[RP_vPrometeiaTerziIntermediario_Aladdin] +AS +SELECT + TUTTI.RETE AS Rete, + TUTTI.CODICEFISCALE AS CodiceFiscale, + TUTTI.PORTAFOGLIO AS Portafoglio, + ---------------------------------------------------------- + tutti.TIPOptf as TIPOptf, + tutti.COD_PRODOTTO_TERZI as COD_PRODOTTO_TERZI, + tutti.ASSET_TERZI as Asset_Terzi, + tutti.FAMPRODT as FAMPRODT, + ---------------------------------------------------------- + TUTTI.INTERMEDIARIO AS Intermediario, + TUTTI.COD_ISIN AS CodiceIsin, + TUTTI.COD_ADEGUATEZZA AS CodiceAdeguatezza, + TUTTI.COD_MAF AS CodiceMaf, + TUTTI.COD_INTERNO AS CodiceInterno, + TUTTI.COD_SOTTOPRODOTTO AS CodiceSottoprodotto, + TUTTI.PIAZZA AS Piazza, + TUTTI.CODICEVALUTA AS Codicevaluta, + TUTTI.CLASSE AS Classe, + SUM(TUTTI.CONTROVALORE) AS Controvalore, + TUTTI.ESTRAZIONE AS Estrazione, + TUTTI.PRODOTTO_ID AS Cod_Prodotto +FROM ( + --34024 + -- 1. ASSET PER DATI PATRIMONIO TERZI NON IN CATALOGO + SELECT + 'DATI NON IN CATALOGO' AS ESTRAZIONE, + PATRIMONIO_TERZI.RETE AS RETE, + PATRIMONIO_TERZI.COD_FISCALE AS CODICEFISCALE, + 'COMPLESSIVO|TERZI|' + PATRIMONIO_TERZI.INTERMEDIARIO + '|' + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI AS PORTAFOGLIO, + ---------------------------------------------------------- + 'COMPLESSIVO|TERZI' as TIPOptf, + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI as COD_PRODOTTO_TERZI, + --ASSETCLASS_TERZI.COD_ADEGUATEZZA + 'Asset' as ASSET_TERZI, + ISNULL(PATRIMONIO_TERZI.DESCR_GRUPPO_PRODOTTO, PATRIMONIO_TERZI.TIPO_PRODOTTO) as FAMPRODT, + ---------------------------------------------------------- + PATRIMONIO_TERZI.INTERMEDIARIO AS INTERMEDIARIO, + --ASSETCLASS_TERZI.COD_ISIN + '' AS COD_ISIN, + --ASSETCLASS_TERZI.COD_ADEGUATEZZA + '' AS COD_ADEGUATEZZA, + --ASSETCLASS_TERZI.COD_MAF + '' AS COD_MAF, + '' AS COD_INTERNO, + '' AS COD_SOTTOPRODOTTO, + '' AS PIAZZA, + '' AS CODICEVALUTA, + '' AS CLASSE, + (PATRIMONIO_TERZI.CTV * ASSET_PERC_TERZI.PERC) AS CONTROVALORE + ,PATRIMONIO_TERZI.COD_PRODOTTO AS PRODOTTO_ID + FROM + C6MartPeriodico.ASSET_PERC_TERZI + INNER JOIN + C6MartPeriodico.ASSETCLASS_TERZI + ON + ASSET_PERC_TERZI.ID_ASSETCLASS = ASSETCLASS_TERZI.ID_ASSETCLASS + INNER JOIN + C6MartPeriodico.PATRIMONIO_TERZI + ON + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI = ASSET_PERC_TERZI.COD_PRODOTTO_TERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI + ON + ANAG_PRODOTTI_TERZI.COD_PRODOTTO_TERZI = PATRIMONIO_TERZI.COD_PRODOTTO_TERZI + WHERE + ASSET_PERC_TERZI.LIVELLO = 2 +-- AND NOT ( +-- PATRIMONIO_TERZI.TIPO_PRODOTTO = 'Conti correnti' +-- AND ANAG_PRODOTTI_TERZI.DESCR_PRODOTTO = 'Assets.FinancialAssets.CurrentAccount' +-- ) + UNION ALL + -- 76400 + -- 2. ASSET PER DATI PATRIMONIO TERZI IN CATALOGO + SELECT + 'DATI IN CATALOGO' AS ESTRAZIONE, + PATRIMONIO_TERZI.RETE AS RETE, + PATRIMONIO_TERZI.COD_FISCALE AS CODICEFISCALE, + 'COMPLESSIVO|TERZI|' + PATRIMONIO_TERZI.INTERMEDIARIO + '|' + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI AS PORTAFOGLIO, + ---------------------------------------------------------- + 'COMPLESSIVO|TERZI' as TIPOptf, + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI as COD_PRODOTTO_TERZI , + '' as ASSET_TERZI, + ISNULL(PATRIMONIO_TERZI.DESCR_GRUPPO_PRODOTTO, PATRIMONIO_TERZI.TIPO_PRODOTTO) as FAMPRODT, + ---------------------------------------------------------- + PATRIMONIO_TERZI.INTERMEDIARIO AS INTERMEDIARIO, + ANAG_PRODOTTI.COD_ISIN AS COD_ISIN, + ANAG_PRODOTTI.COD_ADEGUATEZZA AS COD_ADEGUATEZZA, + ANAG_PRODOTTI.COD_MAF AS COD_MAF, + ANAG_PRODOTTI.COD_INTERNO AS COD_INTERNO, + ANAG_PRODOTTI.COD_SOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + '' AS PIAZZA, + '' AS CODICEVALUTA, + '' AS CLASSE, + (PATRIMONIO_TERZI.CTV * ISNULL(ASSET_PERC.PERC,1)) AS CONTROVALORE + ,PATRIMONIO_TERZI.COD_PRODOTTO AS PRODOTTO_ID + FROM + C6MartPeriodico.PATRIMONIO_TERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI + ON + ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_TERZI.COD_PRODOTTO + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC + ON + ASSET_PERC.COD_PRODOTTO = PATRIMONIO_TERZI.COD_PRODOTTO + AND ASSET_PERC.LIVELLO = 2 + UNION ALL + --178 + -- 3 ASSET NON ESISTENTI PER DATI PATRIMONIO TERZI DEL CATALOGO CON ADEGUATEZZA A NULL (SETTATI AD ALTRO PER CONVENZIONE) + SELECT + 'DATI IN CATALOGO CON COD_ADEGUATEZZA NULL E ASSET NON VALORIZZATO' AS ESTRAZIONE, + PATRIMONIO_TERZI.RETE AS RETE, + PATRIMONIO_TERZI.COD_FISCALE AS CODICEFISCALE, + 'COMPLESSIVO|TERZI|' + PATRIMONIO_TERZI.INTERMEDIARIO + '|' + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI AS PORTAFOGLIO, + ---------------------------------------------------------- + 'COMPLESSIVO|TERZI' as TIPOptf, + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI as COD_PRODOTTO_TERZI, + '' as ASSET_TERZI, + ISNULL(PATRIMONIO_TERZI.DESCR_GRUPPO_PRODOTTO, PATRIMONIO_TERZI.TIPO_PRODOTTO) as FAMPRODT, + ---------------------------------------------------------- + PATRIMONIO_TERZI.INTERMEDIARIO AS INTERMEDIARIO, + ASSETCLASS_TERZI.COD_ISIN AS COD_ISIN, + ASSETCLASS_TERZI.COD_ADEGUATEZZA AS COD_ADEGUATEZZA, + ASSETCLASS_TERZI.COD_MAF AS COD_MAF, + '' AS COD_INTERNO, + '' AS COD_SOTTOPRODOTTO, + '' AS PIAZZA, + '' AS CODICEVALUTA, + '' AS CLASSE, +--INIZIO 09012014_MV Correzione anomalia +-- (PATRIMONIO_TERZI.CTV * ASSET_PERC.PERC) AS CONTROVALORE + (PATRIMONIO_TERZI.CTV * ISNULL(ASSET_PERC.PERC,1)) AS CONTROVALORE + ,PATRIMONIO_TERZI.COD_PRODOTTO AS PRODOTTO_ID +--FINE 09012014_MV Correzione anomalia + FROM + C6MartPeriodico.PATRIMONIO_TERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI + ON + ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_TERZI.COD_PRODOTTO + LEFT JOIN + C6MartPeriodico.ASSET_PERC + ON + ASSET_PERC.COD_PRODOTTO = PATRIMONIO_TERZI.COD_PRODOTTO + INNER JOIN + C6MartPeriodico.ASSETCLASS_TERZI + ON + ASSETCLASS_TERZI.ID_ASSETCLASS = 'AL1' + WHERE + ISNULL(ANAG_PRODOTTI.COD_ADEGUATEZZA, '') = '' + AND ASSET_PERC.COD_PRODOTTO IS NULL + --V CC terzi + union all + --3455 3388 + SELECT + --PATRIMONIO_TERZI.tipo_prodotto, + 'CONTI CORRENTI' AS ESTRAZIONE, + PATRIMONIO_TERZI.RETE AS RETE, + PATRIMONIO_TERZI.COD_FISCALE AS CODICEFISCALE, + 'COMPLESSIVO|TERZI|' + PATRIMONIO_TERZI.INTERMEDIARIO + '|CC',-- + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI AS PORTAFOGLIO, + ---------------------------------------------------------- + 'COMPLESSIVO|TERZI' as TIPOptf, + '' as COD_PRODOTTO_TERZI, + '' as ASSET_TERZI, + '' as FAMPRODT, + ---------------------------------------------------------- + PATRIMONIO_TERZI.INTERMEDIARIO AS INTERMEDIARIO, + ASSETCLASS_TERZI.COD_ISIN AS COD_ISIN, + --ASSETCLASS_TERZI.COD_ADEGUATEZZA AS COD_ADEGUATEZZA, + 'EUR' AS COD_ADEGUATEZZA, + ASSETCLASS_TERZI.COD_MAF AS COD_MAF, + 'EUR' AS COD_INTERNO, + 'EUR' AS COD_SOTTOPRODOTTO, + '' AS PIAZZA, + '' AS CODICEVALUTA, + '' AS CLASSE, + --sum(PATRIMONIO_TERZI.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') as int) AS CONTROVALORE + case when (sum(PATRIMONIO_TERZI.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') as int)<0) then sum(PATRIMONIO_TERZI.CTV) else sum(PATRIMONIO_TERZI.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') as int) end AS CONTROVALORE --modifica 050520 per anomalie Levi + ,PATRIMONIO_TERZI.COD_PRODOTTO AS PRODOTTO_ID + FROM + C6MartPeriodico.ASSET_PERC_TERZI + INNER JOIN + C6MartPeriodico.ASSETCLASS_TERZI + ON + ASSET_PERC_TERZI.ID_ASSETCLASS = ASSETCLASS_TERZI.ID_ASSETCLASS + INNER JOIN + C6MartPeriodico.PATRIMONIO_TERZI + ON + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI = ASSET_PERC_TERZI.COD_PRODOTTO_TERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI + ON + ANAG_PRODOTTI_TERZI.COD_PRODOTTO_TERZI = PATRIMONIO_TERZI.COD_PRODOTTO_TERZI + WHERE + ASSET_PERC_TERZI.LIVELLO = 2 + AND ( + PATRIMONIO_TERZI.TIPO_PRODOTTO = 'Conti correnti' + or ANAG_PRODOTTI_TERZI.DESCR_PRODOTTO = 'Assets.FinancialAssets.CurrentAccount' + ) +--and patrimonio_terzi.Cod_fiscale = 'BNCMRA47P12A944T' + group by PATRIMONIO_TERZI.intermediario,PATRIMONIO_TERZI.COD_PRODOTTO_TERZI ,ASSETCLASS_TERZI.COD_ISIN,cod_adeguatezza,cod_maf,ASSET_PERC_TERZI.ID_ASSETCLASS, + PATRIMONIO_TERZI.cod_Fiscale,rete,PATRIMONIO_TERZI.COD_PRODOTTO +) TUTTI +GROUP BY + TUTTI.ESTRAZIONE, + TUTTI.RETE, + TUTTI.CODICEFISCALE, + TUTTI.PORTAFOGLIO, + ---------------------------------------------------------- + tutti.TIPOptf, + tutti.COD_PRODOTTO_TERZI, + tutti.ASSET_TERZI, + tutti.FAMPRODT , + ---------------------------------------------------------- + TUTTI.INTERMEDIARIO, + TUTTI.COD_ISIN, + TUTTI.COD_ADEGUATEZZA, + TUTTI.COD_MAF, + TUTTI.COD_INTERNO, + TUTTI.COD_SOTTOPRODOTTO, + TUTTI.PIAZZA, + TUTTI.CODICEVALUTA, + TUTTI.CLASSE, + TUTTI.PRODOTTO_ID \ No newline at end of file diff --git a/sql/Produzione/viste/C6MartPeriodico_RP_vPrometeiaTerziIntermediario_Aladdin_bkp_20250305.sql b/sql/Produzione/viste/C6MartPeriodico_RP_vPrometeiaTerziIntermediario_Aladdin_bkp_20250305.sql new file mode 100644 index 00000000..1bb4fa32 --- /dev/null +++ b/sql/Produzione/viste/C6MartPeriodico_RP_vPrometeiaTerziIntermediario_Aladdin_bkp_20250305.sql @@ -0,0 +1,222 @@ +-- View +CREATE VIEW [C6MartPeriodico].[RP_vPrometeiaTerziIntermediario_Aladdin_bkp_20250305] +AS +SELECT + TUTTI.RETE AS Rete, + TUTTI.CODICEFISCALE AS CodiceFiscale, + TUTTI.PORTAFOGLIO AS Portafoglio, + ---------------------------------------------------------- + tutti.TIPOptf as TIPOptf, + tutti.COD_PRODOTTO_TERZI as COD_PRODOTTO_TERZI, + tutti.ASSET_TERZI as Asset_Terzi, + tutti.FAMPRODT as FAMPRODT, + ---------------------------------------------------------- + TUTTI.INTERMEDIARIO AS Intermediario, + TUTTI.COD_ISIN AS CodiceIsin, + TUTTI.COD_ADEGUATEZZA AS CodiceAdeguatezza, + TUTTI.COD_MAF AS CodiceMaf, + TUTTI.COD_INTERNO AS CodiceInterno, + TUTTI.COD_SOTTOPRODOTTO AS CodiceSottoprodotto, + TUTTI.PIAZZA AS Piazza, + TUTTI.CODICEVALUTA AS Codicevaluta, + TUTTI.CLASSE AS Classe, + SUM(TUTTI.CONTROVALORE) AS Controvalore, + TUTTI.ESTRAZIONE AS Estrazione +FROM ( + --34024 + -- 1. ASSET PER DATI PATRIMONIO TERZI NON IN CATALOGO + SELECT + 'DATI NON IN CATALOGO' AS ESTRAZIONE, + PATRIMONIO_TERZI.RETE AS RETE, + PATRIMONIO_TERZI.COD_FISCALE AS CODICEFISCALE, + 'COMPLESSIVO|TERZI|' + PATRIMONIO_TERZI.INTERMEDIARIO + '|' + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI AS PORTAFOGLIO, + ---------------------------------------------------------- + 'COMPLESSIVO|TERZI' as TIPOptf, + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI as COD_PRODOTTO_TERZI, + --ASSETCLASS_TERZI.COD_ADEGUATEZZA + 'Asset' as ASSET_TERZI, + ISNULL(PATRIMONIO_TERZI.DESCR_GRUPPO_PRODOTTO, PATRIMONIO_TERZI.TIPO_PRODOTTO) as FAMPRODT, + ---------------------------------------------------------- + PATRIMONIO_TERZI.INTERMEDIARIO AS INTERMEDIARIO, + --ASSETCLASS_TERZI.COD_ISIN + '' AS COD_ISIN, + --ASSETCLASS_TERZI.COD_ADEGUATEZZA + '' AS COD_ADEGUATEZZA, + --ASSETCLASS_TERZI.COD_MAF + '' AS COD_MAF, + '' AS COD_INTERNO, + '' AS COD_SOTTOPRODOTTO, + '' AS PIAZZA, + '' AS CODICEVALUTA, + '' AS CLASSE, + (PATRIMONIO_TERZI.CTV * ASSET_PERC_TERZI.PERC) AS CONTROVALORE + FROM + C6MartPeriodico.ASSET_PERC_TERZI + INNER JOIN + C6MartPeriodico.ASSETCLASS_TERZI + ON + ASSET_PERC_TERZI.ID_ASSETCLASS = ASSETCLASS_TERZI.ID_ASSETCLASS + INNER JOIN + C6MartPeriodico.PATRIMONIO_TERZI + ON + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI = ASSET_PERC_TERZI.COD_PRODOTTO_TERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI + ON + ANAG_PRODOTTI_TERZI.COD_PRODOTTO_TERZI = PATRIMONIO_TERZI.COD_PRODOTTO_TERZI + WHERE + ASSET_PERC_TERZI.LIVELLO = 2 +-- AND NOT ( +-- PATRIMONIO_TERZI.TIPO_PRODOTTO = 'Conti correnti' +-- AND ANAG_PRODOTTI_TERZI.DESCR_PRODOTTO = 'Assets.FinancialAssets.CurrentAccount' +-- ) + UNION ALL + -- 76400 + -- 2. ASSET PER DATI PATRIMONIO TERZI IN CATALOGO + SELECT + 'DATI IN CATALOGO' AS ESTRAZIONE, + PATRIMONIO_TERZI.RETE AS RETE, + PATRIMONIO_TERZI.COD_FISCALE AS CODICEFISCALE, + 'COMPLESSIVO|TERZI|' + PATRIMONIO_TERZI.INTERMEDIARIO + '|' + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI AS PORTAFOGLIO, + ---------------------------------------------------------- + 'COMPLESSIVO|TERZI' as TIPOptf, + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI as COD_PRODOTTO_TERZI , + '' as ASSET_TERZI, + ISNULL(PATRIMONIO_TERZI.DESCR_GRUPPO_PRODOTTO, PATRIMONIO_TERZI.TIPO_PRODOTTO) as FAMPRODT, + ---------------------------------------------------------- + PATRIMONIO_TERZI.INTERMEDIARIO AS INTERMEDIARIO, + ANAG_PRODOTTI.COD_ISIN AS COD_ISIN, + ANAG_PRODOTTI.COD_ADEGUATEZZA AS COD_ADEGUATEZZA, + ANAG_PRODOTTI.COD_MAF AS COD_MAF, + ANAG_PRODOTTI.COD_INTERNO AS COD_INTERNO, + ANAG_PRODOTTI.COD_SOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + '' AS PIAZZA, + '' AS CODICEVALUTA, + '' AS CLASSE, + (PATRIMONIO_TERZI.CTV * ISNULL(ASSET_PERC.PERC,1)) AS CONTROVALORE + FROM + C6MartPeriodico.PATRIMONIO_TERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI + ON + ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_TERZI.COD_PRODOTTO + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC + ON + ASSET_PERC.COD_PRODOTTO = PATRIMONIO_TERZI.COD_PRODOTTO + AND ASSET_PERC.LIVELLO = 2 + UNION ALL + --178 + -- 3 ASSET NON ESISTENTI PER DATI PATRIMONIO TERZI DEL CATALOGO CON ADEGUATEZZA A NULL (SETTATI AD ALTRO PER CONVENZIONE) + SELECT + 'DATI IN CATALOGO CON COD_ADEGUATEZZA NULL E ASSET NON VALORIZZATO' AS ESTRAZIONE, + PATRIMONIO_TERZI.RETE AS RETE, + PATRIMONIO_TERZI.COD_FISCALE AS CODICEFISCALE, + 'COMPLESSIVO|TERZI|' + PATRIMONIO_TERZI.INTERMEDIARIO + '|' + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI AS PORTAFOGLIO, + ---------------------------------------------------------- + 'COMPLESSIVO|TERZI' as TIPOptf, + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI as COD_PRODOTTO_TERZI, + '' as ASSET_TERZI, + ISNULL(PATRIMONIO_TERZI.DESCR_GRUPPO_PRODOTTO, PATRIMONIO_TERZI.TIPO_PRODOTTO) as FAMPRODT, + ---------------------------------------------------------- + PATRIMONIO_TERZI.INTERMEDIARIO AS INTERMEDIARIO, + ASSETCLASS_TERZI.COD_ISIN AS COD_ISIN, + ASSETCLASS_TERZI.COD_ADEGUATEZZA AS COD_ADEGUATEZZA, + ASSETCLASS_TERZI.COD_MAF AS COD_MAF, + '' AS COD_INTERNO, + '' AS COD_SOTTOPRODOTTO, + '' AS PIAZZA, + '' AS CODICEVALUTA, + '' AS CLASSE, +--INIZIO 09012014_MV Correzione anomalia +-- (PATRIMONIO_TERZI.CTV * ASSET_PERC.PERC) AS CONTROVALORE + (PATRIMONIO_TERZI.CTV * ISNULL(ASSET_PERC.PERC,1)) AS CONTROVALORE +--FINE 09012014_MV Correzione anomalia + FROM + C6MartPeriodico.PATRIMONIO_TERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI + ON + ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_TERZI.COD_PRODOTTO + LEFT JOIN + C6MartPeriodico.ASSET_PERC + ON + ASSET_PERC.COD_PRODOTTO = PATRIMONIO_TERZI.COD_PRODOTTO + INNER JOIN + C6MartPeriodico.ASSETCLASS_TERZI + ON + ASSETCLASS_TERZI.ID_ASSETCLASS = 'AL1' + WHERE + ISNULL(ANAG_PRODOTTI.COD_ADEGUATEZZA, '') = '' + AND ASSET_PERC.COD_PRODOTTO IS NULL + --V CC terzi + union all + --3455 3388 + SELECT + --PATRIMONIO_TERZI.tipo_prodotto, + 'CONTI CORRENTI' AS ESTRAZIONE, + PATRIMONIO_TERZI.RETE AS RETE, + PATRIMONIO_TERZI.COD_FISCALE AS CODICEFISCALE, + 'COMPLESSIVO|TERZI|' + PATRIMONIO_TERZI.INTERMEDIARIO + '|CC',-- + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI AS PORTAFOGLIO, + ---------------------------------------------------------- + 'COMPLESSIVO|TERZI' as TIPOptf, + '' as COD_PRODOTTO_TERZI, + '' as ASSET_TERZI, + '' as FAMPRODT, + ---------------------------------------------------------- + PATRIMONIO_TERZI.INTERMEDIARIO AS INTERMEDIARIO, + ASSETCLASS_TERZI.COD_ISIN AS COD_ISIN, + --ASSETCLASS_TERZI.COD_ADEGUATEZZA AS COD_ADEGUATEZZA, + 'EUR' AS COD_ADEGUATEZZA, + ASSETCLASS_TERZI.COD_MAF AS COD_MAF, + 'EUR' AS COD_INTERNO, + 'EUR' AS COD_SOTTOPRODOTTO, + '' AS PIAZZA, + '' AS CODICEVALUTA, + '' AS CLASSE, + --sum(PATRIMONIO_TERZI.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') as int) AS CONTROVALORE + case when (sum(PATRIMONIO_TERZI.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') as int)<0) then sum(PATRIMONIO_TERZI.CTV) else sum(PATRIMONIO_TERZI.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') as int) end AS CONTROVALORE --modifica 050520 per anomalie Levi + FROM + C6MartPeriodico.ASSET_PERC_TERZI + INNER JOIN + C6MartPeriodico.ASSETCLASS_TERZI + ON + ASSET_PERC_TERZI.ID_ASSETCLASS = ASSETCLASS_TERZI.ID_ASSETCLASS + INNER JOIN + C6MartPeriodico.PATRIMONIO_TERZI + ON + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI = ASSET_PERC_TERZI.COD_PRODOTTO_TERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI + ON + ANAG_PRODOTTI_TERZI.COD_PRODOTTO_TERZI = PATRIMONIO_TERZI.COD_PRODOTTO_TERZI + WHERE + ASSET_PERC_TERZI.LIVELLO = 2 + AND ( + PATRIMONIO_TERZI.TIPO_PRODOTTO = 'Conti correnti' + or ANAG_PRODOTTI_TERZI.DESCR_PRODOTTO = 'Assets.FinancialAssets.CurrentAccount' + ) +--and patrimonio_terzi.Cod_fiscale = 'BNCMRA47P12A944T' + group by PATRIMONIO_TERZI.intermediario,PATRIMONIO_TERZI.COD_PRODOTTO_TERZI ,ASSETCLASS_TERZI.COD_ISIN,cod_adeguatezza,cod_maf,ASSET_PERC_TERZI.ID_ASSETCLASS, + PATRIMONIO_TERZI.cod_Fiscale,rete +) TUTTI +GROUP BY + TUTTI.ESTRAZIONE, + TUTTI.RETE, + TUTTI.CODICEFISCALE, + TUTTI.PORTAFOGLIO, + ---------------------------------------------------------- + tutti.TIPOptf, + tutti.COD_PRODOTTO_TERZI, + tutti.ASSET_TERZI, + tutti.FAMPRODT , + ---------------------------------------------------------- + TUTTI.INTERMEDIARIO, + TUTTI.COD_ISIN, + TUTTI.COD_ADEGUATEZZA, + TUTTI.COD_MAF, + TUTTI.COD_INTERNO, + TUTTI.COD_SOTTOPRODOTTO, + TUTTI.PIAZZA, + TUTTI.CODICEVALUTA, + TUTTI.CLASSE \ No newline at end of file diff --git a/sql/Produzione/viste/C6MartPeriodico_RP_vTuttiIPortafogli.sql b/sql/Produzione/viste/C6MartPeriodico_RP_vTuttiIPortafogli.sql new file mode 100644 index 00000000..47bc20b4 --- /dev/null +++ b/sql/Produzione/viste/C6MartPeriodico_RP_vTuttiIPortafogli.sql @@ -0,0 +1,334 @@ +--select top 1 * from c6martperiodico.anag_prodotti +--modificata per i cc in liq Marianna & Valerio +--Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +CREATE VIEW [C6MartPeriodico].[RP_vTuttiIPortafogli] +AS +SELECT + ANAG_PRODOTTI.DESCR_PRODOTTO, + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN +-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + -- modifica del 19/10/2018 per risolvere il problema del Nome_Progetto = '' + --CASE + -- WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + -- + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + -- ELSE '' + --END + '|' + PATRIMONIO_BF.POSITION_ID + CASE + WHEN isnull(PATRIMONIO_BF.NOME_PROGETTO, '') <> '' THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + ELSE '|Progetto investimento' + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + END + '|' + PATRIMONIO_BF.POSITION_ID + -- fine modifica del 19/10/2018 + END AS Portafoglio, +-- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA +-- ELSE ANAG_PRODOTTI.COD_ISIN +-- END AS CodiceProdotto, +-- MODIFICA LUCA + CASE ISNULL(ANAG_PRODOTTI.COD_ADEGUATEZZA, '') --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END AS CodiceProdotto, + --- 23//5/2018 ---------------------------------------- + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA + WHEN '$' THEN '' + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END AS CodiceAdeguatezza, + ----------------------------------------------------------- + -- modifica del 9/7/2018 + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_INTERNO, ''))) AS Piazza, --codiceInterno + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_MAF, ''))) AS CodiceValuta, --codiceMAF + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_SOTTOPRODOTTO, ''))) AS Classe, --codiceSottoprodotto + --'' AS Piazza, --codiceInterno + --'' AS CodiceValuta, --codiceMAF + --'' AS Classe, --codiceSottoprodotto + -- fine modifica del 9/7/2018 + --V FRANCHIGIA CC +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV_NOMINALE +-- END AS CtvNominale, +--INIZIO INTERVENTO OMNIA +-- PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, +-- PATRIMONIO_BF.CTV AS CtvReale + case when PATRIMONIO_BF.ISIN in('EURO00000009', 'EURO10000007') then 0.0000 + else PATRIMONIO_BF.CTV_NOMINALE end AS CtvNominale , + case when PATRIMONIO_BF.ISIN in('EURO00000009', 'EURO10000007') then 0.0000 + else PATRIMONIO_BF.CTV end AS CtvReale +--FINE INTERVENTO OMNIA + FROM c6martperiodico.PATRIMONIO_BF + INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN c6martperiodico.ANAG_PRODOTTI ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO +--INIZIO INTERVENTO OMNIA +-- WHERE PATRIMONIO_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC','ASU2') + WHERE (PATRIMONIO_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC','ASU2') + AND PATRIMONIO_BF.ID_AREA <> 'SELF') +--FINE INTERVENTO OMNIA + UNION ALL + ---V Modifica per calcolo VaR prodotti ASU2 + SELECT + ANAG_PRODOTTI.DESCR_PRODOTTO, + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID + -- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + -- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + -- modifica del 19/10/2018 per risolvere il problema del Nome_Progetto = '' + --CASE + -- WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + -- + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + -- ELSE '' + --END + '|' + PATRIMONIO_BF.POSITION_ID + CASE + WHEN isnull(PATRIMONIO_BF.NOME_PROGETTO, '') <> '' THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + ELSE '|Progetto investimento' + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + END + '|' + PATRIMONIO_BF.POSITION_ID + -- fine modifica del 19/10/2018 + END AS Portafoglio, + -- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + -- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA + -- ELSE ANAG_PRODOTTI.COD_ISIN + -- END AS CodiceProdotto, + ---- MODIFICA LUCA + --V Modifica per gli ASU2 CON IL COD_ADEGUATEZZA NON BECCA NESSUN PRODTTO PROMETEIA + -- CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + -- WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + -- ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA END + PATRIMONIO_BF.ISIN AS CodiceProdotto, + ------------------------------------------- 12/6/2018 + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA + WHEN '$' THEN '' + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END AS CodiceAdeguatezza, + ------------------------------------------------------------------ + -- modifica del 9/7/2018 + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_INTERNO, ''))) AS Piazza, --codiceInterno + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_MAF, ''))) AS CodiceValuta, --codiceMAF + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_SOTTOPRODOTTO, ''))) AS Classe, --codiceSottoprodotto + -- '' AS Piazza, + -- '' AS CodiceValuta, + -- '' AS Classe, + -- fine modifica del 9/7/2018 + --V FRANCHIGIA CC + -- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + -- THEN 0 + -- ELSE PATRIMONIO_BF.CTV_NOMINALE + -- END AS CtvNominale, + PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, + --PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, + -- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + -- THEN 0 + -- ELSE PATRIMONIO_BF.CTV + -- END AS CtvReale + PATRIMONIO_BF.CTV AS CtvReale + FROM C6martperiodico.PATRIMONIO_BF + INNER JOIN C6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + AND ANAG_PRODOTTI.COD_ISIN = PATRIMONIO_BF.ISIN + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASU2') + UNION ALL + -- PATRIMONIO ASUL + SELECT + ANAG_PRODOTTI.DESCR_PRODOTTO, + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- +-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN +-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + -- modifica del 19/10/2018 per risolvere il problema del Nome_Progetto = '' + --CASE + -- WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + -- + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + -- ELSE '' + --END + '|' + PATRIMONIO_BF.POSITION_ID + CASE + WHEN isnull(PATRIMONIO_BF.NOME_PROGETTO, '') <> '' THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + ELSE '|Progetto investimento' + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + END + '|' + PATRIMONIO_BF.POSITION_ID + -- fine modifica del 19/10/2018 + END AS Portafoglio, + CASE ISNULL(DETTAGLIO_ASUL.COD_ISIN_FITTIZIO, '') --SELEZIONE DEL CODICEPRODOTTO: DETTAGLIO_ASUL.COD_ISIN_FITTIZIO, DETTAGLIO_ASUL.COD_SOTTOPRODOTTO, '$' + WHEN '' THEN DETTAGLIO_ASUL.COD_ISIN_SOTT + ELSE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO + END AS CodiceProdotto, + --- 12/6/2018------------------------------------------------- + '' AS CodiceAdeguatezza, + --------------------------------------------------------------- + -- modifica del 9/7/2018 + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_INTERNO, ''))) AS Piazza, --codiceInterno + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_MAF, ''))) AS CodiceValuta, --codiceMAF + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_SOTTOPRODOTTO, ''))) AS Classe, --codiceSottoprodotto + --'' AS Piazza, + --'' AS CodiceValuta, + -- '' AS Classe, + -- fine modifica del 9/7/2018 + DETTAGLIO_ASUL.CTV AS CtvNominale, + DETTAGLIO_ASUL.CTV AS CtvReale + FROM c6martperiodico.PATRIMONIO_BF + INNER JOIN c6martperiodico.ANAG_PRODOTTI ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + INNER JOIN c6martperiodico.DETTAGLIO_ASUL + ON DETTAGLIO_ASUL.ID_CONTRATTO = PATRIMONIO_BF.ID_CONTRATTO + INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASUL') + UNION ALL + -- PATRIMONIO TERZI + SELECT + '' as descr_prodotto, + INTERMEDIARIO.RETE AS Rete, + INTERMEDIARIO.CODICEFISCALE AS CodiceFiscale, + INTERMEDIARIO.PORTAFOGLIO AS Portafoglio, + INTERMEDIARIO.CODICEADEGUATEZZA AS CodiceProdotto, + --- 12/6/2018------------------------------------------------- + '' AS CodiceAdeguatezza, + --------------------------------------------------------------- + INTERMEDIARIO.PIAZZA AS Piazza, + INTERMEDIARIO.CODICEVALUTA AS CodiceValuta, + INTERMEDIARIO.CLASSE AS Classe, + INTERMEDIARIO.CONTROVALORE AS CtvNominale, + INTERMEDIARIO.CONTROVALORE AS CtvReale + FROM c6martperiodico.RP_VPROMETEIATERZIINTERMEDIARIO INTERMEDIARIO + INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = INTERMEDIARIO.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = INTERMEDIARIO.CODICEFISCALE + UNION ALL + -- PATRIMONIO TERZI X TIPO PRODOTTO + SELECT + '' as descr_prodotto, + CATEGORIAPRODOTTO.RETE AS Rete, + CATEGORIAPRODOTTO.CODICEFISCALE AS CodiceFiscale, + CATEGORIAPRODOTTO.PORTAFOGLIO AS Portafoglio, + CATEGORIAPRODOTTO.CODICEADEGUATEZZA AS CodiceProdotto, + --- 12/6/2018------------------------------------------------- + '' AS CodiceAdeguatezza, + --------------------------------------------------------------- + CATEGORIAPRODOTTO.PIAZZA AS Piazza, + CATEGORIAPRODOTTO.CODICEVALUTA AS CodiceValuta, + CATEGORIAPRODOTTO.CLASSE AS Classe, + CATEGORIAPRODOTTO.CONTROVALORE AS CtvNominale, + CATEGORIAPRODOTTO.CONTROVALORE AS CtvReale + FROM c6martperiodico.RP_VPROMETEIATERZICATEGORIAPRODOTTO CATEGORIAPRODOTTO + INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = CATEGORIAPRODOTTO.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = CATEGORIAPRODOTTO.CODICEFISCALE +--V Conti correnti Fideuram +union all +SELECT + 'CC' as descr_prodotto, + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE +-- WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN +-- 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- + WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + 'COMPLESSIVO|BF|CC'-- + PATRIMONIO_BF.POSITION_ID + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'COMPLESSIVO|BF|CC' +-- ELSE +-- 'COMPLESSIVO|BF|' + +-- LEFT(PATRIMONIO_BF.ID_AREA,3) + +-- CASE +-- WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO +-- ELSE '' +-- END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, +-- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA +-- ELSE ANAG_PRODOTTI.COD_ISIN +-- END AS CodiceProdotto, +-- MODIFICA LUCA +-- CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN +-- ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA +-- END + 'EUR' AS CodiceProdotto, + --- 12/6/2018 ---------------------------------------- + '' AS CodiceAdeguatezza, + ----------------------------------------------------------- + -- modifica del 9/7/2018 + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_INTERNO, ''))) AS Piazza, --codiceInterno + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_MAF, ''))) AS CodiceValuta, --codiceMAF + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_SOTTOPRODOTTO, ''))) AS Classe, --codiceSottoprodotto + --'' AS Piazza, + --'' AS CodiceValuta, + -- '' AS Classe, + -- fine modifica del 9/7/2018 + --V FRANCHIGIA CC +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV_NOMINALE +-- END AS CtvNominale, + case when (sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0.0001 end AS CtvNominale , +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV +-- END AS CtvReale + case when (sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0.0001 end AS CtvReale +FROM c6martperiodico.PATRIMONIO_BF + INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN c6martperiodico.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('CC') +group by + PATRIMONIO_BF.rete, + PATRIMONIO_BF.cod_fiscale, + CASE ISNULL(ANAG_PRODOTTI.COD_ADEGUATEZZA, '') --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END, + PATRIMONIO_BF.COD_INTERNO, + PATRIMONIO_BF.COD_MAF, + PATRIMONIO_BF.COD_SOTTOPRODOTTO, + CASE +-- WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN +-- 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- + WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + 'COMPLESSIVO|BF|CC'-- + PATRIMONIO_BF.POSITION_ID + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'COMPLESSIVO|BF|CC' +-- ELSE +-- 'COMPLESSIVO|BF|' + +-- LEFT(PATRIMONIO_BF.ID_AREA,3) + +-- CASE +-- WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO +-- ELSE '' +-- END + '|' + PATRIMONIO_BF.POSITION_ID + END \ No newline at end of file diff --git a/sql/Produzione/viste/C6MartPeriodico_RP_vTuttiIPortafogli_20180612_preNewMotoreProm.sql b/sql/Produzione/viste/C6MartPeriodico_RP_vTuttiIPortafogli_20180612_preNewMotoreProm.sql new file mode 100644 index 00000000..1f200623 --- /dev/null +++ b/sql/Produzione/viste/C6MartPeriodico_RP_vTuttiIPortafogli_20180612_preNewMotoreProm.sql @@ -0,0 +1,263 @@ +--select top 1 * from c6martperiodico.anag_prodotti +--modificata per i cc in liq Marianna & Valerio +--Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +CREATE VIEW [C6MartPeriodico].[RP_vTuttiIPortafogli_20180612_preNewMotoreProm] +AS +SELECT + ANAG_PRODOTTI.DESCR_PRODOTTO, + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN +-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, +-- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA +-- ELSE ANAG_PRODOTTI.COD_ISIN +-- END AS CodiceProdotto, +-- MODIFICA LUCA + CASE ISNULL(ANAG_PRODOTTI.COD_ADEGUATEZZA, '') --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + --V FRANCHIGIA CC +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV_NOMINALE +-- END AS CtvNominale, +--INIZIO INTERVENTO OMNIA +-- PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, +-- PATRIMONIO_BF.CTV AS CtvReale + case when PATRIMONIO_BF.ISIN in('EURO00000009', 'EURO10000007') then 0.0000 + else PATRIMONIO_BF.CTV_NOMINALE end AS CtvNominale , + case when PATRIMONIO_BF.ISIN in('EURO00000009', 'EURO10000007') then 0.0000 + else PATRIMONIO_BF.CTV end AS CtvReale +--FINE INTERVENTO OMNIA + FROM c6martperiodico.PATRIMONIO_BF + INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN c6martperiodico.ANAG_PRODOTTI ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO +--INIZIO INTERVENTO OMNIA +-- WHERE PATRIMONIO_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC','ASU2') + WHERE (PATRIMONIO_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC','ASU2') + AND PATRIMONIO_BF.ID_AREA <> 'SELF') +--FINE INTERVENTO OMNIA + UNION ALL + ---V Modifica per calcolo VaR prodotti ASU2 + SELECT + ANAG_PRODOTTI.DESCR_PRODOTTO, + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID + -- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + -- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + -- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + -- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA + -- ELSE ANAG_PRODOTTI.COD_ISIN + -- END AS CodiceProdotto, + ---- MODIFICA LUCA + --V Modifica per gli ASU2 CON IL COD_ADEGUATEZZA NON BECCA NESSUN PRODTTO PROMETEIA + -- CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + -- WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + -- ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA END + PATRIMONIO_BF.ISIN AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + --V FRANCHIGIA CC + -- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + -- THEN 0 + -- ELSE PATRIMONIO_BF.CTV_NOMINALE + -- END AS CtvNominale, + PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, + --PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, + -- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + -- THEN 0 + -- ELSE PATRIMONIO_BF.CTV + -- END AS CtvReale + PATRIMONIO_BF.CTV AS CtvReale + FROM C6martperiodico.PATRIMONIO_BF + INNER JOIN C6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + AND ANAG_PRODOTTI.COD_ISIN = PATRIMONIO_BF.ISIN + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASU2') + UNION ALL + -- PATRIMONIO ASUL + SELECT + ANAG_PRODOTTI.DESCR_PRODOTTO, + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- +-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN +-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + CASE ISNULL(DETTAGLIO_ASUL.COD_ISIN_FITTIZIO, '') --SELEZIONE DEL CODICEPRODOTTO: DETTAGLIO_ASUL.COD_ISIN_FITTIZIO, DETTAGLIO_ASUL.COD_SOTTOPRODOTTO, '$' + WHEN '' THEN DETTAGLIO_ASUL.COD_ISIN_SOTT + ELSE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO + END AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + DETTAGLIO_ASUL.CTV AS CtvNominale, + DETTAGLIO_ASUL.CTV AS CtvReale + FROM c6martperiodico.PATRIMONIO_BF + INNER JOIN c6martperiodico.ANAG_PRODOTTI ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + INNER JOIN c6martperiodico.DETTAGLIO_ASUL + ON DETTAGLIO_ASUL.ID_CONTRATTO = PATRIMONIO_BF.ID_CONTRATTO + INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASUL') + UNION ALL + -- PATRIMONIO TERZI + SELECT + '' as descr_prodotto, + INTERMEDIARIO.RETE AS Rete, + INTERMEDIARIO.CODICEFISCALE AS CodiceFiscale, + INTERMEDIARIO.PORTAFOGLIO AS Portafoglio, + INTERMEDIARIO.CODICEADEGUATEZZA AS CodiceProdotto, + INTERMEDIARIO.PIAZZA AS Piazza, + INTERMEDIARIO.CODICEVALUTA AS CodiceValuta, + INTERMEDIARIO.CLASSE AS Classe, + INTERMEDIARIO.CONTROVALORE AS CtvNominale, + INTERMEDIARIO.CONTROVALORE AS CtvReale + FROM c6martperiodico.RP_VPROMETEIATERZIINTERMEDIARIO INTERMEDIARIO + INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = INTERMEDIARIO.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = INTERMEDIARIO.CODICEFISCALE + UNION ALL + -- PATRIMONIO TERZI X TIPO PRODOTTO + SELECT + '' as descr_prodotto, + CATEGORIAPRODOTTO.RETE AS Rete, + CATEGORIAPRODOTTO.CODICEFISCALE AS CodiceFiscale, + CATEGORIAPRODOTTO.PORTAFOGLIO AS Portafoglio, + CATEGORIAPRODOTTO.CODICEADEGUATEZZA AS CodiceProdotto, + CATEGORIAPRODOTTO.PIAZZA AS Piazza, + CATEGORIAPRODOTTO.CODICEVALUTA AS CodiceValuta, + CATEGORIAPRODOTTO.CLASSE AS Classe, + CATEGORIAPRODOTTO.CONTROVALORE AS CtvNominale, + CATEGORIAPRODOTTO.CONTROVALORE AS CtvReale + FROM c6martperiodico.RP_VPROMETEIATERZICATEGORIAPRODOTTO CATEGORIAPRODOTTO + INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = CATEGORIAPRODOTTO.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = CATEGORIAPRODOTTO.CODICEFISCALE +--V Conti correnti Fideuram +union all +SELECT + 'CC' as descr_prodotto, + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE +-- WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN +-- 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- + WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + 'COMPLESSIVO|BF|CC'-- + PATRIMONIO_BF.POSITION_ID + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'COMPLESSIVO|BF|CC' +-- ELSE +-- 'COMPLESSIVO|BF|' + +-- LEFT(PATRIMONIO_BF.ID_AREA,3) + +-- CASE +-- WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO +-- ELSE '' +-- END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, +-- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA +-- ELSE ANAG_PRODOTTI.COD_ISIN +-- END AS CodiceProdotto, +-- MODIFICA LUCA +-- CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN +-- ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA +-- END + 'EUR' AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + --V FRANCHIGIA CC +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV_NOMINALE +-- END AS CtvNominale, + case when (sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0.0001 end AS CtvNominale , +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV +-- END AS CtvReale + case when (sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0.0001 end AS CtvReale +FROM c6martperiodico.PATRIMONIO_BF + INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN c6martperiodico.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('CC') +group by + PATRIMONIO_BF.rete, + PATRIMONIO_BF.cod_fiscale, + CASE ISNULL(ANAG_PRODOTTI.COD_ADEGUATEZZA, '') --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END, + CASE +-- WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN +-- 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- + WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + 'COMPLESSIVO|BF|CC'-- + PATRIMONIO_BF.POSITION_ID + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'COMPLESSIVO|BF|CC' +-- ELSE +-- 'COMPLESSIVO|BF|' + +-- LEFT(PATRIMONIO_BF.ID_AREA,3) + +-- CASE +-- WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO +-- ELSE '' +-- END + '|' + PATRIMONIO_BF.POSITION_ID + END \ No newline at end of file diff --git a/sql/Produzione/viste/C6MartPeriodico_RP_vTuttiIPortafogli_20180709.sql b/sql/Produzione/viste/C6MartPeriodico_RP_vTuttiIPortafogli_20180709.sql new file mode 100644 index 00000000..0f766f6a --- /dev/null +++ b/sql/Produzione/viste/C6MartPeriodico_RP_vTuttiIPortafogli_20180709.sql @@ -0,0 +1,287 @@ +--select top 1 * from c6martperiodico.anag_prodotti +--modificata per i cc in liq Marianna & Valerio +--Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +CREATE VIEW [C6MartPeriodico].[RP_vTuttiIPortafogli_20180709] +AS +SELECT + ANAG_PRODOTTI.DESCR_PRODOTTO, + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN +-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, +-- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA +-- ELSE ANAG_PRODOTTI.COD_ISIN +-- END AS CodiceProdotto, +-- MODIFICA LUCA + CASE ISNULL(ANAG_PRODOTTI.COD_ADEGUATEZZA, '') --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END AS CodiceProdotto, + --- 23//5/2018 ---------------------------------------- + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA + WHEN '$' THEN '' + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END AS CodiceAdeguatezza, + ----------------------------------------------------------- + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + --V FRANCHIGIA CC +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV_NOMINALE +-- END AS CtvNominale, +--INIZIO INTERVENTO OMNIA +-- PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, +-- PATRIMONIO_BF.CTV AS CtvReale + case when PATRIMONIO_BF.ISIN in('EURO00000009', 'EURO10000007') then 0.0000 + else PATRIMONIO_BF.CTV_NOMINALE end AS CtvNominale , + case when PATRIMONIO_BF.ISIN in('EURO00000009', 'EURO10000007') then 0.0000 + else PATRIMONIO_BF.CTV end AS CtvReale +--FINE INTERVENTO OMNIA + FROM c6martperiodico.PATRIMONIO_BF + INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN c6martperiodico.ANAG_PRODOTTI ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO +--INIZIO INTERVENTO OMNIA +-- WHERE PATRIMONIO_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC','ASU2') + WHERE (PATRIMONIO_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC','ASU2') + AND PATRIMONIO_BF.ID_AREA <> 'SELF') +--FINE INTERVENTO OMNIA + UNION ALL + ---V Modifica per calcolo VaR prodotti ASU2 + SELECT + ANAG_PRODOTTI.DESCR_PRODOTTO, + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID + -- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + -- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + -- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + -- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA + -- ELSE ANAG_PRODOTTI.COD_ISIN + -- END AS CodiceProdotto, + ---- MODIFICA LUCA + --V Modifica per gli ASU2 CON IL COD_ADEGUATEZZA NON BECCA NESSUN PRODTTO PROMETEIA + -- CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + -- WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + -- ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA END + PATRIMONIO_BF.ISIN AS CodiceProdotto, + ------------------------------------------- 12/6/2018 + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA + WHEN '$' THEN '' + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END AS CodiceAdeguatezza, + ------------------------------------------------------------------ + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + --V FRANCHIGIA CC + -- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + -- THEN 0 + -- ELSE PATRIMONIO_BF.CTV_NOMINALE + -- END AS CtvNominale, + PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, + --PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, + -- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + -- THEN 0 + -- ELSE PATRIMONIO_BF.CTV + -- END AS CtvReale + PATRIMONIO_BF.CTV AS CtvReale + FROM C6martperiodico.PATRIMONIO_BF + INNER JOIN C6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + AND ANAG_PRODOTTI.COD_ISIN = PATRIMONIO_BF.ISIN + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASU2') + UNION ALL + -- PATRIMONIO ASUL + SELECT + ANAG_PRODOTTI.DESCR_PRODOTTO, + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- +-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN +-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + CASE ISNULL(DETTAGLIO_ASUL.COD_ISIN_FITTIZIO, '') --SELEZIONE DEL CODICEPRODOTTO: DETTAGLIO_ASUL.COD_ISIN_FITTIZIO, DETTAGLIO_ASUL.COD_SOTTOPRODOTTO, '$' + WHEN '' THEN DETTAGLIO_ASUL.COD_ISIN_SOTT + ELSE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO + END AS CodiceProdotto, + --- 12/6/2018------------------------------------------------- + '' AS CodiceAdeguatezza, + --------------------------------------------------------------- + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + DETTAGLIO_ASUL.CTV AS CtvNominale, + DETTAGLIO_ASUL.CTV AS CtvReale + FROM c6martperiodico.PATRIMONIO_BF + INNER JOIN c6martperiodico.ANAG_PRODOTTI ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + INNER JOIN c6martperiodico.DETTAGLIO_ASUL + ON DETTAGLIO_ASUL.ID_CONTRATTO = PATRIMONIO_BF.ID_CONTRATTO + INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASUL') + UNION ALL + -- PATRIMONIO TERZI + SELECT + '' as descr_prodotto, + INTERMEDIARIO.RETE AS Rete, + INTERMEDIARIO.CODICEFISCALE AS CodiceFiscale, + INTERMEDIARIO.PORTAFOGLIO AS Portafoglio, + INTERMEDIARIO.CODICEADEGUATEZZA AS CodiceProdotto, + --- 12/6/2018------------------------------------------------- + '' AS CodiceAdeguatezza, + --------------------------------------------------------------- + INTERMEDIARIO.PIAZZA AS Piazza, + INTERMEDIARIO.CODICEVALUTA AS CodiceValuta, + INTERMEDIARIO.CLASSE AS Classe, + INTERMEDIARIO.CONTROVALORE AS CtvNominale, + INTERMEDIARIO.CONTROVALORE AS CtvReale + FROM c6martperiodico.RP_VPROMETEIATERZIINTERMEDIARIO INTERMEDIARIO + INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = INTERMEDIARIO.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = INTERMEDIARIO.CODICEFISCALE + UNION ALL + -- PATRIMONIO TERZI X TIPO PRODOTTO + SELECT + '' as descr_prodotto, + CATEGORIAPRODOTTO.RETE AS Rete, + CATEGORIAPRODOTTO.CODICEFISCALE AS CodiceFiscale, + CATEGORIAPRODOTTO.PORTAFOGLIO AS Portafoglio, + CATEGORIAPRODOTTO.CODICEADEGUATEZZA AS CodiceProdotto, + --- 12/6/2018------------------------------------------------- + '' AS CodiceAdeguatezza, + --------------------------------------------------------------- + CATEGORIAPRODOTTO.PIAZZA AS Piazza, + CATEGORIAPRODOTTO.CODICEVALUTA AS CodiceValuta, + CATEGORIAPRODOTTO.CLASSE AS Classe, + CATEGORIAPRODOTTO.CONTROVALORE AS CtvNominale, + CATEGORIAPRODOTTO.CONTROVALORE AS CtvReale + FROM c6martperiodico.RP_VPROMETEIATERZICATEGORIAPRODOTTO CATEGORIAPRODOTTO + INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = CATEGORIAPRODOTTO.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = CATEGORIAPRODOTTO.CODICEFISCALE +--V Conti correnti Fideuram +union all +SELECT + 'CC' as descr_prodotto, + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE +-- WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN +-- 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- + WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + 'COMPLESSIVO|BF|CC'-- + PATRIMONIO_BF.POSITION_ID + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'COMPLESSIVO|BF|CC' +-- ELSE +-- 'COMPLESSIVO|BF|' + +-- LEFT(PATRIMONIO_BF.ID_AREA,3) + +-- CASE +-- WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO +-- ELSE '' +-- END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, +-- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA +-- ELSE ANAG_PRODOTTI.COD_ISIN +-- END AS CodiceProdotto, +-- MODIFICA LUCA +-- CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN +-- ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA +-- END + 'EUR' AS CodiceProdotto, + --- 12/6/2018 ---------------------------------------- + '' AS CodiceAdeguatezza, + ----------------------------------------------------------- + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + --V FRANCHIGIA CC +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV_NOMINALE +-- END AS CtvNominale, + case when (sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0.0001 end AS CtvNominale , +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV +-- END AS CtvReale + case when (sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0.0001 end AS CtvReale +FROM c6martperiodico.PATRIMONIO_BF + INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN c6martperiodico.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('CC') +group by + PATRIMONIO_BF.rete, + PATRIMONIO_BF.cod_fiscale, + CASE ISNULL(ANAG_PRODOTTI.COD_ADEGUATEZZA, '') --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END, + CASE +-- WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN +-- 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- + WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + 'COMPLESSIVO|BF|CC'-- + PATRIMONIO_BF.POSITION_ID + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'COMPLESSIVO|BF|CC' +-- ELSE +-- 'COMPLESSIVO|BF|' + +-- LEFT(PATRIMONIO_BF.ID_AREA,3) + +-- CASE +-- WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO +-- ELSE '' +-- END + '|' + PATRIMONIO_BF.POSITION_ID + END \ No newline at end of file diff --git a/sql/Produzione/viste/C6MartPeriodico_RP_vTuttiIPortafogli_20181019.sql b/sql/Produzione/viste/C6MartPeriodico_RP_vTuttiIPortafogli_20181019.sql new file mode 100644 index 00000000..3959031e --- /dev/null +++ b/sql/Produzione/viste/C6MartPeriodico_RP_vTuttiIPortafogli_20181019.sql @@ -0,0 +1,310 @@ +--select top 1 * from c6martperiodico.anag_prodotti +--modificata per i cc in liq Marianna & Valerio +--Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +CREATE VIEW [C6MartPeriodico].[RP_vTuttiIPortafogli_20181019] +AS +SELECT + ANAG_PRODOTTI.DESCR_PRODOTTO, + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN +-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, +-- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA +-- ELSE ANAG_PRODOTTI.COD_ISIN +-- END AS CodiceProdotto, +-- MODIFICA LUCA + CASE ISNULL(ANAG_PRODOTTI.COD_ADEGUATEZZA, '') --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END AS CodiceProdotto, + --- 23//5/2018 ---------------------------------------- + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA + WHEN '$' THEN '' + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END AS CodiceAdeguatezza, + ----------------------------------------------------------- + -- modifica del 9/7/2018 + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_INTERNO, ''))) AS Piazza, --codiceInterno + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_MAF, ''))) AS CodiceValuta, --codiceMAF + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_SOTTOPRODOTTO, ''))) AS Classe, --codiceSottoprodotto + --'' AS Piazza, --codiceInterno + --'' AS CodiceValuta, --codiceMAF + --'' AS Classe, --codiceSottoprodotto + -- fine modifica del 9/7/2018 + --V FRANCHIGIA CC +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV_NOMINALE +-- END AS CtvNominale, +--INIZIO INTERVENTO OMNIA +-- PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, +-- PATRIMONIO_BF.CTV AS CtvReale + case when PATRIMONIO_BF.ISIN in('EURO00000009', 'EURO10000007') then 0.0000 + else PATRIMONIO_BF.CTV_NOMINALE end AS CtvNominale , + case when PATRIMONIO_BF.ISIN in('EURO00000009', 'EURO10000007') then 0.0000 + else PATRIMONIO_BF.CTV end AS CtvReale +--FINE INTERVENTO OMNIA + FROM c6martperiodico.PATRIMONIO_BF + INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN c6martperiodico.ANAG_PRODOTTI ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO +--INIZIO INTERVENTO OMNIA +-- WHERE PATRIMONIO_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC','ASU2') + WHERE (PATRIMONIO_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC','ASU2') + AND PATRIMONIO_BF.ID_AREA <> 'SELF') +--FINE INTERVENTO OMNIA + UNION ALL + ---V Modifica per calcolo VaR prodotti ASU2 + SELECT + ANAG_PRODOTTI.DESCR_PRODOTTO, + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID + -- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + -- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + -- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + -- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA + -- ELSE ANAG_PRODOTTI.COD_ISIN + -- END AS CodiceProdotto, + ---- MODIFICA LUCA + --V Modifica per gli ASU2 CON IL COD_ADEGUATEZZA NON BECCA NESSUN PRODTTO PROMETEIA + -- CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + -- WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + -- ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA END + PATRIMONIO_BF.ISIN AS CodiceProdotto, + ------------------------------------------- 12/6/2018 + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA + WHEN '$' THEN '' + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END AS CodiceAdeguatezza, + ------------------------------------------------------------------ + -- modifica del 9/7/2018 + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_INTERNO, ''))) AS Piazza, --codiceInterno + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_MAF, ''))) AS CodiceValuta, --codiceMAF + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_SOTTOPRODOTTO, ''))) AS Classe, --codiceSottoprodotto + -- '' AS Piazza, + -- '' AS CodiceValuta, + -- '' AS Classe, + -- fine modifica del 9/7/2018 + --V FRANCHIGIA CC + -- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + -- THEN 0 + -- ELSE PATRIMONIO_BF.CTV_NOMINALE + -- END AS CtvNominale, + PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, + --PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, + -- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + -- THEN 0 + -- ELSE PATRIMONIO_BF.CTV + -- END AS CtvReale + PATRIMONIO_BF.CTV AS CtvReale + FROM C6martperiodico.PATRIMONIO_BF + INNER JOIN C6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + AND ANAG_PRODOTTI.COD_ISIN = PATRIMONIO_BF.ISIN + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASU2') + UNION ALL + -- PATRIMONIO ASUL + SELECT + ANAG_PRODOTTI.DESCR_PRODOTTO, + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- +-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN +-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + CASE ISNULL(DETTAGLIO_ASUL.COD_ISIN_FITTIZIO, '') --SELEZIONE DEL CODICEPRODOTTO: DETTAGLIO_ASUL.COD_ISIN_FITTIZIO, DETTAGLIO_ASUL.COD_SOTTOPRODOTTO, '$' + WHEN '' THEN DETTAGLIO_ASUL.COD_ISIN_SOTT + ELSE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO + END AS CodiceProdotto, + --- 12/6/2018------------------------------------------------- + '' AS CodiceAdeguatezza, + --------------------------------------------------------------- + -- modifica del 9/7/2018 + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_INTERNO, ''))) AS Piazza, --codiceInterno + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_MAF, ''))) AS CodiceValuta, --codiceMAF + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_SOTTOPRODOTTO, ''))) AS Classe, --codiceSottoprodotto + --'' AS Piazza, + --'' AS CodiceValuta, + -- '' AS Classe, + -- fine modifica del 9/7/2018 + DETTAGLIO_ASUL.CTV AS CtvNominale, + DETTAGLIO_ASUL.CTV AS CtvReale + FROM c6martperiodico.PATRIMONIO_BF + INNER JOIN c6martperiodico.ANAG_PRODOTTI ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + INNER JOIN c6martperiodico.DETTAGLIO_ASUL + ON DETTAGLIO_ASUL.ID_CONTRATTO = PATRIMONIO_BF.ID_CONTRATTO + INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASUL') + UNION ALL + -- PATRIMONIO TERZI + SELECT + '' as descr_prodotto, + INTERMEDIARIO.RETE AS Rete, + INTERMEDIARIO.CODICEFISCALE AS CodiceFiscale, + INTERMEDIARIO.PORTAFOGLIO AS Portafoglio, + INTERMEDIARIO.CODICEADEGUATEZZA AS CodiceProdotto, + --- 12/6/2018------------------------------------------------- + '' AS CodiceAdeguatezza, + --------------------------------------------------------------- + INTERMEDIARIO.PIAZZA AS Piazza, + INTERMEDIARIO.CODICEVALUTA AS CodiceValuta, + INTERMEDIARIO.CLASSE AS Classe, + INTERMEDIARIO.CONTROVALORE AS CtvNominale, + INTERMEDIARIO.CONTROVALORE AS CtvReale + FROM c6martperiodico.RP_VPROMETEIATERZIINTERMEDIARIO INTERMEDIARIO + INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = INTERMEDIARIO.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = INTERMEDIARIO.CODICEFISCALE + UNION ALL + -- PATRIMONIO TERZI X TIPO PRODOTTO + SELECT + '' as descr_prodotto, + CATEGORIAPRODOTTO.RETE AS Rete, + CATEGORIAPRODOTTO.CODICEFISCALE AS CodiceFiscale, + CATEGORIAPRODOTTO.PORTAFOGLIO AS Portafoglio, + CATEGORIAPRODOTTO.CODICEADEGUATEZZA AS CodiceProdotto, + --- 12/6/2018------------------------------------------------- + '' AS CodiceAdeguatezza, + --------------------------------------------------------------- + CATEGORIAPRODOTTO.PIAZZA AS Piazza, + CATEGORIAPRODOTTO.CODICEVALUTA AS CodiceValuta, + CATEGORIAPRODOTTO.CLASSE AS Classe, + CATEGORIAPRODOTTO.CONTROVALORE AS CtvNominale, + CATEGORIAPRODOTTO.CONTROVALORE AS CtvReale + FROM c6martperiodico.RP_VPROMETEIATERZICATEGORIAPRODOTTO CATEGORIAPRODOTTO + INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = CATEGORIAPRODOTTO.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = CATEGORIAPRODOTTO.CODICEFISCALE +--V Conti correnti Fideuram +union all +SELECT + 'CC' as descr_prodotto, + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE +-- WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN +-- 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- + WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + 'COMPLESSIVO|BF|CC'-- + PATRIMONIO_BF.POSITION_ID + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'COMPLESSIVO|BF|CC' +-- ELSE +-- 'COMPLESSIVO|BF|' + +-- LEFT(PATRIMONIO_BF.ID_AREA,3) + +-- CASE +-- WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO +-- ELSE '' +-- END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, +-- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA +-- ELSE ANAG_PRODOTTI.COD_ISIN +-- END AS CodiceProdotto, +-- MODIFICA LUCA +-- CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN +-- ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA +-- END + 'EUR' AS CodiceProdotto, + --- 12/6/2018 ---------------------------------------- + '' AS CodiceAdeguatezza, + ----------------------------------------------------------- + -- modifica del 9/7/2018 + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_INTERNO, ''))) AS Piazza, --codiceInterno + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_MAF, ''))) AS CodiceValuta, --codiceMAF + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_SOTTOPRODOTTO, ''))) AS Classe, --codiceSottoprodotto + --'' AS Piazza, + --'' AS CodiceValuta, + -- '' AS Classe, + -- fine modifica del 9/7/2018 + --V FRANCHIGIA CC +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV_NOMINALE +-- END AS CtvNominale, + case when (sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0.0001 end AS CtvNominale , +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV +-- END AS CtvReale + case when (sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0.0001 end AS CtvReale +FROM c6martperiodico.PATRIMONIO_BF + INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN c6martperiodico.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('CC') +group by + PATRIMONIO_BF.rete, + PATRIMONIO_BF.cod_fiscale, + CASE ISNULL(ANAG_PRODOTTI.COD_ADEGUATEZZA, '') --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END, + PATRIMONIO_BF.COD_INTERNO, + PATRIMONIO_BF.COD_MAF, + PATRIMONIO_BF.COD_SOTTOPRODOTTO, + CASE +-- WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN +-- 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- + WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + 'COMPLESSIVO|BF|CC'-- + PATRIMONIO_BF.POSITION_ID + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'COMPLESSIVO|BF|CC' +-- ELSE +-- 'COMPLESSIVO|BF|' + +-- LEFT(PATRIMONIO_BF.ID_AREA,3) + +-- CASE +-- WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO +-- ELSE '' +-- END + '|' + PATRIMONIO_BF.POSITION_ID + END \ No newline at end of file diff --git a/sql/Produzione/viste/C6MartPeriodico_RP_vTuttiIPortafogli_Aladdin.sql b/sql/Produzione/viste/C6MartPeriodico_RP_vTuttiIPortafogli_Aladdin.sql new file mode 100644 index 00000000..6f0ed3e7 --- /dev/null +++ b/sql/Produzione/viste/C6MartPeriodico_RP_vTuttiIPortafogli_Aladdin.sql @@ -0,0 +1,499 @@ +-- View +-- View +--modificata per i cc in liq Marianna & Valerio +--Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014 +CREATE VIEW [C6MartPeriodico].[RP_vTuttiIPortafogli_Aladdin] +AS +SELECT + ANAG_PRODOTTI.DESCR_PRODOTTO, + PATRIMONIO_BF.RETE AS Rete, + -------------------------------------------------- diff cf|Piva|fid codman + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 16 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END AS CODFIS, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 11 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END AS PIVA, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) < 11 THEN substring(PATRIMONIO_BF.COD_FISCALE,4,6) ELSE '' END AS CODMAN, + ------------------------------------------------ + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN isnull(PATRIMONIO_BF.NOME_PROGETTO, '') <> '' THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + ELSE '|Progetto investimento' + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + CASE ISNULL(ANAG_PRODOTTI.COD_ADEGUATEZZA, '') --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '' THEN ISNULL(ANAG_PRODOTTI.COD_ISIN,'') + ELSE ISNULL(ANAG_PRODOTTI.COD_ADEGUATEZZA,'') + END AS CodiceProdotto, + CASE ISNULL(ANAG_PRODOTTI.COD_ADEGUATEZZA,'') + WHEN '$' THEN '' + ELSE iSNULL(ANAG_PRODOTTI.COD_ADEGUATEZZA,'') + END AS CodiceAdeguatezza, + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_INTERNO, ''))) AS codiceInterno_old, --codiceInterno + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_MAF, ''))) AS CodiceValuta, --codiceMAF + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_SOTTOPRODOTTO, ''))) AS Classe, --codiceSottoprodotto + case when PATRIMONIO_BF.ISIN in('EURO00000009', 'EURO10000007') then 0.0000 + else PATRIMONIO_BF.CTV_NOMINALE end AS CtvNominale , + case when PATRIMONIO_BF.ISIN in('EURO00000009', 'EURO10000007') then 0.0000 + else PATRIMONIO_BF.CTV end AS CtvReale , + 'COMPLESSIVO|BF' as tipoptf, + isnull(ANAG_PRODOTTI.cod_maf,'') as cod_maf, + '' as intermediario, + ANAG_PRODOTTI.tipo_prodotto as famprodt, + '' as assetterzi, + substring(patrimonio_bf.position_id,58,11) as codconf, + substring(patrimonio_bf.position_id,70,11) as conto, + substring(patrimonio_bf.position_id,81,4) as rubr, + substring(patrimonio_bf.position_id,85,1) as custgar, + ANAG_PRODOTTI.cod_interno as cod_interno, + substring(patrimonio_bf.position_id,97,8) as termid, + substring(patrimonio_bf.position_id,105,3) as annos, + substring(patrimonio_bf.position_id,108,8) as progs, + CASE + when isnull(core.fondocore,0) > 0 or (LEN(isnull(ANAG_PRODOTTI.cod_isin,''))<12 and isnull(core.fondocore,0)=0 and ANAG_PRODOTTI.tipo_prodotto not in ('GP','CC','DT'))then '' + ELSE ANAG_PRODOTTI.cod_isin + END as cod_isin, + isnull(ANAG_PRODOTTI.cod_sottoprodotto,'') as cod_sottoProdotto, + LEFT(PATRIMONIO_BF.ID_AREA,3) as area, + CASE + WHEN isnull(PATRIMONIO_BF.NOME_PROGETTO, '') <> '' THEN PATRIMONIO_BF.NOME_PROGETTO + ELSE 'Progetto investimento' + END as Progetto, + Case when isnull(PATRIMONIO_BF.ID_AREA,'') = 'NA' then '' + else isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + end as codprj, + '' as chiave_prodotto_terzi, + substring(patrimonio_bf.position_id,86,11) as numpolizza, + --patrimonio_bf.position_id + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN isnull(PATRIMONIO_BF.NOME_PROGETTO, '') <> '' THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + ELSE '|Progetto investimento' + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + END + '|' + PATRIMONIO_BF.POSITION_ID + END + '@' + CAST(ROW_NUMBER() OVER (ORDER BY PATRIMONIO_BF.RETE ASC, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 16 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 11 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) < 11 THEN substring(PATRIMONIO_BF.COD_FISCALE,4,6) ELSE '' END)AS varchar ) as position_id + ,PATRIMONIO_BF.COD_PRODOTTO as Prodotto_id +FROM c6martperiodico.PATRIMONIO_BF + INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN c6martperiodico.ANAG_PRODOTTI ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + left join (select distinct fondocore,catalogueid from c6stagingperiodico.rp_catalogoprodotti where isnull(fondocore,0)>0) as core + on Patrimonio_BF.cod_prodotto = core.catalogueid + WHERE (PATRIMONIO_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC','ASU2') + AND PATRIMONIO_BF.ID_AREA <> 'SELF') + UNION ALL + SELECT + ANAG_PRODOTTI.DESCR_PRODOTTO, + PATRIMONIO_BF.RETE AS Rete, + -------------------------------------------------- diff cf|Piva|fid codman + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 16 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END AS CODFIS, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 11 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END AS PIVA, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) < 11 THEN substring(PATRIMONIO_BF.COD_FISCALE,4,6) ELSE '' END AS CODMAN, + ------------------------------------------------ + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN isnull(PATRIMONIO_BF.NOME_PROGETTO, '') <> '' THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + ELSE '|Progetto investimento' + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + END + '|' + PATRIMONIO_BF.POSITION_ID + -- fine modifica del 19/10/2018 + END AS Portafoglio, + PATRIMONIO_BF.ISIN AS CodiceProdotto, + ------------------------------------------- 12/6/2018 + CASE ISNULL(ANAG_PRODOTTI.COD_ADEGUATEZZA ,'') + WHEN '$' THEN '' + ELSE ISNULL(ANAG_PRODOTTI.COD_ADEGUATEZZA,'') + END AS CodiceAdeguatezza, + ------------------------------------------------------------------ + -- modifica del 9/7/2018 + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_INTERNO, ''))) AS codiceInterno_old, --codiceInterno + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_MAF, ''))) AS CodiceValuta, --codiceMAF + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_SOTTOPRODOTTO, ''))) AS Classe, --codiceSottoprodotto + PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, + PATRIMONIO_BF.CTV AS CtvReale, + 'COMPLESSIVO|BF' as tipoptf, + ANAG_PRODOTTI.cod_maf as cod_maf, + '' as intermediario, + ANAG_PRODOTTI.tipo_prodotto as famprodt, + '' as assetterzi, + substring(patrimonio_bf.position_id,58,11) as codconf, + substring(patrimonio_bf.position_id,70,11) as conto, + substring(patrimonio_bf.position_id,81,4) as rubr, + substring(patrimonio_bf.position_id,85,1) as custgar, + ANAG_PRODOTTI.cod_interno as cod_interno, + substring(patrimonio_bf.position_id,97,8) as termid, + substring(patrimonio_bf.position_id,105,3) as annos, + substring(patrimonio_bf.position_id,108,8) as progs, + ANAG_PRODOTTI.cod_isin as cod_isin, + ANAG_PRODOTTI.cod_sottoprodotto as cod_sottoProdotto, + LEFT(PATRIMONIO_BF.ID_AREA,3) as area, + CASE + WHEN isnull(PATRIMONIO_BF.NOME_PROGETTO, '') <> '' THEN PATRIMONIO_BF.NOME_PROGETTO + ELSE 'Progetto investimento' + END as Progetto, + Case when isnull(PATRIMONIO_BF.ID_AREA,'') = 'NA' then '' + else isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + end as codprj, + '' as chiave_prodotto_terzi, + substring(patrimonio_bf.position_id,86,11) as numpolizza, + --patrimonio_bf.position_id + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN isnull(PATRIMONIO_BF.NOME_PROGETTO, '') <> '' THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + ELSE '|Progetto investimento' + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + END + '|' + PATRIMONIO_BF.POSITION_ID + -- fine modifica del 19/10/2018 + END + '@' + CAST(ROW_NUMBER() OVER (ORDER BY PATRIMONIO_BF.RETE ASC, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 16 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 11 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) < 11 THEN substring(PATRIMONIO_BF.COD_FISCALE,4,6) ELSE '' END) AS varchar ) as position_id + ,PATRIMONIO_BF.COD_PRODOTTO as Prodotto_id + FROM C6martperiodico.PATRIMONIO_BF + INNER JOIN C6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + AND ANAG_PRODOTTI.COD_ISIN = PATRIMONIO_BF.ISIN + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASU2') +union all + SELECT + ANAG_PRODOTTI.DESCR_PRODOTTO, + PATRIMONIO_BF.RETE AS Rete, + -------------------------------------------------- diff cf|Piva|fid codman + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 16 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END AS CODFIS, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 11 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END AS PIVA, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) < 11 THEN substring(PATRIMONIO_BF.COD_FISCALE,4,6) ELSE '' END AS CODMAN, + ------------------------------------------------ + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN isnull(PATRIMONIO_BF.NOME_PROGETTO, '') <> '' THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + ELSE '|Progetto investimento' + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + END + '|' + PATRIMONIO_BF.POSITION_ID + -- fine modifica del 19/10/2018 + END AS Portafoglio, + CASE ISNULL(DETTAGLIO_ASUL.COD_ISIN_FITTIZIO, '') --SELEZIONE DEL CODICEPRODOTTO: DETTAGLIO_ASUL.COD_ISIN_FITTIZIO, DETTAGLIO_ASUL.COD_SOTTOPRODOTTO, '$' + WHEN '' THEN DETTAGLIO_ASUL.COD_ISIN_SOTT + ELSE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO + END AS CodiceProdotto, + --- 12/6/2018------------------------------------------------- + CASE isnull(ANAG_PRODOTTI.COD_ADEGUATEZZA,'') + WHEN '$' THEN '' + ELSE isnull(ANAG_PRODOTTI.COD_ADEGUATEZZA,'') + END AS CodiceAdeguatezza, + --------------------------------------------------------------- + -- modifica del 9/7/2018 + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_INTERNO, ''))) AS codiceInterno_old, --codiceInterno + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_MAF, ''))) AS CodiceValuta, --codiceMAF + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_SOTTOPRODOTTO, ''))) AS Classe, --codiceSottoprodotto + DETTAGLIO_ASUL.CTV AS CtvNominale, + DETTAGLIO_ASUL.CTV AS CtvReale, + 'COMPLESSIVO|BF' as tipoptf, + isnull(ANAG_PRODOTTI.cod_maf,'') as cod_maf, + '' as intermediario, + 'ASUL' as famprodt, + '' as assetterzi, + substring(patrimonio_bf.position_id,58,11) as codconf, + substring(patrimonio_bf.position_id,70,11) as conto, + substring(patrimonio_bf.position_id,81,4) as rubr, + substring(patrimonio_bf.position_id,85,1) as custgar, + ANAG_PRODOTTI.cod_interno as cod_interno, + substring(patrimonio_bf.position_id,97,8) as termid, + substring(patrimonio_bf.position_id,105,3) as annos, + substring(patrimonio_bf.position_id,108,8) as progs, + ANAG_PRODOTTI.cod_isin as cod_isin, + ANAG_PRODOTTI.cod_sottoprodotto as cod_sottoProdotto, + --CASE ISNULL(ANAG_PRODOTTI.COD_ADEGUATEZZA, '') --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + -- WHEN '' THEN ANAG_PRODOTTI.COD_ISIN + -- ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + --END AS cod_sottoProdotto, + --CASE ISNULL(DETTAGLIO_ASUL.COD_ISIN_FITTIZIO, '') --SELEZIONE DEL CODICEPRODOTTO: DETTAGLIO_ASUL.COD_ISIN_FITTIZIO, DETTAGLIO_ASUL.COD_SOTTOPRODOTTO, '$' + -- WHEN '' THEN DETTAGLIO_ASUL.COD_ISIN_SOTT + -- ELSE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO + --END AS cod_sottoProdotto, + LEFT(PATRIMONIO_BF.ID_AREA,3) as area, + CASE + WHEN isnull(PATRIMONIO_BF.NOME_PROGETTO, '') <> '' THEN PATRIMONIO_BF.NOME_PROGETTO + ELSE 'Progetto investimento' + END as Progetto, + Case when isnull(PATRIMONIO_BF.ID_AREA,'') = 'NA' then '' + else isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + end as codprj, + '' as chiave_prodotto_terzi, + substring(patrimonio_bf.position_id,86,11) as numpolizza, + --patrimonio_bf.position_id as position_id + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN isnull(PATRIMONIO_BF.NOME_PROGETTO, '') <> '' THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + ELSE '|Progetto investimento' + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + END + '|' + PATRIMONIO_BF.POSITION_ID + -- fine modifica del 19/10/2018 + END + '@' + CAST(ROW_NUMBER() OVER (ORDER BY PATRIMONIO_BF.RETE ASC, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 16 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 11 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) < 11 THEN substring(PATRIMONIO_BF.COD_FISCALE,4,6) ELSE '' END)AS varchar ) as position_id + ,PATRIMONIO_BF.COD_PRODOTTO as Prodotto_id + --10106 + FROM c6martperiodico.PATRIMONIO_BF + INNER JOIN c6martperiodico.DETTAGLIO_ASUL + ON DETTAGLIO_ASUL.ID_CONTRATTO = PATRIMONIO_BF.ID_CONTRATTO + INNER JOIN c6martperiodico.ANAG_PRODOTTI ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = DETTAGLIO_ASUL.COD_PRODOTTO + INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASUL') + UNION ALL + SELECT + '' as descr_prodotto, + INTERMEDIARIO.RETE AS Rete, + -------------------------------------------------- diff cf|Piva|fid codman + CASE WHEN LEN(LTRIM(RTRIM(INTERMEDIARIO.CODICEFISCALE))) = 16 THEN INTERMEDIARIO.CODICEFISCALE ELSE '' END AS CODFIS, + CASE WHEN LEN(LTRIM(RTRIM(INTERMEDIARIO.CODICEFISCALE))) = 11 THEN INTERMEDIARIO.CODICEFISCALE ELSE '' END AS PIVA, + CASE WHEN LEN(LTRIM(RTRIM(INTERMEDIARIO.CODICEFISCALE))) < 11 THEN substring(INTERMEDIARIO.CODICEFISCALE,4,6) ELSE '' END AS CODMAN, + ------------------------------------------------ + INTERMEDIARIO.PORTAFOGLIO AS Portafoglio, + ISNULL(INTERMEDIARIO.CODICEADEGUATEZZA,'') AS CodiceProdotto, + --- 12/6/2018------------------------------------------------- + CASE ISNULL(INTERMEDIARIO.CodiceAdeguatezza,'') + WHEN '$' THEN '' + ELSE replace(INTERMEDIARIO.CodiceAdeguatezza,'$','') + END AS CodiceAdeguatezza, + --------------------------------------------------------------- + --INTERMEDIARIO.PIAZZA + '' AS codiceInterno_old, + INTERMEDIARIO.CODICEVALUTA AS CodiceValuta, + INTERMEDIARIO.CLASSE AS Classe, + INTERMEDIARIO.CONTROVALORE AS CtvNominale, + INTERMEDIARIO.CONTROVALORE AS CtvReale, + INTERMEDIARIO.tipoptf as tipoptf, + isnull(INTERMEDIARIO.codiceMaf,'') as cod_maf, + INTERMEDIARIO.INTERMEDIARIO as intermediario, + INTERMEDIARIO.FAMPRODT as famprodt, + CASE INTERMEDIARIO.Asset_Terzi + WHEN '$' THEN '' + ELSE replace(INTERMEDIARIO.Asset_Terzi,'$','') + END as assetterzi, + '' as codconf, + '' as conto, + '' as rubr, + '' as custgar, + isnull(INTERMEDIARIO.codiceinterno,'') as cod_interno, + '' as termid, + '' as annos, + '' as progs, + INTERMEDIARIO.codiceisin as cod_isin, + --ANAG_PRODOTTI.cod_sottoprodotto as cod_sottoProdotto, + isnull(intermediario.CODiceSOTTOPRODOTTO,'') AS cod_sottoProdotto, + '' as area, + '' as Progetto, + '' as codprj, + intermediario.COD_PRODOTTO_TERZI as chiave_prodotto_terzi, + '' as numpolizza, + --INTERMEDIARIO.PORTAFOGLIO + 'COMPLESSIVO|TERZI' + '|' + INTERMEDIARIO.FAMPRODT + '|'+intermediario.COD_PRODOTTO_TERZI + '@' + CAST(ROW_NUMBER() OVER (ORDER BY INTERMEDIARIO.RETE ASC, + CASE WHEN LEN(LTRIM(RTRIM(INTERMEDIARIO.CODICEFISCALE))) = 16 THEN INTERMEDIARIO.CODICEFISCALE ELSE '' END, + CASE WHEN LEN(LTRIM(RTRIM(INTERMEDIARIO.CODICEFISCALE))) = 11 THEN INTERMEDIARIO.CODICEFISCALE ELSE '' END, + CASE WHEN LEN(LTRIM(RTRIM(INTERMEDIARIO.CODICEFISCALE))) < 11 THEN substring(INTERMEDIARIO.CODICEFISCALE,4,6) ELSE '' END )AS varchar ) as position_id + ,INTERMEDIARIO.COD_PRODOTTO as prodotto_id + FROM c6martperiodico.RP_VPROMETEIATERZIINTERMEDIARIO_aladdin INTERMEDIARIO + INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = INTERMEDIARIO.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = INTERMEDIARIO.CODICEFISCALE +union all + -- PATRIMONIO TERZI X TIPO PRODOTTO + SELECT + '' as descr_prodotto, + CATEGORIAPRODOTTO.RETE AS Rete, + -------------------------------------------------- diff cf|Piva|fid codman + CASE WHEN LEN(LTRIM(RTRIM(CATEGORIAPRODOTTO.CODICEFISCALE))) = 16 THEN CATEGORIAPRODOTTO.CODICEFISCALE ELSE '' END AS CODFIS, + CASE WHEN LEN(LTRIM(RTRIM(CATEGORIAPRODOTTO.CODICEFISCALE))) = 11 THEN CATEGORIAPRODOTTO.CODICEFISCALE ELSE '' END AS PIVA, + CASE WHEN LEN(LTRIM(RTRIM(CATEGORIAPRODOTTO.CODICEFISCALE))) < 11 THEN substring(CATEGORIAPRODOTTO.CODICEFISCALE,4,6) ELSE '' END AS CODMAN, + ------------------------------------------------ + CATEGORIAPRODOTTO.PORTAFOGLIO AS Portafoglio, + ISNULL(CATEGORIAPRODOTTO.CODICEADEGUATEZZA,'') AS CodiceProdotto, + --- 12/6/2018------------------------------------------------- + CASE ISNULL(CATEGORIAPRODOTTO.CodiceAdeguatezza,'') + WHEN '$' THEN '' + ELSE replace(CATEGORIAPRODOTTO.CodiceAdeguatezza,'$','') + END + AS CodiceAdeguatezza, + --------------------------------------------------------------- + CATEGORIAPRODOTTO.PIAZZA AS codiceInterno_old, + CATEGORIAPRODOTTO.CODICEVALUTA AS CodiceValuta, + CATEGORIAPRODOTTO.CLASSE AS Classe, + CATEGORIAPRODOTTO.CONTROVALORE AS CtvNominale, + CATEGORIAPRODOTTO.CONTROVALORE AS CtvReale, + CATEGORIAPRODOTTO.tipoptf as tipoptf, + isnull(CATEGORIAPRODOTTO.codiceMaf,'') as cod_maf, + '' as intermediario, + CATEGORIAPRODOTTO.famprodt as famprodt, + replace(CATEGORIAPRODOTTO.Asset_Terzi,'$','') as assetterzi, + '' as codconf, + '' as conto, + '' as rubr, + '' as custgar, + isnull(CATEGORIAPRODOTTO.codiceinterno,'') as cod_interno, + '' as termid, + '' as annos, + '' as progs, + CATEGORIAPRODOTTO.codiceisin as cod_isin, + --ANAG_PRODOTTI.cod_sottoprodotto as cod_sottoProdotto, + isnull(CATEGORIAPRODOTTO.CODiceSOTTOPRODOTTO,'') AS cod_sottoProdotto, + '' as area, + '' as Progetto, + '' as codprj, + replace(CATEGORIAPRODOTTO.COD_PRODOTTO_TERZI,'$','') as chiave_prodotto_terzi, + '' as numpolizza, + CATEGORIAPRODOTTO.PORTAFOGLIO + '@' + CAST(ROW_NUMBER() OVER (ORDER BY CATEGORIAPRODOTTO.RETE ASC, + CASE WHEN LEN(LTRIM(RTRIM(CATEGORIAPRODOTTO.CODICEFISCALE))) = 16 THEN CATEGORIAPRODOTTO.CODICEFISCALE ELSE '' END, + CASE WHEN LEN(LTRIM(RTRIM(CATEGORIAPRODOTTO.CODICEFISCALE))) = 11 THEN CATEGORIAPRODOTTO.CODICEFISCALE ELSE '' END, + CASE WHEN LEN(LTRIM(RTRIM(CATEGORIAPRODOTTO.CODICEFISCALE))) < 11 THEN substring(CATEGORIAPRODOTTO.CODICEFISCALE,4,6) ELSE '' END )AS varchar ) as position_id + ,CATEGORIAPRODOTTO.COD_Prodotto as Prodotto_id + FROM c6martperiodico.RP_VPROMETEIATERZICATEGORIAPRODOTTO_aladdin CATEGORIAPRODOTTO + INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = CATEGORIAPRODOTTO.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = CATEGORIAPRODOTTO.CODICEFISCALE +union all +SELECT + 'CC' as descr_prodotto, + PATRIMONIO_BF.RETE AS Rete, + -------------------------------------------------- diff cf|Piva|fid codman + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 16 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END AS CODFIS, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 11 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END AS PIVA, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) < 11 THEN substring(PATRIMONIO_BF.COD_FISCALE,4,6) ELSE '' END AS CODMAN, + ------------------------------------------------ + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + 'COMPLESSIVO|BF|CC'-- + PATRIMONIO_BF.POSITION_ID + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'COMPLESSIVO|BF|CC' + END AS Portafoglio, + '' AS CodiceProdotto, + --- 12/6/2018 ---------------------------------------- + 'EUR' AS CodiceAdeguatezza, + ----------------------------------------------------------- + -- modifica del 9/7/2018 + 'EUR' AS codiceInterno_old, --codiceInterno + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_MAF, ''))) AS CodiceValuta, --codiceMAF + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_SOTTOPRODOTTO, ''))) AS Classe, --codiceSottoprodotto + case when(sum(PATRIMONIO_BF.CTV_NOMINALE) - c6stagingPeriodico.getImportoSpesa(PATRIMONIO_BF.RETE,PATRIMONIO_BF.Cod_Fiscale) + [C6StagingPeriodico].[getTermID](PATRIMONIO_BF.RETE,PATRIMONIO_BF.Cod_Fiscale))>0 then sum(PATRIMONIO_BF.CTV_NOMINALE) - c6stagingPeriodico.getImportoSpesa(PATRIMONIO_BF.RETE,PATRIMONIO_BF.Cod_Fiscale) + [C6StagingPeriodico].[getTermID](PATRIMONIO_BF.RETE,PATRIMONIO_BF.Cod_Fiscale) + --(sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0.0001 end AS CtvNominale , + case when (sum(PATRIMONIO_BF.CTV) - c6stagingPeriodico.getImportoSpesa(PATRIMONIO_BF.RETE,PATRIMONIO_BF.Cod_Fiscale) + [C6StagingPeriodico].[getTermID](PATRIMONIO_BF.RETE,PATRIMONIO_BF.Cod_Fiscale))>0 then sum(PATRIMONIO_BF.CTV) - c6stagingPeriodico.getImportoSpesa(PATRIMONIO_BF.RETE,PATRIMONIO_BF.Cod_Fiscale) + [C6StagingPeriodico].[getTermID](PATRIMONIO_BF.RETE,PATRIMONIO_BF.Cod_Fiscale) + else 0.0001 end AS CtvReale, + 'COMPLESSIVO|BF' as tipoptf, + '' as cod_maf, + '' as intermediario, + 'CC' as famprodt, + '' as assetterzi, + '' as codconf, + '' as conto, + '' as rubr, + '' as custgar, + 'EUR' as cod_interno, + '' as termid, + '' as annos, + '' as progs, + 'EUR' as cod_isin, + '' as cod_sottoProdotto, + case WHEN LEFT(PATRIMONIO_BF.ID_AREA,3) = 'Cc' THEN + 'Liq'-- + PATRIMONIO_BF.POSITION_ID + WHEN (LEFT(PATRIMONIO_BF.ID_AREA,3) = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'Liq' + END as area, + CASE + WHEN isnull(PATRIMONIO_BF.NOME_PROGETTO, '') <> '' THEN PATRIMONIO_BF.NOME_PROGETTO + ELSE 'Progetto investimento' + END as Progetto, + '' as codprj, + '' as chiave_prodotto_terzi, + '' as numpolizza, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + 'COMPLESSIVO|BF|CC'-- + PATRIMONIO_BF.POSITION_ID + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'COMPLESSIVO|BF|CC' + END + '@' + CAST(ROW_NUMBER() OVER (ORDER BY PATRIMONIO_BF.RETE ASC, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 16 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 11 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) < 11 THEN substring(PATRIMONIO_BF.COD_FISCALE,4,6) ELSE '' END)AS varchar ) + as position_id + ,PATRIMONIO_BF.COD_PRODOTTO as Prodotto_ID +FROM c6martperiodico.PATRIMONIO_BF + INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN c6martperiodico.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('CC') +group by + PATRIMONIO_BF.rete, + --CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 16 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END, + -- CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 11 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END, + -- CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) < 11 THEN substring(PATRIMONIO_BF.COD_FISCALE,4,6) ELSE '' END, + PATRIMONIO_BF.COD_FISCALE, + CASE ISNULL(ANAG_PRODOTTI.COD_ADEGUATEZZA, '') --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END, + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_MAF, ''))), + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_SOTTOPRODOTTO, ''))), + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + 'COMPLESSIVO|BF|CC'-- + PATRIMONIO_BF.POSITION_ID + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'COMPLESSIVO|BF|CC' + END , + case WHEN LEFT(PATRIMONIO_BF.ID_AREA,3) = 'Cc' THEN + 'Liq'-- + PATRIMONIO_BF.POSITION_ID + WHEN (LEFT(PATRIMONIO_BF.ID_AREA,3) = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'Liq' + END, + CASE + WHEN isnull(PATRIMONIO_BF.NOME_PROGETTO, '') <> '' THEN PATRIMONIO_BF.NOME_PROGETTO + ELSE 'Progetto investimento' + END + ,PATRIMONIO_BF.COD_PRODOTTO \ No newline at end of file diff --git a/sql/Produzione/viste/C6MartPeriodico_RP_vTuttiIPortafogli_Aladdin_bkp_20250305.sql b/sql/Produzione/viste/C6MartPeriodico_RP_vTuttiIPortafogli_Aladdin_bkp_20250305.sql new file mode 100644 index 00000000..65723d5e --- /dev/null +++ b/sql/Produzione/viste/C6MartPeriodico_RP_vTuttiIPortafogli_Aladdin_bkp_20250305.sql @@ -0,0 +1,498 @@ +-- View +-- View +--modificata per i cc in liq Marianna & Valerio +--Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014 +CREATE VIEW [C6MartPeriodico].[RP_vTuttiIPortafogli_Aladdin_bkp_20250305] +AS +SELECT + ANAG_PRODOTTI.DESCR_PRODOTTO, + PATRIMONIO_BF.RETE AS Rete, + -------------------------------------------------- diff cf|Piva|fid codman + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 16 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END AS CODFIS, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 11 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END AS PIVA, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) < 11 THEN substring(PATRIMONIO_BF.COD_FISCALE,4,6) ELSE '' END AS CODMAN, + ------------------------------------------------ + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN isnull(PATRIMONIO_BF.NOME_PROGETTO, '') <> '' THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + ELSE '|Progetto investimento' + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + CASE ISNULL(ANAG_PRODOTTI.COD_ADEGUATEZZA, '') --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '' THEN ISNULL(ANAG_PRODOTTI.COD_ISIN,'') + ELSE ISNULL(ANAG_PRODOTTI.COD_ADEGUATEZZA,'') + END AS CodiceProdotto, + CASE ISNULL(ANAG_PRODOTTI.COD_ADEGUATEZZA,'') + WHEN '$' THEN '' + ELSE iSNULL(ANAG_PRODOTTI.COD_ADEGUATEZZA,'') + END AS CodiceAdeguatezza, + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_INTERNO, ''))) AS codiceInterno_old, --codiceInterno + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_MAF, ''))) AS CodiceValuta, --codiceMAF + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_SOTTOPRODOTTO, ''))) AS Classe, --codiceSottoprodotto + case when PATRIMONIO_BF.ISIN in('EURO00000009', 'EURO10000007') then 0.0000 + else PATRIMONIO_BF.CTV_NOMINALE end AS CtvNominale , + case when PATRIMONIO_BF.ISIN in('EURO00000009', 'EURO10000007') then 0.0000 + else PATRIMONIO_BF.CTV end AS CtvReale , + 'COMPLESSIVO|BF' as tipoptf, + isnull(ANAG_PRODOTTI.cod_maf,'') as cod_maf, + '' as intermediario, + ANAG_PRODOTTI.tipo_prodotto as famprodt, + '' as assetterzi, + substring(patrimonio_bf.position_id,58,11) as codconf, + substring(patrimonio_bf.position_id,70,11) as conto, + substring(patrimonio_bf.position_id,81,4) as rubr, + substring(patrimonio_bf.position_id,85,1) as custgar, + ANAG_PRODOTTI.cod_interno as cod_interno, + substring(patrimonio_bf.position_id,97,8) as termid, + substring(patrimonio_bf.position_id,105,3) as annos, + substring(patrimonio_bf.position_id,108,8) as progs, + CASE + when isnull(core.fondocore,0) > 0 or (LEN(isnull(ANAG_PRODOTTI.cod_isin,''))<12 and isnull(core.fondocore,0)=0 and ANAG_PRODOTTI.tipo_prodotto not in ('GP','CC','DT'))then '' + ELSE ANAG_PRODOTTI.cod_isin + END as cod_isin, + isnull(ANAG_PRODOTTI.cod_sottoprodotto,'') as cod_sottoProdotto, + LEFT(PATRIMONIO_BF.ID_AREA,3) as area, + CASE + WHEN isnull(PATRIMONIO_BF.NOME_PROGETTO, '') <> '' THEN PATRIMONIO_BF.NOME_PROGETTO + ELSE 'Progetto investimento' + END as Progetto, + Case when isnull(PATRIMONIO_BF.ID_AREA,'') = 'NA' then '' + else isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + end as codprj, + '' as chiave_prodotto_terzi, + substring(patrimonio_bf.position_id,86,11) as numpolizza, + --patrimonio_bf.position_id + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN isnull(PATRIMONIO_BF.NOME_PROGETTO, '') <> '' THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + ELSE '|Progetto investimento' + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + END + '|' + PATRIMONIO_BF.POSITION_ID + END + '@' + CAST(ROW_NUMBER() OVER (ORDER BY PATRIMONIO_BF.RETE ASC, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 16 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 11 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) < 11 THEN substring(PATRIMONIO_BF.COD_FISCALE,4,6) ELSE '' END)AS varchar ) as position_id, + ANAG_PRODOTTI.COD_PRODOTTO as prodotto_id +FROM c6martperiodico.PATRIMONIO_BF + INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN c6martperiodico.ANAG_PRODOTTI ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + left join (select distinct fondocore,catalogueid from c6stagingperiodico.rp_catalogoprodotti where isnull(fondocore,0)>0) as core + on Patrimonio_BF.cod_prodotto = core.catalogueid + WHERE (PATRIMONIO_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC','ASU2') + AND PATRIMONIO_BF.ID_AREA <> 'SELF') + UNION ALL + SELECT + ANAG_PRODOTTI.DESCR_PRODOTTO, + PATRIMONIO_BF.RETE AS Rete, + -------------------------------------------------- diff cf|Piva|fid codman + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 16 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END AS CODFIS, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 11 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END AS PIVA, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) < 11 THEN substring(PATRIMONIO_BF.COD_FISCALE,4,6) ELSE '' END AS CODMAN, + ------------------------------------------------ + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN isnull(PATRIMONIO_BF.NOME_PROGETTO, '') <> '' THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + ELSE '|Progetto investimento' + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + END + '|' + PATRIMONIO_BF.POSITION_ID + -- fine modifica del 19/10/2018 + END AS Portafoglio, + PATRIMONIO_BF.ISIN AS CodiceProdotto, + ------------------------------------------- 12/6/2018 + CASE ISNULL(ANAG_PRODOTTI.COD_ADEGUATEZZA ,'') + WHEN '$' THEN '' + ELSE ISNULL(ANAG_PRODOTTI.COD_ADEGUATEZZA,'') + END AS CodiceAdeguatezza, + ------------------------------------------------------------------ + -- modifica del 9/7/2018 + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_INTERNO, ''))) AS codiceInterno_old, --codiceInterno + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_MAF, ''))) AS CodiceValuta, --codiceMAF + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_SOTTOPRODOTTO, ''))) AS Classe, --codiceSottoprodotto + PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, + PATRIMONIO_BF.CTV AS CtvReale, + 'COMPLESSIVO|BF' as tipoptf, + ANAG_PRODOTTI.cod_maf as cod_maf, + '' as intermediario, + ANAG_PRODOTTI.tipo_prodotto as famprodt, + '' as assetterzi, + substring(patrimonio_bf.position_id,58,11) as codconf, + substring(patrimonio_bf.position_id,70,11) as conto, + substring(patrimonio_bf.position_id,81,4) as rubr, + substring(patrimonio_bf.position_id,85,1) as custgar, + ANAG_PRODOTTI.cod_interno as cod_interno, + substring(patrimonio_bf.position_id,97,8) as termid, + substring(patrimonio_bf.position_id,105,3) as annos, + substring(patrimonio_bf.position_id,108,8) as progs, + ANAG_PRODOTTI.cod_isin as cod_isin, + ANAG_PRODOTTI.cod_sottoprodotto as cod_sottoProdotto, + LEFT(PATRIMONIO_BF.ID_AREA,3) as area, + CASE + WHEN isnull(PATRIMONIO_BF.NOME_PROGETTO, '') <> '' THEN PATRIMONIO_BF.NOME_PROGETTO + ELSE 'Progetto investimento' + END as Progetto, + Case when isnull(PATRIMONIO_BF.ID_AREA,'') = 'NA' then '' + else isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + end as codprj, + '' as chiave_prodotto_terzi, + substring(patrimonio_bf.position_id,86,11) as numpolizza, + --patrimonio_bf.position_id + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN isnull(PATRIMONIO_BF.NOME_PROGETTO, '') <> '' THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + ELSE '|Progetto investimento' + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + END + '|' + PATRIMONIO_BF.POSITION_ID + -- fine modifica del 19/10/2018 + END + '@' + CAST(ROW_NUMBER() OVER (ORDER BY PATRIMONIO_BF.RETE ASC, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 16 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 11 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) < 11 THEN substring(PATRIMONIO_BF.COD_FISCALE,4,6) ELSE '' END) AS varchar ) as position_id, + ANAG_PRODOTTI.COD_PRODOTTO as prodotto_id + FROM C6martperiodico.PATRIMONIO_BF + INNER JOIN C6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + AND ANAG_PRODOTTI.COD_ISIN = PATRIMONIO_BF.ISIN + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASU2') +union all + SELECT + ANAG_PRODOTTI.DESCR_PRODOTTO, + PATRIMONIO_BF.RETE AS Rete, + -------------------------------------------------- diff cf|Piva|fid codman + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 16 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END AS CODFIS, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 11 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END AS PIVA, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) < 11 THEN substring(PATRIMONIO_BF.COD_FISCALE,4,6) ELSE '' END AS CODMAN, + ------------------------------------------------ + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN isnull(PATRIMONIO_BF.NOME_PROGETTO, '') <> '' THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + ELSE '|Progetto investimento' + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + END + '|' + PATRIMONIO_BF.POSITION_ID + -- fine modifica del 19/10/2018 + END AS Portafoglio, + CASE ISNULL(DETTAGLIO_ASUL.COD_ISIN_FITTIZIO, '') --SELEZIONE DEL CODICEPRODOTTO: DETTAGLIO_ASUL.COD_ISIN_FITTIZIO, DETTAGLIO_ASUL.COD_SOTTOPRODOTTO, '$' + WHEN '' THEN DETTAGLIO_ASUL.COD_ISIN_SOTT + ELSE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO + END AS CodiceProdotto, + --- 12/6/2018------------------------------------------------- + CASE isnull(ANAG_PRODOTTI.COD_ADEGUATEZZA,'') + WHEN '$' THEN '' + ELSE isnull(ANAG_PRODOTTI.COD_ADEGUATEZZA,'') + END AS CodiceAdeguatezza, + --------------------------------------------------------------- + -- modifica del 9/7/2018 + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_INTERNO, ''))) AS codiceInterno_old, --codiceInterno + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_MAF, ''))) AS CodiceValuta, --codiceMAF + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_SOTTOPRODOTTO, ''))) AS Classe, --codiceSottoprodotto + DETTAGLIO_ASUL.CTV AS CtvNominale, + DETTAGLIO_ASUL.CTV AS CtvReale, + 'COMPLESSIVO|BF' as tipoptf, + isnull(ANAG_PRODOTTI.cod_maf,'') as cod_maf, + '' as intermediario, + 'ASUL' as famprodt, + '' as assetterzi, + substring(patrimonio_bf.position_id,58,11) as codconf, + substring(patrimonio_bf.position_id,70,11) as conto, + substring(patrimonio_bf.position_id,81,4) as rubr, + substring(patrimonio_bf.position_id,85,1) as custgar, + ANAG_PRODOTTI.cod_interno as cod_interno, + substring(patrimonio_bf.position_id,97,8) as termid, + substring(patrimonio_bf.position_id,105,3) as annos, + substring(patrimonio_bf.position_id,108,8) as progs, + ANAG_PRODOTTI.cod_isin as cod_isin, + ANAG_PRODOTTI.cod_sottoprodotto as cod_sottoProdotto, + --CASE ISNULL(ANAG_PRODOTTI.COD_ADEGUATEZZA, '') --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + -- WHEN '' THEN ANAG_PRODOTTI.COD_ISIN + -- ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + --END AS cod_sottoProdotto, + --CASE ISNULL(DETTAGLIO_ASUL.COD_ISIN_FITTIZIO, '') --SELEZIONE DEL CODICEPRODOTTO: DETTAGLIO_ASUL.COD_ISIN_FITTIZIO, DETTAGLIO_ASUL.COD_SOTTOPRODOTTO, '$' + -- WHEN '' THEN DETTAGLIO_ASUL.COD_ISIN_SOTT + -- ELSE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO + --END AS cod_sottoProdotto, + LEFT(PATRIMONIO_BF.ID_AREA,3) as area, + CASE + WHEN isnull(PATRIMONIO_BF.NOME_PROGETTO, '') <> '' THEN PATRIMONIO_BF.NOME_PROGETTO + ELSE 'Progetto investimento' + END as Progetto, + Case when isnull(PATRIMONIO_BF.ID_AREA,'') = 'NA' then '' + else isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + end as codprj, + '' as chiave_prodotto_terzi, + substring(patrimonio_bf.position_id,86,11) as numpolizza, + --patrimonio_bf.position_id as position_id + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN isnull(PATRIMONIO_BF.NOME_PROGETTO, '') <> '' THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + ELSE '|Progetto investimento' + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + END + '|' + PATRIMONIO_BF.POSITION_ID + -- fine modifica del 19/10/2018 + END + '@' + CAST(ROW_NUMBER() OVER (ORDER BY PATRIMONIO_BF.RETE ASC, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 16 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 11 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) < 11 THEN substring(PATRIMONIO_BF.COD_FISCALE,4,6) ELSE '' END)AS varchar ) as position_id, + ANAG_PRODOTTI.COD_PRODOTTO as prodotto_id + --10106 + FROM c6martperiodico.PATRIMONIO_BF + INNER JOIN c6martperiodico.DETTAGLIO_ASUL + ON DETTAGLIO_ASUL.ID_CONTRATTO = PATRIMONIO_BF.ID_CONTRATTO + INNER JOIN c6martperiodico.ANAG_PRODOTTI ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = DETTAGLIO_ASUL.COD_PRODOTTO + INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASUL') + UNION ALL + SELECT + '' as descr_prodotto, + INTERMEDIARIO.RETE AS Rete, + -------------------------------------------------- diff cf|Piva|fid codman + CASE WHEN LEN(LTRIM(RTRIM(INTERMEDIARIO.CODICEFISCALE))) = 16 THEN INTERMEDIARIO.CODICEFISCALE ELSE '' END AS CODFIS, + CASE WHEN LEN(LTRIM(RTRIM(INTERMEDIARIO.CODICEFISCALE))) = 11 THEN INTERMEDIARIO.CODICEFISCALE ELSE '' END AS PIVA, + CASE WHEN LEN(LTRIM(RTRIM(INTERMEDIARIO.CODICEFISCALE))) < 11 THEN substring(INTERMEDIARIO.CODICEFISCALE,4,6) ELSE '' END AS CODMAN, + ------------------------------------------------ + INTERMEDIARIO.PORTAFOGLIO AS Portafoglio, + ISNULL(INTERMEDIARIO.CODICEADEGUATEZZA,'') AS CodiceProdotto, + --- 12/6/2018------------------------------------------------- + CASE ISNULL(INTERMEDIARIO.CodiceAdeguatezza,'') + WHEN '$' THEN '' + ELSE replace(INTERMEDIARIO.CodiceAdeguatezza,'$','') + END AS CodiceAdeguatezza, + --------------------------------------------------------------- + --INTERMEDIARIO.PIAZZA + '' AS codiceInterno_old, + INTERMEDIARIO.CODICEVALUTA AS CodiceValuta, + INTERMEDIARIO.CLASSE AS Classe, + INTERMEDIARIO.CONTROVALORE AS CtvNominale, + INTERMEDIARIO.CONTROVALORE AS CtvReale, + INTERMEDIARIO.tipoptf as tipoptf, + isnull(INTERMEDIARIO.codiceMaf,'') as cod_maf, + INTERMEDIARIO.INTERMEDIARIO as intermediario, + INTERMEDIARIO.FAMPRODT as famprodt, + CASE INTERMEDIARIO.Asset_Terzi + WHEN '$' THEN '' + ELSE replace(INTERMEDIARIO.Asset_Terzi,'$','') + END as assetterzi, + '' as codconf, + '' as conto, + '' as rubr, + '' as custgar, + isnull(INTERMEDIARIO.codiceinterno,'') as cod_interno, + '' as termid, + '' as annos, + '' as progs, + INTERMEDIARIO.codiceisin as cod_isin, + --ANAG_PRODOTTI.cod_sottoprodotto as cod_sottoProdotto, + isnull(intermediario.CODiceSOTTOPRODOTTO,'') AS cod_sottoProdotto, + '' as area, + '' as Progetto, + '' as codprj, + intermediario.COD_PRODOTTO_TERZI as chiave_prodotto_terzi, + '' as numpolizza, + --INTERMEDIARIO.PORTAFOGLIO + 'COMPLESSIVO|TERZI' + '|' + INTERMEDIARIO.FAMPRODT + '|'+intermediario.COD_PRODOTTO_TERZI + '@' + CAST(ROW_NUMBER() OVER (ORDER BY INTERMEDIARIO.RETE ASC, + CASE WHEN LEN(LTRIM(RTRIM(INTERMEDIARIO.CODICEFISCALE))) = 16 THEN INTERMEDIARIO.CODICEFISCALE ELSE '' END, + CASE WHEN LEN(LTRIM(RTRIM(INTERMEDIARIO.CODICEFISCALE))) = 11 THEN INTERMEDIARIO.CODICEFISCALE ELSE '' END, + CASE WHEN LEN(LTRIM(RTRIM(INTERMEDIARIO.CODICEFISCALE))) < 11 THEN substring(INTERMEDIARIO.CODICEFISCALE,4,6) ELSE '' END )AS varchar ) as position_id, + '' as prodotto_id + FROM c6martperiodico.RP_VPROMETEIATERZIINTERMEDIARIO_aladdin INTERMEDIARIO + INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = INTERMEDIARIO.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = INTERMEDIARIO.CODICEFISCALE +union all + -- PATRIMONIO TERZI X TIPO PRODOTTO + SELECT + '' as descr_prodotto, + CATEGORIAPRODOTTO.RETE AS Rete, + -------------------------------------------------- diff cf|Piva|fid codman + CASE WHEN LEN(LTRIM(RTRIM(CATEGORIAPRODOTTO.CODICEFISCALE))) = 16 THEN CATEGORIAPRODOTTO.CODICEFISCALE ELSE '' END AS CODFIS, + CASE WHEN LEN(LTRIM(RTRIM(CATEGORIAPRODOTTO.CODICEFISCALE))) = 11 THEN CATEGORIAPRODOTTO.CODICEFISCALE ELSE '' END AS PIVA, + CASE WHEN LEN(LTRIM(RTRIM(CATEGORIAPRODOTTO.CODICEFISCALE))) < 11 THEN substring(CATEGORIAPRODOTTO.CODICEFISCALE,4,6) ELSE '' END AS CODMAN, + ------------------------------------------------ + CATEGORIAPRODOTTO.PORTAFOGLIO AS Portafoglio, + ISNULL(CATEGORIAPRODOTTO.CODICEADEGUATEZZA,'') AS CodiceProdotto, + --- 12/6/2018------------------------------------------------- + CASE ISNULL(CATEGORIAPRODOTTO.CodiceAdeguatezza,'') + WHEN '$' THEN '' + ELSE replace(CATEGORIAPRODOTTO.CodiceAdeguatezza,'$','') + END + AS CodiceAdeguatezza, + --------------------------------------------------------------- + CATEGORIAPRODOTTO.PIAZZA AS codiceInterno_old, + CATEGORIAPRODOTTO.CODICEVALUTA AS CodiceValuta, + CATEGORIAPRODOTTO.CLASSE AS Classe, + CATEGORIAPRODOTTO.CONTROVALORE AS CtvNominale, + CATEGORIAPRODOTTO.CONTROVALORE AS CtvReale, + CATEGORIAPRODOTTO.tipoptf as tipoptf, + isnull(CATEGORIAPRODOTTO.codiceMaf,'') as cod_maf, + '' as intermediario, + CATEGORIAPRODOTTO.famprodt as famprodt, + replace(CATEGORIAPRODOTTO.Asset_Terzi,'$','') as assetterzi, + '' as codconf, + '' as conto, + '' as rubr, + '' as custgar, + isnull(CATEGORIAPRODOTTO.codiceinterno,'') as cod_interno, + '' as termid, + '' as annos, + '' as progs, + CATEGORIAPRODOTTO.codiceisin as cod_isin, + --ANAG_PRODOTTI.cod_sottoprodotto as cod_sottoProdotto, + isnull(CATEGORIAPRODOTTO.CODiceSOTTOPRODOTTO,'') AS cod_sottoProdotto, + '' as area, + '' as Progetto, + '' as codprj, + replace(CATEGORIAPRODOTTO.COD_PRODOTTO_TERZI,'$','') as chiave_prodotto_terzi, + '' as numpolizza, + CATEGORIAPRODOTTO.PORTAFOGLIO + '@' + CAST(ROW_NUMBER() OVER (ORDER BY CATEGORIAPRODOTTO.RETE ASC, + CASE WHEN LEN(LTRIM(RTRIM(CATEGORIAPRODOTTO.CODICEFISCALE))) = 16 THEN CATEGORIAPRODOTTO.CODICEFISCALE ELSE '' END, + CASE WHEN LEN(LTRIM(RTRIM(CATEGORIAPRODOTTO.CODICEFISCALE))) = 11 THEN CATEGORIAPRODOTTO.CODICEFISCALE ELSE '' END, + CASE WHEN LEN(LTRIM(RTRIM(CATEGORIAPRODOTTO.CODICEFISCALE))) < 11 THEN substring(CATEGORIAPRODOTTO.CODICEFISCALE,4,6) ELSE '' END )AS varchar ) as position_id, + '' as prodotto_id + FROM c6martperiodico.RP_VPROMETEIATERZICATEGORIAPRODOTTO_aladdin CATEGORIAPRODOTTO + INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = CATEGORIAPRODOTTO.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = CATEGORIAPRODOTTO.CODICEFISCALE +union all +SELECT + 'CC' as descr_prodotto, + PATRIMONIO_BF.RETE AS Rete, + -------------------------------------------------- diff cf|Piva|fid codman + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 16 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END AS CODFIS, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 11 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END AS PIVA, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) < 11 THEN substring(PATRIMONIO_BF.COD_FISCALE,4,6) ELSE '' END AS CODMAN, + ------------------------------------------------ + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + 'COMPLESSIVO|BF|CC'-- + PATRIMONIO_BF.POSITION_ID + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'COMPLESSIVO|BF|CC' + END AS Portafoglio, + '' AS CodiceProdotto, + --- 12/6/2018 ---------------------------------------- + 'EUR' AS CodiceAdeguatezza, + ----------------------------------------------------------- + -- modifica del 9/7/2018 + 'EUR' AS codiceInterno_old, --codiceInterno + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_MAF, ''))) AS CodiceValuta, --codiceMAF + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_SOTTOPRODOTTO, ''))) AS Classe, --codiceSottoprodotto + case when(sum(PATRIMONIO_BF.CTV_NOMINALE) - c6stagingPeriodico.getImportoSpesa(PATRIMONIO_BF.RETE,PATRIMONIO_BF.Cod_Fiscale) + [C6StagingPeriodico].[getTermID](PATRIMONIO_BF.RETE,PATRIMONIO_BF.Cod_Fiscale))>0 then sum(PATRIMONIO_BF.CTV_NOMINALE) - c6stagingPeriodico.getImportoSpesa(PATRIMONIO_BF.RETE,PATRIMONIO_BF.Cod_Fiscale) + [C6StagingPeriodico].[getTermID](PATRIMONIO_BF.RETE,PATRIMONIO_BF.Cod_Fiscale) + --(sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0.0001 end AS CtvNominale , + case when (sum(PATRIMONIO_BF.CTV) - c6stagingPeriodico.getImportoSpesa(PATRIMONIO_BF.RETE,PATRIMONIO_BF.Cod_Fiscale) + [C6StagingPeriodico].[getTermID](PATRIMONIO_BF.RETE,PATRIMONIO_BF.Cod_Fiscale))>0 then sum(PATRIMONIO_BF.CTV) - c6stagingPeriodico.getImportoSpesa(PATRIMONIO_BF.RETE,PATRIMONIO_BF.Cod_Fiscale) + [C6StagingPeriodico].[getTermID](PATRIMONIO_BF.RETE,PATRIMONIO_BF.Cod_Fiscale) + else 0.0001 end AS CtvReale, + 'COMPLESSIVO|BF' as tipoptf, + '' as cod_maf, + '' as intermediario, + 'CC' as famprodt, + '' as assetterzi, + '' as codconf, + '' as conto, + '' as rubr, + '' as custgar, + 'EUR' as cod_interno, + '' as termid, + '' as annos, + '' as progs, + 'EUR' as cod_isin, + '' as cod_sottoProdotto, + case WHEN LEFT(PATRIMONIO_BF.ID_AREA,3) = 'Cc' THEN + 'Liq'-- + PATRIMONIO_BF.POSITION_ID + WHEN (LEFT(PATRIMONIO_BF.ID_AREA,3) = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'Liq' + END as area, + CASE + WHEN isnull(PATRIMONIO_BF.NOME_PROGETTO, '') <> '' THEN PATRIMONIO_BF.NOME_PROGETTO + ELSE 'Progetto investimento' + END as Progetto, + '' as codprj, + '' as chiave_prodotto_terzi, + '' as numpolizza, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + 'COMPLESSIVO|BF|CC'-- + PATRIMONIO_BF.POSITION_ID + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'COMPLESSIVO|BF|CC' + END + '@' + CAST(ROW_NUMBER() OVER (ORDER BY PATRIMONIO_BF.RETE ASC, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 16 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 11 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) < 11 THEN substring(PATRIMONIO_BF.COD_FISCALE,4,6) ELSE '' END)AS varchar ) + as position_id, + '' as prodotto_id +FROM c6martperiodico.PATRIMONIO_BF + INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN c6martperiodico.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('CC') +group by + PATRIMONIO_BF.rete, + --CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 16 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END, + -- CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 11 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END, + -- CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) < 11 THEN substring(PATRIMONIO_BF.COD_FISCALE,4,6) ELSE '' END, + PATRIMONIO_BF.COD_FISCALE, + CASE ISNULL(ANAG_PRODOTTI.COD_ADEGUATEZZA, '') --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END, + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_MAF, ''))), + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_SOTTOPRODOTTO, ''))), + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + 'COMPLESSIVO|BF|CC'-- + PATRIMONIO_BF.POSITION_ID + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'COMPLESSIVO|BF|CC' + END , + case WHEN LEFT(PATRIMONIO_BF.ID_AREA,3) = 'Cc' THEN + 'Liq'-- + PATRIMONIO_BF.POSITION_ID + WHEN (LEFT(PATRIMONIO_BF.ID_AREA,3) = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'Liq' + END, + CASE + WHEN isnull(PATRIMONIO_BF.NOME_PROGETTO, '') <> '' THEN PATRIMONIO_BF.NOME_PROGETTO + ELSE 'Progetto investimento' + END \ No newline at end of file diff --git a/sql/Produzione/viste/C6MartPeriodico_RP_vTuttiIPortafogli_BK_eligoTitoli.sql b/sql/Produzione/viste/C6MartPeriodico_RP_vTuttiIPortafogli_BK_eligoTitoli.sql new file mode 100644 index 00000000..f1994e78 --- /dev/null +++ b/sql/Produzione/viste/C6MartPeriodico_RP_vTuttiIPortafogli_BK_eligoTitoli.sql @@ -0,0 +1,262 @@ +--select top 1 * from c6martperiodico.anag_prodotti +--modificata per i cc in liq Marianna & Valerio +CREATE VIEW [C6MartPeriodico].[RP_vTuttiIPortafogli_BK_eligoTitoli] +AS +SELECT + ANAG_PRODOTTI.DESCR_PRODOTTO, + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN +-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, +-- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA +-- ELSE ANAG_PRODOTTI.COD_ISIN +-- END AS CodiceProdotto, +-- MODIFICA LUCA + CASE ISNULL(ANAG_PRODOTTI.COD_ADEGUATEZZA, '') --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + --V FRANCHIGIA CC +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV_NOMINALE +-- END AS CtvNominale, +--INIZIO INTERVENTO OMNIA +-- PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, +-- PATRIMONIO_BF.CTV AS CtvReale + case when PATRIMONIO_BF.ISIN = 'EURO00000009' then 0.0000 + else PATRIMONIO_BF.CTV_NOMINALE end AS CtvNominale , + case when PATRIMONIO_BF.ISIN = 'EURO00000009' then 0.0000 + else PATRIMONIO_BF.CTV end AS CtvReale +--FINE INTERVENTO OMNIA + FROM c6martperiodico.PATRIMONIO_BF + INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN c6martperiodico.ANAG_PRODOTTI ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO +--INIZIO INTERVENTO OMNIA +-- WHERE PATRIMONIO_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC','ASU2') + WHERE (PATRIMONIO_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC','ASU2') + AND PATRIMONIO_BF.ID_AREA <> 'SELF') +--FINE INTERVENTO OMNIA + UNION ALL + ---V Modifica per calcolo VaR prodotti ASU2 + SELECT + ANAG_PRODOTTI.DESCR_PRODOTTO, + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID + -- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + -- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + -- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + -- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA + -- ELSE ANAG_PRODOTTI.COD_ISIN + -- END AS CodiceProdotto, + ---- MODIFICA LUCA + --V Modifica per gli ASU2 CON IL COD_ADEGUATEZZA NON BECCA NESSUN PRODTTO PROMETEIA + -- CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + -- WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + -- ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA END + PATRIMONIO_BF.ISIN AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + --V FRANCHIGIA CC + -- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + -- THEN 0 + -- ELSE PATRIMONIO_BF.CTV_NOMINALE + -- END AS CtvNominale, + PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, + --PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, + -- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + -- THEN 0 + -- ELSE PATRIMONIO_BF.CTV + -- END AS CtvReale + PATRIMONIO_BF.CTV AS CtvReale + FROM C6martperiodico.PATRIMONIO_BF + INNER JOIN C6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + AND ANAG_PRODOTTI.COD_ISIN = PATRIMONIO_BF.ISIN + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASU2') + UNION ALL + -- PATRIMONIO ASUL + SELECT + ANAG_PRODOTTI.DESCR_PRODOTTO, + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- +-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN +-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + CASE ISNULL(DETTAGLIO_ASUL.COD_ISIN_FITTIZIO, '') --SELEZIONE DEL CODICEPRODOTTO: DETTAGLIO_ASUL.COD_ISIN_FITTIZIO, DETTAGLIO_ASUL.COD_SOTTOPRODOTTO, '$' + WHEN '' THEN DETTAGLIO_ASUL.COD_ISIN_SOTT + ELSE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO + END AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + DETTAGLIO_ASUL.CTV AS CtvNominale, + DETTAGLIO_ASUL.CTV AS CtvReale + FROM c6martperiodico.PATRIMONIO_BF + INNER JOIN c6martperiodico.ANAG_PRODOTTI ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + INNER JOIN c6martperiodico.DETTAGLIO_ASUL + ON DETTAGLIO_ASUL.ID_CONTRATTO = PATRIMONIO_BF.ID_CONTRATTO + INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASUL') + UNION ALL + -- PATRIMONIO TERZI + SELECT + '' as descr_prodotto, + INTERMEDIARIO.RETE AS Rete, + INTERMEDIARIO.CODICEFISCALE AS CodiceFiscale, + INTERMEDIARIO.PORTAFOGLIO AS Portafoglio, + INTERMEDIARIO.CODICEADEGUATEZZA AS CodiceProdotto, + INTERMEDIARIO.PIAZZA AS Piazza, + INTERMEDIARIO.CODICEVALUTA AS CodiceValuta, + INTERMEDIARIO.CLASSE AS Classe, + INTERMEDIARIO.CONTROVALORE AS CtvNominale, + INTERMEDIARIO.CONTROVALORE AS CtvReale + FROM c6martperiodico.RP_VPROMETEIATERZIINTERMEDIARIO INTERMEDIARIO + INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = INTERMEDIARIO.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = INTERMEDIARIO.CODICEFISCALE + UNION ALL + -- PATRIMONIO TERZI X TIPO PRODOTTO + SELECT + '' as descr_prodotto, + CATEGORIAPRODOTTO.RETE AS Rete, + CATEGORIAPRODOTTO.CODICEFISCALE AS CodiceFiscale, + CATEGORIAPRODOTTO.PORTAFOGLIO AS Portafoglio, + CATEGORIAPRODOTTO.CODICEADEGUATEZZA AS CodiceProdotto, + CATEGORIAPRODOTTO.PIAZZA AS Piazza, + CATEGORIAPRODOTTO.CODICEVALUTA AS CodiceValuta, + CATEGORIAPRODOTTO.CLASSE AS Classe, + CATEGORIAPRODOTTO.CONTROVALORE AS CtvNominale, + CATEGORIAPRODOTTO.CONTROVALORE AS CtvReale + FROM c6martperiodico.RP_VPROMETEIATERZICATEGORIAPRODOTTO CATEGORIAPRODOTTO + INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = CATEGORIAPRODOTTO.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = CATEGORIAPRODOTTO.CODICEFISCALE +--V Conti correnti Fideuram +union all +SELECT + 'CC' as descr_prodotto, + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE +-- WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN +-- 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- + WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + 'COMPLESSIVO|BF|CC'-- + PATRIMONIO_BF.POSITION_ID + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'COMPLESSIVO|BF|CC' +-- ELSE +-- 'COMPLESSIVO|BF|' + +-- LEFT(PATRIMONIO_BF.ID_AREA,3) + +-- CASE +-- WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO +-- ELSE '' +-- END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, +-- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA +-- ELSE ANAG_PRODOTTI.COD_ISIN +-- END AS CodiceProdotto, +-- MODIFICA LUCA +-- CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN +-- ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA +-- END + 'EUR' AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + --V FRANCHIGIA CC +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV_NOMINALE +-- END AS CtvNominale, + case when (sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0.0001 end AS CtvNominale , +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV +-- END AS CtvReale + case when (sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0.0001 end AS CtvReale +FROM c6martperiodico.PATRIMONIO_BF + INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN c6martperiodico.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('CC') +group by + PATRIMONIO_BF.rete, + PATRIMONIO_BF.cod_fiscale, + CASE ISNULL(ANAG_PRODOTTI.COD_ADEGUATEZZA, '') --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END, + CASE +-- WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN +-- 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- + WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + 'COMPLESSIVO|BF|CC'-- + PATRIMONIO_BF.POSITION_ID + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'COMPLESSIVO|BF|CC' +-- ELSE +-- 'COMPLESSIVO|BF|' + +-- LEFT(PATRIMONIO_BF.ID_AREA,3) + +-- CASE +-- WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO +-- ELSE '' +-- END + '|' + PATRIMONIO_BF.POSITION_ID + END \ No newline at end of file diff --git a/sql/Produzione/viste/C6MartPeriodico_RP_vTuttiIPortafogli_Indicatore.sql b/sql/Produzione/viste/C6MartPeriodico_RP_vTuttiIPortafogli_Indicatore.sql new file mode 100644 index 00000000..460bda47 --- /dev/null +++ b/sql/Produzione/viste/C6MartPeriodico_RP_vTuttiIPortafogli_Indicatore.sql @@ -0,0 +1,311 @@ +CREATE VIEW [C6MartPeriodico].[RP_vTuttiIPortafogli_Indicatore] +AS +SELECT + ANAG_PRODOTTI.DESCR_PRODOTTO, + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN +-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN isnull(PATRIMONIO_BF.NOME_PROGETTO, '') <> '' THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + ELSE '|Progetto investimento' + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, +-- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA +-- ELSE ANAG_PRODOTTI.COD_ISIN +-- END AS CodiceProdotto, +-- MODIFICA LUCA + CASE ISNULL(ANAG_PRODOTTI.COD_ADEGUATEZZA, '') --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END AS CodiceProdotto, + --- 23//5/2018 ---------------------------------------- + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA + WHEN '$' THEN '' + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END AS CodiceAdeguatezza, + ----------------------------------------------------------- + -- modifica del 9/7/2018 + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_INTERNO, ''))) AS Piazza, --codiceInterno + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_MAF, ''))) AS CodiceValuta, --codiceMAF + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_SOTTOPRODOTTO, ''))) AS Classe, --codiceSottoprodotto + --'' AS Piazza, --codiceInterno + --'' AS CodiceValuta, --codiceMAF + --'' AS Classe, --codiceSottoprodotto + -- fine modifica del 9/7/2018 + --V FRANCHIGIA CC +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV_NOMINALE +-- END AS CtvNominale, +--INIZIO INTERVENTO OMNIA +-- PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, +-- PATRIMONIO_BF.CTV AS CtvReale + case when PATRIMONIO_BF.ISIN in('EURO00000009', 'EURO10000007') then 0.0000 + else PATRIMONIO_BF.CTV_NOMINALE end AS CtvNominale , + case when PATRIMONIO_BF.ISIN in('EURO00000009', 'EURO10000007') then 0.0000 + else PATRIMONIO_BF.CTV end AS CtvReale +--FINE INTERVENTO OMNIA + FROM c6martperiodico.PATRIMONIO_BF + INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN c6martperiodico.ANAG_PRODOTTI ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO +--INIZIO INTERVENTO OMNIA +-- WHERE PATRIMONIO_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC','ASU2') + WHERE (PATRIMONIO_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC','ASU2') + AND PATRIMONIO_BF.ID_AREA <> 'SELF') +--FINE INTERVENTO OMNIA + UNION ALL + ---V Modifica per calcolo VaR prodotti ASU2 + SELECT + ANAG_PRODOTTI.DESCR_PRODOTTO, + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID + -- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + -- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN isnull(PATRIMONIO_BF.NOME_PROGETTO, '') <> '' THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + ELSE '|Progetto investimento' + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + -- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + -- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA + -- ELSE ANAG_PRODOTTI.COD_ISIN + -- END AS CodiceProdotto, + ---- MODIFICA LUCA + --V Modifica per gli ASU2 CON IL COD_ADEGUATEZZA NON BECCA NESSUN PRODTTO PROMETEIA + -- CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + -- WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + -- ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA END + PATRIMONIO_BF.ISIN AS CodiceProdotto, + ------------------------------------------- 12/6/2018 + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA + WHEN '$' THEN '' + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END AS CodiceAdeguatezza, + ------------------------------------------------------------------ + -- modifica del 9/7/2018 + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_INTERNO, ''))) AS Piazza, --codiceInterno + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_MAF, ''))) AS CodiceValuta, --codiceMAF + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_SOTTOPRODOTTO, ''))) AS Classe, --codiceSottoprodotto + -- '' AS Piazza, + -- '' AS CodiceValuta, + -- '' AS Classe, + -- fine modifica del 9/7/2018 + --V FRANCHIGIA CC + -- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + -- THEN 0 + -- ELSE PATRIMONIO_BF.CTV_NOMINALE + -- END AS CtvNominale, + PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, + --PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, + -- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + -- THEN 0 + -- ELSE PATRIMONIO_BF.CTV + -- END AS CtvReale + PATRIMONIO_BF.CTV AS CtvReale + FROM C6martperiodico.PATRIMONIO_BF + INNER JOIN C6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + AND ANAG_PRODOTTI.COD_ISIN = PATRIMONIO_BF.ISIN + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASU2') + UNION ALL + -- PATRIMONIO ASUL + SELECT + ANAG_PRODOTTI.DESCR_PRODOTTO, + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- +-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN +-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN isnull(PATRIMONIO_BF.NOME_PROGETTO, '') <> '' THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + ELSE '|Progetto investimento' + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + CASE ISNULL(DETTAGLIO_ASUL.COD_ISIN_FITTIZIO, '') --SELEZIONE DEL CODICEPRODOTTO: DETTAGLIO_ASUL.COD_ISIN_FITTIZIO, DETTAGLIO_ASUL.COD_SOTTOPRODOTTO, '$' + WHEN '' THEN DETTAGLIO_ASUL.COD_ISIN_SOTT + ELSE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO + END AS CodiceProdotto, + --- 12/6/2018------------------------------------------------- + '' AS CodiceAdeguatezza, + --------------------------------------------------------------- + -- modifica del 9/7/2018 + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_INTERNO, ''))) AS Piazza, --codiceInterno + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_MAF, ''))) AS CodiceValuta, --codiceMAF + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_SOTTOPRODOTTO, ''))) AS Classe, --codiceSottoprodotto + --'' AS Piazza, + --'' AS CodiceValuta, + -- '' AS Classe, + -- fine modifica del 9/7/2018 + DETTAGLIO_ASUL.CTV AS CtvNominale, + DETTAGLIO_ASUL.CTV AS CtvReale + FROM c6martperiodico.PATRIMONIO_BF + INNER JOIN c6martperiodico.ANAG_PRODOTTI ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + INNER JOIN c6martperiodico.DETTAGLIO_ASUL + ON DETTAGLIO_ASUL.ID_CONTRATTO = PATRIMONIO_BF.ID_CONTRATTO + INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASUL') + UNION ALL + -- PATRIMONIO TERZI + SELECT + '' as descr_prodotto, + INTERMEDIARIO.RETE AS Rete, + INTERMEDIARIO.CODICEFISCALE AS CodiceFiscale, + INTERMEDIARIO.PORTAFOGLIO AS Portafoglio, + INTERMEDIARIO.CODICEADEGUATEZZA AS CodiceProdotto, + --- 12/6/2018------------------------------------------------- + --'' AS CodiceAdeguatezza, + --------------------------------------------------------------- + INTERMEDIARIO.CODICEADEGUATEZZA AS CodiceAdeguatezza, --modifica 050520 per risolvere anomalie Levi + INTERMEDIARIO.PIAZZA AS Piazza, + INTERMEDIARIO.CODICEVALUTA AS CodiceValuta, + INTERMEDIARIO.CLASSE AS Classe, + INTERMEDIARIO.CONTROVALORE AS CtvNominale, + INTERMEDIARIO.CONTROVALORE AS CtvReale + FROM c6martperiodico.RP_VPROMETEIATERZIINTERMEDIARIO INTERMEDIARIO + INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = INTERMEDIARIO.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = INTERMEDIARIO.CODICEFISCALE + UNION ALL + -- PATRIMONIO TERZI X TIPO PRODOTTO + SELECT + '' as descr_prodotto, + CATEGORIAPRODOTTO.RETE AS Rete, + CATEGORIAPRODOTTO.CODICEFISCALE AS CodiceFiscale, + CATEGORIAPRODOTTO.PORTAFOGLIO AS Portafoglio, + CATEGORIAPRODOTTO.CODICEADEGUATEZZA AS CodiceProdotto, + --- 12/6/2018------------------------------------------------- + '' AS CodiceAdeguatezza, + --------------------------------------------------------------- + CATEGORIAPRODOTTO.PIAZZA AS Piazza, + CATEGORIAPRODOTTO.CODICEVALUTA AS CodiceValuta, + CATEGORIAPRODOTTO.CLASSE AS Classe, + CATEGORIAPRODOTTO.CONTROVALORE AS CtvNominale, + CATEGORIAPRODOTTO.CONTROVALORE AS CtvReale + FROM c6martperiodico.RP_VPROMETEIATERZICATEGORIAPRODOTTO CATEGORIAPRODOTTO + INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = CATEGORIAPRODOTTO.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = CATEGORIAPRODOTTO.CODICEFISCALE +--V Conti correnti Fideuram +union all +SELECT + 'CC' as descr_prodotto, + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE +-- WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN +-- 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- + WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + 'COMPLESSIVO|BF|CC'-- + PATRIMONIO_BF.POSITION_ID + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'COMPLESSIVO|BF|CC' +-- ELSE +-- 'COMPLESSIVO|BF|' + +-- LEFT(PATRIMONIO_BF.ID_AREA,3) + +-- CASE +-- WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO +-- ELSE '' +-- END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, +-- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA +-- ELSE ANAG_PRODOTTI.COD_ISIN +-- END AS CodiceProdotto, +-- MODIFICA LUCA +-- CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN +-- ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA +-- END + 'EUR' AS CodiceProdotto, + --- 12/6/2018 ---------------------------------------- + '' AS CodiceAdeguatezza, + ----------------------------------------------------------- + -- modifica del 9/7/2018 + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_INTERNO, ''))) AS Piazza, --codiceInterno + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_MAF, ''))) AS CodiceValuta, --codiceMAF + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_SOTTOPRODOTTO, ''))) AS Classe, --codiceSottoprodotto + --'' AS Piazza, + --'' AS CodiceValuta, + -- '' AS Classe, + -- fine modifica del 9/7/2018 + --V FRANCHIGIA CC +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV_NOMINALE +-- END AS CtvNominale, + case when (sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0.0001 end AS CtvNominale , +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV +-- END AS CtvReale + case when (sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0.0001 end AS CtvReale +FROM c6martperiodico.PATRIMONIO_BF + INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN c6martperiodico.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('CC') +group by + PATRIMONIO_BF.rete, + PATRIMONIO_BF.cod_fiscale, + CASE ISNULL(ANAG_PRODOTTI.COD_ADEGUATEZZA, '') --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END, + PATRIMONIO_BF.COD_INTERNO, + PATRIMONIO_BF.COD_MAF, + PATRIMONIO_BF.COD_SOTTOPRODOTTO, + CASE +-- WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN +-- 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- + WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + 'COMPLESSIVO|BF|CC'-- + PATRIMONIO_BF.POSITION_ID + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'COMPLESSIVO|BF|CC' +-- ELSE +-- 'COMPLESSIVO|BF|' + +-- LEFT(PATRIMONIO_BF.ID_AREA,3) + +-- CASE +-- WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO +-- ELSE '' +-- END + '|' + PATRIMONIO_BF.POSITION_ID + END \ No newline at end of file diff --git a/sql/Produzione/viste/C6MartPeriodico_RP_vTuttiIPortafogli_Indicatore_newkey.sql b/sql/Produzione/viste/C6MartPeriodico_RP_vTuttiIPortafogli_Indicatore_newkey.sql new file mode 100644 index 00000000..ce7637ca --- /dev/null +++ b/sql/Produzione/viste/C6MartPeriodico_RP_vTuttiIPortafogli_Indicatore_newkey.sql @@ -0,0 +1,329 @@ +CREATE VIEW [C6MartPeriodico].[RP_vTuttiIPortafogli_Indicatore_newkey] +AS +SELECT + ANAG_PRODOTTI.DESCR_PRODOTTO, + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN +-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN isnull(PATRIMONIO_BF.NOME_PROGETTO, '') <> '' THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + ELSE '|Progetto investimento' + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, +-- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA +-- ELSE ANAG_PRODOTTI.COD_ISIN +-- END AS CodiceProdotto, +-- MODIFICA LUCA + /*NKCD CASE ISNULL(ANAG_PRODOTTI.COD_ADEGUATEZZA, '') --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END NKCD*/CASE ISNULL(ANAG_PRODOTTI.COD_ISIN, '') --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '' THEN isnull(ANAG_PRODOTTI.COD_ADEGUATEZZA,'') + ELSE ANAG_PRODOTTI.COD_ISIN + END AS CodiceProdotto, + --- 23//5/2018 ---------------------------------------- + /*NKCD CASE ANAG_PRODOTTI.COD_ADEGUATEZZA + WHEN '$' THEN '' + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END NKCD*/case when isnull(anag_prodotti.cod_adeguatezza,'')='' +then isnull(anag_prodotti.cod_isin,'') else anag_prodotti.cod_adeguatezza end AS CodiceAdeguatezza, + ----------------------------------------------------------- + -- modifica del 9/7/2018 + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_INTERNO, ''))) AS Piazza, --codiceInterno + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_MAF, ''))) AS CodiceValuta, --codiceMAF + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_SOTTOPRODOTTO, ''))) AS Classe, --codiceSottoprodotto + --'' AS Piazza, --codiceInterno + --'' AS CodiceValuta, --codiceMAF + --'' AS Classe, --codiceSottoprodotto + -- fine modifica del 9/7/2018 + --V FRANCHIGIA CC +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV_NOMINALE +-- END AS CtvNominale, +--INIZIO INTERVENTO OMNIA +-- PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, +-- PATRIMONIO_BF.CTV AS CtvReale + case when PATRIMONIO_BF.ISIN in('EURO00000009', 'EURO10000007') then 0.0000 + else PATRIMONIO_BF.CTV_NOMINALE end AS CtvNominale , + case when PATRIMONIO_BF.ISIN in('EURO00000009', 'EURO10000007') then 0.0000 + else PATRIMONIO_BF.CTV end AS CtvReale +--FINE INTERVENTO OMNIA + FROM c6martperiodico.PATRIMONIO_BF + INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN c6martperiodico.ANAG_PRODOTTI ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO +--INIZIO INTERVENTO OMNIA +-- WHERE PATRIMONIO_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC','ASU2') + WHERE (PATRIMONIO_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC','ASU2') + AND PATRIMONIO_BF.ID_AREA <> 'SELF') +--FINE INTERVENTO OMNIA + UNION ALL + ---V Modifica per calcolo VaR prodotti ASU2 + SELECT + ANAG_PRODOTTI.DESCR_PRODOTTO, + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID + -- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + -- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN isnull(PATRIMONIO_BF.NOME_PROGETTO, '') <> '' THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + ELSE '|Progetto investimento' + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + -- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + -- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA + -- ELSE ANAG_PRODOTTI.COD_ISIN + -- END AS CodiceProdotto, + ---- MODIFICA LUCA + --V Modifica per gli ASU2 CON IL COD_ADEGUATEZZA NON BECCA NESSUN PRODTTO PROMETEIA + -- CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + -- WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + -- ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA END + /*NKCD PATRIMONIO_BF.ISIN NKCD*/ case when isnull(anag_prodotti.cod_adeguatezza,'')='' +then isnull(anag_prodotti.cod_isin,'') else anag_prodotti.cod_adeguatezza end AS CodiceProdotto, + ------------------------------------------- 12/6/2018 + /*NKCD CASE ANAG_PRODOTTI.COD_ADEGUATEZZA + WHEN '$' THEN '' + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END NKCD*/case when isnull(anag_prodotti.cod_isin,'')='' +then isnull(anag_prodotti.cod_adeguatezza,'') else anag_prodotti.cod_isin end AS CodiceAdeguatezza, + ------------------------------------------------------------------ + -- modifica del 9/7/2018 + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_INTERNO, ''))) AS Piazza, --codiceInterno + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_MAF, ''))) AS CodiceValuta, --codiceMAF + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_SOTTOPRODOTTO, ''))) AS Classe, --codiceSottoprodotto + -- '' AS Piazza, + -- '' AS CodiceValuta, + -- '' AS Classe, + -- fine modifica del 9/7/2018 + --V FRANCHIGIA CC + -- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + -- THEN 0 + -- ELSE PATRIMONIO_BF.CTV_NOMINALE + -- END AS CtvNominale, + PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, + --PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, + -- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + -- THEN 0 + -- ELSE PATRIMONIO_BF.CTV + -- END AS CtvReale + PATRIMONIO_BF.CTV AS CtvReale + FROM C6martperiodico.PATRIMONIO_BF + INNER JOIN C6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + AND ANAG_PRODOTTI.COD_ISIN = PATRIMONIO_BF.ISIN + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASU2') + UNION ALL + -- PATRIMONIO ASUL + SELECT + ANAG_PRODOTTI.DESCR_PRODOTTO, + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- +-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN +-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN isnull(PATRIMONIO_BF.NOME_PROGETTO, '') <> '' THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + ELSE '|Progetto investimento' + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + CASE ISNULL(DETTAGLIO_ASUL.COD_ISIN_FITTIZIO, '') --SELEZIONE DEL CODICEPRODOTTO: DETTAGLIO_ASUL.COD_ISIN_FITTIZIO, DETTAGLIO_ASUL.COD_SOTTOPRODOTTO, '$' + WHEN '' THEN DETTAGLIO_ASUL.COD_ISIN_SOTT + ELSE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO + END AS CodiceProdotto, + --- 12/6/2018------------------------------------------------- + /*NKCD '' NKCD*/case when isnull(DETTAGLIO_ASUL.COD_ISIN_FITTIZIO,'')='' + then DETTAGLIO_ASUL.COD_ISIN_SOTT else DETTAGLIO_ASUL.COD_ISIN_FITTIZIO end AS CodiceAdeguatezza, + --------------------------------------------------------------- + -- modifica del 9/7/2018 + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_INTERNO, ''))) AS Piazza, --codiceInterno + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_MAF, ''))) AS CodiceValuta, --codiceMAF + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_SOTTOPRODOTTO, ''))) AS Classe, --codiceSottoprodotto + --'' AS Piazza, + --'' AS CodiceValuta, + -- '' AS Classe, + -- fine modifica del 9/7/2018 + DETTAGLIO_ASUL.CTV AS CtvNominale, + DETTAGLIO_ASUL.CTV AS CtvReale + FROM c6martperiodico.PATRIMONIO_BF + INNER JOIN c6martperiodico.ANAG_PRODOTTI ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + INNER JOIN c6martperiodico.DETTAGLIO_ASUL + ON DETTAGLIO_ASUL.ID_CONTRATTO = PATRIMONIO_BF.ID_CONTRATTO + INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASUL') + UNION ALL + -- PATRIMONIO TERZI + SELECT + '' as descr_prodotto, + INTERMEDIARIO.RETE AS Rete, + INTERMEDIARIO.CODICEFISCALE AS CodiceFiscale, + INTERMEDIARIO.PORTAFOGLIO AS Portafoglio, + /*NKCD INTERMEDIARIO.CODICEADEGUATEZZA NKCD*/isnull(INTERMEDIARIO.codiceisin,'') AS CodiceProdotto, + --- 12/6/2018------------------------------------------------- + --'' AS CodiceAdeguatezza, + --------------------------------------------------------------- + isnull(INTERMEDIARIO.CODICEADEGUATEZZA,'') AS CodiceAdeguatezza, --modifica 050520 per risolvere anomalie Levi + /*NKCD INTERMEDIARIO.PIAZZA NKCD*/ isnull(INTERMEDIARIO.codiceinterno,'') AS Piazza, + /*NKCD INTERMEDIARIO.CODICEVALUTA NKCD*/ isnull(INTERMEDIARIO.CODICEMAF,'') AS CodiceValuta, + /*NKCD INTERMEDIARIO.CLASSE NKCD*/ isnull(INTERMEDIARIO.CODICESOTTOPRODOTTO,'') AS Classe, + INTERMEDIARIO.CONTROVALORE AS CtvNominale, + INTERMEDIARIO.CONTROVALORE AS CtvReale + FROM c6martperiodico.RP_VPROMETEIATERZIINTERMEDIARIO INTERMEDIARIO + INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = INTERMEDIARIO.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = INTERMEDIARIO.CODICEFISCALE + UNION ALL + -- PATRIMONIO TERZI X TIPO PRODOTTO + SELECT + '' as descr_prodotto, + CATEGORIAPRODOTTO.RETE AS Rete, + CATEGORIAPRODOTTO.CODICEFISCALE AS CodiceFiscale, + CATEGORIAPRODOTTO.PORTAFOGLIO AS Portafoglio, + isnull(CATEGORIAPRODOTTO.CODICEisin,'') AS CodiceProdotto, + isnull(CATEGORIAPRODOTTO.codiceadeguatezza,'') AS CodiceAdeguatezza, + isnull(CATEGORIAPRODOTTO.CODICEinterno,'') AS Piazza, + isnull(CATEGORIAPRODOTTO.codicemaf,'') AS CodiceValuta, + isnull(CATEGORIAPRODOTTO.codicesottoprodotto,'') AS Classe, + /*NKCD CATEGORIAPRODOTTO.CODICEADEGUATEZZA AS CodiceProdotto, + --- 12/6/2018------------------------------------------------- + '' AS CodiceAdeguatezza, + --------------------------------------------------------------- + CATEGORIAPRODOTTO.PIAZZA AS Piazza, + CATEGORIAPRODOTTO.CODICEVALUTA AS CodiceValuta, + CATEGORIAPRODOTTO.CLASSE AS Classe, NKCD*/ + CATEGORIAPRODOTTO.CONTROVALORE AS CtvNominale, + CATEGORIAPRODOTTO.CONTROVALORE AS CtvReale + FROM c6martperiodico.RP_VPROMETEIATERZICATEGORIAPRODOTTO CATEGORIAPRODOTTO + INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = CATEGORIAPRODOTTO.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = CATEGORIAPRODOTTO.CODICEFISCALE +--V Conti correnti Fideuram +union all +SELECT + 'CC' as descr_prodotto, + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE +-- WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN +-- 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- + WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + 'COMPLESSIVO|BF|CC'-- + PATRIMONIO_BF.POSITION_ID + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'COMPLESSIVO|BF|CC' +-- ELSE +-- 'COMPLESSIVO|BF|' + +-- LEFT(PATRIMONIO_BF.ID_AREA,3) + +-- CASE +-- WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO +-- ELSE '' +-- END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, +-- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA +-- ELSE ANAG_PRODOTTI.COD_ISIN +-- END AS CodiceProdotto, +-- MODIFICA LUCA +-- CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN +-- ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA +-- END + 'EUR' AS CodiceProdotto, +/*NKCD + --- 12/6/2018 ---------------------------------------- + '' AS CodiceAdeguatezza, + ----------------------------------------------------------- + -- modifica del 9/7/2018 + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_INTERNO, ''))) AS Piazza, --codiceInterno + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_MAF, ''))) AS CodiceValuta, --codiceMAF + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_SOTTOPRODOTTO, ''))) AS Classe, --codiceSottoprodotto + --'' AS Piazza, + --'' AS CodiceValuta, + -- '' AS Classe, + -- fine modifica del 9/7/2018 +NKCD*/ + 'EUR' AS CodiceAdeguatezza, + 'EUR' AS Piazza, + 'EUR' AS CodiceValuta, + 'EUR' AS Classe, + --V FRANCHIGIA CC +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV_NOMINALE +-- END AS CtvNominale, + case when (sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0.0001 end AS CtvNominale , +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV +-- END AS CtvReale + case when (sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0.0001 end AS CtvReale +FROM c6martperiodico.PATRIMONIO_BF + INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN c6martperiodico.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('CC') +group by + PATRIMONIO_BF.rete, + PATRIMONIO_BF.cod_fiscale, + CASE ISNULL(ANAG_PRODOTTI.COD_ADEGUATEZZA, '') --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END, + PATRIMONIO_BF.COD_INTERNO, + PATRIMONIO_BF.COD_MAF, + PATRIMONIO_BF.COD_SOTTOPRODOTTO, + CASE +-- WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN +-- 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- + WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + 'COMPLESSIVO|BF|CC'-- + PATRIMONIO_BF.POSITION_ID + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'COMPLESSIVO|BF|CC' +-- ELSE +-- 'COMPLESSIVO|BF|' + +-- LEFT(PATRIMONIO_BF.ID_AREA,3) + +-- CASE +-- WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO +-- ELSE '' +-- END + '|' + PATRIMONIO_BF.POSITION_ID + END \ No newline at end of file diff --git a/sql/Produzione/viste/C6MartPeriodico_RP_vTuttiIPortafogli_ccLiq.sql b/sql/Produzione/viste/C6MartPeriodico_RP_vTuttiIPortafogli_ccLiq.sql new file mode 100644 index 00000000..5fb5f5cb --- /dev/null +++ b/sql/Produzione/viste/C6MartPeriodico_RP_vTuttiIPortafogli_ccLiq.sql @@ -0,0 +1,165 @@ +-- View +-- View +--modificata per i cc in liq Marianna & Valerio +--Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014 +CREATE VIEW [C6MartPeriodico].[RP_vTuttiIPortafogli_ccLiq] +AS +SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'RISFIN|NA|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'RISFIN|PIRAMIDE|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END AS CodiceProdotto, + --- 12/6/2018 ---------------------------------------- + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA + WHEN '$' THEN '' + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END AS CodiceAdeguatezza, + ----------------------------------------------------------- + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, +--INIZIO INTERVENTO OMNIA +-- PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, +-- PATRIMONIO_BF.CTV AS CtvReale + case when PATRIMONIO_BF.ISIN in('EURO00000009', 'EURO10000007') then 0.0000 + else PATRIMONIO_BF.CTV_NOMINALE end AS CtvNominale , + case when PATRIMONIO_BF.ISIN in('EURO00000009', 'EURO10000007') then 0.0000 + else PATRIMONIO_BF.CTV end AS CtvReale +--FINE INTERVENTO OMNIA + FROM c6martperiodico.PATRIMONIO_BF + INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN c6martperiodico.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO +--INIZIO INTERVENTO OMNIA +-- WHERE PATRIMONIO_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC','ASU2') + WHERE (PATRIMONIO_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC','ASU2') + AND PATRIMONIO_BF.ID_AREA <> 'SELF') +--FINE INTERVENTO OMNIA + UNION ALL + ---V Modifica per calcolo VaR prodotti ASU2 + SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'RISFIN|NA|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'RISFIN|PIRAMIDE|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + PATRIMONIO_BF.ISIN AS CodiceProdotto, + --- 12/6/2018 ---------------------------------------- + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA + WHEN '$' THEN '' + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END AS CodiceAdeguatezza, + ----------------------------------------------------------- + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, + PATRIMONIO_BF.CTV AS CtvReale + FROM C6Martperiodico.PATRIMONIO_BF + INNER JOIN C6Martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6Martperiodico.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + AND ANAG_PRODOTTI.COD_ISIN = PATRIMONIO_BF.ISIN + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASU2') + UNION ALL + -- PATRIMONIO ASUL + SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'RISFIN|NA|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'RISFIN|PIRAMIDE|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + CASE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO --SELEZIONE DEL CODICEPRODOTTO: DETTAGLIO_ASUL.COD_ISIN_FITTIZIO, DETTAGLIO_ASUL.COD_SOTTOPRODOTTO, '$' + WHEN '' THEN DETTAGLIO_ASUL.COD_ISIN_SOTT + ELSE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO + END AS CodiceProdotto, + --- 12/6/2018------------------------------------------------- + '' AS CodiceAdeguatezza, + --------------------------------------------------------------- + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + DETTAGLIO_ASUL.CTV AS CtvNominale, + DETTAGLIO_ASUL.CTV AS CtvReale + FROM c6martperiodico.PATRIMONIO_BF + INNER JOIN c6martperiodico.DETTAGLIO_ASUL + ON DETTAGLIO_ASUL.ID_CONTRATTO = PATRIMONIO_BF.ID_CONTRATTO + INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASUL') +union all +SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'RISFIN|PIRAMIDE|Liq'+ '|Cc|'--V TOGLIERE + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + 'EUR' AS CodiceProdotto, + --- 12/6/2018 ---------------------------------------- + '' AS CodiceAdeguatezza, + ----------------------------------------------------------- + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + case when (sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0.0001 end AS CtvNominale , + --PATRIMONIO_BF.CTV_NOMINALE, + case when (sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0.0001 end AS CtvReale + --PATRIMONIO_BF.CTV +FROM c6martperiodico.PATRIMONIO_BF + INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN c6martperiodico.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('CC') and patrimonio_bf.ctv>0 +group by + PATRIMONIO_BF.rete, + PATRIMONIO_BF.cod_fiscale, + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END, + CASE + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'RISFIN|PIRAMIDE|Liq'+ '|Cc|' --V TOGLIEREEEEEE + PATRIMONIO_BF.POSITION_ID + END \ No newline at end of file diff --git a/sql/Produzione/viste/C6MartPeriodico_RP_vTuttiIPortafogli_ccLiq_20180612_preNewMotoreProm.sql b/sql/Produzione/viste/C6MartPeriodico_RP_vTuttiIPortafogli_ccLiq_20180612_preNewMotoreProm.sql new file mode 100644 index 00000000..ee5cd7c6 --- /dev/null +++ b/sql/Produzione/viste/C6MartPeriodico_RP_vTuttiIPortafogli_ccLiq_20180612_preNewMotoreProm.sql @@ -0,0 +1,147 @@ +-- View +-- View +--modificata per i cc in liq Marianna & Valerio +--Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014 +CREATE VIEW [C6MartPeriodico].[RP_vTuttiIPortafogli_ccLiq_20180612_preNewMotoreProm] +AS +SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'RISFIN|NA|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'RISFIN|PIRAMIDE|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, +--INIZIO INTERVENTO OMNIA +-- PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, +-- PATRIMONIO_BF.CTV AS CtvReale + case when PATRIMONIO_BF.ISIN in('EURO00000009', 'EURO10000007') then 0.0000 + else PATRIMONIO_BF.CTV_NOMINALE end AS CtvNominale , + case when PATRIMONIO_BF.ISIN in('EURO00000009', 'EURO10000007') then 0.0000 + else PATRIMONIO_BF.CTV end AS CtvReale +--FINE INTERVENTO OMNIA + FROM c6martperiodico.PATRIMONIO_BF + INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN c6martperiodico.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO +--INIZIO INTERVENTO OMNIA +-- WHERE PATRIMONIO_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC','ASU2') + WHERE (PATRIMONIO_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC','ASU2') + AND PATRIMONIO_BF.ID_AREA <> 'SELF') +--FINE INTERVENTO OMNIA + UNION ALL + ---V Modifica per calcolo VaR prodotti ASU2 + SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'RISFIN|NA|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'RISFIN|PIRAMIDE|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + PATRIMONIO_BF.ISIN AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, + PATRIMONIO_BF.CTV AS CtvReale + FROM C6Martperiodico.PATRIMONIO_BF + INNER JOIN C6Martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6Martperiodico.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + AND ANAG_PRODOTTI.COD_ISIN = PATRIMONIO_BF.ISIN + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASU2') + UNION ALL + -- PATRIMONIO ASUL + SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'RISFIN|NA|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'RISFIN|PIRAMIDE|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + CASE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO --SELEZIONE DEL CODICEPRODOTTO: DETTAGLIO_ASUL.COD_ISIN_FITTIZIO, DETTAGLIO_ASUL.COD_SOTTOPRODOTTO, '$' + WHEN '' THEN DETTAGLIO_ASUL.COD_ISIN_SOTT + ELSE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO + END AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + DETTAGLIO_ASUL.CTV AS CtvNominale, + DETTAGLIO_ASUL.CTV AS CtvReale + FROM c6martperiodico.PATRIMONIO_BF + INNER JOIN c6martperiodico.DETTAGLIO_ASUL + ON DETTAGLIO_ASUL.ID_CONTRATTO = PATRIMONIO_BF.ID_CONTRATTO + INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASUL') +union all +SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'RISFIN|PIRAMIDE|Liq'+ '|Cc|'--V TOGLIERE + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + 'EUR' AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + case when (sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0.0001 end AS CtvNominale , + --PATRIMONIO_BF.CTV_NOMINALE, + case when (sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0.0001 end AS CtvReale + --PATRIMONIO_BF.CTV +FROM c6martperiodico.PATRIMONIO_BF + INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN c6martperiodico.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('CC') and patrimonio_bf.ctv>0 +group by + PATRIMONIO_BF.rete, + PATRIMONIO_BF.cod_fiscale, + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END, + CASE + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'RISFIN|PIRAMIDE|Liq'+ '|Cc|' --V TOGLIEREEEEEE + PATRIMONIO_BF.POSITION_ID + END \ No newline at end of file diff --git a/sql/Produzione/viste/C6MartPeriodico_RP_vTuttiIPortafogli_ccLiq_BK_eligoTitoli.sql b/sql/Produzione/viste/C6MartPeriodico_RP_vTuttiIPortafogli_ccLiq_BK_eligoTitoli.sql new file mode 100644 index 00000000..6c745718 --- /dev/null +++ b/sql/Produzione/viste/C6MartPeriodico_RP_vTuttiIPortafogli_ccLiq_BK_eligoTitoli.sql @@ -0,0 +1,146 @@ +-- View +-- View +--modificata per i cc in liq Marianna & Valerio +CREATE VIEW [C6MartPeriodico].[RP_vTuttiIPortafogli_ccLiq_BK_eligoTitoli] +AS +SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'RISFIN|NA|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'RISFIN|PIRAMIDE|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, +--INIZIO INTERVENTO OMNIA +-- PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, +-- PATRIMONIO_BF.CTV AS CtvReale + case when PATRIMONIO_BF.ISIN = 'EURO00000009' then 0.0000 + else PATRIMONIO_BF.CTV_NOMINALE end AS CtvNominale , + case when PATRIMONIO_BF.ISIN = 'EURO00000009' then 0.0000 + else PATRIMONIO_BF.CTV end AS CtvReale +--FINE INTERVENTO OMNIA + FROM c6martperiodico.PATRIMONIO_BF + INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN c6martperiodico.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO +--INIZIO INTERVENTO OMNIA +-- WHERE PATRIMONIO_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC','ASU2') + WHERE (PATRIMONIO_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC','ASU2') + AND PATRIMONIO_BF.ID_AREA <> 'SELF') +--FINE INTERVENTO OMNIA + UNION ALL + ---V Modifica per calcolo VaR prodotti ASU2 + SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'RISFIN|NA|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'RISFIN|PIRAMIDE|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + PATRIMONIO_BF.ISIN AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, + PATRIMONIO_BF.CTV AS CtvReale + FROM C6Martperiodico.PATRIMONIO_BF + INNER JOIN C6Martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6Martperiodico.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + AND ANAG_PRODOTTI.COD_ISIN = PATRIMONIO_BF.ISIN + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASU2') + UNION ALL + -- PATRIMONIO ASUL + SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'RISFIN|NA|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'RISFIN|PIRAMIDE|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + CASE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO --SELEZIONE DEL CODICEPRODOTTO: DETTAGLIO_ASUL.COD_ISIN_FITTIZIO, DETTAGLIO_ASUL.COD_SOTTOPRODOTTO, '$' + WHEN '' THEN DETTAGLIO_ASUL.COD_ISIN_SOTT + ELSE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO + END AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + DETTAGLIO_ASUL.CTV AS CtvNominale, + DETTAGLIO_ASUL.CTV AS CtvReale + FROM c6martperiodico.PATRIMONIO_BF + INNER JOIN c6martperiodico.DETTAGLIO_ASUL + ON DETTAGLIO_ASUL.ID_CONTRATTO = PATRIMONIO_BF.ID_CONTRATTO + INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASUL') +union all +SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'RISFIN|PIRAMIDE|Liq'+ '|Cc|'--V TOGLIERE + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + 'EUR' AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + case when (sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0.0001 end AS CtvNominale , + --PATRIMONIO_BF.CTV_NOMINALE, + case when (sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0.0001 end AS CtvReale + --PATRIMONIO_BF.CTV +FROM c6martperiodico.PATRIMONIO_BF + INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN c6martperiodico.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('CC') and patrimonio_bf.ctv>0 +group by + PATRIMONIO_BF.rete, + PATRIMONIO_BF.cod_fiscale, + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END, + CASE + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'RISFIN|PIRAMIDE|Liq'+ '|Cc|' --V TOGLIEREEEEEE + PATRIMONIO_BF.POSITION_ID + END \ No newline at end of file diff --git a/sql/Produzione/viste/C6MartPeriodico_ZZZ_vContrattiPerGenerazioneReportEmail.sql b/sql/Produzione/viste/C6MartPeriodico_ZZZ_vContrattiPerGenerazioneReportEmail.sql new file mode 100644 index 00000000..0ce5c4fb --- /dev/null +++ b/sql/Produzione/viste/C6MartPeriodico_ZZZ_vContrattiPerGenerazioneReportEmail.sql @@ -0,0 +1,14 @@ +--Vista in sostituzione della vContrattiPerGenerazioneReport in quanto deve girare nel periodo di competenza del trimestre precedente e +--la getTrimestre utilizzerebbe quello come trimestre e non quello successivo a cui si riferiscono le mail +CREATE VIEW [C6MartPeriodico].[vContrattiPerGenerazioneReportEmail] +AS +SELECT C6.Rete, C6.Cod_Agente, C6.Cod_Fiscale, C6.CodiceContratto, C6.Freq_Monitor, C6.Freq_Diagnosi, 'T' AS TipoElaborazione, + CASE WHEN DATEDIFF(DAY, Data_InizioBase, Data_Sott) > 0 THEN 1 ELSE 0 END AS AdesioneSuccessivaAvanzato, C6.InvioBenvenuto, + C6.ClienteMigrato, C6.RisorseNA, C6.NumRevoche +FROM C6Mart.CONTRATTOSEI AS C6 INNER JOIN + C6Mart.GESTIONE_PDF_FTP AS PDF ON C6.Rete = PDF.Rete AND C6.Cod_Fiscale = PDF.CodiceFiscale +WHERE + (1 = 1) AND + isnull(c6.data_fineavanzato,cast('99991231' as datetime)) > cast('20091231' as datetime) and + pdf.dataGenerazione < cast('20091201' as datetime) and + substring(pdf.nomeFile,0,12) = c6.codicecontratto \ No newline at end of file diff --git a/sql/Produzione/viste/C6MartPeriodico_vBrsClienteESG.sql b/sql/Produzione/viste/C6MartPeriodico_vBrsClienteESG.sql new file mode 100644 index 00000000..f93b25b1 --- /dev/null +++ b/sql/Produzione/viste/C6MartPeriodico_vBrsClienteESG.sql @@ -0,0 +1,18 @@ +CREATE VIEW [C6MartPeriodico].[vBrsClienteESG] +AS +select * from ( +select a.rete,case when isnull(a.codman,'') <> '' then 'FF@' + a.codman + when isnull(a.Piva,'') <> '' and isnull(a.codman,'') = '' then a.Piva + else codicefiscale +end as cod_fiscale, + [Preferenza_esg_cliente] + ,[ESG_E] + ,[ESG_S] + ,[ESG_G] + ,[obiettivo_ESG_minimo] + ,[ESG_Rating] + ,[ESG_E_perc] + ,[ESG_S_perc] + ,[ESG_G_perc] +from c6stagingperiodico.ESG_Metriche_Cliente_IL a +) a \ No newline at end of file diff --git a/sql/Produzione/viste/C6MartPeriodico_vBrsIndDiv.sql b/sql/Produzione/viste/C6MartPeriodico_vBrsIndDiv.sql new file mode 100644 index 00000000..71cf7c6f --- /dev/null +++ b/sql/Produzione/viste/C6MartPeriodico_vBrsIndDiv.sql @@ -0,0 +1,36 @@ +CREATE VIEW [C6MartPeriodico].[vBrsIndDiv] +AS +select * from ( +select a.rete,case when isnull(a.codman,'') <> '' then 'FF@' + a.codman + when isnull(a.Piva,'') <> '' and isnull(a.codman,'') = '' then a.Piva + else codicefiscale +end as cod_fiscale,diversificationindex as indicatore +from c6stagingperiodico.brs_aggr_out_aladdin a +where concat_aggregazione='COMPLESSIVO' +/*and case when isnull(a.codman,'') <> '' then 'FF@' + a.codman + when isnull(a.Piva,'') <> '' and isnull(a.codman,'') = '' then a.Piva + else codicefiscale +end in (select cod_fiscale from c6martperiodico.tb_campione)*/ +union +select a.rete,case when isnull(a.codman,'') <> '' then 'FF@' + a.codman+'_BF' + when isnull(a.Piva,'') <> '' and isnull(a.codman,'') = '' then a.Piva+'_BF' + else codicefiscale+'_BF' +end as cod_fiscale,diversificationindex as indicatore +from c6stagingperiodico.brs_aggr_out_aladdin a +where concat_aggregazione='COMPLESSIVO|BF' +/*and case when isnull(a.codman,'') <> '' then 'FF@' + a.codman + when isnull(a.Piva,'') <> '' and isnull(a.codman,'') = '' then a.Piva + else codicefiscale +end in (select cod_fiscale from c6martperiodico.tb_campione)*/ +union +select a.rete,case when isnull(a.codman,'') <> '' then 'FF@' + a.codman+'_TERZI' + when isnull(a.Piva,'') <> '' and isnull(a.codman,'') = '' then a.Piva+'_TERZI' + else codicefiscale+'_TERZI' +end as cod_fiscale,diversificationindex as indicatore +from c6stagingperiodico.brs_aggr_out_aladdin a +where concat_aggregazione='COMPLESSIVO|TERZI' +/*and case when isnull(a.codman,'') <> '' then 'FF@' + a.codman + when isnull(a.Piva,'') <> '' and isnull(a.codman,'') = '' then a.Piva + else codicefiscale +end in (select cod_fiscale from c6martperiodico.tb_campione)*/ +) a \ No newline at end of file diff --git a/sql/Produzione/viste/C6MartPeriodico_vBrsVarAllAggr.sql b/sql/Produzione/viste/C6MartPeriodico_vBrsVarAllAggr.sql new file mode 100644 index 00000000..59491109 --- /dev/null +++ b/sql/Produzione/viste/C6MartPeriodico_vBrsVarAllAggr.sql @@ -0,0 +1,218 @@ +CREATE VIEW [C6MartPeriodico].[vBrsVarAllAggr] --where codicefiscale='BRCMRC67H15L736N' order by 3 +AS +select * from ( +--complessivo BF no CC (OK con Prom) +select rete, +case when isnull(codman,'') <> '' then 'FF@' + codman + when isnull(Piva,'') <> '' and isnull(codman,'') = '' then Piva + else codicefiscale +end as codiceFiscale, +case when(isnull(position_id,'')='') then concat_aggregazione else substring(position_id,1,charindex('@',position_id)-1) end as portafoglio, +var, +varp, +cvar, +cvarp, +risksize, +mcvar, +mcvarp, +diversificationindex, +copertura, +totale, +0 as clsint, +'ISR' as mdclcclsint, +0 as clsr, +0 as cicontroparte, +0 as cltipo, +0 as clmercato, +0 as clliquidita, +0 as isr, +0 as indmercato, +0 as indcontroparte,0 as indliquidita,0 as ully,0 as ully_perc,0 as elly_perc,0 as crc,0 as rctot,0 as ully_perc_rc,0 as ullyperc_se,totale_coperto,0 as coperturaproxyrc,0 as numtit,numtitrc +from c6stagingperiodico.brs_aggr_out_aladdin--_20210630 +where concat_aggregazione like 'COMPLESSIVO|BF%' and (position_id like '%@%' or position_id is null) --and codicefiscale='BRCMRC67H15L736N' +union +--ASUL --> +select rete,case when isnull(codman,'') <> '' then 'FF@' + codman + when isnull(Piva,'') <> '' and isnull(codman,'') = '' then Piva + else codicefiscale +end as codiceFiscale,position_id as portafoglio, +var, +varp, +cvar, +cvarp, +risksize, +mcvar, +mcvarp, +diversificationindex, +copertura, +totale +,0 as clsint,'ISR' as mdclcclsint,0 as clsr,0 as cicontroparte,0 as cltipo,0 as clmercato,0 as clliquidita,0 as isr,0 as indmercato, +0 as indcontroparte,0 as indliquidita,0 as ully,0 as ully_perc,0 as elly_perc,0 as crc,0 as rctot,0 as ully_perc_rc,0 as ullyperc_se,totale_coperto,0 as coperturaproxyrc,0 as numtit,numtitrc +from c6stagingperiodico.brs_aggr_out_aladdin--_20210630 +where concat_aggregazione like 'COMPLESSIVO|BF%' and SLEEVETAG='WRAPPER_TYPE' --and codicefiscale='BRCMRC67H15L736N' +union +--risfin piramide no CC (OK con Prom) +select rete,case when isnull(codman,'') <> '' then 'FF@' + codman + when isnull(Piva,'') <> '' and isnull(codman,'') = '' then Piva + else codicefiscale +end as codiceFiscale,case when(isnull(position_id,'')='') then Replace(concat_aggregazione,'COMPLESSIVO|BF','RISFIN|PIRAMIDE') else substring(Replace(position_id,'COMPLESSIVO|BF','RISFIN|PIRAMIDE'),1,charindex('@',position_id)) end as portafoglio, +var, +varp, +cvar, +cvarp, +risksize, +mcvar, +mcvarp, +diversificationindex, +copertura, +totale +,0 as clsint,'ISR' as mdclcclsint,0 as clsr,0 as cicontroparte,0 as cltipo,0 as clmercato,0 as clliquidita,0 as isr,0 as indmercato, +0 as indcontroparte,0 as indliquidita,0 as ully,0 as ully_perc,0 as elly_perc,0 as crc,0 as rctot,0 as ully_perc_rc,0 as ullyperc_se,totale_coperto,0 as coperturaproxyrc,0 as numtit,numtitrc +from c6stagingperiodico.brs_aggr_out_aladdin--_20210630--_20210719 +where concat_aggregazione like 'COMPLESSIVO|BF%' -- and codicefiscale='TRMRRT42H25G852P' +and substring(isnull(position_id,''),1,charindex('@',isnull(position_id,''))) not like 'COMPLESSIVO|BF|CC%' and isnull(sleevetag,'')<>'WRAPPER_TYPE' +--and codicefiscale='BRCMRC67H15L736N' +union --ASUL--> +select rete,case when isnull(codman,'') <> '' then 'FF@' + codman + when isnull(Piva,'') <> '' and isnull(codman,'') = '' then Piva + else codicefiscale +end as codiceFiscale,Replace(position_id,'COMPLESSIVO|BF','RISFIN|PIRAMIDE') as portafoglio, +var, +varp, +cvar, +cvarp, +risksize, +mcvar, +mcvarp, +diversificationindex, +copertura, +totale +,0 as clsint,'ISR' as mdclcclsint,0 as clsr,0 as cicontroparte,0 as cltipo,0 as clmercato,0 as clliquidita,0 as isr,0 as indmercato, +0 as indcontroparte,0 as indliquidita,0 as ully,0 as ully_perc,0 as elly_perc,0 as crc,0 as rctot,0 as ully_perc_rc,0 as ullyperc_se,totale_coperto,0 as coperturaproxyrc,0 as numtit,numtitrc +from c6stagingperiodico.brs_aggr_out_aladdin--_20210630--_20210719 +where concat_aggregazione like 'COMPLESSIVO|BF%' -- and codicefiscale='TRMRRT42H25G852P' +and substring(isnull(position_id,''),1,charindex('@',isnull(position_id,''))) not like 'COMPLESSIVO|BF|CC%' and sleevetag='WRAPPER_TYPE'-- and codicefiscale='BRCMRC67H15L736N' +union +--RISFIN solo cc (ok con prom) +select rete,case when isnull(codman,'') <> '' then 'FF@' + codman + when isnull(Piva,'') <> '' and isnull(codman,'') = '' then Piva + else codicefiscale +end as codiceFiscale,case when(isnull(position_id,'')='') then Replace(concat_aggregazione,'COMPLESSIVO|BF','RISFIN|PIRAMIDE|Liq') else +substring(Replace(position_id,'COMPLESSIVO|BF','RISFIN|PIRAMIDE|Liq'),1,charindex('@',Replace(position_id,'COMPLESSIVO|BF','RISFIN|PIRAMIDE|Liq'))-1) end as portafoglio, +var, +varp, +cvar, +cvarp, +risksize, +mcvar, +mcvarp, +diversificationindex, +copertura, +totale +,0 as clsint,'ISR' as mdclcclsint,0 as clsr,0 as cicontroparte,0 as cltipo,0 as clmercato,0 as clliquidita,0 as isr,0 as indmercato, +0 as indcontroparte,0 as indliquidita,0 as ully,0 as ully_perc,0 as elly_perc,0 as crc,0 as rctot,0 as ully_perc_rc,0 as ullyperc_se,totale_coperto,0 as coperturaproxyrc,0 as numtit,numtitrc +from c6stagingperiodico.brs_aggr_out_aladdin--_20210719 +where substring(isnull(position_id,''),1,charindex('@',isnull(position_id,''))) like 'COMPLESSIVO|BF|CC%'-- and codicefiscale='TRMRRT42H25G852P' +union +--PTF COMPLESSIVO (ok con prom) +select rete,case when isnull(codman,'') <> '' then 'FF@' + codman + when isnull(Piva,'') <> '' and isnull(codman,'') = '' then Piva + else codicefiscale +end as codiceFiscale,case when(isnull(position_id,'')='') then concat_aggregazione else +substring(position_id,1,charindex('@',position_id)-1) end as portafoglio, +var, +varp, +cvar, +cvarp, +risksize, +mcvar, +mcvarp, +diversificationindex, +copertura, +totale +,0 as clsint,'ISR' as mdclcclsint,0 as clsr,0 as cicontroparte,0 as cltipo,0 as clmercato,0 as clliquidita,0 as isr,0 as indmercato, +0 as indcontroparte,0 as indliquidita,0 as ully,0 as ully_perc,0 as elly_perc,0 as crc,0 as rctot,0 as ully_perc_rc,0 as ullyperc_se,totale_coperto,0 as coperturaproxyrc,0 as numtit,numtitrc +from c6stagingperiodico.brs_aggr_out_aladdin--_20210630--_20210719 +where concat_aggregazione = 'COMPLESSIVO' +union +--TIPOPRODTERZI|TERZI -->fam prod (ok con prom) +select rete,case when isnull(codman,'') <> '' then 'FF@' + codman + when isnull(Piva,'') <> '' and isnull(codman,'') = '' then Piva + else codicefiscale +end as codiceFiscale,case when(isnull(position_id,'')='') then Replace(concat_aggregazione,'COMPLESSIVO|TERZI','TIPOPRODTERZI|TERZI') else +substring(Replace(position_id,'COMPLESSIVO|TERZI','TIPOPRODTERZI|TERZI'),1,charindex('@',position_id)) end as portafoglio, +var, +varp, +cvar, +cvarp, +risksize, +mcvar, +mcvarp, +diversificationindex, +copertura, +totale +,0 as clsint,'ISR' as mdclcclsint,0 as clsr,0 as cicontroparte,0 as cltipo,0 as clmercato,0 as clliquidita,0 as isr,0 as indmercato, +0 as indcontroparte,0 as indliquidita,0 as ully,0 as ully_perc,0 as elly_perc,0 as crc,0 as rctot,0 as ully_perc_rc,0 as ullyperc_se,totale_coperto,0 as coperturaproxyrc,0 as numtit,numtitrc +from c6stagingperiodico.brs_aggr_out_aladdin--_20210719 +where concat_aggregazione like 'COMPLESSIVO|TERZI%' --and codicefiscale='TRMRRT42H25G852P' +union +--COMPLESSIVO|TERZI --> Interm (ok con prom) +select a.rete,case when isnull(a.codman,'') <> '' then 'FF@' + a.codman + when isnull(a.Piva,'') <> '' and isnull(a.codman,'') = '' then a.Piva + else codicefiscale +end as codiceFiscale, +isnull(b.tipoptf,'')+'|'+isnull(intermediario,'')+'|'+chiave_prodotto_terzi as portafoglio, +var, +varp, +cvar, +cvarp, +risksize, +mcvar, +mcvarp, +diversificationindex, +copertura, +totale +,0 as clsint,'ISR' as mdclcclsint,0 as clsr,0 as cicontroparte,0 as cltipo,0 as clmercato,0 as clliquidita,0 as isr,0 as indmercato, +0 as indcontroparte,0 as indliquidita,0 as ully,0 as ully_perc,0 as elly_perc,0 as crc,0 as rctot,0 as ully_perc_rc,0 as ullyperc_se,totale_coperto,0 as coperturaproxyrc,0 as numtit,numtitrc +from c6stagingperiodico.brs_aggr_out_aladdin--_20210719 +a inner join c6martperiodico.w6clirep b +on a.position_id=b.position_id +where concat_aggregazione like 'complessivo|terzi%' --and codicefiscale='TRMRRT42H25G852P'--and a.codman='7168'--a.piva='01840910150' +union +select rete,case when isnull(codman,'') <> '' then 'FF@' + codman + when isnull(Piva,'') <> '' and isnull(codman,'') = '' then Piva + else codicefiscale +end as codiceFiscale,case when(isnull(position_id,'')='') then concat_aggregazione else +substring(position_id,1,charindex('@',position_id)) end as portafoglio, +var, +varp, +cvar, +cvarp, +risksize, +mcvar, +mcvarp, +diversificationindex, +copertura, +totale +,0 as clsint,'ISR' as mdclcclsint,0 as clsr,0 as cicontroparte,0 as cltipo,0 as clmercato,0 as clliquidita,0 as isr,0 as indmercato, +0 as indcontroparte,0 as indliquidita,0 as ully,0 as ully_perc,0 as elly_perc,0 as crc,0 as rctot,0 as ully_perc_rc,0 as ullyperc_se,totale_coperto,0 as coperturaproxyrc,0 as numtit,numtitrc +from c6stagingperiodico.brs_aggr_out_aladdin--_20210719 +where concat_aggregazione = 'COMPLESSIVO|TERZI'--and codman='7168'--a.piva='01840910150' +union +select a.rete,case when isnull(a.codman,'') <> '' then 'FF@' + a.codman + when isnull(a.Piva,'') <> '' and isnull(a.codman,'') = '' then a.Piva + else codfis +end as codiceFiscale, +isnull(a.tipoptf,'')+'|'+isnull(a.intermediario,'')+'|'+'CC' as portafoglio, +0 as var,0 as varp,0 as cvar,0 as cvarp,0 as risksize,0 as mcvar,0 as mcvarp,0 as diversificationindex, +100 as copertura,case when sum(ctv)>10000 then sum(ctv)-10000 else sum(ctv) end as totale,1 as clsint,'ISR' as mdclcclsint,1 as clsr,1 as cicontroparte,1 as cltipo, +1 as clmercato,1 as clliquidita,0 as isr,0 as indmercato,0 as indcontroparte,0 as indliquidita,0 as ully,0 as ully_perc,0 as elly_perc,0 as crc,0 as rctot, +0 as ully_perc_rc,0 as ullyperc_se,100 as totale_coperto,0 as coperturaproxyrc,1 as numtit,0 as numtitrc +from c6martperiodico.w6clirep a where tipoptf like 'complessivo|terzi%' and famprodt='Conti correnti' --and a.codman='7168'--piva='01840910150' +group by a.rete,case when isnull(a.codman,'') <> '' then 'FF@' + a.codman + when isnull(a.Piva,'') <> '' and isnull(a.codman,'') = '' then a.Piva + else codfis +end, +isnull(a.tipoptf,'')+'|'+isnull(a.intermediario,'')+'|'+'CC' +) a +--where codicefiscale in (select cod_fiscale from c6martperiodico.tb_campione) \ No newline at end of file diff --git a/sql/Produzione/viste/C6MartPeriodico_vContrattiPerGenerazioneReport.sql b/sql/Produzione/viste/C6MartPeriodico_vContrattiPerGenerazioneReport.sql new file mode 100644 index 00000000..233fcc22 --- /dev/null +++ b/sql/Produzione/viste/C6MartPeriodico_vContrattiPerGenerazioneReport.sql @@ -0,0 +1,78 @@ +--select count(distinct cod_fiscale) from c6martperiodico.rischio_aggregato +--select * from c6martperiodico.scarti +-- FARE FUNZIONE GETPREVTRIMESTRE PER LA DATA DI REVOCA +--select c6martperiodico.gettrimestre2(getdate(),0) +--select c6martperiodico.gettrimestre2(getdate(),1) +--select * from [C6MartPeriodico].[vContrattiPerGenerazioneReport] +--select count(*) from [C6MartPeriodico].[vContrattiPerGenerazioneReport] +--select count(*) from [C6MartPeriodico].gestione_pdf_ftp where dataGenerazione > c6martperiodico.gettrimestre2(getDate(),1) +--select count(*) from [C6MartPeriodico].[vContrattiPerGenerazioneReport] where freq_diagnosi is not null +--select c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) +--select * into vContrattiCongelataLuglio2013 from [C6MartPeriodico].[vContrattiPerGenerazioneReport] +CREATE VIEW [C6MartPeriodico].[vContrattiPerGenerazioneReport] +AS +select * +from vcontratticongelataLuglio2013 +--from vcontratticongelataAgosto2013 +--where bloccato = 0 +--select * from vContrattiCongelataLuglio2013 +--where cod_fiscale = 'PCTGNN45A30G276G' +--SELECT +-- a.Rete, a.Cod_Agente, a.Cod_Fiscale, a.CodiceContratto, ISNULL(a.Freq_Monitor, 'T') as Freq_Monitor, a.Freq_Diagnosi, a.Data_FineAvanzato, a.TIP_CONTRATTO, a.TIP_RIATTIVAZIONE +--FROM +-- C6Mart.CONTRATTOSEI a +--INNER JOIN +--( +-- SELECT +-- C6.CodiceContratto, ROW_NUMBER() OVER(PARTITION BY C6.Rete, C6.Cod_Fiscale ORDER BY C6.Data_FineAvanzato) AS UltimoAperto +-- FROM +-- C6Mart.CONTRATTOSEI AS C6 +-- INNER JOIN +-- C6Mart.GESTIONE_PDF_FTP AS PDF +-- ON +-- C6.Rete = PDF.Rete +-- AND +-- C6.Cod_Fiscale = PDF.CodiceFiscale +-- AND +-- C6.CodiceContratto = SUBSTRING(PDF.NomeFile, 1, 11) --SUBSTRING(PDF.NomeFile, 0, 12) +-- +--/* */ --inner JOIN c6Martperiodico.Mifid AS mi ON c6.rete=mi.rete AND c6.cod_fiscale=mi.cod_fiscale +-- --join c6stagingperiodico.spb_contr_sintesi bf on c6.rete = bf.rete and c6.cod_fiscale = bf.codfis +--/* */ --inner join c6martperiodico.patrimonio_bf bf on c6.rete = bf.rete and c6.cod_fiscale = bf.cod_fiscale +-- +-- WHERE +-- (1 = 1) +-- +-- --AND ISNULL(C6.Data_FineAvanzato, CAST('99991231' AS datetime)) > '20111231' /*Precedente Trimestrale*/ --select c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) +-- --V commentare nel giro email +--/**/ --and isnull(mi.scaduto,1) = 0 +-- --and isnull(C6.Data_Invio_Monitoraggio_Trimestrale,cast('20091101' as datetime)) < c6martperiodico.gettrimestre2(getdate(),0)--'20110331' --cast(C6MartPeriodico.getTrimestre(GETDATE(), 0) as datetime) +-- +-- AND +-- PDF.DataGenerazione < c6martperiodico.gettrimestre2(getdate(),1) --'20110301' +-- GROUP BY +-- C6.CodiceContratto, C6.Rete, C6.Cod_Fiscale, C6.Data_FineAvanzato +--) b +--ON +-- a.CodiceContratto = b.CodiceContratto +-- +-- --includi dati congelati +---- INNER JOIN +---- vContrattiCongelata1giu2013 c +---- ON +---- b.CodiceContratto = c.CodiceContratto +-- +-- --includi campione +-- --INNER JOIN dbo.CampioneReport AS t ON t.Cod_fiscale = C6.Cod_Fiscale AND t.Rete = C6.Rete +-- --INNER JOIN dbo.appoCampioneReport AS t ON t.Cod_fiscale = C6.Cod_Fiscale AND t.Rete = C6.Rete +-- +-- --includi disallineati +-- --INNER JOIN dbo.LeleDisallineatiOtt AS t ON t.Cf = C6.Cod_Fiscale AND t.Rete = C6.Rete +-- +--WHERE +-- ISNULL(a.Data_FineAvanzato, CAST('99991231' AS datetime)) > c6martperiodico.getprevioustrimestre(getdate(), 0) --'20120331' /*Precedente Trimestrale*/ --select c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) +--AND +-- b.UltimoAperto = 1 +-- +-- --parametro x join con Congelata +-- --and t.bloccato = 0 --and t.note is null --(quest'ultima condizione x escludere il cliente da recuperare) \ No newline at end of file diff --git a/sql/Produzione/viste/C6MartPeriodico_vControlliFabio.sql b/sql/Produzione/viste/C6MartPeriodico_vControlliFabio.sql new file mode 100644 index 00000000..8ebeeb26 --- /dev/null +++ b/sql/Produzione/viste/C6MartPeriodico_vControlliFabio.sql @@ -0,0 +1,83 @@ +--select count(distinct cod_fiscale) from c6martperiodico.rischio_aggregato +--select * from c6martperiodico.scarti +-- FARE FUNZIONE GETPREVTRIMESTRE PER LA DATA DI REVOCA +--select c6martperiodico.gettrimestre2(getdate(),0) +--select c6martperiodico.gettrimestre2(getdate(),1) +--select * from [C6MartPeriodico].[vContrattiPerGenerazioneReport] +--select count(*) from [C6MartPeriodico].[vContrattiPerGenerazioneReport] +--select count(*) from [C6MartPeriodico].gestione_pdf_ftp where dataGenerazione > c6martperiodico.gettrimestre2(getDate(),1) +--select count(*) from [C6MartPeriodico].[vContrattiPerGenerazioneReport] where freq_diagnosi is not null +--select c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) +CREATE VIEW [C6MartPeriodico].[vControlliFabio] +AS +SELECT +distinct --top 2000 +C6.Rete, C6.Cod_Agente, C6.Cod_Fiscale, C6.CodiceContratto, C6.Freq_Monitor, C6.Freq_Diagnosi, + data_fineAvanzato--,pdf.dataGenerazione +FROM C6Mart.CONTRATTOSEI AS C6 +INNER JOIN C6Mart.GESTIONE_PDF_FTP AS PDF ON C6.Rete = PDF.Rete AND C6.Cod_Fiscale = PDF.CodiceFiscale AND + C6.CodiceContratto = SUBSTRING(PDF.NomeFile, 1, 11) --SUBSTRING(PDF.NomeFile, 0, 12) +/* */ inner JOIN c6Martperiodico.Mifid AS mi ON c6.rete=mi.rete AND c6.cod_fiscale=mi.cod_fiscale +-- join c6stagingperiodico.spb_contr_sintesi bf on c6.rete = bf.rete and c6.cod_fiscale = bf.codfis +/* */ inner join c6martperiodico.patrimonio_bf bf on c6.rete = bf.rete and c6.cod_fiscale = bf.cod_fiscale + --includi campione +/* */ --INNER JOIN dbo.CampioneReport AS t ON t.Cod_fiscale = C6.Cod_Fiscale AND t.Rete = C6.Rete +--INNER JOIN c6martperiodico.selezionecampione_lele200 AS t ON t.Cod_fiscale = C6.Cod_Fiscale AND t.Rete = C6.Rete +WHERE (1 = 1) + --AND ISNULL(C6.Data_FineAvanzato, CAST('99991231' AS datetime)) > '20111231' /*Precedente Trimestrale*/ --select c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + AND ISNULL(C6.Data_FineAvanzato, CAST('99991231' AS datetime)) > '20120331' /*Precedente Trimestrale*/ --select c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + --V commentare nel giro email +/* */ and isnull(mi.scaduto,1) = 0 + and PDF.DataGenerazione < c6martperiodico.gettrimestre2(getdate(),1) --'20110301' + -- AND isnull(C6.Data_Invio_Monitoraggio_Trimestrale,cast('20091101' as datetime)) < c6martperiodico.gettrimestre2(getdate(),0)--'20110331' --cast(C6MartPeriodico.getTrimestre(GETDATE(), 0) as datetime) + --and C6.cod_fiscale IN ('RSSPCD43P12A056Z') +--('PPSRNG57M61A217K', 'ZNCLSE35M71L840K', 'TRVSBN38R52F839X', 'LLAMGH27A43M058H') +-- and C6.cod_fiscale IN ( +-- +----'ZNCLSE35M71L840K' +--'PPSRNG57M61A217K', +-- +--'LLAMGH27A43M058H', +-- +--'CVARSO23C41B551C' +-- +-- +--'DBNMLS66H43A182U', +--'DLMFRZ38D50I728S', +--'LZZRNN46M71F130V', +--'BNSNRC50H09I207Z', +--'LNDNMR27B63D612R', +--'BBNMSM66H10L219F', +--'BCCLDR33D16H501R', +--'CSTPLA48C26H361L', +--'GNDLCU30C68D205Z', +--'MTTRND49P17I927W', +--'RSLREU41B12D809F', +--'CSTPLA48C26H361L', +--'RSLREU41B12D809F', +--'00101930519', +--'BCCGPL51P30D969V', +--'00101930519', +--'94009110068', +--'94033640015', +--'97176630156', +--'BAAMTR48C43I470Y' +--) + --and C6.cod_fiscale IN ('LZZRNN46M71F130V')--LNDNMR27B63D612R') + --and C6.cod_fiscale IN ('BRNGZN59C06C901O', 'BLTRNZ48M02F269I') --'GZZSLD52E20G869L') + --and C6.cod_fiscale IN ('SDRFNC66T45D451P')--, 'VRRCLN23R50L847X') + --stampa campione per dipartimento + --and (provenienza = 'QC') + --STAMPO SOLO CHI HA DIAGNOSI and c6.Freq_Diagnosi is not null + --AND isnull(C6.Data_Invio_Monitoraggio_Trimestrale,cast('20091101' as datetime)) < c6martperiodico.gettrimestre2(getdate(),0)--'20110331' --cast(C6MartPeriodico.getTrimestre(GETDATE(), 0) as datetime) + --and + --mi.rete is null + --or + --bf.rete is null + --) + --AND C6.COD_FISCALE IN ( + --'BCCDCE46S22I068J', + --'BCCDIA28B59E933Z') +--DA VALERIO CONTROLLA CHE RITORNI IL TRIMESTRE DI MARZO +--select c6martperiodico.gettrimestre2(getdate(),1) +--select * from campioneReport \ No newline at end of file diff --git a/sql/Produzione/viste/C6MartPeriodico_vNumeroIntermediari.sql b/sql/Produzione/viste/C6MartPeriodico_vNumeroIntermediari.sql new file mode 100644 index 00000000..171d485c --- /dev/null +++ b/sql/Produzione/viste/C6MartPeriodico_vNumeroIntermediari.sql @@ -0,0 +1,4 @@ +CREATE VIEW [C6MartPeriodico].[vNumeroIntermediari] AS +SELECT RETE, COD_FISCALE, count(DISTINCT INTERMEDIARIO) as NumeroIntermediari +FROM C6MartPeriodico.PATRIMONIO_TERZI +GROUP BY RETE, COD_FISCALE \ No newline at end of file diff --git a/sql/Produzione/viste/C6MartPeriodico_vPatrimonioAltroAggregato.sql b/sql/Produzione/viste/C6MartPeriodico_vPatrimonioAltroAggregato.sql new file mode 100644 index 00000000..f09985b5 --- /dev/null +++ b/sql/Produzione/viste/C6MartPeriodico_vPatrimonioAltroAggregato.sql @@ -0,0 +1,10 @@ +CREATE VIEW [C6MartPeriodico].[vPatrimonioAltroAggregato] +AS +SELECT + RETE, + COD_FISCALE, + SUM(CTV) as PatrimonioAltro +FROM [C6MartPeriodico].PATRIMONIO_Altro +GROUP BY + RETE, + COD_FISCALE \ No newline at end of file diff --git a/sql/Produzione/viste/C6MartPeriodico_vPatrimonioBFAggregato.sql b/sql/Produzione/viste/C6MartPeriodico_vPatrimonioBFAggregato.sql new file mode 100644 index 00000000..da74d27e --- /dev/null +++ b/sql/Produzione/viste/C6MartPeriodico_vPatrimonioBFAggregato.sql @@ -0,0 +1,41 @@ +CREATE VIEW [C6MartPeriodico].[vPatrimonioBFAggregato] +AS +SELECT PATRIMONIO_BF.RETE, PATRIMONIO_BF.COD_FISCALE, + SUM(CTV) as CTV, + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) as PatrimonioNonAssociato, + sum(case Upper(id_area) when 'CC' then ctv else 0 end ) as ContoCorrente, +--INIZIO INTERVENTI OMNIA + sum(case Upper(id_area) when 'self' then ctv else 0 end ) as CTVSelf, +-- sum(case Upper(id_area) when 'CC' then 0 else ctv end ) as PatrimonioSenzaCC, + sum(case Upper(id_area) when 'CC' then 0 + when 'Self' then 0 + else ctv end ) as PatrimonioSenzaCC, +--FINE INTERVENTI OMNIA + --MAX((isnull(PART_VIAGG.PARTVIA_INV,0))) as PartiteViaggiantiInv, + sum((isnull([C6MartPeriodico].PATRIMONIO_BF.PARTVIA_DISINV,0))) as PartiteViaggiantiDisinv +FROM [C6MartPeriodico].PATRIMONIO_BF +/* versione usata per l'estrazione della s80 per qc +SELECT PATRIMONIO_BF.RETE, PATRIMONIO_BF.COD_FISCALE, + SUM(CTV) as CTV, + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) as PatrimonioNonAssociato, + sum(case when (Upper(id_area)='CC' and ctv<0 )then ctv else 0 end ) as ContoCorrente, + sum(case when (Upper(id_area)='CC' and ctv<0) then 0 else ctv end ) as PatrimonioSenzaCC, + --MAX((isnull(PART_VIAGG.PARTVIA_INV,0))) as PartiteViaggiantiInv, + sum((isnull([C6MartPeriodico].PATRIMONIO_BF.PARTVIA_DISINV,0))) as PartiteViaggiantiDisinv +FROM [C6MartPeriodico].PATRIMONIO_BF +*/ +--atringali subquery non serve a nulla +--LEFT JOIN +--( +-- SELECT a.rete, a.cod_fiscale, /*sum (a.PARTVIA_INV) AS PARTVIA_INV,*/ sum (a.PARTVIA_DISINV) AS PARTVIA_DISINV +-- FROM ( +-- SELECT DISTINCT rete, cod_fiscale, id_contratto, /*partvia_inv,*/ partvia_disinv +-- FROM C6MartPeriodico.PATRIMONIO_bf +-- --WHERE partvia_disinv IS NOT NULL +-- ) a +-- GROUP BY rete, cod_fiscale +--) PART_VIAGG +-- ON +-- PART_VIAGG.RETE = PATRIMONIO_bf.RETE +-- AND PART_VIAGG.COD_FISCALE = PATRIMONIO_bf.COD_FISCALE +GROUP BY PATRIMONIO_BF.RETE, PATRIMONIO_BF.COD_FISCALE \ No newline at end of file diff --git a/sql/Produzione/viste/C6MartPeriodico_vPatrimonioBFAggregatoPerArea.sql b/sql/Produzione/viste/C6MartPeriodico_vPatrimonioBFAggregatoPerArea.sql new file mode 100644 index 00000000..9c9a9515 --- /dev/null +++ b/sql/Produzione/viste/C6MartPeriodico_vPatrimonioBFAggregatoPerArea.sql @@ -0,0 +1,11 @@ +CREATE VIEW [C6MartPeriodico].[vPatrimonioBFAggregatoPerArea] +AS +SELECT TOP (100) PERCENT RETE, COD_FISCALE, LEFT(ID_AREA, 3) AS ID_AREA,chiave_progetto as ORDINAMENTO_PROGETTO, SUM(CTV) AS CTV +FROM C6MartPeriodico.PATRIMONIO_BF +WHERE LEFT(ID_AREA, 3) <> 'PRE' +GROUP BY RETE, COD_FISCALE, LEFT(ID_AREA, 3),chiave_progetto +union all +SELECT TOP (100) PERCENT RETE, COD_FISCALE, LEFT(ID_AREA, 3) AS ID_AREA,max(chiave_progetto) as ORDINAMENTO_PROGETTO, SUM(CTV) AS CTV +FROM C6MartPeriodico.PATRIMONIO_BF +where LEFT(ID_AREA, 3) = 'PRE' +GROUP BY RETE, COD_FISCALE, LEFT(ID_AREA, 3) \ No newline at end of file diff --git a/sql/Produzione/viste/C6MartPeriodico_vPatrimonioBFAggregato_SenzaNobPrez.sql b/sql/Produzione/viste/C6MartPeriodico_vPatrimonioBFAggregato_SenzaNobPrez.sql new file mode 100644 index 00000000..0290967a --- /dev/null +++ b/sql/Produzione/viste/C6MartPeriodico_vPatrimonioBFAggregato_SenzaNobPrez.sql @@ -0,0 +1,42 @@ +CREATE VIEW [C6MartPeriodico].[vPatrimonioBFAggregato_SenzaNobPrez] +AS +SELECT PATRIMONIO_BF.RETE, PATRIMONIO_BF.COD_FISCALE, + SUM(CTV) as CTV, + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) as PatrimonioNonAssociato, + sum(case Upper(id_area) when 'CC' then ctv else 0 end ) as ContoCorrente, +--INIZIO INTERVENTI OMNIA + sum(case Upper(id_area) when 'self' then ctv else 0 end ) as CTVSelf, +-- sum(case Upper(id_area) when 'CC' then 0 else ctv end ) as PatrimonioSenzaCC, + sum(case Upper(id_area) when 'CC' then 0 + when 'Self' then 0 + else ctv end ) as PatrimonioSenzaCC, +--FINE INTERVENTI OMNIA + --MAX((isnull(PART_VIAGG.PARTVIA_INV,0))) as PartiteViaggiantiInv, + sum((isnull([C6MartPeriodico].PATRIMONIO_BF.PARTVIA_DISINV,0))) as PartiteViaggiantiDisinv +FROM [C6MartPeriodico].PATRIMONIO_BF +where isnull(nob_prez,'')<>'N' +/* versione usata per l'estrazione della s80 per qc +SELECT PATRIMONIO_BF.RETE, PATRIMONIO_BF.COD_FISCALE, + SUM(CTV) as CTV, + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) as PatrimonioNonAssociato, + sum(case when (Upper(id_area)='CC' and ctv<0 )then ctv else 0 end ) as ContoCorrente, + sum(case when (Upper(id_area)='CC' and ctv<0) then 0 else ctv end ) as PatrimonioSenzaCC, + --MAX((isnull(PART_VIAGG.PARTVIA_INV,0))) as PartiteViaggiantiInv, + sum((isnull([C6MartPeriodico].PATRIMONIO_BF.PARTVIA_DISINV,0))) as PartiteViaggiantiDisinv +FROM [C6MartPeriodico].PATRIMONIO_BF +*/ +--atringali subquery non serve a nulla +--LEFT JOIN +--( +-- SELECT a.rete, a.cod_fiscale, /*sum (a.PARTVIA_INV) AS PARTVIA_INV,*/ sum (a.PARTVIA_DISINV) AS PARTVIA_DISINV +-- FROM ( +-- SELECT DISTINCT rete, cod_fiscale, id_contratto, /*partvia_inv,*/ partvia_disinv +-- FROM C6MartPeriodico.PATRIMONIO_bf +-- --WHERE partvia_disinv IS NOT NULL +-- ) a +-- GROUP BY rete, cod_fiscale +--) PART_VIAGG +-- ON +-- PART_VIAGG.RETE = PATRIMONIO_bf.RETE +-- AND PART_VIAGG.COD_FISCALE = PATRIMONIO_bf.COD_FISCALE +GROUP BY PATRIMONIO_BF.RETE, PATRIMONIO_BF.COD_FISCALE \ No newline at end of file diff --git a/sql/Produzione/viste/C6MartPeriodico_vPatrimonioImmobAggregato.sql b/sql/Produzione/viste/C6MartPeriodico_vPatrimonioImmobAggregato.sql new file mode 100644 index 00000000..24a4a5c4 --- /dev/null +++ b/sql/Produzione/viste/C6MartPeriodico_vPatrimonioImmobAggregato.sql @@ -0,0 +1,6 @@ +CREATE VIEW [C6MartPeriodico].[vPatrimonioImmobAggregato] +AS +SELECT RETE, COD_FISCALE, + SUM(VALORE_STIMATO) as PatrimonioImmob +FROM C6MartPeriodico.PATRIMONIO_Immobiliare +GROUP BY RETE, COD_FISCALE \ No newline at end of file diff --git a/sql/Produzione/viste/C6MartPeriodico_vPatrimonioImmobiliare.sql b/sql/Produzione/viste/C6MartPeriodico_vPatrimonioImmobiliare.sql new file mode 100644 index 00000000..6fe5d181 --- /dev/null +++ b/sql/Produzione/viste/C6MartPeriodico_vPatrimonioImmobiliare.sql @@ -0,0 +1,40 @@ +CREATE view [C6MartPeriodico].[vPatrimonioImmobiliare] +as + select + vInfo.Rete, + vInfo.CodFis as Cod_Fiscale, + dett.Descrizione, + dett.tipologia as Tipologia, + -- modifica del 14/2/2019 per far tornare anche il comune nella localita' + dett.comune + ' (' + dett.codProvincia + ')' as Localita, + -- fine modifica del 14/2/2019 + isnull(dett.renditaAnnua, 0) as AffittoPercepito, + dett.valoreimmobiletotale as Valore, + 0 as Totale, + 0 as TotaleAffitto, + isnull(tCoin.tipologiaDiritto,'Proprietà') as TipologiaDiritto, + case when pt.idimmobilecatasto is not null then tCoin.quotaDiritto else dett.quotaProprieta end ProQuota, + case when isnull(tCoin.moltiplicatoreDiritto*dett.valoreImmobileTotale,0) = 0 + then dett.valoreImmobile + else ROUND(CAST (dett.valoreImmobileTotale*tCoin.moltiplicatorediritto AS decimal (18,2)),2) + end as Valore_ProQuota, + 0 as TotaleProQuota + from ( select distinct con.chiaveClientePBProprietario,con.chiaveprodottoterzi,condett.tipologiadiritto ,condett.quotaDiritto, condett.moltiplicatorediritto + from [CONSUNI_PERIODICO].consulenzaunica.dbo.cointestatari con + inner join [CONSUNI_PERIODICO].consulenzaunica.dbo.CointestatariDettaglioDiritto condett + on condett.chiavecointestatari = con.chiavecointestatari + and condett.chiaveprodottoterzi = con.chiaveprodottoterzi + where con.chiaveclientepb=con.chiaveClientePBProprietario + ) tCoin + inner join [CONSUNI_PERIODICO].consulenzaunica.dbo.dettImmobiliare dett + on tCoin.chiaveProdottoTerzi = dett.chiaveProdottoTerzi + inner join [CONSUNI_PERIODICO].consulenzaunica.dbo.PatrimonioTerzi pt + on dett.chiaveProdottoTerzi = pt.chiaveProdottoTerzi + left join [CONSUNI_PERIODICO].consulenzaunica.dbo.dfinalita fin + on fin.codfinalita=dett.codfinalita + left join [CONSUNI_PERIODICO].consulenzaunica.dbo.dtipoimmobile dti + on dti.codtipologia=dett.codtipologia + left join [CONSUNI_PERIODICO].consulenzaunica.dbo.DNazioneEstera dne + on dne.codNazioneEstera = dett.codNazioneEstera + inner join [CONSUNI_PERIODICO].consulenzaunica.dbo.vInfoCliente vInfo + on pt.chiaveClientePB = vInfo.chiaveClientePB \ No newline at end of file diff --git a/sql/Produzione/viste/C6MartPeriodico_vPatrimonioImmobiliare_20190214.sql b/sql/Produzione/viste/C6MartPeriodico_vPatrimonioImmobiliare_20190214.sql new file mode 100644 index 00000000..b7a8ce21 --- /dev/null +++ b/sql/Produzione/viste/C6MartPeriodico_vPatrimonioImmobiliare_20190214.sql @@ -0,0 +1,38 @@ +CREATE view [C6MartPeriodico].[vPatrimonioImmobiliare_20190214] +as + select + vInfo.Rete, + vInfo.CodFis as Cod_Fiscale, + dett.Descrizione, + dett.tipologia as Tipologia, + dett.comune as Localita, + isnull(dett.renditaAnnua, 0) as AffittoPercepito, + dett.valoreimmobiletotale as Valore, + 0 as Totale, + 0 as TotaleAffitto, + isnull(tCoin.tipologiaDiritto,'Proprietà') as TipologiaDiritto, + case when pt.idimmobilecatasto is not null then tCoin.quotaDiritto else dett.quotaProprieta end ProQuota, + case when isnull(tCoin.moltiplicatoreDiritto*dett.valoreImmobileTotale,0) = 0 + then dett.valoreImmobile + else ROUND(CAST (dett.valoreImmobileTotale*tCoin.moltiplicatorediritto AS decimal (18,2)),2) + end as Valore_ProQuota, + 0 as TotaleProQuota + from ( select distinct con.chiaveClientePBProprietario,con.chiaveprodottoterzi,condett.tipologiadiritto ,condett.quotaDiritto, condett.moltiplicatorediritto + from [CONSUNI_PERIODICO].consulenzaunica.dbo.cointestatari con + inner join [CONSUNI_PERIODICO].consulenzaunica.dbo.CointestatariDettaglioDiritto condett + on condett.chiavecointestatari = con.chiavecointestatari + and condett.chiaveprodottoterzi = con.chiaveprodottoterzi + where con.chiaveclientepb=con.chiaveClientePBProprietario + ) tCoin + inner join [CONSUNI_PERIODICO].consulenzaunica.dbo.dettImmobiliare dett + on tCoin.chiaveProdottoTerzi = dett.chiaveProdottoTerzi + inner join [CONSUNI_PERIODICO].consulenzaunica.dbo.PatrimonioTerzi pt + on dett.chiaveProdottoTerzi = pt.chiaveProdottoTerzi + left join [CONSUNI_PERIODICO].consulenzaunica.dbo.dfinalita fin + on fin.codfinalita=dett.codfinalita + left join [CONSUNI_PERIODICO].consulenzaunica.dbo.dtipoimmobile dti + on dti.codtipologia=dett.codtipologia + left join [CONSUNI_PERIODICO].consulenzaunica.dbo.DNazioneEstera dne + on dne.codNazioneEstera = dett.codNazioneEstera + inner join [CONSUNI_PERIODICO].consulenzaunica.dbo.vInfoCliente vInfo + on pt.chiaveClientePB = vInfo.chiaveClientePB \ No newline at end of file diff --git a/sql/Produzione/viste/C6MartPeriodico_vPatrimonioNonRappresentabileAsset.sql b/sql/Produzione/viste/C6MartPeriodico_vPatrimonioNonRappresentabileAsset.sql new file mode 100644 index 00000000..8fbc81f8 --- /dev/null +++ b/sql/Produzione/viste/C6MartPeriodico_vPatrimonioNonRappresentabileAsset.sql @@ -0,0 +1,68 @@ +CREATE VIEW [C6MartPeriodico].[vPatrimonioNonRappresentabileAsset] +AS +SELECT + RETE, + COD_FISCALE, + --SUM(Controvalore) as Controvalore + SUM( cast(Controvalore as decimal(15,3))) as Controvalore + FROM ( + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.CTV as Controvalore + FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAGP + ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + LEFT OUTER JOIN C6MARTPERIODICO.ASSET_PERC ASSETPERC + ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + PATRBF.TIPO_PRODOTTO NOT IN ('ASUL','CC') + AND ASSETPERC.COD_PRODOTTO IS NULL + UNION ALL +-- SELECT +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- ASUL.CTV as Controvalore +-- FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF +-- INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAGP +-- ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO +-- INNER JOIN C6MARTPERIODICO.DETTAGLIO_ASUL ASUL +-- ON PATRBF.RETE = ASUL.RETE +-- AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE +-- AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO +-- LEFT OUTER JOIN C6MARTPERIODICO.ASSET_PERC ASSETPERC +-- ON ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- PATRBF.TIPO_PRODOTTO = 'ASUL' +-- AND ASSETPERC.COD_PRODOTTO IS NULL +-- +SELECT ASUL.RETE, + ASUL.COD_FISCALe, + ASUL.CTV*isnull(ASSETPERC.PERC,1) as Controvalore + FROM + C6MartPeriodico.DETTAGLIO_ASUL ASUL + left JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ( + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---no SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + ) + or + ( --SKANDIA + ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + ) + WHERE + ASSETPERC.COD_PRODOTTO IS NULL + ) PATR_NO_RAPPR + GROUP BY + RETE, + COD_FISCALE \ No newline at end of file diff --git a/sql/Produzione/viste/C6MartPeriodico_vPatrimonioNonRappresentabileAsset_2.sql b/sql/Produzione/viste/C6MartPeriodico_vPatrimonioNonRappresentabileAsset_2.sql new file mode 100644 index 00000000..32d3a8f3 --- /dev/null +++ b/sql/Produzione/viste/C6MartPeriodico_vPatrimonioNonRappresentabileAsset_2.sql @@ -0,0 +1,42 @@ +CREATE VIEW [C6MartPeriodico].[vPatrimonioNonRappresentabileAsset_2] +AS +SELECT + RETE, + COD_FISCALE, + SUM(Controvalore) as Controvalore + FROM ( + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.CTV as Controvalore + FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAGP + ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + LEFT OUTER JOIN C6MARTPERIODICO.ASSET_PERC ASSETPERC + ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + PATRBF.TIPO_PRODOTTO NOT IN ('ASUL','CC') + AND ASSETPERC.COD_PRODOTTO IS NULL + UNION ALL + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + ASUL.CTV as Controvalore + FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAGP + ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + INNER JOIN C6MARTPERIODICO.DETTAGLIO_ASUL ASUL + ON PATRBF.RETE = ASUL.RETE + AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE + AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO + LEFT OUTER JOIN C6MARTPERIODICO.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + PATRBF.TIPO_PRODOTTO = 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL + ) PATR_NO_RAPPR + GROUP BY + RETE, + COD_FISCALE \ No newline at end of file diff --git a/sql/Produzione/viste/C6MartPeriodico_vPatrimonioTerziAggregato.sql b/sql/Produzione/viste/C6MartPeriodico_vPatrimonioTerziAggregato.sql new file mode 100644 index 00000000..21172667 --- /dev/null +++ b/sql/Produzione/viste/C6MartPeriodico_vPatrimonioTerziAggregato.sql @@ -0,0 +1,13 @@ +CREATE VIEW [C6MartPeriodico].[vPatrimonioTerziAggregato] +AS +SELECT + RETE, + COD_FISCALE, + SUM(ROUND(CTV, 2)) AS CTV, + SUM(ROUND(CASE WHEN TIPO_PRODOTTO = 'Conti correnti' THEN 0 ELSE CTV END, 2)) AS ControvaloreSenzaCC, + SUM(ROUND(CASE WHEN TIPO_PRODOTTO = 'Conti correnti' THEN CTV ELSE 0 END, 2)) AS ControvaloreCC +FROM + C6MartPeriodico.PATRIMONIO_TERZI +GROUP BY + RETE, + COD_FISCALE \ No newline at end of file diff --git a/sql/Produzione/viste/C6MartPeriodico_vPrometeiaTerziCategoriaProdotto.sql b/sql/Produzione/viste/C6MartPeriodico_vPrometeiaTerziCategoriaProdotto.sql new file mode 100644 index 00000000..66e8bf14 --- /dev/null +++ b/sql/Produzione/viste/C6MartPeriodico_vPrometeiaTerziCategoriaProdotto.sql @@ -0,0 +1,132 @@ +CREATE VIEW [C6MartPeriodico].[vPrometeiaTerziCategoriaProdotto] +AS +SELECT + TUTTI.RETE AS Rete, + TUTTI.CODICEFISCALE AS CodiceFiscale, + TUTTI.PORTAFOGLIO AS Portafoglio, + TUTTI.COD_ISIN AS CodiceIsin, + TUTTI.COD_ADEGUATEZZA AS CodiceAdeguatezza, + TUTTI.COD_MAF AS CodiceMaf, + TUTTI.COD_INTERNO AS CodiceInterno, + TUTTI.COD_SOTTOPRODOTTO AS CodiceSottoprodotto, + TUTTI.PIAZZA AS Piazza, + TUTTI.CODICEVALUTA AS Codicevaluta, + TUTTI.CLASSE AS Classe, + SUM(TUTTI.CONTROVALORE) AS Controvalore, + TUTTI.ESTRAZIONE AS Estrazione +FROM ( + -- 1. ASSET PER DATI PATRIMONIO TERZI NON IN CATALOGO + SELECT + 'DATI NON IN CATALOGO' AS ESTRAZIONE, + PATRIMONIO_TERZI.RETE AS RETE, + PATRIMONIO_TERZI.COD_FISCALE AS CODICEFISCALE, + 'TIPOPRODTERZI|TERZI|' + + ISNULL(PATRIMONIO_TERZI.DESCR_GRUPPO_PRODOTTO, PATRIMONIO_TERZI.TIPO_PRODOTTO) + + '|' + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI AS PORTAFOGLIO, + ASSETCLASS_TERZI.COD_ISIN AS COD_ISIN, + ASSETCLASS_TERZI.COD_ADEGUATEZZA AS COD_ADEGUATEZZA, + ASSETCLASS_TERZI.COD_MAF AS COD_MAF, + '$' AS COD_INTERNO, + '$' AS COD_SOTTOPRODOTTO, + '' AS PIAZZA, + '' AS CODICEVALUTA, + '' AS CLASSE, + (PATRIMONIO_TERZI.CTV * ASSET_PERC_TERZI.PERC) AS CONTROVALORE + FROM + C6MartPeriodico.ASSET_PERC_TERZI + INNER JOIN + C6MartPeriodico.ASSETCLASS_TERZI + ON + ASSET_PERC_TERZI.ID_ASSETCLASS = ASSETCLASS_TERZI.ID_ASSETCLASS + INNER JOIN + C6MartPeriodico.PATRIMONIO_TERZI + ON + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI = ASSET_PERC_TERZI.COD_PRODOTTO_TERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI + ON + ANAG_PRODOTTI_TERZI.COD_PRODOTTO_TERZI = PATRIMONIO_TERZI.COD_PRODOTTO_TERZI + WHERE + ASSET_PERC_TERZI.LIVELLO = 2 +-- AND NOT ( +-- PATRIMONIO_TERZI.TIPO_PRODOTTO = 'Conti correnti' +-- AND ANAG_PRODOTTI_TERZI.DESCR_PRODOTTO = 'Assets.FinancialAssets.CurrentAccount' +-- ) + UNION ALL + -- 2. ASSET PER DATI PATRIMONIO TERZI IN CATALOGO + SELECT + 'DATI IN CATALOGO' AS ESTRAZIONE, + PATRIMONIO_TERZI.RETE AS RETE, + PATRIMONIO_TERZI.COD_FISCALE AS CODICEFISCALE, + 'TIPOPRODTERZI|TERZI|' + + ISNULL(PATRIMONIO_TERZI.DESCR_GRUPPO_PRODOTTO, PATRIMONIO_TERZI.TIPO_PRODOTTO) + + '|' + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI AS PORTAFOGLIO, + ANAG_PRODOTTI.COD_ISIN AS COD_ISIN, + ANAG_PRODOTTI.COD_ADEGUATEZZA AS COD_ADEGUATEZZA, + ANAG_PRODOTTI.COD_MAF AS COD_MAF, + ANAG_PRODOTTI.COD_INTERNO AS COD_INTERNO, + ANAG_PRODOTTI.COD_SOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + '' AS PIAZZA, + '' AS CODICEVALUTA, + '' AS CLASSE, + (PATRIMONIO_TERZI.CTV * ISNULL(ASSET_PERC.PERC,1)) AS CONTROVALORE + FROM + C6MartPeriodico.PATRIMONIO_TERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI + ON + ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_TERZI.COD_PRODOTTO + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC + ON + ASSET_PERC.COD_PRODOTTO = PATRIMONIO_TERZI.COD_PRODOTTO + AND ASSET_PERC.LIVELLO = 2 + UNION ALL + -- 3 ASSET NON ESISTENTI PER DATI PATRIMONIO TERZI DEL CATALOGO CON ADEGUATEZZA A NULL (SETTATI AD ALTRO PER CONVENZIONE) + SELECT + 'DATI IN CATALOGO CON COD_ADEGUATEZZA NULL E ASSET NON VALORIZZATO' AS ESTRAZIONE, + PATRIMONIO_TERZI.RETE AS RETE, + PATRIMONIO_TERZI.COD_FISCALE AS CODICEFISCALE, + 'TIPOPRODTERZI|TERZI|' + + ISNULL(PATRIMONIO_TERZI.DESCR_GRUPPO_PRODOTTO, PATRIMONIO_TERZI.TIPO_PRODOTTO) + + '|' + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI AS PORTAFOGLIO, + ASSETCLASS_TERZI.COD_ISIN AS COD_ISIN, + ASSETCLASS_TERZI.COD_ADEGUATEZZA AS COD_ADEGUATEZZA, + ASSETCLASS_TERZI.COD_MAF AS COD_MAF, + '$' AS COD_INTERNO, + '$' AS COD_SOTTOPRODOTTO, + '' AS PIAZZA, + '' AS CODICEVALUTA, + '' AS CLASSE, + (PATRIMONIO_TERZI.CTV * ASSET_PERC.PERC) AS CONTROVALORE + FROM + C6MartPeriodico.PATRIMONIO_TERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI + ON + ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_TERZI.COD_PRODOTTO + LEFT JOIN + C6MartPeriodico.ASSET_PERC + ON + ASSET_PERC.COD_PRODOTTO = PATRIMONIO_TERZI.COD_PRODOTTO + INNER JOIN + C6MartPeriodico.ASSETCLASS_TERZI + ON + ASSETCLASS_TERZI.ID_ASSETCLASS = 'AL1' + WHERE + ANAG_PRODOTTI.COD_ADEGUATEZZA = '$' + AND ASSET_PERC.COD_PRODOTTO IS NULL +) TUTTI +GROUP BY + TUTTI.ESTRAZIONE, + TUTTI.RETE, + TUTTI.CODICEFISCALE, + TUTTI.PORTAFOGLIO, + TUTTI.COD_ISIN, + TUTTI.COD_ADEGUATEZZA, + TUTTI.COD_MAF, + TUTTI.COD_INTERNO, + TUTTI.COD_SOTTOPRODOTTO, + TUTTI.PIAZZA, + TUTTI.CODICEVALUTA, + TUTTI.CLASSE \ No newline at end of file diff --git a/sql/Produzione/viste/C6MartPeriodico_vPrometeiaTerziIntermediario.sql b/sql/Produzione/viste/C6MartPeriodico_vPrometeiaTerziIntermediario.sql new file mode 100644 index 00000000..54c0c0bb --- /dev/null +++ b/sql/Produzione/viste/C6MartPeriodico_vPrometeiaTerziIntermediario.sql @@ -0,0 +1,173 @@ +-- View +CREATE VIEW [C6MartPeriodico].[vPrometeiaTerziIntermediario] +AS +SELECT + TUTTI.RETE AS Rete, + TUTTI.CODICEFISCALE AS CodiceFiscale, + TUTTI.PORTAFOGLIO AS Portafoglio, + TUTTI.INTERMEDIARIO AS Intermediario, + TUTTI.COD_ISIN AS CodiceIsin, + TUTTI.COD_ADEGUATEZZA AS CodiceAdeguatezza, + TUTTI.COD_MAF AS CodiceMaf, + TUTTI.COD_INTERNO AS CodiceInterno, + TUTTI.COD_SOTTOPRODOTTO AS CodiceSottoprodotto, + TUTTI.PIAZZA AS Piazza, + TUTTI.CODICEVALUTA AS Codicevaluta, + TUTTI.CLASSE AS Classe, + SUM(TUTTI.CONTROVALORE) AS Controvalore, + TUTTI.ESTRAZIONE AS Estrazione +FROM ( + -- 1. ASSET PER DATI PATRIMONIO TERZI NON IN CATALOGO + SELECT + 'DATI NON IN CATALOGO' AS ESTRAZIONE, + PATRIMONIO_TERZI.RETE AS RETE, + PATRIMONIO_TERZI.COD_FISCALE AS CODICEFISCALE, + 'COMPLESSIVO|TERZI|' + PATRIMONIO_TERZI.INTERMEDIARIO + '|' + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI AS PORTAFOGLIO, + PATRIMONIO_TERZI.INTERMEDIARIO AS INTERMEDIARIO, + ASSETCLASS_TERZI.COD_ISIN AS COD_ISIN, + ASSETCLASS_TERZI.COD_ADEGUATEZZA AS COD_ADEGUATEZZA, + ASSETCLASS_TERZI.COD_MAF AS COD_MAF, + '$' AS COD_INTERNO, + '$' AS COD_SOTTOPRODOTTO, + '' AS PIAZZA, + '' AS CODICEVALUTA, + '' AS CLASSE, + (PATRIMONIO_TERZI.CTV * ASSET_PERC_TERZI.PERC) AS CONTROVALORE + FROM + C6MartPeriodico.ASSET_PERC_TERZI + INNER JOIN + C6MartPeriodico.ASSETCLASS_TERZI + ON + ASSET_PERC_TERZI.ID_ASSETCLASS = ASSETCLASS_TERZI.ID_ASSETCLASS + INNER JOIN + C6MartPeriodico.PATRIMONIO_TERZI + ON + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI = ASSET_PERC_TERZI.COD_PRODOTTO_TERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI + ON + ANAG_PRODOTTI_TERZI.COD_PRODOTTO_TERZI = PATRIMONIO_TERZI.COD_PRODOTTO_TERZI + WHERE + ASSET_PERC_TERZI.LIVELLO = 2 +-- AND NOT ( +-- PATRIMONIO_TERZI.TIPO_PRODOTTO = 'Conti correnti' +-- AND ANAG_PRODOTTI_TERZI.DESCR_PRODOTTO = 'Assets.FinancialAssets.CurrentAccount' +-- ) + UNION ALL + -- 2. ASSET PER DATI PATRIMONIO TERZI IN CATALOGO + SELECT + 'DATI IN CATALOGO' AS ESTRAZIONE, + PATRIMONIO_TERZI.RETE AS RETE, + PATRIMONIO_TERZI.COD_FISCALE AS CODICEFISCALE, + 'COMPLESSIVO|TERZI|' + PATRIMONIO_TERZI.INTERMEDIARIO + '|' + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI AS PORTAFOGLIO, + PATRIMONIO_TERZI.INTERMEDIARIO AS INTERMEDIARIO, + ANAG_PRODOTTI.COD_ISIN AS COD_ISIN, + ANAG_PRODOTTI.COD_ADEGUATEZZA AS COD_ADEGUATEZZA, + ANAG_PRODOTTI.COD_MAF AS COD_MAF, + ANAG_PRODOTTI.COD_INTERNO AS COD_INTERNO, + ANAG_PRODOTTI.COD_SOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + '' AS PIAZZA, + '' AS CODICEVALUTA, + '' AS CLASSE, + (PATRIMONIO_TERZI.CTV * ISNULL(ASSET_PERC.PERC,1)) AS CONTROVALORE + FROM + C6MartPeriodico.PATRIMONIO_TERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI + ON + ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_TERZI.COD_PRODOTTO + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC + ON + ASSET_PERC.COD_PRODOTTO = PATRIMONIO_TERZI.COD_PRODOTTO + AND ASSET_PERC.LIVELLO = 2 + UNION ALL + -- 3 ASSET NON ESISTENTI PER DATI PATRIMONIO TERZI DEL CATALOGO CON ADEGUATEZZA A NULL (SETTATI AD ALTRO PER CONVENZIONE) + SELECT + 'DATI IN CATALOGO CON COD_ADEGUATEZZA NULL E ASSET NON VALORIZZATO' AS ESTRAZIONE, + PATRIMONIO_TERZI.RETE AS RETE, + PATRIMONIO_TERZI.COD_FISCALE AS CODICEFISCALE, + 'COMPLESSIVO|TERZI|' + PATRIMONIO_TERZI.INTERMEDIARIO + '|' + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI AS PORTAFOGLIO, + PATRIMONIO_TERZI.INTERMEDIARIO AS INTERMEDIARIO, + ASSETCLASS_TERZI.COD_ISIN AS COD_ISIN, + ASSETCLASS_TERZI.COD_ADEGUATEZZA AS COD_ADEGUATEZZA, + ASSETCLASS_TERZI.COD_MAF AS COD_MAF, + '$' AS COD_INTERNO, + '$' AS COD_SOTTOPRODOTTO, + '' AS PIAZZA, + '' AS CODICEVALUTA, + '' AS CLASSE, + (PATRIMONIO_TERZI.CTV * ASSET_PERC.PERC) AS CONTROVALORE + FROM + C6MartPeriodico.PATRIMONIO_TERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI + ON + ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_TERZI.COD_PRODOTTO + LEFT JOIN + C6MartPeriodico.ASSET_PERC + ON + ASSET_PERC.COD_PRODOTTO = PATRIMONIO_TERZI.COD_PRODOTTO + INNER JOIN + C6MartPeriodico.ASSETCLASS_TERZI + ON + ASSETCLASS_TERZI.ID_ASSETCLASS = 'AL1' + WHERE + ANAG_PRODOTTI.COD_ADEGUATEZZA = '$' + AND ASSET_PERC.COD_PRODOTTO IS NULL + --V CC terzi + union all + SELECT + --PATRIMONIO_TERZI.tipo_prodotto, + 'CONTI CORRENTI' AS ESTRAZIONE, + PATRIMONIO_TERZI.RETE AS RETE, + PATRIMONIO_TERZI.COD_FISCALE AS CODICEFISCALE, + 'COMPLESSIVO|TERZI|' + PATRIMONIO_TERZI.INTERMEDIARIO + '|CC',-- + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI AS PORTAFOGLIO, + PATRIMONIO_TERZI.INTERMEDIARIO AS INTERMEDIARIO, + ASSETCLASS_TERZI.COD_ISIN AS COD_ISIN, + --ASSETCLASS_TERZI.COD_ADEGUATEZZA AS COD_ADEGUATEZZA, + 'EUR' AS COD_ADEGUATEZZA, + ASSETCLASS_TERZI.COD_MAF AS COD_MAF, + '$' AS COD_INTERNO, + '$' AS COD_SOTTOPRODOTTO, + '' AS PIAZZA, + '' AS CODICEVALUTA, + '' AS CLASSE, + sum(PATRIMONIO_TERZI.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') as int) AS CONTROVALORE + FROM + C6MartPeriodico.ASSET_PERC_TERZI + INNER JOIN + C6MartPeriodico.ASSETCLASS_TERZI + ON + ASSET_PERC_TERZI.ID_ASSETCLASS = ASSETCLASS_TERZI.ID_ASSETCLASS + INNER JOIN + C6MartPeriodico.PATRIMONIO_TERZI + ON + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI = ASSET_PERC_TERZI.COD_PRODOTTO_TERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI + ON + ANAG_PRODOTTI_TERZI.COD_PRODOTTO_TERZI = PATRIMONIO_TERZI.COD_PRODOTTO_TERZI + WHERE + ASSET_PERC_TERZI.LIVELLO = 2 + AND ( + PATRIMONIO_TERZI.TIPO_PRODOTTO = 'Conti correnti' + or ANAG_PRODOTTI_TERZI.DESCR_PRODOTTO = 'Assets.FinancialAssets.CurrentAccount' + ) +--and patrimonio_terzi.Cod_fiscale = 'BNCMRA47P12A944T' + group by PATRIMONIO_TERZI.intermediario,ASSETCLASS_TERZI.COD_ISIN,cod_adeguatezza,cod_maf,PATRIMONIO_TERZI.cod_Fiscale,rete +) TUTTI +GROUP BY + TUTTI.ESTRAZIONE, + TUTTI.RETE, + TUTTI.CODICEFISCALE, + TUTTI.PORTAFOGLIO, + TUTTI.INTERMEDIARIO, + TUTTI.COD_ISIN, + TUTTI.COD_ADEGUATEZZA, + TUTTI.COD_MAF, + TUTTI.COD_INTERNO, + TUTTI.COD_SOTTOPRODOTTO, + TUTTI.PIAZZA, + TUTTI.CODICEVALUTA, + TUTTI.CLASSE \ No newline at end of file diff --git a/sql/Produzione/viste/C6MartPeriodico_vTabellone.sql b/sql/Produzione/viste/C6MartPeriodico_vTabellone.sql new file mode 100644 index 00000000..191e5bba --- /dev/null +++ b/sql/Produzione/viste/C6MartPeriodico_vTabellone.sql @@ -0,0 +1,155 @@ +CREATE VIEW [C6MartPeriodico].[vTabellone] +AS +select a.chiaveClientePB as ChiaveClientePB + ,a.rete as Rete + ,a.cod_fiscale as Chiave_ACN + ,case when a.TIP_CONTRATTO=3 then 'DIRECT ADVISORY' else 'SEI' end as Tipo_Cliente + ,case when len(a.COD_FISCALE)=16 then a.COD_FISCALE else '' end as Codice_Fiscale + ,case when a.COD_FISCALE like '%FF@%' then a.PIVA_FIDUCIARIA when len(a.COD_FISCALE)<16 then a.COD_FISCALE else '' end as Partita_Iva + ,a.COD_MANDATO as Codice_Mandato + ,a.codiceContratto as Codice_Contratto + ,case when isnull(cli.nome,'')<>'' and LEN(a.COD_FISCALE)<16 then '' else isnull(cli.nome,'') end as Nome_Cliente + ,case when isnull(cli.nome,'')<>'' and LEN(a.COD_FISCALE)<16 then isnull(cli.cognome,'')+isnull(cli.nome,'') else isnull(cli.cognome,'') end as Cognome_Cliente + ,isnull(cli.dtnascita,'') as Data_Nascita_Cliente + ,a.INDIRIZZO as Indirizzo + ,isnull(a.cap,'00000') as Cap + ,a.CITTA as Citta + ,a.PROVINCIA as Provincia + ,a.NAZIONE as Nazione + ,COD_AGENTE as Agente + ,pb.Nome as Nome_Agente + ,pb.Cognome as Cognome_Agente + ,'SI' as Report_Monitoraggio + ,case when a.FREQ_DIAGNOSI<>'' then 'SI' else 'NO' end as Report_Diagnosi + ,a.Data_FineAvanzato as Data_Revoca + ,case when a.TIP_CONTRATTO=2 then 'SI' else 'NO' end as Flag_Private + ,case when v.tipoconsulenza='P' then 'SI' else 'NO' end as Flag_Professionale + ,benv.Data_Lettera_Benvenuto as Data_Lettera_Benvenuto + ,case when isnull(cam.cod_fiscale,'')=cam.cod_fiscale then 'SI' else 'NO' end as Campione_SEI + ,case when isnull(camDA.cod_fiscale,'')=camDA.cod_fiscale then 'SI' else 'NO' end as Campione_DA + ,case when ISNULL(ps.cod_fiscale,'')=ps.Cod_fiscale OR ISNULL(dc.cod_fiscale,'')=dc.Cod_fiscale then 'SI' else 'NO' end as Lettera_Sostitutiva + ,case when isnull(exc.codicefiscale,'')=exc.codicefiscale then 'SI' else 'NO' end as Blacklist_Temporanea + ,isnull(exc.descrerr,'') as Motivazione_Blacklist + ,isnull(pdf.NomeFile,'NON GENERATO') as Nome_PDF_Monitoraggio + ,isnull(pdfd.NomeFile,'NON GENERATO')+'_DP' as Nome_PDF_Diagnosi + ,isnull(zip.nomefile+'_LOTTO_'+rtrim(cast(zip.fkidelaborazionezip as char))+'_PACK_'+rtrim(cast(zip.id as char))+'.7z','NON ZIPPATO') as Nome_Zip + ,ISNULL(rol.statorol,'NO') as Rol + ,case when stab.ESG='S' then 'SI' else 'NO' end as Preferenza_ESG--case when esg.preferenza_esg_cliente=1 then 'SI' else 'NO' end as Preferenza_ESG + ,isnull(esg.ESG_E,stab.Environmental) as ESG_E + ,isnull(esg.ESG_S,stab.Social) as ESG_S + ,isnull(esg.ESG_G,stab.Governance) as ESG_G + ,CASE + WHEN esg.[ESG_E_perc] IS NOT NULL AND esg.[ESG_S_perc] IS NOT NULL AND esg.[ESG_G_perc] IS NOT NULL THEN + CASE + WHEN esg.[ESG_E_perc] >= esg.[ESG_S_perc] AND esg.[ESG_E_perc] >= esg.[ESG_G_perc] THEN esg.[ESG_E_perc] + WHEN esg.[ESG_S_perc] >= esg.[ESG_E_perc] AND esg.[ESG_S_perc] >= esg.[ESG_G_perc] THEN esg.[ESG_S_perc] + ELSE esg.[ESG_G_perc] + END + ELSE + CASE + WHEN stab.[ESG_E_perc] >= stab.[ESG_S_perc] AND stab.[ESG_E_perc] >= stab.[ESG_G_perc] THEN stab.[ESG_E_perc] + WHEN stab.[ESG_S_perc] >= stab.[ESG_E_perc] AND stab.[ESG_S_perc] >= stab.[ESG_G_perc] THEN stab.[ESG_S_perc] + ELSE stab.[ESG_G_perc] + END +END as obiettivo_esg_minimo + ,isnull(esg.ESG_E_perc,stab.ESG_E_perc) as ESG_E_perc + ,isnull(esg.ESG_S_perc,stab.ESG_S_perc) as ESG_S_perc + ,isnull(esg.ESG_G_perc,stab.ESG_G_perc) as ESG_G_perc + ,an2.[CODPROF] as Codice_Profilo + ,an2.[COD_PROFEC] as Codice_Profilo_EC + ,case when ck.Adeg_Rischio='S' then 'S' when ck.Adeg_Rischio='N' then 'N' else 'Z' end as Rischio + --,case when isnull(stab.ade_rischio_mercato,'NO')='1' THEN 'S' else 'N' end as Rischio + ,an2.[RISERVA] as Riserva + ,an2.[INVL_PERIOD] as Investimento_Di_Lungo_Periodo + ,an2.[CLCOMPL] as Complessita + ,an2.[FLGCONC] as Concentrazione_di_prodotti_complessi + ,an2.[FREQ] as Frequenza_delle_operazioni + ,an2.[CONCEMI] as Concentrazione_Emittenti + ,an2.[FLAGPG] as Persona_Giuridica + ,an2.[ADEGCONC_VALUT] as Concentrazione_Valutaria + ,an2.[COERENZA] as Esito_di_Coerenza + ,an2.[FLAGNQP] + ,an2.[FLGPRLRDE] as Flag_Privo_di_Legali_Rappresentanti_Delegati_Profilati + --,an2.[FLGPROF] + ,an2.[SOGLIAESG] as Soglia_ESG + ,an2.[MAXCOMPL] as Max_Complessita_Prodotto + ,an2.[NOCOMPL] + ,an2.[SPESA_FORZATA] as Spesa_Forzata + ,an2.[PERC_ILP] as Percentuale_Investimento_di_lungo_periodo + ,an2.[IMP_RISERVA] as Importo_Riserva + ,case when isnull(imm.CODFIS,'')=imm.codfis then 'SI' else 'NO' end as Immobiliare + ,case when isnull(imm.CODFIS,'')=imm.codfis and imm.RENDICONTO_IMM='S' then 'SI' else 'NO' end as Solo_Immobiliare + ,stab.var_portafoglio as VaR_Portafoglio + ,stab.corfa_rfa as RFA--,isnull(w.Patrimoniobancafideuramctv,stab.corfa_rfa) as RFA + ,case + when ISNULL(ps.cod_fiscale,'')=ps.Cod_fiscale OR ISNULL(dc1.cod_fiscale,'')=dc1.Cod_fiscale then 'SCADUTO' + when mif.scaduto='0' then 'ATTIVO' + when mif.scaduto='1' then 'SCADUTO' + when mif.scaduto='2' then 'PARZIALE' else 'ATTIVO' end as Tipo_Scaduto +FROM [C6StampeCentralizzate].[C6StagingPeriodico].[APPO_CONTRATTI] a +left join consuni_periodico.ConsulenzaUnica.dbo.vinfocliente v +on a.chiaveClientePB=v.chiaveclientePB +left join consuni_periodico.ConsulenzaUnica.dbo.Cliente cli +on v.chiavecliente=cli.chiavecliente +left join ( + SELECT rete,codicefiscale, Max(DataGenerazione) as Data_Lettera_Benvenuto + FROM C6Mart.gestione_pdf_ftp + GROUP BY rete,codicefiscale +) benv +on a.rete=benv.Rete and a.COD_FISCALE=benv.CodiceFiscale +left join C6MartPeriodico.TB_Campione cam on +a.rete=cam.Rete and a.COD_FISCALE=cam.Cod_Fiscale +left join C6MartPeriodico.TB_Campione_DA camDA on +a.rete=camDA.Rete and a.COD_FISCALE=camDA.Cod_Fiscale +left join (select rete,case when codman<>'' then 'FF@'+codman else codfis end as Cod_fiscale from C6StagingPeriodico.WSEIPS where DTTRIM=[C6MartPeriodico].[getTrimestre2](getdate(),0) ) ps +on ps.RETE=a.rete and a.COD_FISCALE=ps.Cod_fiscale +left join (select rete,case when codman<>'' then 'FF@'+codman else codfis end as Cod_fiscale from C6StagingPeriodico.WSEIDC where DTTRIM=[C6MartPeriodico].[getTrimestre2](getdate(),0) ) dc +on dc.RETE=a.rete and a.COD_FISCALE=dc.Cod_fiscale +left join (select distinct rete,codicefiscale,STRING_AGG( ISNULL(DescrErr, ' '), ',') As descrerr from C6MartPeriodico.ExcludedList group by rete,codicefiscale) exc +on exc.RETE=a.rete and a.COD_FISCALE=exc.codicefiscale +left join (select * from c6martperiodico.gestione_pdf_ftp where TipoReport='M') pdf +on pdf.rete=a.rete and a.cod_fiscale=pdf.codicefiscale +left join c6martperiodico.gestione_zip_ftp zip +on pdf.id_fk_zip=zip.id +left join (select * from c6martperiodico.gestione_pdf_ftp where TipoReport='D') pdfD +on pdfD.rete=a.rete and a.cod_fiscale=pdfD.codicefiscale +left join C6StagingPeriodico.datiROL2 rol on +a.rete=rol.Rete and a.COD_FISCALE=rol.CODFIS +left join [CONSUNI_periodico].ConsulenzaUnica.dbo.anagrafica_promotori pb +on a.rete = pb.rete and a.COD_AGENTE=pb.codage +left join (select Rete,case when codman<>'' then 'FF@'+codman else CodiceFiscale end as Cod_fiscale,preferenza_esg_cliente,ESG_E,ESG_S,ESG_G,obiettivo_ESG_minimo,ESG_E_perc,ESG_S_perc,ESG_G_perc from [C6StagingPeriodico].[ESG_Metriche_Cliente_IL] where trim(CONVERT(varchar, dt_trim, 112))=[C6MartPeriodico].[getTrimestre2](getdate(),0)) esg +on esg.RETE=a.rete and a.COD_FISCALE=esg.Cod_fiscale +left join +(select [RETE] + ,case when codman<>'' then 'FF@'+codman else codfis end as Cod_fiscale + ,[CODPROF] + ,[COD_PROFEC] + ,[FLAGPG] + ,[CLCOMPL] + ,[FLGCONC] + ,[FLAGNQP] + ,[FLGPRLRDE] + ,[FLGPROF] + ,[CONCEMI] + ,[FREQ] + ,[ADEGCONC_VALUT] + ,[SOGLIAESG] + ,[COERENZA] + ,[RISERVA] + ,[INVL_PERIOD] + ,[MAXCOMPL] + ,[NOCOMPL] + ,[SPESA_FORZATA] + ,[PERC_ILP] + ,[IMP_RISERVA] from [C6StampeCentralizzate].[C6StagingPeriodico].[WSEIAN2] --where DTTRIM=[C6MartPeriodico].[getTrimestre2](getdate(),0) + ) an2 +on a.rete=an2.Rete and a.COD_FISCALE=an2.Cod_Fiscale +left join C6MartPeriodicoImmobiliare.W6IMM imm --where FLAG_IN_PERIMETRO='S' and RENDICONTO_IMM='S' +on a.rete=imm.RETE and a.COD_FISCALE=imm.CODFIS +left join (select * from C6MartPeriodico.tabellone where DTTRIM=[C6MartPeriodico].[getTrimestre2](getdate(),0)) stab on stab.chiave_acn= a.rete+a.COD_FISCALE +left join wh.Maledetti w on w.rete+w.CodiceFiscale=a.rete+a.COD_FISCALE +left join C6MartPeriodico.Mifid mif on mif.RETE+mif.COD_FISCALE=a.rete+a.COD_FISCALE +left join (select rete,case when codman<>'' then 'FF@'+codman else codfis end as Cod_fiscale from C6StagingPeriodico.WSEIDC where DTTRIM=[C6MartPeriodico].[getTrimestre2](getdate(),0) and TIPOLETT not in ('R','S') ) dc1 +on dc1.RETE=a.rete and a.COD_FISCALE=dc1.Cod_fiscale +left join c6martperiodico.w6ckadeg ck +on ck.rete=a.rete and ck.Chiave_Acn=a.COD_FISCALE \ No newline at end of file diff --git a/sql/Produzione/viste/C6MartPeriodico_vTuttiIPortafogli.sql b/sql/Produzione/viste/C6MartPeriodico_vTuttiIPortafogli.sql new file mode 100644 index 00000000..3d900e2a --- /dev/null +++ b/sql/Produzione/viste/C6MartPeriodico_vTuttiIPortafogli.sql @@ -0,0 +1,257 @@ +--select top 1 * from c6martperiodico.anag_prodotti +--modificata per i cc in liq Marianna & Valerio +CREATE VIEW [C6MartPeriodico].[vTuttiIPortafogli] +AS +SELECT + ANAG_PRODOTTI.DESCR_PRODOTTO, + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN +-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, +-- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA +-- ELSE ANAG_PRODOTTI.COD_ISIN +-- END AS CodiceProdotto, +-- MODIFICA LUCA + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + --V FRANCHIGIA CC +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV_NOMINALE +-- END AS CtvNominale, + PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, + --PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV +-- END AS CtvReale + PATRIMONIO_BF.CTV AS CtvReale + FROM c6martperiodico.PATRIMONIO_BF + INNER JOIN c6martperiodico.vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN c6martperiodico.ANAG_PRODOTTI ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + WHERE PATRIMONIO_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC','ASU2') + UNION ALL + ---V Modifica per calcolo VaR prodotti ASU2 + SELECT + ANAG_PRODOTTI.DESCR_PRODOTTO, + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID + -- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + -- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + -- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + -- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA + -- ELSE ANAG_PRODOTTI.COD_ISIN + -- END AS CodiceProdotto, + ---- MODIFICA LUCA + --V Modifica per gli ASU2 CON IL COD_ADEGUATEZZA NON BECCA NESSUN PRODTTO PROMETEIA + -- CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + -- WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + -- ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA END + PATRIMONIO_BF.ISIN AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + --V FRANCHIGIA CC + -- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + -- THEN 0 + -- ELSE PATRIMONIO_BF.CTV_NOMINALE + -- END AS CtvNominale, + PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, + --PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, + -- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + -- THEN 0 + -- ELSE PATRIMONIO_BF.CTV + -- END AS CtvReale + PATRIMONIO_BF.CTV AS CtvReale + FROM C6martperiodico.PATRIMONIO_BF + INNER JOIN C6martperiodico.vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + AND ANAG_PRODOTTI.COD_ISIN = PATRIMONIO_BF.ISIN + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASU2') + UNION ALL + -- PATRIMONIO ASUL + SELECT + ANAG_PRODOTTI.DESCR_PRODOTTO, + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- +-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN +-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + CASE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO --SELEZIONE DEL CODICEPRODOTTO: DETTAGLIO_ASUL.COD_ISIN_FITTIZIO, DETTAGLIO_ASUL.COD_SOTTOPRODOTTO, '$' + WHEN '' THEN DETTAGLIO_ASUL.COD_ISIN_SOTT + ELSE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO + END AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + DETTAGLIO_ASUL.CTV AS CtvNominale, + DETTAGLIO_ASUL.CTV AS CtvReale + FROM c6martperiodico.PATRIMONIO_BF + INNER JOIN c6martperiodico.ANAG_PRODOTTI ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + INNER JOIN c6martperiodico.DETTAGLIO_ASUL + ON DETTAGLIO_ASUL.ID_CONTRATTO = PATRIMONIO_BF.ID_CONTRATTO + INNER JOIN c6martperiodico.vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASUL') + UNION ALL + -- PATRIMONIO TERZI + SELECT + '' as descr_prodotto, + INTERMEDIARIO.RETE AS Rete, + INTERMEDIARIO.CODICEFISCALE AS CodiceFiscale, + INTERMEDIARIO.PORTAFOGLIO AS Portafoglio, + INTERMEDIARIO.CODICEADEGUATEZZA AS CodiceProdotto, + INTERMEDIARIO.PIAZZA AS Piazza, + INTERMEDIARIO.CODICEVALUTA AS CodiceValuta, + INTERMEDIARIO.CLASSE AS Classe, + INTERMEDIARIO.CONTROVALORE AS CtvNominale, + INTERMEDIARIO.CONTROVALORE AS CtvReale + FROM c6martperiodico.VPROMETEIATERZIINTERMEDIARIO INTERMEDIARIO + INNER JOIN c6martperiodico.vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = INTERMEDIARIO.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = INTERMEDIARIO.CODICEFISCALE + UNION ALL + -- PATRIMONIO TERZI X TIPO PRODOTTO + SELECT + '' as descr_prodotto, + CATEGORIAPRODOTTO.RETE AS Rete, + CATEGORIAPRODOTTO.CODICEFISCALE AS CodiceFiscale, + CATEGORIAPRODOTTO.PORTAFOGLIO AS Portafoglio, + CATEGORIAPRODOTTO.CODICEADEGUATEZZA AS CodiceProdotto, + CATEGORIAPRODOTTO.PIAZZA AS Piazza, + CATEGORIAPRODOTTO.CODICEVALUTA AS CodiceValuta, + CATEGORIAPRODOTTO.CLASSE AS Classe, + CATEGORIAPRODOTTO.CONTROVALORE AS CtvNominale, + CATEGORIAPRODOTTO.CONTROVALORE AS CtvReale + FROM c6martperiodico.VPROMETEIATERZICATEGORIAPRODOTTO CATEGORIAPRODOTTO + INNER JOIN c6martperiodico.vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = CATEGORIAPRODOTTO.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = CATEGORIAPRODOTTO.CODICEFISCALE +--V Conti correnti Fideuram +union all +SELECT + 'CC' as descr_prodotto, + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE +-- WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN +-- 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- + WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + 'COMPLESSIVO|BF|CC'-- + PATRIMONIO_BF.POSITION_ID + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'COMPLESSIVO|BF|CC' +-- ELSE +-- 'COMPLESSIVO|BF|' + +-- LEFT(PATRIMONIO_BF.ID_AREA,3) + +-- CASE +-- WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO +-- ELSE '' +-- END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, +-- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA +-- ELSE ANAG_PRODOTTI.COD_ISIN +-- END AS CodiceProdotto, +-- MODIFICA LUCA +-- CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN +-- ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA +-- END + 'EUR' AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + --V FRANCHIGIA CC +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV_NOMINALE +-- END AS CtvNominale, + case when (sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0.0001 end AS CtvNominale , +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV +-- END AS CtvReale + case when (sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0.0001 end AS CtvReale +FROM c6martperiodico.PATRIMONIO_BF + INNER JOIN c6martperiodico.vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN c6martperiodico.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('CC') +group by + PATRIMONIO_BF.rete, + PATRIMONIO_BF.cod_fiscale, + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END, + CASE +-- WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN +-- 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- + WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + 'COMPLESSIVO|BF|CC'-- + PATRIMONIO_BF.POSITION_ID + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'COMPLESSIVO|BF|CC' +-- ELSE +-- 'COMPLESSIVO|BF|' + +-- LEFT(PATRIMONIO_BF.ID_AREA,3) + +-- CASE +-- WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO +-- ELSE '' +-- END + '|' + PATRIMONIO_BF.POSITION_ID + END \ No newline at end of file diff --git a/sql/Produzione/viste/C6MartPeriodico_vTuttiIPortafogli_asu2.sql b/sql/Produzione/viste/C6MartPeriodico_vTuttiIPortafogli_asu2.sql new file mode 100644 index 00000000..a67fcc92 --- /dev/null +++ b/sql/Produzione/viste/C6MartPeriodico_vTuttiIPortafogli_asu2.sql @@ -0,0 +1,245 @@ +--modificata per i cc in liq Marianna & Valerio +CREATE VIEW [C6MartPeriodico].[vTuttiIPortafogli_asu2] +AS +SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN +-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, +-- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA +-- ELSE ANAG_PRODOTTI.COD_ISIN +-- END AS CodiceProdotto, +-- MODIFICA LUCA + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + --V FRANCHIGIA CC +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV_NOMINALE +-- END AS CtvNominale, + PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, + --PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV +-- END AS CtvReale + PATRIMONIO_BF.CTV AS CtvReale + FROM c6martperiodico.PATRIMONIO_BF + INNER JOIN c6martperiodico.vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN c6martperiodico.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + WHERE PATRIMONIO_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC','ASU2') + UNION ALL + ---V Modifica per calcolo VaR prodotti ASU2 + SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID + -- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + -- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + -- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + -- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA + -- ELSE ANAG_PRODOTTI.COD_ISIN + -- END AS CodiceProdotto, + ---- MODIFICA LUCA + --V Modifica per gli ASU2 CON IL COD_ADEGUATEZZA NON BECCA NESSUN PRODTTO PROMETEIA + -- CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + -- WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + -- ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA END + PATRIMONIO_BF.ISIN AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + --V FRANCHIGIA CC + -- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + -- THEN 0 + -- ELSE PATRIMONIO_BF.CTV_NOMINALE + -- END AS CtvNominale, + PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, + --PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, + -- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + -- THEN 0 + -- ELSE PATRIMONIO_BF.CTV + -- END AS CtvReale + PATRIMONIO_BF.CTV AS CtvReale + FROM C6martperiodico.PATRIMONIO_BF + INNER JOIN C6martperiodico.vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MART.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + AND ANAG_PRODOTTI.COD_ISIN = PATRIMONIO_BF.ISIN + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASU2') + UNION ALL + -- PATRIMONIO ASUL + SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- +-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN +-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + CASE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO --SELEZIONE DEL CODICEPRODOTTO: DETTAGLIO_ASUL.COD_ISIN_FITTIZIO, DETTAGLIO_ASUL.COD_SOTTOPRODOTTO, '$' + WHEN '' THEN DETTAGLIO_ASUL.COD_ISIN_SOTT + ELSE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO + END AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + DETTAGLIO_ASUL.CTV AS CtvNominale, + DETTAGLIO_ASUL.CTV AS CtvReale + FROM c6martperiodico.PATRIMONIO_BF + INNER JOIN c6martperiodico.DETTAGLIO_ASUL + ON DETTAGLIO_ASUL.ID_CONTRATTO = PATRIMONIO_BF.ID_CONTRATTO + INNER JOIN c6martperiodico.vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASUL') + UNION ALL + -- PATRIMONIO TERZI + SELECT + INTERMEDIARIO.RETE AS Rete, + INTERMEDIARIO.CODICEFISCALE AS CodiceFiscale, + INTERMEDIARIO.PORTAFOGLIO AS Portafoglio, + INTERMEDIARIO.CODICEADEGUATEZZA AS CodiceProdotto, + INTERMEDIARIO.PIAZZA AS Piazza, + INTERMEDIARIO.CODICEVALUTA AS CodiceValuta, + INTERMEDIARIO.CLASSE AS Classe, + INTERMEDIARIO.CONTROVALORE AS CtvNominale, + INTERMEDIARIO.CONTROVALORE AS CtvReale + FROM c6martperiodico.VPROMETEIATERZIINTERMEDIARIO INTERMEDIARIO + INNER JOIN c6martperiodico.vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = INTERMEDIARIO.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = INTERMEDIARIO.CODICEFISCALE + UNION ALL + -- PATRIMONIO TERZI X TIPO PRODOTTO + SELECT + CATEGORIAPRODOTTO.RETE AS Rete, + CATEGORIAPRODOTTO.CODICEFISCALE AS CodiceFiscale, + CATEGORIAPRODOTTO.PORTAFOGLIO AS Portafoglio, + CATEGORIAPRODOTTO.CODICEADEGUATEZZA AS CodiceProdotto, + CATEGORIAPRODOTTO.PIAZZA AS Piazza, + CATEGORIAPRODOTTO.CODICEVALUTA AS CodiceValuta, + CATEGORIAPRODOTTO.CLASSE AS Classe, + CATEGORIAPRODOTTO.CONTROVALORE AS CtvNominale, + CATEGORIAPRODOTTO.CONTROVALORE AS CtvReale + FROM c6martperiodico.VPROMETEIATERZICATEGORIAPRODOTTO CATEGORIAPRODOTTO + INNER JOIN c6martperiodico.vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = CATEGORIAPRODOTTO.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = CATEGORIAPRODOTTO.CODICEFISCALE +--V Conti correnti Fideuram +union all +SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE +-- WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN +-- 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- + WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + 'COMPLESSIVO|BF|CC'-- + PATRIMONIO_BF.POSITION_ID + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'COMPLESSIVO|BF|CC' +-- ELSE +-- 'COMPLESSIVO|BF|' + +-- LEFT(PATRIMONIO_BF.ID_AREA,3) + +-- CASE +-- WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO +-- ELSE '' +-- END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, +-- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA +-- ELSE ANAG_PRODOTTI.COD_ISIN +-- END AS CodiceProdotto, +-- MODIFICA LUCA +-- CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN +-- ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA +-- END + 'EUR' AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + --V FRANCHIGIA CC +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV_NOMINALE +-- END AS CtvNominale, + case when (sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0.0001 end AS CtvNominale , +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV +-- END AS CtvReale + case when (sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0.0001 end AS CtvReale +FROM c6martperiodico.PATRIMONIO_BF + INNER JOIN c6martperiodico.vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN c6martperiodico.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('CC') +group by + PATRIMONIO_BF.rete, + PATRIMONIO_BF.cod_fiscale, + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END, + CASE +-- WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN +-- 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- + WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + 'COMPLESSIVO|BF|CC'-- + PATRIMONIO_BF.POSITION_ID + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'COMPLESSIVO|BF|CC' +-- ELSE +-- 'COMPLESSIVO|BF|' + +-- LEFT(PATRIMONIO_BF.ID_AREA,3) + +-- CASE +-- WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO +-- ELSE '' +-- END + '|' + PATRIMONIO_BF.POSITION_ID + END \ No newline at end of file diff --git a/sql/Produzione/viste/C6MartPeriodico_vTuttiIPortafogli_ccLiq.sql b/sql/Produzione/viste/C6MartPeriodico_vTuttiIPortafogli_ccLiq.sql new file mode 100644 index 00000000..2359f66e --- /dev/null +++ b/sql/Produzione/viste/C6MartPeriodico_vTuttiIPortafogli_ccLiq.sql @@ -0,0 +1,136 @@ +-- View +-- View +--modificata per i cc in liq Marianna & Valerio +CREATE VIEW [C6MartPeriodico].[vTuttiIPortafogli_ccLiq] +AS +SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'RISFIN|NA|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'RISFIN|PIRAMIDE|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, + PATRIMONIO_BF.CTV AS CtvReale + FROM c6martperiodico.PATRIMONIO_BF + INNER JOIN c6martperiodico.vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN c6martperiodico.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + WHERE PATRIMONIO_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC','ASU2') + UNION ALL + ---V Modifica per calcolo VaR prodotti ASU2 + SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'RISFIN|NA|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'RISFIN|PIRAMIDE|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + PATRIMONIO_BF.ISIN AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, + PATRIMONIO_BF.CTV AS CtvReale + FROM C6Martperiodico.PATRIMONIO_BF + INNER JOIN C6Martperiodico.vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6Martperiodico.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + AND ANAG_PRODOTTI.COD_ISIN = PATRIMONIO_BF.ISIN + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASU2') + UNION ALL + -- PATRIMONIO ASUL + SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'RISFIN|NA|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'RISFIN|PIRAMIDE|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + CASE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO --SELEZIONE DEL CODICEPRODOTTO: DETTAGLIO_ASUL.COD_ISIN_FITTIZIO, DETTAGLIO_ASUL.COD_SOTTOPRODOTTO, '$' + WHEN '' THEN DETTAGLIO_ASUL.COD_ISIN_SOTT + ELSE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO + END AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + DETTAGLIO_ASUL.CTV AS CtvNominale, + DETTAGLIO_ASUL.CTV AS CtvReale + FROM c6martperiodico.PATRIMONIO_BF + INNER JOIN c6martperiodico.DETTAGLIO_ASUL + ON DETTAGLIO_ASUL.ID_CONTRATTO = PATRIMONIO_BF.ID_CONTRATTO + INNER JOIN c6martperiodico.vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASUL') +union all +SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'RISFIN|PIRAMIDE|Liq'+ '|Cc|'--V TOGLIERE + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + 'EUR' AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + case when (sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0.0001 end AS CtvNominale , + --PATRIMONIO_BF.CTV_NOMINALE, + case when (sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0.0001 end AS CtvReale + --PATRIMONIO_BF.CTV +FROM c6martperiodico.PATRIMONIO_BF + INNER JOIN c6martperiodico.vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN c6martperiodico.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('CC') and patrimonio_bf.ctv>0 +group by + PATRIMONIO_BF.rete, + PATRIMONIO_BF.cod_fiscale, + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END, + CASE + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'RISFIN|PIRAMIDE|Liq'+ '|Cc|' --V TOGLIEREEEEEE + PATRIMONIO_BF.POSITION_ID + END \ No newline at end of file diff --git a/sql/Produzione/viste/C6MartPeriodico_vTuttiIPortafogli_ccLiq_asu2.sql b/sql/Produzione/viste/C6MartPeriodico_vTuttiIPortafogli_ccLiq_asu2.sql new file mode 100644 index 00000000..ff11b220 --- /dev/null +++ b/sql/Produzione/viste/C6MartPeriodico_vTuttiIPortafogli_ccLiq_asu2.sql @@ -0,0 +1,133 @@ +-- View +-- View +--modificata per i cc in liq Marianna & Valerio +CREATE VIEW [C6MartPeriodico].[vTuttiIPortafogli_ccLiq_asu2] +AS +SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'RISFIN|NA|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'RISFIN|PIRAMIDE|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, + PATRIMONIO_BF.CTV AS CtvReale + FROM c6martperiodico.PATRIMONIO_BF + INNER JOIN c6martperiodico.vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN c6martperiodico.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + WHERE PATRIMONIO_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC','ASU2') + UNION ALL + ---V Modifica per calcolo VaR prodotti ASU2 + SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'RISFIN|NA|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'RISFIN|PIRAMIDE|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + PATRIMONIO_BF.ISIN AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, + PATRIMONIO_BF.CTV AS CtvReale + FROM C6Martperiodico.PATRIMONIO_BF + INNER JOIN C6Martperiodico.vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6Martperiodico.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + AND ANAG_PRODOTTI.COD_ISIN = PATRIMONIO_BF.ISIN + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASU2') + UNION ALL + -- PATRIMONIO ASUL + SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'RISFIN|NA|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'RISFIN|PIRAMIDE|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + CASE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO --SELEZIONE DEL CODICEPRODOTTO: DETTAGLIO_ASUL.COD_ISIN_FITTIZIO, DETTAGLIO_ASUL.COD_SOTTOPRODOTTO, '$' + WHEN '' THEN DETTAGLIO_ASUL.COD_ISIN_SOTT + ELSE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO + END AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + DETTAGLIO_ASUL.CTV AS CtvNominale, + DETTAGLIO_ASUL.CTV AS CtvReale + FROM c6martperiodico.PATRIMONIO_BF + INNER JOIN c6martperiodico.DETTAGLIO_ASUL + ON DETTAGLIO_ASUL.ID_CONTRATTO = PATRIMONIO_BF.ID_CONTRATTO + INNER JOIN c6martperiodico.vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASUL') +union all +SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'RISFIN|PIRAMIDE|Liq'+ '|Cc|'--V TOGLIERE + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + 'EUR' AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + case when (sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0.0001 end AS CtvNominale , + --PATRIMONIO_BF.CTV_NOMINALE, + case when (sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0.0001 end AS CtvReale + --PATRIMONIO_BF.CTV +FROM c6martperiodico.PATRIMONIO_BF + INNER JOIN c6martperiodico.vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN c6martperiodico.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('CC') and patrimonio_bf.ctv>0 +group by + PATRIMONIO_BF.rete, + PATRIMONIO_BF.cod_fiscale, + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END, + CASE + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'RISFIN|PIRAMIDE|Liq'+ '|Cc|' --V TOGLIEREEEEEE + PATRIMONIO_BF.POSITION_ID + END \ No newline at end of file diff --git a/sql/Produzione/viste/C6MartPeriodico_vTuttiIPortafogli_ccLiq_preASU2.sql b/sql/Produzione/viste/C6MartPeriodico_vTuttiIPortafogli_ccLiq_preASU2.sql new file mode 100644 index 00000000..7f8eec1c --- /dev/null +++ b/sql/Produzione/viste/C6MartPeriodico_vTuttiIPortafogli_ccLiq_preASU2.sql @@ -0,0 +1,103 @@ +-- View +-- View +--modificata per i cc in liq Marianna & Valerio +CREATE VIEW [C6MartPeriodico].[vTuttiIPortafogli_ccLiq_preASU2] +AS +SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'RISFIN|NA|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'RISFIN|PIRAMIDE|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, + PATRIMONIO_BF.CTV AS CtvReale + FROM c6martperiodico.PATRIMONIO_BF + INNER JOIN c6martperiodico.vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN c6martperiodico.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + WHERE PATRIMONIO_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC') + UNION ALL + -- PATRIMONIO ASUL + SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'RISFIN|NA|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'RISFIN|PIRAMIDE|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + CASE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO --SELEZIONE DEL CODICEPRODOTTO: DETTAGLIO_ASUL.COD_ISIN_FITTIZIO, DETTAGLIO_ASUL.COD_SOTTOPRODOTTO, '$' + WHEN '' THEN DETTAGLIO_ASUL.COD_ISIN_SOTT + ELSE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO + END AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + DETTAGLIO_ASUL.CTV AS CtvNominale, + DETTAGLIO_ASUL.CTV AS CtvReale + FROM c6martperiodico.PATRIMONIO_BF + INNER JOIN c6martperiodico.DETTAGLIO_ASUL + ON DETTAGLIO_ASUL.ID_CONTRATTO = PATRIMONIO_BF.ID_CONTRATTO + INNER JOIN c6martperiodico.vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASUL') +union all +SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'RISFIN|PIRAMIDE|Liq'+ '|Cc|'--V TOGLIERE + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + 'EUR' AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + case when (sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0.0001 end AS CtvNominale , + --PATRIMONIO_BF.CTV_NOMINALE, + case when (sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0.0001 end AS CtvReale + --PATRIMONIO_BF.CTV +FROM c6martperiodico.PATRIMONIO_BF + INNER JOIN c6martperiodico.vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN c6martperiodico.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('CC') and patrimonio_bf.ctv>0 +group by + PATRIMONIO_BF.rete, + PATRIMONIO_BF.cod_fiscale, + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END, + CASE + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'RISFIN|PIRAMIDE|Liq'+ '|Cc|' --V TOGLIEREEEEEE + PATRIMONIO_BF.POSITION_ID + END \ No newline at end of file diff --git a/sql/Produzione/viste/C6MartPeriodico_vTuttiIPortafogli_preASU2.sql b/sql/Produzione/viste/C6MartPeriodico_vTuttiIPortafogli_preASU2.sql new file mode 100644 index 00000000..5c124879 --- /dev/null +++ b/sql/Produzione/viste/C6MartPeriodico_vTuttiIPortafogli_preASU2.sql @@ -0,0 +1,195 @@ +--modificata per i cc in liq Marianna & Valerio +CREAte VIEW [C6MartPeriodico].[vTuttiIPortafogli_preASU2] +AS +SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN +-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, +-- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA +-- ELSE ANAG_PRODOTTI.COD_ISIN +-- END AS CodiceProdotto, +-- MODIFICA LUCA + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + --V FRANCHIGIA CC +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV_NOMINALE +-- END AS CtvNominale, + PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, + --PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV +-- END AS CtvReale + PATRIMONIO_BF.CTV AS CtvReale + FROM c6martperiodico.PATRIMONIO_BF + INNER JOIN c6martperiodico.vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN c6martperiodico.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + WHERE PATRIMONIO_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC') +-- levato 'cc' + UNION ALL + -- PATRIMONIO ASUL + SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- +-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN +-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + CASE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO --SELEZIONE DEL CODICEPRODOTTO: DETTAGLIO_ASUL.COD_ISIN_FITTIZIO, DETTAGLIO_ASUL.COD_SOTTOPRODOTTO, '$' + WHEN '' THEN DETTAGLIO_ASUL.COD_ISIN_SOTT + ELSE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO + END AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + DETTAGLIO_ASUL.CTV AS CtvNominale, + DETTAGLIO_ASUL.CTV AS CtvReale + FROM c6martperiodico.PATRIMONIO_BF + INNER JOIN c6martperiodico.DETTAGLIO_ASUL + ON DETTAGLIO_ASUL.ID_CONTRATTO = PATRIMONIO_BF.ID_CONTRATTO + INNER JOIN c6martperiodico.vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASUL') + UNION ALL + -- PATRIMONIO TERZI + SELECT + INTERMEDIARIO.RETE AS Rete, + INTERMEDIARIO.CODICEFISCALE AS CodiceFiscale, + INTERMEDIARIO.PORTAFOGLIO AS Portafoglio, + INTERMEDIARIO.CODICEADEGUATEZZA AS CodiceProdotto, + INTERMEDIARIO.PIAZZA AS Piazza, + INTERMEDIARIO.CODICEVALUTA AS CodiceValuta, + INTERMEDIARIO.CLASSE AS Classe, + INTERMEDIARIO.CONTROVALORE AS CtvNominale, + INTERMEDIARIO.CONTROVALORE AS CtvReale + FROM c6martperiodico.VPROMETEIATERZIINTERMEDIARIO INTERMEDIARIO + INNER JOIN c6martperiodico.vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = INTERMEDIARIO.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = INTERMEDIARIO.CODICEFISCALE + UNION ALL + -- PATRIMONIO TERZI X TIPO PRODOTTO + SELECT + CATEGORIAPRODOTTO.RETE AS Rete, + CATEGORIAPRODOTTO.CODICEFISCALE AS CodiceFiscale, + CATEGORIAPRODOTTO.PORTAFOGLIO AS Portafoglio, + CATEGORIAPRODOTTO.CODICEADEGUATEZZA AS CodiceProdotto, + CATEGORIAPRODOTTO.PIAZZA AS Piazza, + CATEGORIAPRODOTTO.CODICEVALUTA AS CodiceValuta, + CATEGORIAPRODOTTO.CLASSE AS Classe, + CATEGORIAPRODOTTO.CONTROVALORE AS CtvNominale, + CATEGORIAPRODOTTO.CONTROVALORE AS CtvReale + FROM c6martperiodico.VPROMETEIATERZICATEGORIAPRODOTTO CATEGORIAPRODOTTO + INNER JOIN c6martperiodico.vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = CATEGORIAPRODOTTO.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = CATEGORIAPRODOTTO.CODICEFISCALE +--V Conti correnti Fideuram +union all +SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE +-- WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN +-- 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- + WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + 'COMPLESSIVO|BF|CC'-- + PATRIMONIO_BF.POSITION_ID + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'COMPLESSIVO|BF|CC' +-- ELSE +-- 'COMPLESSIVO|BF|' + +-- LEFT(PATRIMONIO_BF.ID_AREA,3) + +-- CASE +-- WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO +-- ELSE '' +-- END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, +-- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA +-- ELSE ANAG_PRODOTTI.COD_ISIN +-- END AS CodiceProdotto, +-- MODIFICA LUCA +-- CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN +-- ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA +-- END + 'EUR' AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + --V FRANCHIGIA CC +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV_NOMINALE +-- END AS CtvNominale, + case when (sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0.0001 end AS CtvNominale , +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV +-- END AS CtvReale + case when (sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0.0001 end AS CtvReale +FROM c6martperiodico.PATRIMONIO_BF + INNER JOIN c6martperiodico.vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN c6martperiodico.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('CC') +group by + PATRIMONIO_BF.rete, + PATRIMONIO_BF.cod_fiscale, + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END, + CASE +-- WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN +-- 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- + WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + 'COMPLESSIVO|BF|CC'-- + PATRIMONIO_BF.POSITION_ID + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'COMPLESSIVO|BF|CC' +-- ELSE +-- 'COMPLESSIVO|BF|' + +-- LEFT(PATRIMONIO_BF.ID_AREA,3) + +-- CASE +-- WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO +-- ELSE '' +-- END + '|' + PATRIMONIO_BF.POSITION_ID + END \ No newline at end of file diff --git a/sql/Produzione/viste/C6MartPeriodico_vW6CKADEG.sql b/sql/Produzione/viste/C6MartPeriodico_vW6CKADEG.sql new file mode 100644 index 00000000..42d1ea95 --- /dev/null +++ b/sql/Produzione/viste/C6MartPeriodico_vW6CKADEG.sql @@ -0,0 +1,59 @@ +/* Nel giro di email di revoca non si devono recuperare i dati dal SEI (Fabrizio) -- +AND (Cod_Fiscale = 'TBNMSM52C01E938I')*/ +CREATE VIEW [C6MartPeriodico].[vW6CKADEG] +AS +select wsei.rete as Rete, +wsei.codfis as Chiave_Acn, +case when wsei.CODFIS like '%@%' then wsei.piva else wsei.CODFIS end as Codfis, +wsei.CODMAN as Codman, +wsei.DTTRIM as Dttrim, +case when ris.Ind_Rischio='S' then 'S' + when ris.Ind_Rischio='N' then 'N' else 'NA' end as Adeg_Rischio, + case when wsei.RISERVA='S' then 'S' + when wsei.RISERVA='N' then 'N' + else 'NA' end as Adeg_Riserva, +case when wsei.INVL_PERIOD='S' then 'S' + when wsei.INVL_PERIOD='N' then 'N' + else 'NA' end as Adeg_Invl_Period, + case + when wsei.flgprof = 'S' then 'NR' + when wsei.flagpg = 1 and wsei.flgprof = 'N' and wsei.flagnqp = 'S' and wsei.flgprlrde = 'N' then 'NA' --Massimiliano dice che va messo prima di tutti senza testare altri flag 17/5/2018 + when upper(wsei.clcompl) = 'N' and wsei.nocompl = 'S' then 'N' + when upper(wsei.clcompl) = 'N' and wsei.flagpg = 0 then 'N' + when upper(wsei.clcompl) = 'N' and wsei.flagpg = 1 and wsei.flgprlrde = 'S' then 'N' + when upper(wsei.clcompl) = 'S' then 'S' + else 'NA' end as Adeg_Compl, + case + when wsei.flgprof = 'S' then 'NR' + when upper(wsei.flgconc) = 'S' then 'S' + when upper(wsei.flgconc) in ('N') then 'N' + else 'NA' end as Adeg_Conc_ProdCompl, + case + when wsei.flgprof = 'S' then 'NR' + when upper(wsei.freq) = 'S' then 'S' + when upper(wsei.freq) = 'N' then 'N' + else 'NA' +end as Adeg_Freq_Oper, +case + when wsei.flgprof = 'S' then 'NR' + when upper(wsei.concemi) = 'S' then 'S' + when upper(wsei.concemi) = 'N' then 'N' + else 'NA' end as Adeg_Conc_Emitt, + case + when wsei.flgprof = 'S' then 'NR' + when upper(wsei.ADEGCONC_VALUT) = 'S' then 'S' + when upper(wsei.ADEGCONC_VALUT) = 'N' then 'N' + else 'NA'end as Adeg_Conc_Valut, + isnull(vbf.ctv,0.00) + isnull(ppvv.IMPORTO,0.00) as Rfa_tot, + nob.CTV as Rfa_sei, + wsei.IMP_RISERVA as Riserva, + wsei.CODPROF as Profilo, + wsei.COD_PROFEC AS Profilo_EC, + wsei.CLCOMPL as Indicatore_ChiamataR4, + wsei.FLGPRLRDE as Flg_Legali_Rappresentanti + from C6MartPeriodico.WSEIAN2 wsei +left join C6MartPeriodico.Indicatore_Rischio ris on RIS.rete=wsei.RETE and RIS.cod_fiscale=wsei.CODFIS +left join [C6MartPeriodico].[vPatrimonioBFAggregato] vbf on vbf.RETE=wsei.RETE and wsei.CODFIS=vbf.COD_FISCALE +left join [C6MartPeriodico].[vPatrimonioBFAggregato_SenzaNobPrez] nob on nob.RETE=wsei.RETE and wsei.CODFIS=nob.COD_FISCALE +left join [C6MartPeriodico].[PARTITE_VIAGGIANTI] ppvv on wsei.RETE=ppvv.RETE and wsei.CODFIS=ppvv.COD_FISCALE +--and c6.cod_fiscale = 'BRZGPP39H08C352F' \ No newline at end of file diff --git a/sql/Produzione/viste/C6MartPeriodico_vW6IndPtf.sql b/sql/Produzione/viste/C6MartPeriodico_vW6IndPtf.sql new file mode 100644 index 00000000..1f7c3df2 --- /dev/null +++ b/sql/Produzione/viste/C6MartPeriodico_vW6IndPtf.sql @@ -0,0 +1,31 @@ +/* Nel giro di email di revoca non si devono recuperare i dati dal SEI (Fabrizio) -- +AND (Cod_Fiscale = 'TBNMSM52C01E938I')*/ +CREATE VIEW [C6MartPeriodico].[vW6IndPtf] +AS +SELECT distinct v.[DTTRIM] + ,v.[RETE] + ,v.[CHIAVE_ACN] + ,v.[CODFIS] + ,v.[CODMAN] + ,v.[PTF_DIVERSIFICATO] + ,v.[PTF_ADEGUATO] + ,case when e.codicefiscale IS NULL then 'N' else 'S' end as [BLACKLIST] + ,v.[DATA_ORA_INSE] + ,v.[DATA_ORA_AGGI] + FROM [C6MartPeriodico].[W6IndPtf] v + left join [C6MartPeriodico].[ExcludedList] e + on v.RETE=e.Rete and v.CHIAVE_ACN=e.codicefiscale + -- FerAcu 20250217 non vanno considerati il BL i casi delle lettere sostitutive + and e.DescrErr not in ( 'RFA=0', 'RFA Minus', 'BLACKLIST RFA MINUS CLIENTE SEI E IMMOBILIARE', 'Profilo EC', 'Profilo Scaduto') + -- FerAcu 20241022 modifica temporanea + -- annullata + --left join [C6MartPeriodico].ztmp_BL_NonDiversificati e2 on v.RETE=e2.Rete and v.CHIAVE_ACN=e2.codfis +-- -- FerAcu 20241021 per escludere i casi solo immobiliare +-- Where not exists ( select * +-- from C6MartPeriodicoImmobiliare.W6IMM imm +-- where imm.RETE = v.RETE +-- and imm.CODFIS = v.CHIAVE_ACN +-- and imm.FLAG_IN_PERIMETRO='S' +-- and imm.RENDICONTO_IMM='S' +-- ) +--and c6.cod_fiscale = 'BRZGPP39H08C352F' \ No newline at end of file diff --git a/sql/Produzione/viste/C6MartPeriodico_vW6clirep.sql b/sql/Produzione/viste/C6MartPeriodico_vW6clirep.sql new file mode 100644 index 00000000..d4874e3c --- /dev/null +++ b/sql/Produzione/viste/C6MartPeriodico_vW6clirep.sql @@ -0,0 +1,52 @@ +--select top 1 * from c6martperiodico.anag_prodotti +--modificata per i cc in liq Marianna & Valerio +--Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +CREATE VIEW [C6MartPeriodico].[vW6clirep] +AS +SELECT + '' as Banca + ,[FLGCLI] + ,[FLGBL] + ,[TIPOELA] + ,[DTTRIM] + ,[rete] + ,[codfis] + ,[piva] + ,[codman] + ,[CODFID] + ,[CODAGE] + ,[CODABI] + ,[termid] + ,[anno] + ,[prog] + ,[quote] + ,[CTV] + ,[codconf] + ,[rubr] + ,[custgar] + ,[cod_interno] + ,[codana] + ,[FLAGPCT] + ,[codprod] + ,[cod_sottoprodotto] + ,[cod_isin] + ,[codlinea] + ,[tipoptf] + ,[area] + ,[progetto] + ,[codprj] + ,[chiave_prodotto_terzi] + ,[assetterzi] + ,[famprodt] + ,[intermediario] + ,[codiceadeguatezza] + ,[cod_maf] + ,[conto] + ,[numpolizza] + ,[position_id] + ,[PREFSOST] + ,[FLAGAMB] + ,[FLAGSOC] + ,[FLAGGOV] + ,[prodotto_id] + FROM [C6MartPeriodico].[W6CLIREP] \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_ClientiConCCNegativo.sql b/sql/Produzione/viste/C6Mart_ClientiConCCNegativo.sql new file mode 100644 index 00000000..a8f941e7 --- /dev/null +++ b/sql/Produzione/viste/C6Mart_ClientiConCCNegativo.sql @@ -0,0 +1,7 @@ +CREATE VIEW [C6Mart].[ClientiConCCNegativo] +AS + SELECT RETE, COD_FISCALE + FROM C6Mart.PATRIMONIO_BF + WHERE (TIPO_PRODOTTO = 'CC') + GROUP BY RETE, COD_FISCALE + HAVING SUM(CTV) < 0 \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_NotAllocatedResources.sql b/sql/Produzione/viste/C6Mart_NotAllocatedResources.sql new file mode 100644 index 00000000..64aaa3cc --- /dev/null +++ b/sql/Produzione/viste/C6Mart_NotAllocatedResources.sql @@ -0,0 +1,10 @@ +create VIEW [C6Mart].[NotAllocatedResources] + as + SELECT PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE, SUM(ISNULL(CTV,0)) as CTV, COUNT_BIG(*) as cnt + FROM C6MART.PIRAMIDE_MOD PIRAMIDE_MOD with (nolock) + INNER JOIN C6MART.PATRIMONIO_BF PIRAMIDE_VERT with (nolock) + ON PIRAMIDE_VERT.COD_FISCALE = PIRAMIDE_MOD.COD_FISCALE + AND PIRAMIDE_VERT.RETE = PIRAMIDE_MOD.RETE + AND CASE WHEN PIRAMIDE_VERT.ID_AREA = 'SELF' THEN LEFT(PIRAMIDE_VERT.ID_AREA,4) ELSE LEFT(PIRAMIDE_VERT.ID_AREA,3) END = PIRAMIDE_MOD.ID_AREA + WHERE PIRAMIDE_MOD.ID_AREA = 'Na' AND ISNULL(CTV,0) > 0 + GROUP BY PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_RP_vContrattiMigrati.sql b/sql/Produzione/viste/C6Mart_RP_vContrattiMigrati.sql new file mode 100644 index 00000000..7d34ff45 --- /dev/null +++ b/sql/Produzione/viste/C6Mart_RP_vContrattiMigrati.sql @@ -0,0 +1,24 @@ +/* Nel giro di email di revoca non si devono recuperare i dati dal SEI (Fabrizio) -- +AND (Cod_Fiscale = 'TBNMSM52C01E938I')*/ +CREATE VIEW [C6Mart].[RP_vContrattiMigrati] +AS +SELECT Rete, + Cod_Agente, + Cod_Fiscale, + PIva_Fiduciaria, + CodiceContratto, + Freq_Monitoraggio, + Freq_Diagnosi, + TipoElaborazione, + AdesioneSuccessivaAvanzato, + InvioBenvenuto, + ClienteMigrato, + RisorseNa, + NumRevoche, + Data_Perf +FROM C6Mart.RP_vTuttiIContratti AS C6 +WHERE (1 = 1) + AND (InvioBenvenuto = 'N') + AND (ClienteMigrato = 'S') + AND (ISNULL(NumRevoche, 0) = 0) +--and c6.cod_fiscale = 'BRZGPP39H08C352F' \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_RP_vContrattiNonGenerati.sql b/sql/Produzione/viste/C6Mart_RP_vContrattiNonGenerati.sql new file mode 100644 index 00000000..ba594e66 --- /dev/null +++ b/sql/Produzione/viste/C6Mart_RP_vContrattiNonGenerati.sql @@ -0,0 +1,54 @@ +CREATE VIEW [C6Mart].[RP_vContrattiNonGenerati] +AS +SELECT -- top 50 + C6.Rete, + C6.Cod_Agente, + C6.Cod_Fiscale, + C6.PIva_Fiduciaria, + C6.CodiceContratto, + C6.Freq_Monitoraggio, + C6.Freq_Diagnosi, + C6.TipoElaborazione, + C6.AdesioneSuccessivaAvanzato, + C6.InvioBenvenuto, + C6.ClienteMigrato, + C6.RisorseNa, + C6.NumRevoche, + C6.Data_Perf, + C6.chiaveClientePb, + isnull(d.Codfis,'') as Cod_Fiscale_Delegato +FROM C6Mart.RP_vTuttiIContratti C6 +left join [C6Staging].[vDelegato] d +on c6.chiaveClientePb=d.chiaveclientePB +WHERE (1 = 1) + AND (InvioBenvenuto = 'N') + --/*added by me – pk*/ and cod_fiscale not in ( + -- 'FROFMN88T49H501H' + -- ) /*added end*/ +-- AND (ISNULL(NumRevoche, 0) = 0) +--and cod_fiscale = 'BLNSVN53D06D205B' +--union all +--forzatura +--SELECT --top 3 +-- C6.Rete, +-- C6.Cod_Agente, +-- C6.Cod_Fiscale, +-- C6.PIva_Fiduciaria, +-- C6.CodiceContratto, +-- C6.Freq_Monitoraggio, +-- C6.Freq_Diagnosi, +-- C6.TipoElaborazione, +-- C6.AdesioneSuccessivaAvanzato, +-- C6.InvioBenvenuto, +-- C6.ClienteMigrato, +-- C6.RisorseNa, +-- C6.NumRevoche, +-- C6.Data_Perf, +-- C6.chiaveClientePb, +-- isnull(d.Codfis,'') as Cod_Fiscale_Delegato +--FROM C6Mart.RP_vTuttiIContratti C6 +--left join [C6Staging].[vDelegato] d +--on c6.chiaveClientePb=d.chiaveclientePB +--WHERE (1 = 1) +-- and C6.Cod_fiscale='RMNFNC55T03A783I' +--select * from [C6Mart].[RP_vContrattiNonGenerati_TEST2] \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_RP_vContrattiPerGenerazioneReport.sql b/sql/Produzione/viste/C6Mart_RP_vContrattiPerGenerazioneReport.sql new file mode 100644 index 00000000..3c126323 --- /dev/null +++ b/sql/Produzione/viste/C6Mart_RP_vContrattiPerGenerazioneReport.sql @@ -0,0 +1,62 @@ +--select * from [C6Mart].[RP_vContrattiPerGenerazioneReport] +CREATE VIEW [C6Mart].[RP_vContrattiPerGenerazioneReport] +AS +SELECT + C6.Rete, + Cod_Agente, + C6.Cod_Fiscale, + CodiceContratto, + Freq_Monitoraggio, + Freq_Diagnosi, + TipoElaborazione, + AdesioneSuccessivaAvanzato, + InvioBenvenuto, + ClienteMigrato, + RisorseNa, + NumRevoche, + tip_contratto, + tip_riattivazione, + TipoConsulenza, + data_perf, + data_inizioavanzato +FROM C6Mart.RP_vTuttiIContratti AS C6 +WHERE (1 = 1) + AND cod_agente not in ('015126') + AND (InvioBenvenuto = 'N') + AND (ISNULL(RisorseNa, 'N') = 'N') + AND (ISNULL(NumRevoche, 0) = 0) + AND ((DATEDIFF(d,Data_Perf, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT)) OR cod_agente='015312') + AND C6.Cod_Fiscale IN (SELECT COD_FISCALE FROM C6Mart.PIRAMIDE_MOD) + -- and c6.cod_fiscale='MSTMLN76S62H501P' + AND Profilo_EC=1 +-- union all +----forzatura +--SELECT +-- C6.Rete, +-- Cod_Agente, +-- C6.Cod_Fiscale, +-- CodiceContratto, +-- Freq_Monitoraggio, +-- Freq_Diagnosi, +-- TipoElaborazione, +-- AdesioneSuccessivaAvanzato, +-- InvioBenvenuto, +-- ClienteMigrato, +-- RisorseNa, +-- NumRevoche, +-- tip_contratto, +-- tip_riattivazione, +-- TipoConsulenza, +-- data_perf, +-- data_inizioavanzato +--FROM C6Mart.RP_vTuttiIContratti AS C6 +--WHERE (1 = 1) +-- AND cod_agente not in ('015126') +-- -- AND (InvioBenvenuto = 'N') +-- -- AND (ISNULL(RisorseNa, 'N') = 'N') +---- AND (ISNULL(NumRevoche, 0) = 0) +-- -- AND ((DATEDIFF(d,Data_Perf, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT)) OR cod_agente='015312') +---- AND C6.Cod_Fiscale IN (SELECT COD_FISCALE FROM C6Mart.PIRAMIDE_MOD) +-- -- and c6.cod_fiscale='MSTMLN76S62H501P' +-- -- AND Profilo_EC=1 +-- and C6.Cod_fiscale='RMNFNC55T03A783I' \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_RP_vContrattiPerGenerazioneReport_20161129.sql b/sql/Produzione/viste/C6Mart_RP_vContrattiPerGenerazioneReport_20161129.sql new file mode 100644 index 00000000..e37f31de --- /dev/null +++ b/sql/Produzione/viste/C6Mart_RP_vContrattiPerGenerazioneReport_20161129.sql @@ -0,0 +1,28 @@ +CREATE VIEW [C6Mart].[RP_vContrattiPerGenerazioneReport_20161129] +AS +SELECT + C6.Rete, + Cod_Agente, + C6.Cod_Fiscale, + CodiceContratto, + Freq_Monitoraggio, + Freq_Diagnosi, + TipoElaborazione, + AdesioneSuccessivaAvanzato, + InvioBenvenuto, + ClienteMigrato, + RisorseNa, + NumRevoche, + tip_contratto, + tip_riattivazione +FROM C6Mart.RP_vTuttiIContratti AS C6 +WHERE (1 = 1) + AND cod_agente not in ('015126') + AND (InvioBenvenuto = 'N') + --AND (ClienteMigrato = 'S') /* en20161021 */ + AND (ISNULL(RisorseNa, 'N') = 'N') + AND (ISNULL(NumRevoche, 0) = 0) + AND ((DATEDIFF(d,Data_Perf, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT)) OR cod_agente='015312') + --OR cod_fiscale = 'FF@5117') + AND C6.Cod_Fiscale IN (SELECT COD_FISCALE FROM C6Mart.PIRAMIDE_MOD) + AND ProfiloAttivo = 1 \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_RP_vContrattiPerGenerazioneReport_20161129_test.sql b/sql/Produzione/viste/C6Mart_RP_vContrattiPerGenerazioneReport_20161129_test.sql new file mode 100644 index 00000000..c52bafb5 --- /dev/null +++ b/sql/Produzione/viste/C6Mart_RP_vContrattiPerGenerazioneReport_20161129_test.sql @@ -0,0 +1,28 @@ +CREATE VIEW [C6Mart].[RP_vContrattiPerGenerazioneReport] +AS +SELECT + C6.Rete, + Cod_Agente, + C6.Cod_Fiscale, + CodiceContratto, + Freq_Monitoraggio, + Freq_Diagnosi, + TipoElaborazione, + AdesioneSuccessivaAvanzato, + InvioBenvenuto, + ClienteMigrato, + RisorseNa, + NumRevoche, + tip_contratto, + tip_riattivazione +FROM C6Mart.RP_vTuttiIContratti AS C6 +WHERE (1 = 1) + AND cod_agente not in ('015126') + AND (InvioBenvenuto = 'N') + --AND (ClienteMigrato = 'S') /* en20161021 */ + --AND (ISNULL(RisorseNa, 'N') = 'N') /* */ + AND (ISNULL(NumRevoche, 0) = 0) + AND ((DATEDIFF(d,Data_Perf, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT)) OR cod_agente='015312') + --OR cod_fiscale = 'FF@5117') + AND C6.Cod_Fiscale IN (SELECT COD_FISCALE FROM C6Mart.PIRAMIDE_MOD) + AND ProfiloAttivo = 1 \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_RP_vContrattiPerGenerazioneReport_20170928_test.sql b/sql/Produzione/viste/C6Mart_RP_vContrattiPerGenerazioneReport_20170928_test.sql new file mode 100644 index 00000000..bc788b2b --- /dev/null +++ b/sql/Produzione/viste/C6Mart_RP_vContrattiPerGenerazioneReport_20170928_test.sql @@ -0,0 +1,28 @@ +CREATE VIEW [C6Mart].[RP_vContrattiPerGenerazioneReport_20170928_test] +AS +SELECT + C6.Rete, + Cod_Agente, + C6.Cod_Fiscale, + CodiceContratto, + Freq_Monitoraggio, + Freq_Diagnosi, + TipoElaborazione, + AdesioneSuccessivaAvanzato, + InvioBenvenuto, + ClienteMigrato, + RisorseNa, + NumRevoche, + tip_contratto, + tip_riattivazione +FROM C6Mart.RP_vTuttiIContratti AS C6 +WHERE (1 = 1) + AND cod_agente not in ('015126') + ------AND (InvioBenvenuto = 'N') --en20170928 + --AND (ClienteMigrato = 'S') /* en20161021 */ + AND (ISNULL(RisorseNa, 'N') = 'N') + AND (ISNULL(NumRevoche, 0) = 0) + ----AND ((DATEDIFF(d,Data_Perf, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT)) OR cod_agente='015312') --en20170928 + --OR cod_fiscale = 'FF@5117') + AND C6.Cod_Fiscale IN (SELECT COD_FISCALE FROM C6Mart.PIRAMIDE_MOD) + AND ProfiloAttivo = 1 \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_RP_vContrattiPerGenerazioneReport_AND.sql b/sql/Produzione/viste/C6Mart_RP_vContrattiPerGenerazioneReport_AND.sql new file mode 100644 index 00000000..05112fd4 --- /dev/null +++ b/sql/Produzione/viste/C6Mart_RP_vContrattiPerGenerazioneReport_AND.sql @@ -0,0 +1,35 @@ +-- select * from [C6Mart].[RP_vContrattiPerGenerazioneReport_AND] +CREATE VIEW [C6Mart].[RP_vContrattiPerGenerazioneReport_AND] +AS +SELECT + C6.Rete, + Cod_Agente, + C6.Cod_Fiscale, + CodiceContratto, + Freq_Monitoraggio, + Freq_Diagnosi, + TipoElaborazione, + AdesioneSuccessivaAvanzato, + InvioBenvenuto, + ClienteMigrato, + RisorseNa, + NumRevoche, + tip_contratto, + tip_riattivazione +FROM C6Mart.RP_vTuttiIContratti_AND AS C6 +--LEFT JOIN C6Mart.MIFID AS MIFID +--ON C6.RETE = MIFID.RETE AND C6.COD_FISCALE = MIFID.COD_FISCALE +WHERE (1 = 1) + -- and cod_agente not in ('015126') + --AND (InvioBenvenuto = 'N') + --AND (ClienteMigrato = 'S') + --AND (ISNULL(RisorseNa, 'N') = 'N') + --AND (ISNULL(NumRevoche, 0) = 0) + ----AND (DATEDIFF(d,Data_Perf, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT)) + ----AND (ISNULL(PartViaDisinv, 'N') = 'N') + --AND C6.Cod_Fiscale IN (SELECT COD_FISCALE FROM C6Mart.PIRAMIDE_MOD) + --AND ProfiloAttivo = 1 +--and cod_fiscale+rete in (select codicefiscale+rete from c6mart.gestione_pdf_ftp where datagenerazione > (select convert(varchar, max(datagenerazione),112 ) from c6mart.gestione_pdf_ftp )) +--and cod_fiscale+rete in (select codicefiscale+rete from c6mart.gestione_pdf_ftp where datagenerazione > '20131001') + --and cod_fiscale = 'VNTSVN48B09A859F' + and cod_fiscale+rete in (select distinct codicefiscale+rete from c6staging.spb_contr_sintesi) \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_RP_vContrattiPerGenerazioneReport_OnDemand_Adriano.sql b/sql/Produzione/viste/C6Mart_RP_vContrattiPerGenerazioneReport_OnDemand_Adriano.sql new file mode 100644 index 00000000..c3e536af --- /dev/null +++ b/sql/Produzione/viste/C6Mart_RP_vContrattiPerGenerazioneReport_OnDemand_Adriano.sql @@ -0,0 +1,29 @@ +CREATE VIEW [C6Mart].[RP_vContrattiPerGenerazioneReport_OnDemand_Adriano] +AS +SELECT + C6.Rete, + Cod_Agente, + C6.Cod_Fiscale, + CodiceContratto, + Freq_Monitoraggio, + Freq_Diagnosi, + TipoElaborazione, + AdesioneSuccessivaAvanzato, + InvioBenvenuto, + ClienteMigrato, + RisorseNa, + NumRevoche, + tip_contratto, + tip_riattivazione, + TipoConsulenza +FROM C6Mart.[RP_vTuttiIContratti_OnDemand_Adriano] AS C6 +--WHERE (1 = 1) +-- AND cod_agente not in ('015126') +-- --AND (InvioBenvenuto = 'N') +-- --AND (ClienteMigrato = 'S') /* en20161021 */ +-- AND (ISNULL(RisorseNa, 'N') = 'N') +-- AND (ISNULL(NumRevoche, 0) = 0) +-- AND ((DATEDIFF(d,Data_Perf, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT)) OR cod_agente='015312') +-- --OR cod_fiscale = 'FF@5117') +-- AND C6.Cod_Fiscale IN (SELECT COD_FISCALE FROM C6Mart.PIRAMIDE_MOD) +-- AND ProfiloAttivo = 1 \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_RP_vTuttiIContratti.sql b/sql/Produzione/viste/C6Mart_RP_vTuttiIContratti.sql new file mode 100644 index 00000000..828c4d7d --- /dev/null +++ b/sql/Produzione/viste/C6Mart_RP_vTuttiIContratti.sql @@ -0,0 +1,141 @@ +-- N.B. NON MODIFICARE MAI QUESTA TABELLA, ALTRIMENTI SI INVIANO DELLE EMAIL SBAGLIATE (TABELLA GESTIONE_EMAIL) AL CLIENTE +CREATE VIEW [C6Mart].[RP_vTuttiIContratti] +AS +SELECT + Rete, + Cod_Agente, + case + when(isnull(cod_mandato,'') <> '') + then 'FF@'+cod_mandato + else Cod_Fiscale + end as Cod_fiscale, + PIva_Fiduciaria, + CodiceContratto, + Freq_Monitoraggio, + Freq_Diagnosi, + ProfiloAttivo, + Profilo_EC, --aggiunto 30/06/2022 + 'G' AS TipoElaborazione, + CASE + WHEN (DATEDIFF(DAY,Data_InizioBase, Data_INZIOAVANZATO) > 0) + THEN 1 + ELSE 0 END + AS AdesioneSuccessivaAvanzato, + InvioBenvenuto, + ClienteMigrato, + RisorseNa, + NumRevoche, + null as PartViaDisinv, --ma serve???? + Data_Perf + ,a.TIP_CONTRATTO --DA REPLAT Rilascio nuova gestione Private/Affluent + ,riattivazione as tip_riattivazione --DA REPLAT Rilascio nuova gestione Private/Affluent + ,a.chiaveClientePb --V Serve nella [C6Mart].[RP_AggiornaFlagContratto] per facilitare i join + ,a.TipoConsulenza + ,a.DATA_INZIOAVANZATO as Data_InizioAvanzato +--select * +FROM + C6Mart.VCONTRATTI a +JOIN + C6Mart.CONTRATTOSEI_METADATI b +ON + a.chiaveClientePB = b.chiaveClientePB +WHERE 1 = 1 +AND (InvioBenvenuto = 'N') +AND (isnull(Data_FineAvanzato,'99990101') > getDate()) +and a.rete+a.COD_FISCALE not in ( select rete+COD_FISCALE from C6Mart.contratti_da_escludere) +UNION ALL +SELECT + a.Rete, + Cod_Agente, + case + when(isnull(cod_mandato,'') <> '') + then 'FF@'+cod_mandato + else a.Cod_Fiscale + end as Cod_fiscale, + PIva_Fiduciaria, + CodiceContratto, + Freq_Monitoraggio, + Freq_Diagnosi, + ProfiloAttivo, + Profilo_EC, -- aggiunto 30 Giugno 2022 + 'G' AS TipoElaborazione, + CASE + WHEN (DATEDIFF(DAY,Data_InizioBase, Data_INZIOAVANZATO) > 0) + THEN 1 + ELSE 0 END + AS AdesioneSuccessivaAvanzato, + InvioBenvenuto, + ClienteMigrato, + RisorseNa, + NumRevoche, + null as PartViaDisinv, --ma serve???? + Data_Perf + ,a.TIP_CONTRATTO --DA REPLAT Rilascio nuova gestione Private/Affluent + ,riattivazione as tip_riattivazione --DA REPLAT Rilascio nuova gestione Private/Affluent + ,a.chiaveClientePb --V Serve nella [C6Mart].[RP_AggiornaFlagContratto] per facilitare i join + ,a.TipoConsulenza + ,a.DATA_INZIOAVANZATO +FROM + C6Mart.VCONTRATTI a +JOIN + C6Mart.CONTRATTOSEI_METADATI b +ON + a.chiaveClientePB = b.chiaveClientePB +JOIN + C6Mart.GESTIONE_EMAIL AS ge +ON a.Cod_Fiscale = ge.Cod_Fiscale AND a.Rete = ge.Rete AND ge.Tipo = 'PERF' AND ge.data_invio IS NULL +WHERE 1 = 1 +AND (InvioBenvenuto = 'S') +AND (isnull(Data_FineAvanzato,'99990101') > getDate()) +and a.rete+a.COD_FISCALE not in ( select rete+COD_FISCALE from C6Mart.contratti_da_escludere) +--pezzotto 20240710 +--UNION ALL +--SELECT +-- Rete, +-- Cod_Agente, +-- case +-- when(isnull(cod_mandato,'') <> '') +-- then 'FF@'+cod_mandato +-- else Cod_Fiscale +-- end as Cod_fiscale, +-- PIva_Fiduciaria, +-- CodiceContratto, +-- Freq_Monitoraggio, +-- Freq_Diagnosi, +-- ProfiloAttivo, +-- Profilo_EC, --aggiunto 30/06/2022 +-- 'G' AS TipoElaborazione, +-- CASE +-- WHEN (DATEDIFF(DAY,Data_InizioBase, Data_INZIOAVANZATO) > 0) +-- THEN 1 +-- ELSE 0 END +-- AS AdesioneSuccessivaAvanzato, +-- InvioBenvenuto, +-- ClienteMigrato, +-- RisorseNa, +-- NumRevoche, +-- null as PartViaDisinv, --ma serve???? +-- Data_Perf +-- ,a.TIP_CONTRATTO --DA REPLAT Rilascio nuova gestione Private/Affluent +-- ,riattivazione as tip_riattivazione --DA REPLAT Rilascio nuova gestione Private/Affluent +-- ,a.chiaveClientePb --V Serve nella [C6Mart].[RP_AggiornaFlagContratto] per facilitare i join +-- ,a.TipoConsulenza +-- ,a.DATA_INZIOAVANZATO as Data_InizioAvanzato +----select * +--FROM +-- C6Mart.VCONTRATTI a +--JOIN +-- C6Mart.CONTRATTOSEI_METADATI b +--ON +-- a.chiaveClientePB = b.chiaveClientePB +--where COD_FISCALE='RMNFNC55T03A783I' +--fine pezzotto +/* +UNION ALL +SELECT C6.Rete, Cod_Agente, C6.Cod_Fiscale, PIva_Fiduciaria, CodiceContratto, Freq_Monitor, Freq_Diagnosi, ProfiloAttivo, 'G' AS TipoElaborazione, CASE WHEN (DATEDIFF(DAY, + Data_InizioBase, Data_Sott) > 0) THEN 1 ELSE 0 END AS AdesioneSuccessivaAvanzato, InvioBenvenuto, ClienteMigrato, RisorseNa, NumRevoche, + PartViaDisinv, Data_Perf, TIP_CONTRATTO,tip_riattivazione +FROM C6Mart.CONTRATTOSEI AS C6 INNER JOIN + C6Mart.GESTIONE_EMAIL AS ge ON C6.Cod_Fiscale = ge.Cod_Fiscale AND C6.Rete = ge.Rete AND ge.Tipo = 'PERF' AND ge.data_invio IS NULL +WHERE (1 = 1) AND InvioBenvenuto = 'S' AND (Data_FineAvanzato IS NULL) +*/ \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_RP_vTuttiIContratti_AND.sql b/sql/Produzione/viste/C6Mart_RP_vTuttiIContratti_AND.sql new file mode 100644 index 00000000..f2377cdc --- /dev/null +++ b/sql/Produzione/viste/C6Mart_RP_vTuttiIContratti_AND.sql @@ -0,0 +1,33 @@ +CREATE VIEW [C6Mart].[RP_vTuttiIContratti_AND] +AS +SELECT + Rete, + Cod_Agente, + case + when(isnull(cod_mandato,'') <> '') + then 'FF@'+cod_mandato + else Cod_Fiscale + end as Cod_fiscale, + PIva_Fiduciaria, + CodiceContratto, + Freq_Monitoraggio, + Freq_Diagnosi, + ProfiloAttivo, + 'G' AS TipoElaborazione, + CASE + WHEN (DATEDIFF(DAY,Data_InizioBase, Data_INZIOAVANZATO) > 0) + THEN 1 + ELSE 0 END + AS AdesioneSuccessivaAvanzato, + InvioBenvenuto, + ClienteMigrato, + RisorseNa, + NumRevoche, + null as PartViaDisinv, --ma serve???? + Data_Perf + ,a.TIP_CONTRATTO --DA REPLAT Rilascio nuova gestione Private/Affluent + ,riattivazione as tip_riattivazione --DA REPLAT Rilascio nuova gestione Private/Affluent + ,a.chiaveClientePb --V Serve nella [C6Mart].[RP_AggiornaFlagContratto] per facilitare i join +FROM C6Mart.VCONTRATTI a +JOIN C6Mart.CONTRATTOSEI_METADATI b +ON a.chiaveClientePB = b.chiaveClientePB \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_RP_vTuttiIContratti_OnDemand_Adriano.sql b/sql/Produzione/viste/C6Mart_RP_vTuttiIContratti_OnDemand_Adriano.sql new file mode 100644 index 00000000..aa11d18f --- /dev/null +++ b/sql/Produzione/viste/C6Mart_RP_vTuttiIContratti_OnDemand_Adriano.sql @@ -0,0 +1,92 @@ +CREATE VIEW [C6Mart].[RP_vTuttiIContratti_OnDemand_Adriano] +AS +SELECT + Rete, + Cod_Agente, + case + when(isnull(cod_mandato,'') <> '') + then 'FF@'+cod_mandato + else Cod_Fiscale + end as Cod_fiscale, + PIva_Fiduciaria, + CodiceContratto, + Freq_Monitoraggio, + Freq_Diagnosi, + 1 as ProfiloAttivo, + 'G' AS TipoElaborazione, + CASE + WHEN (DATEDIFF(DAY,Data_InizioBase, Data_INZIOAVANZATO) > 0) + THEN 1 + ELSE 0 END + AS AdesioneSuccessivaAvanzato, + InvioBenvenuto, + ClienteMigrato, + RisorseNa, + NumRevoche, + null as PartViaDisinv, --ma serve???? + Data_Perf + ,a.TIP_CONTRATTO --DA REPLAT Rilascio nuova gestione Private/Affluent + ,riattivazione as tip_riattivazione --DA REPLAT Rilascio nuova gestione Private/Affluent + ,a.chiaveClientePb --V Serve nella [C6Mart].[RP_AggiornaFlagContratto] per facilitare i join + ,a.TipoConsulenza +--select * +FROM + C6Mart.VCONTRATTI a +JOIN + C6Mart.CONTRATTOSEI_METADATI b +ON + a.chiaveClientePB = b.chiaveClientePB +WHERE 1 = 1 +--AND (InvioBenvenuto = 'N') +AND (isnull(Data_FineAvanzato,'99990101') > getDate()) +UNION ALL +SELECT + a.Rete, + Cod_Agente, + case + when(isnull(cod_mandato,'') <> '') + then 'FF@'+cod_mandato + else a.Cod_Fiscale + end as Cod_fiscale, + PIva_Fiduciaria, + CodiceContratto, + Freq_Monitoraggio, + Freq_Diagnosi, + ProfiloAttivo, + 'G' AS TipoElaborazione, + CASE + WHEN (DATEDIFF(DAY,Data_InizioBase, Data_INZIOAVANZATO) > 0) + THEN 1 + ELSE 0 END + AS AdesioneSuccessivaAvanzato, + InvioBenvenuto, + ClienteMigrato, + RisorseNa, + NumRevoche, + null as PartViaDisinv, --ma serve???? + Data_Perf + ,a.TIP_CONTRATTO --DA REPLAT Rilascio nuova gestione Private/Affluent + ,riattivazione as tip_riattivazione --DA REPLAT Rilascio nuova gestione Private/Affluent + ,a.chiaveClientePb --V Serve nella [C6Mart].[RP_AggiornaFlagContratto] per facilitare i join + ,a.TipoConsulenza +FROM + C6Mart.VCONTRATTI a +JOIN + C6Mart.CONTRATTOSEI_METADATI b +ON + a.chiaveClientePB = b.chiaveClientePB +JOIN + C6Mart.GESTIONE_EMAIL AS ge +ON a.Cod_Fiscale = ge.Cod_Fiscale AND a.Rete = ge.Rete AND ge.Tipo = 'PERF' AND ge.data_invio IS NULL +WHERE 1 = 1 +AND (InvioBenvenuto = 'S') +AND (isnull(Data_FineAvanzato,'99990101') > getDate()) +/* +UNION ALL +SELECT C6.Rete, Cod_Agente, C6.Cod_Fiscale, PIva_Fiduciaria, CodiceContratto, Freq_Monitor, Freq_Diagnosi, ProfiloAttivo, 'G' AS TipoElaborazione, CASE WHEN (DATEDIFF(DAY, + Data_InizioBase, Data_Sott) > 0) THEN 1 ELSE 0 END AS AdesioneSuccessivaAvanzato, InvioBenvenuto, ClienteMigrato, RisorseNa, NumRevoche, + PartViaDisinv, Data_Perf, TIP_CONTRATTO,tip_riattivazione +FROM C6Mart.CONTRATTOSEI AS C6 INNER JOIN + C6Mart.GESTIONE_EMAIL AS ge ON C6.Cod_Fiscale = ge.Cod_Fiscale AND C6.Rete = ge.Rete AND ge.Tipo = 'PERF' AND ge.data_invio IS NULL +WHERE (1 = 1) AND InvioBenvenuto = 'S' AND (Data_FineAvanzato IS NULL) +*/ \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_RP_vTuttiIPortafogli_ccLiq.sql b/sql/Produzione/viste/C6Mart_RP_vTuttiIPortafogli_ccLiq.sql new file mode 100644 index 00000000..8b8d558d --- /dev/null +++ b/sql/Produzione/viste/C6Mart_RP_vTuttiIPortafogli_ccLiq.sql @@ -0,0 +1,162 @@ +--modificata per i cc in liq Marianna +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 01/12/2014) +CREATE VIEW [C6Mart].[RP_vTuttiIPortafogli_ccLiq] +AS +SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'RISFIN|NA|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'RISFIN|PIRAMIDE|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, +--INIZIO INTERVENTO OMNIA +-- PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, +-- PATRIMONIO_BF.CTV AS CtvReale + case when PATRIMONIO_BF.ISIN in('EURO00000009', 'EURO10000007') then 0.0000 + else PATRIMONIO_BF.CTV_NOMINALE end AS CtvNominale , + case when PATRIMONIO_BF.ISIN in('EURO00000009', 'EURO10000007') then 0.0000 + else PATRIMONIO_BF.CTV end AS CtvReale +--FINE INTERVENTO OMNIA + FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MART.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO +--INIZIO INTERVENTO OMNIA +-- WHERE PATRIMONIO_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC','ASU2') + WHERE (PATRIMONIO_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC','ASU2') + AND PATRIMONIO_BF.ID_AREA <> 'SELF') +--FINE INTERVENTO OMNIA + UNION ALL +---V Modifica per calcolo VaR prodotti ASU2 + SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'RISFIN|NA|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'RISFIN|PIRAMIDE|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, +-- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA +-- ELSE ANAG_PRODOTTI.COD_ISIN +-- END AS CodiceProdotto, +-- MODIFICA LUCA +-- CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN +-- ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA +-- END + PATRIMONIO_BF.ISIN AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + --V FRANCHIGIA CC +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV_NOMINALE +-- END AS CtvNominale, + PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, + --PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV +-- END AS CtvReale + PATRIMONIO_BF.CTV AS CtvReale + FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MART.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + AND ANAG_PRODOTTI.COD_ISIN = PATRIMONIO_BF.ISIN + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASU2') + UNION ALL + -- PATRIMONIO ASUL + SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'RISFIN|NA|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'RISFIN|PIRAMIDE|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + CASE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO --SELEZIONE DEL CODICEPRODOTTO: DETTAGLIO_ASUL.COD_ISIN_FITTIZIO, DETTAGLIO_ASUL.COD_SOTTOPRODOTTO, '$' + WHEN '' THEN DETTAGLIO_ASUL.COD_ISIN_SOTT + ELSE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO + END AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + DETTAGLIO_ASUL.CTV AS CtvNominale, + DETTAGLIO_ASUL.CTV AS CtvReale + FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.DETTAGLIO_ASUL + ON DETTAGLIO_ASUL.ID_CONTRATTO = PATRIMONIO_BF.ID_CONTRATTO + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASUL') + --V S 20110823 Disabilitazione contratti liquidati in quanto sulla dettaglio asul il ctv rimane <> 0 +-- AND PATRIMONIO_BF.COD_STATO <> 'L' +-- AND PATRIMONIO_BF.CTV <> 0 +union all +SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'RISFIN|PIRAMIDE|Liq'+ '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + 'EUR' AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + case when (sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0.01 end AS CtvNominale , + case when (sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0.01 end AS CtvReale +FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MART.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('CC') and patrimonio_bf.ctv>0 +group by + PATRIMONIO_BF.rete, + PATRIMONIO_BF.cod_fiscale, + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END, + CASE + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'RISFIN|PIRAMIDE|Liq'+ '|' + PATRIMONIO_BF.POSITION_ID + END \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_RP_vTuttiIPortafogli_ccLiq_20180612_NewMotorePrometeia.sql b/sql/Produzione/viste/C6Mart_RP_vTuttiIPortafogli_ccLiq_20180612_NewMotorePrometeia.sql new file mode 100644 index 00000000..01652fa5 --- /dev/null +++ b/sql/Produzione/viste/C6Mart_RP_vTuttiIPortafogli_ccLiq_20180612_NewMotorePrometeia.sql @@ -0,0 +1,180 @@ +--modificata per i cc in liq Marianna +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 01/12/2014) +CREATE VIEW [C6Mart].[RP_vTuttiIPortafogli_ccLiq_20180612_NewMotorePrometeia] +AS +SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'RISFIN|NA|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'RISFIN|PIRAMIDE|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END AS CodiceProdotto, + --- 23//5/2018 ---------------------------------------- + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA + WHEN '$' THEN '' + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END AS CodiceAdeguatezza, + ----------------------------------------------------------- + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, +--INIZIO INTERVENTO OMNIA +-- PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, +-- PATRIMONIO_BF.CTV AS CtvReale + case when PATRIMONIO_BF.ISIN in('EURO00000009', 'EURO10000007') then 0.0000 + else PATRIMONIO_BF.CTV_NOMINALE end AS CtvNominale , + case when PATRIMONIO_BF.ISIN in('EURO00000009', 'EURO10000007') then 0.0000 + else PATRIMONIO_BF.CTV end AS CtvReale +--FINE INTERVENTO OMNIA + FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MART.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO +--INIZIO INTERVENTO OMNIA +-- WHERE PATRIMONIO_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC','ASU2') + WHERE (PATRIMONIO_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC','ASU2') + AND PATRIMONIO_BF.ID_AREA <> 'SELF') +--FINE INTERVENTO OMNIA + UNION ALL +---V Modifica per calcolo VaR prodotti ASU2 + SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'RISFIN|NA|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'RISFIN|PIRAMIDE|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, +-- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA +-- ELSE ANAG_PRODOTTI.COD_ISIN +-- END AS CodiceProdotto, +-- MODIFICA LUCA +-- CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN +-- ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA +-- END + PATRIMONIO_BF.ISIN AS CodiceProdotto, + --- 23//5/2018 ---------------------------------------- + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA + WHEN '$' THEN '' + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END AS CodiceAdeguatezza, + ----------------------------------------------------------- + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + --V FRANCHIGIA CC +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV_NOMINALE +-- END AS CtvNominale, + PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, + --PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV +-- END AS CtvReale + PATRIMONIO_BF.CTV AS CtvReale + FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MART.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + AND ANAG_PRODOTTI.COD_ISIN = PATRIMONIO_BF.ISIN + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASU2') + UNION ALL + -- PATRIMONIO ASUL + SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'RISFIN|NA|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'RISFIN|PIRAMIDE|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + CASE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO --SELEZIONE DEL CODICEPRODOTTO: DETTAGLIO_ASUL.COD_ISIN_FITTIZIO, DETTAGLIO_ASUL.COD_SOTTOPRODOTTO, '$' + WHEN '' THEN DETTAGLIO_ASUL.COD_ISIN_SOTT + ELSE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO + END AS CodiceProdotto, + --- 23//5/2018------------------------------------------------- + '' AS CodiceAdeguatezza, + --------------------------------------------------------------- + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + DETTAGLIO_ASUL.CTV AS CtvNominale, + DETTAGLIO_ASUL.CTV AS CtvReale + FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.DETTAGLIO_ASUL + ON DETTAGLIO_ASUL.ID_CONTRATTO = PATRIMONIO_BF.ID_CONTRATTO + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASUL') + --V S 20110823 Disabilitazione contratti liquidati in quanto sulla dettaglio asul il ctv rimane <> 0 +-- AND PATRIMONIO_BF.COD_STATO <> 'L' +-- AND PATRIMONIO_BF.CTV <> 0 +union all +SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'RISFIN|PIRAMIDE|Liq'+ '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + 'EUR' AS CodiceProdotto, + --- 23//5/2018 ---------------------------------------- + '' AS CodiceAdeguatezza, + ----------------------------------------------------------- + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + case when (sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0.01 end AS CtvNominale , + case when (sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0.01 end AS CtvReale +FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MART.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('CC') and patrimonio_bf.ctv>0 +group by + PATRIMONIO_BF.rete, + PATRIMONIO_BF.cod_fiscale, + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END, + CASE + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'RISFIN|PIRAMIDE|Liq'+ '|' + PATRIMONIO_BF.POSITION_ID + END \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_RP_vTuttiIPortafogli_ccLiq_20180612_PreMotorePrometeia.sql b/sql/Produzione/viste/C6Mart_RP_vTuttiIPortafogli_ccLiq_20180612_PreMotorePrometeia.sql new file mode 100644 index 00000000..68b07164 --- /dev/null +++ b/sql/Produzione/viste/C6Mart_RP_vTuttiIPortafogli_ccLiq_20180612_PreMotorePrometeia.sql @@ -0,0 +1,162 @@ +--modificata per i cc in liq Marianna +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 01/12/2014) +CREATE VIEW [C6Mart].[RP_vTuttiIPortafogli_ccLiq_20180612_PreMotorePrometeia] +AS +SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'RISFIN|NA|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'RISFIN|PIRAMIDE|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, +--INIZIO INTERVENTO OMNIA +-- PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, +-- PATRIMONIO_BF.CTV AS CtvReale + case when PATRIMONIO_BF.ISIN in('EURO00000009', 'EURO10000007') then 0.0000 + else PATRIMONIO_BF.CTV_NOMINALE end AS CtvNominale , + case when PATRIMONIO_BF.ISIN in('EURO00000009', 'EURO10000007') then 0.0000 + else PATRIMONIO_BF.CTV end AS CtvReale +--FINE INTERVENTO OMNIA + FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MART.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO +--INIZIO INTERVENTO OMNIA +-- WHERE PATRIMONIO_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC','ASU2') + WHERE (PATRIMONIO_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC','ASU2') + AND PATRIMONIO_BF.ID_AREA <> 'SELF') +--FINE INTERVENTO OMNIA + UNION ALL +---V Modifica per calcolo VaR prodotti ASU2 + SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'RISFIN|NA|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'RISFIN|PIRAMIDE|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, +-- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA +-- ELSE ANAG_PRODOTTI.COD_ISIN +-- END AS CodiceProdotto, +-- MODIFICA LUCA +-- CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN +-- ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA +-- END + PATRIMONIO_BF.ISIN AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + --V FRANCHIGIA CC +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV_NOMINALE +-- END AS CtvNominale, + PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, + --PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV +-- END AS CtvReale + PATRIMONIO_BF.CTV AS CtvReale + FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MART.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + AND ANAG_PRODOTTI.COD_ISIN = PATRIMONIO_BF.ISIN + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASU2') + UNION ALL + -- PATRIMONIO ASUL + SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'RISFIN|NA|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'RISFIN|PIRAMIDE|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + CASE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO --SELEZIONE DEL CODICEPRODOTTO: DETTAGLIO_ASUL.COD_ISIN_FITTIZIO, DETTAGLIO_ASUL.COD_SOTTOPRODOTTO, '$' + WHEN '' THEN DETTAGLIO_ASUL.COD_ISIN_SOTT + ELSE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO + END AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + DETTAGLIO_ASUL.CTV AS CtvNominale, + DETTAGLIO_ASUL.CTV AS CtvReale + FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.DETTAGLIO_ASUL + ON DETTAGLIO_ASUL.ID_CONTRATTO = PATRIMONIO_BF.ID_CONTRATTO + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASUL') + --V S 20110823 Disabilitazione contratti liquidati in quanto sulla dettaglio asul il ctv rimane <> 0 +-- AND PATRIMONIO_BF.COD_STATO <> 'L' +-- AND PATRIMONIO_BF.CTV <> 0 +union all +SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'RISFIN|PIRAMIDE|Liq'+ '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + 'EUR' AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + case when (sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0.01 end AS CtvNominale , + case when (sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0.01 end AS CtvReale +FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MART.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('CC') and patrimonio_bf.ctv>0 +group by + PATRIMONIO_BF.rete, + PATRIMONIO_BF.cod_fiscale, + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END, + CASE + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'RISFIN|PIRAMIDE|Liq'+ '|' + PATRIMONIO_BF.POSITION_ID + END \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_RP_vTuttiIPortafogli_ccLiq_BK_eligoTitoli.sql b/sql/Produzione/viste/C6Mart_RP_vTuttiIPortafogli_ccLiq_BK_eligoTitoli.sql new file mode 100644 index 00000000..1d0b711f --- /dev/null +++ b/sql/Produzione/viste/C6Mart_RP_vTuttiIPortafogli_ccLiq_BK_eligoTitoli.sql @@ -0,0 +1,161 @@ +--modificata per i cc in liq Marianna +CREATE VIEW [C6Mart].[RP_vTuttiIPortafogli_ccLiq_BK_eligoTitoli] +AS +SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'RISFIN|NA|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'RISFIN|PIRAMIDE|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, +--INIZIO INTERVENTO OMNIA +-- PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, +-- PATRIMONIO_BF.CTV AS CtvReale + case when PATRIMONIO_BF.ISIN = 'EURO00000009' then 0.0000 + else PATRIMONIO_BF.CTV_NOMINALE end AS CtvNominale , + case when PATRIMONIO_BF.ISIN = 'EURO00000009' then 0.0000 + else PATRIMONIO_BF.CTV end AS CtvReale +--FINE INTERVENTO OMNIA + FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MART.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO +--INIZIO INTERVENTO OMNIA +-- WHERE PATRIMONIO_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC','ASU2') + WHERE (PATRIMONIO_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC','ASU2') + AND PATRIMONIO_BF.ID_AREA <> 'SELF') +--FINE INTERVENTO OMNIA + UNION ALL +---V Modifica per calcolo VaR prodotti ASU2 + SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'RISFIN|NA|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'RISFIN|PIRAMIDE|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, +-- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA +-- ELSE ANAG_PRODOTTI.COD_ISIN +-- END AS CodiceProdotto, +-- MODIFICA LUCA +-- CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN +-- ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA +-- END + PATRIMONIO_BF.ISIN AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + --V FRANCHIGIA CC +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV_NOMINALE +-- END AS CtvNominale, + PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, + --PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV +-- END AS CtvReale + PATRIMONIO_BF.CTV AS CtvReale + FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MART.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + AND ANAG_PRODOTTI.COD_ISIN = PATRIMONIO_BF.ISIN + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASU2') + UNION ALL + -- PATRIMONIO ASUL + SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'RISFIN|NA|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'RISFIN|PIRAMIDE|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + CASE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO --SELEZIONE DEL CODICEPRODOTTO: DETTAGLIO_ASUL.COD_ISIN_FITTIZIO, DETTAGLIO_ASUL.COD_SOTTOPRODOTTO, '$' + WHEN '' THEN DETTAGLIO_ASUL.COD_ISIN_SOTT + ELSE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO + END AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + DETTAGLIO_ASUL.CTV AS CtvNominale, + DETTAGLIO_ASUL.CTV AS CtvReale + FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.DETTAGLIO_ASUL + ON DETTAGLIO_ASUL.ID_CONTRATTO = PATRIMONIO_BF.ID_CONTRATTO + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASUL') + --V S 20110823 Disabilitazione contratti liquidati in quanto sulla dettaglio asul il ctv rimane <> 0 +-- AND PATRIMONIO_BF.COD_STATO <> 'L' +-- AND PATRIMONIO_BF.CTV <> 0 +union all +SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'RISFIN|PIRAMIDE|Liq'+ '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + 'EUR' AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + case when (sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0.01 end AS CtvNominale , + case when (sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0.01 end AS CtvReale +FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MART.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('CC') and patrimonio_bf.ctv>0 +group by + PATRIMONIO_BF.rete, + PATRIMONIO_BF.cod_fiscale, + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END, + CASE + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'RISFIN|PIRAMIDE|Liq'+ '|' + PATRIMONIO_BF.POSITION_ID + END \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_rp_vTuttiIPortafogli.sql b/sql/Produzione/viste/C6Mart_rp_vTuttiIPortafogli.sql new file mode 100644 index 00000000..41ad8959 --- /dev/null +++ b/sql/Produzione/viste/C6Mart_rp_vTuttiIPortafogli.sql @@ -0,0 +1,272 @@ +--modificata per i cc in liq Marianna +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 01/12/2014) +CREATE VIEW [C6Mart].[rp_vTuttiIPortafogli] +AS +SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN +-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, +-- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA +-- ELSE ANAG_PRODOTTI.COD_ISIN +-- END AS CodiceProdotto, +-- MODIFICA LUCA + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END AS CodiceProdotto, + --- 23//5/2018 ---------------------------------------- + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA + WHEN '$' THEN '' + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END AS CodiceAdeguatezza, + ----------------------------------------------------------- + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, +--INIZIO INTERVENTO OMNIA +-- PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, +-- PATRIMONIO_BF.CTV AS CtvReale + case when PATRIMONIO_BF.ISIN in('EURO00000009', 'EURO10000007') then 0.0000 + else PATRIMONIO_BF.CTV_NOMINALE end AS CtvNominale , + case when PATRIMONIO_BF.ISIN in('EURO00000009', 'EURO10000007') then 0.0000 + else PATRIMONIO_BF.CTV end AS CtvReale +--FINE INTERVENTO OMNIA + FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MART.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + WHERE PATRIMONIO_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC','ASU2') +--INIZIO INTERVENTO OMNIA + AND PATRIMONIO_BF.ID_AREA <> 'SELF' +--FINE INTERVENTO OMNIA +UNION ALL +---V Modifica per calcolo VaR prodotti ASU2 +SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN +-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, +-- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA +-- ELSE ANAG_PRODOTTI.COD_ISIN +-- END AS CodiceProdotto, +---- MODIFICA LUCA +--V Modifica per gli ASU2 CON IL COD_ADEGUATEZZA NON BECCA NESSUN PRODTTO PROMETEIA +-- CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN +-- ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA END + PATRIMONIO_BF.ISIN AS CodiceProdotto, + --- 23//5/2018 + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA + WHEN '$' THEN '' + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END AS CodiceAdeguatezza, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + --V FRANCHIGIA CC +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV_NOMINALE +-- END AS CtvNominale, + PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, + --PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV +-- END AS CtvReale + PATRIMONIO_BF.CTV AS CtvReale + FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MART.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + AND ANAG_PRODOTTI.COD_ISIN = PATRIMONIO_BF.ISIN + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASU2') + UNION ALL + -- PATRIMONIO ASUL + SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- +-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN +-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + CASE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO --SELEZIONE DEL CODICEPRODOTTO: DETTAGLIO_ASUL.COD_ISIN_FITTIZIO, DETTAGLIO_ASUL.COD_SOTTOPRODOTTO, '$' + WHEN '' THEN DETTAGLIO_ASUL.COD_ISIN_SOTT + ELSE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO + END AS CodiceProdotto, + --- 23//5/2018------------------------------------------------- + '' AS CodiceAdeguatezza, + --------------------------------------------------------------- + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + DETTAGLIO_ASUL.CTV AS CtvNominale, + DETTAGLIO_ASUL.CTV AS CtvReale + FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.DETTAGLIO_ASUL + ON DETTAGLIO_ASUL.ID_CONTRATTO = PATRIMONIO_BF.ID_CONTRATTO + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASUL') + --V S 20110823 Disabilitazione contratti liquidati in quanto sulla dettaglio asul il ctv rimane <> 0 +-- AND PATRIMONIO_BF.COD_STATO <> 'L' +-- AND PATRIMONIO_BF.CTV <> 0 + UNION ALL + -- PATRIMONIO TERZI + SELECT + INTERMEDIARIO.RETE AS Rete, + INTERMEDIARIO.CODICEFISCALE AS CodiceFiscale, + INTERMEDIARIO.PORTAFOGLIO AS Portafoglio, + INTERMEDIARIO.CODICEADEGUATEZZA AS CodiceProdotto, + --- 23//5/2018------------------------------------------------- + --'' AS CodiceAdeguatezza, + --------------------------------------------------------------- + INTERMEDIARIO.CODICEADEGUATEZZA AS CodiceAdeguatezza, --modifica 050520 per anomalie Levi + INTERMEDIARIO.PIAZZA AS Piazza, + INTERMEDIARIO.CODICEVALUTA AS CodiceValuta, + INTERMEDIARIO.CLASSE AS Classe, + INTERMEDIARIO.CONTROVALORE AS CtvNominale, + INTERMEDIARIO.CONTROVALORE AS CtvReale + FROM C6MART.VPROMETEIATERZIINTERMEDIARIO INTERMEDIARIO + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = INTERMEDIARIO.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = INTERMEDIARIO.CODICEFISCALE + UNION ALL + -- PATRIMONIO TERZI X TIPO PRODOTTO + SELECT + CATEGORIAPRODOTTO.RETE AS Rete, + CATEGORIAPRODOTTO.CODICEFISCALE AS CodiceFiscale, + CATEGORIAPRODOTTO.PORTAFOGLIO AS Portafoglio, + CATEGORIAPRODOTTO.CODICEADEGUATEZZA AS CodiceProdotto, + --- 23//5/2018------------------------------------------------- + '' AS CodiceAdeguatezza, + --------------------------------------------------------------- + CATEGORIAPRODOTTO.PIAZZA AS Piazza, + CATEGORIAPRODOTTO.CODICEVALUTA AS CodiceValuta, + CATEGORIAPRODOTTO.CLASSE AS Classe, + CATEGORIAPRODOTTO.CONTROVALORE AS CtvNominale, + CATEGORIAPRODOTTO.CONTROVALORE AS CtvReale + FROM C6MART.VPROMETEIATERZICATEGORIAPRODOTTO CATEGORIAPRODOTTO + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = CATEGORIAPRODOTTO.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = CATEGORIAPRODOTTO.CODICEFISCALE +--V Conti correnti Fideuram +union all +SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE +-- WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN +-- 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- + WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + 'COMPLESSIVO|BF|CC'-- + PATRIMONIO_BF.POSITION_ID + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'COMPLESSIVO|BF|CC' +-- ELSE +-- 'COMPLESSIVO|BF|' + +-- LEFT(PATRIMONIO_BF.ID_AREA,3) + +-- CASE +-- WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO +-- ELSE '' +-- END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, +-- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA +-- ELSE ANAG_PRODOTTI.COD_ISIN +-- END AS CodiceProdotto, +-- MODIFICA LUCA +-- CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN +-- ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA +-- END + 'EUR' AS CodiceProdotto, + --- 23//5/2018 ---------------------------------------- + '' AS CodiceAdeguatezza, + ----------------------------------------------------------- + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + --V FRANCHIGIA CC +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV_NOMINALE +-- END AS CtvNominale, + case when (sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0 end AS CtvNominale , +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV +-- END AS CtvReale + case when (sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0 end AS CtvReale +FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MART.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('CC') +group by + PATRIMONIO_BF.rete, + PATRIMONIO_BF.cod_fiscale, + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END, + CASE +-- WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN +-- 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- + WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + 'COMPLESSIVO|BF|CC'-- + PATRIMONIO_BF.POSITION_ID + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'COMPLESSIVO|BF|CC' +-- ELSE +-- 'COMPLESSIVO|BF|' + +-- LEFT(PATRIMONIO_BF.ID_AREA,3) + +-- CASE +-- WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO +-- ELSE '' +-- END + '|' + PATRIMONIO_BF.POSITION_ID + END \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_rp_vTuttiIPortafogli_20180612_NewMotorePrometeia.sql b/sql/Produzione/viste/C6Mart_rp_vTuttiIPortafogli_20180612_NewMotorePrometeia.sql new file mode 100644 index 00000000..ba96d2a3 --- /dev/null +++ b/sql/Produzione/viste/C6Mart_rp_vTuttiIPortafogli_20180612_NewMotorePrometeia.sql @@ -0,0 +1,271 @@ +--modificata per i cc in liq Marianna +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 01/12/2014) +CREATE VIEW [C6Mart].[rp_vTuttiIPortafogli_20180612_NewMotorePrometeia] +AS +SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN +-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, +-- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA +-- ELSE ANAG_PRODOTTI.COD_ISIN +-- END AS CodiceProdotto, +-- MODIFICA LUCA + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END AS CodiceProdotto, + --- 23//5/2018 ---------------------------------------- + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA + WHEN '$' THEN '' + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END AS CodiceAdeguatezza, + ----------------------------------------------------------- + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, +--INIZIO INTERVENTO OMNIA +-- PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, +-- PATRIMONIO_BF.CTV AS CtvReale + case when PATRIMONIO_BF.ISIN in('EURO00000009', 'EURO10000007') then 0.0000 + else PATRIMONIO_BF.CTV_NOMINALE end AS CtvNominale , + case when PATRIMONIO_BF.ISIN in('EURO00000009', 'EURO10000007') then 0.0000 + else PATRIMONIO_BF.CTV end AS CtvReale +--FINE INTERVENTO OMNIA + FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MART.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + WHERE PATRIMONIO_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC','ASU2') +--INIZIO INTERVENTO OMNIA + AND PATRIMONIO_BF.ID_AREA <> 'SELF' +--FINE INTERVENTO OMNIA +UNION ALL +---V Modifica per calcolo VaR prodotti ASU2 +SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN +-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, +-- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA +-- ELSE ANAG_PRODOTTI.COD_ISIN +-- END AS CodiceProdotto, +---- MODIFICA LUCA +--V Modifica per gli ASU2 CON IL COD_ADEGUATEZZA NON BECCA NESSUN PRODTTO PROMETEIA +-- CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN +-- ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA END + PATRIMONIO_BF.ISIN AS CodiceProdotto, + --- 23//5/2018 + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA + WHEN '$' THEN '' + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END AS CodiceAdeguatezza, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + --V FRANCHIGIA CC +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV_NOMINALE +-- END AS CtvNominale, + PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, + --PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV +-- END AS CtvReale + PATRIMONIO_BF.CTV AS CtvReale + FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MART.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + AND ANAG_PRODOTTI.COD_ISIN = PATRIMONIO_BF.ISIN + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASU2') + UNION ALL + -- PATRIMONIO ASUL + SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- +-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN +-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + CASE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO --SELEZIONE DEL CODICEPRODOTTO: DETTAGLIO_ASUL.COD_ISIN_FITTIZIO, DETTAGLIO_ASUL.COD_SOTTOPRODOTTO, '$' + WHEN '' THEN DETTAGLIO_ASUL.COD_ISIN_SOTT + ELSE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO + END AS CodiceProdotto, + --- 23//5/2018------------------------------------------------- + '' AS CodiceAdeguatezza, + --------------------------------------------------------------- + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + DETTAGLIO_ASUL.CTV AS CtvNominale, + DETTAGLIO_ASUL.CTV AS CtvReale + FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.DETTAGLIO_ASUL + ON DETTAGLIO_ASUL.ID_CONTRATTO = PATRIMONIO_BF.ID_CONTRATTO + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASUL') + --V S 20110823 Disabilitazione contratti liquidati in quanto sulla dettaglio asul il ctv rimane <> 0 +-- AND PATRIMONIO_BF.COD_STATO <> 'L' +-- AND PATRIMONIO_BF.CTV <> 0 + UNION ALL + -- PATRIMONIO TERZI + SELECT + INTERMEDIARIO.RETE AS Rete, + INTERMEDIARIO.CODICEFISCALE AS CodiceFiscale, + INTERMEDIARIO.PORTAFOGLIO AS Portafoglio, + INTERMEDIARIO.CODICEADEGUATEZZA AS CodiceProdotto, + --- 23//5/2018------------------------------------------------- + '' AS CodiceAdeguatezza, + --------------------------------------------------------------- + INTERMEDIARIO.PIAZZA AS Piazza, + INTERMEDIARIO.CODICEVALUTA AS CodiceValuta, + INTERMEDIARIO.CLASSE AS Classe, + INTERMEDIARIO.CONTROVALORE AS CtvNominale, + INTERMEDIARIO.CONTROVALORE AS CtvReale + FROM C6MART.VPROMETEIATERZIINTERMEDIARIO INTERMEDIARIO + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = INTERMEDIARIO.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = INTERMEDIARIO.CODICEFISCALE + UNION ALL + -- PATRIMONIO TERZI X TIPO PRODOTTO + SELECT + CATEGORIAPRODOTTO.RETE AS Rete, + CATEGORIAPRODOTTO.CODICEFISCALE AS CodiceFiscale, + CATEGORIAPRODOTTO.PORTAFOGLIO AS Portafoglio, + CATEGORIAPRODOTTO.CODICEADEGUATEZZA AS CodiceProdotto, + --- 23//5/2018------------------------------------------------- + '' AS CodiceAdeguatezza, + --------------------------------------------------------------- + CATEGORIAPRODOTTO.PIAZZA AS Piazza, + CATEGORIAPRODOTTO.CODICEVALUTA AS CodiceValuta, + CATEGORIAPRODOTTO.CLASSE AS Classe, + CATEGORIAPRODOTTO.CONTROVALORE AS CtvNominale, + CATEGORIAPRODOTTO.CONTROVALORE AS CtvReale + FROM C6MART.VPROMETEIATERZICATEGORIAPRODOTTO CATEGORIAPRODOTTO + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = CATEGORIAPRODOTTO.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = CATEGORIAPRODOTTO.CODICEFISCALE +--V Conti correnti Fideuram +union all +SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE +-- WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN +-- 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- + WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + 'COMPLESSIVO|BF|CC'-- + PATRIMONIO_BF.POSITION_ID + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'COMPLESSIVO|BF|CC' +-- ELSE +-- 'COMPLESSIVO|BF|' + +-- LEFT(PATRIMONIO_BF.ID_AREA,3) + +-- CASE +-- WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO +-- ELSE '' +-- END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, +-- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA +-- ELSE ANAG_PRODOTTI.COD_ISIN +-- END AS CodiceProdotto, +-- MODIFICA LUCA +-- CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN +-- ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA +-- END + 'EUR' AS CodiceProdotto, + --- 23//5/2018 ---------------------------------------- + '' AS CodiceAdeguatezza, + ----------------------------------------------------------- + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + --V FRANCHIGIA CC +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV_NOMINALE +-- END AS CtvNominale, + case when (sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0 end AS CtvNominale , +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV +-- END AS CtvReale + case when (sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0 end AS CtvReale +FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MART.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('CC') +group by + PATRIMONIO_BF.rete, + PATRIMONIO_BF.cod_fiscale, + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END, + CASE +-- WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN +-- 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- + WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + 'COMPLESSIVO|BF|CC'-- + PATRIMONIO_BF.POSITION_ID + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'COMPLESSIVO|BF|CC' +-- ELSE +-- 'COMPLESSIVO|BF|' + +-- LEFT(PATRIMONIO_BF.ID_AREA,3) + +-- CASE +-- WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO +-- ELSE '' +-- END + '|' + PATRIMONIO_BF.POSITION_ID + END \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_rp_vTuttiIPortafogli_20180612_PreMotorePrometeia.sql b/sql/Produzione/viste/C6Mart_rp_vTuttiIPortafogli_20180612_PreMotorePrometeia.sql new file mode 100644 index 00000000..c4b25eed --- /dev/null +++ b/sql/Produzione/viste/C6Mart_rp_vTuttiIPortafogli_20180612_PreMotorePrometeia.sql @@ -0,0 +1,248 @@ +--modificata per i cc in liq Marianna +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 01/12/2014) +CREATE VIEW [C6Mart].[rp_vTuttiIPortafogli_20180612_PreMotorePrometeia] +AS +SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN +-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, +-- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA +-- ELSE ANAG_PRODOTTI.COD_ISIN +-- END AS CodiceProdotto, +-- MODIFICA LUCA + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, +--INIZIO INTERVENTO OMNIA +-- PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, +-- PATRIMONIO_BF.CTV AS CtvReale + case when PATRIMONIO_BF.ISIN in('EURO00000009', 'EURO10000007') then 0.0000 + else PATRIMONIO_BF.CTV_NOMINALE end AS CtvNominale , + case when PATRIMONIO_BF.ISIN in('EURO00000009', 'EURO10000007') then 0.0000 + else PATRIMONIO_BF.CTV end AS CtvReale +--FINE INTERVENTO OMNIA + FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MART.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + WHERE PATRIMONIO_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC','ASU2') +--INIZIO INTERVENTO OMNIA + AND PATRIMONIO_BF.ID_AREA <> 'SELF' +--FINE INTERVENTO OMNIA +UNION ALL +---V Modifica per calcolo VaR prodotti ASU2 +SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN +-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, +-- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA +-- ELSE ANAG_PRODOTTI.COD_ISIN +-- END AS CodiceProdotto, +---- MODIFICA LUCA +--V Modifica per gli ASU2 CON IL COD_ADEGUATEZZA NON BECCA NESSUN PRODTTO PROMETEIA +-- CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN +-- ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA END + PATRIMONIO_BF.ISIN AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + --V FRANCHIGIA CC +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV_NOMINALE +-- END AS CtvNominale, + PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, + --PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV +-- END AS CtvReale + PATRIMONIO_BF.CTV AS CtvReale + FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MART.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + AND ANAG_PRODOTTI.COD_ISIN = PATRIMONIO_BF.ISIN + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASU2') + UNION ALL + -- PATRIMONIO ASUL + SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- +-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN +-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + CASE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO --SELEZIONE DEL CODICEPRODOTTO: DETTAGLIO_ASUL.COD_ISIN_FITTIZIO, DETTAGLIO_ASUL.COD_SOTTOPRODOTTO, '$' + WHEN '' THEN DETTAGLIO_ASUL.COD_ISIN_SOTT + ELSE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO + END AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + DETTAGLIO_ASUL.CTV AS CtvNominale, + DETTAGLIO_ASUL.CTV AS CtvReale + FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.DETTAGLIO_ASUL + ON DETTAGLIO_ASUL.ID_CONTRATTO = PATRIMONIO_BF.ID_CONTRATTO + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASUL') + --V S 20110823 Disabilitazione contratti liquidati in quanto sulla dettaglio asul il ctv rimane <> 0 +-- AND PATRIMONIO_BF.COD_STATO <> 'L' +-- AND PATRIMONIO_BF.CTV <> 0 + UNION ALL + -- PATRIMONIO TERZI + SELECT + INTERMEDIARIO.RETE AS Rete, + INTERMEDIARIO.CODICEFISCALE AS CodiceFiscale, + INTERMEDIARIO.PORTAFOGLIO AS Portafoglio, + INTERMEDIARIO.CODICEADEGUATEZZA AS CodiceProdotto, + INTERMEDIARIO.PIAZZA AS Piazza, + INTERMEDIARIO.CODICEVALUTA AS CodiceValuta, + INTERMEDIARIO.CLASSE AS Classe, + INTERMEDIARIO.CONTROVALORE AS CtvNominale, + INTERMEDIARIO.CONTROVALORE AS CtvReale + FROM C6MART.VPROMETEIATERZIINTERMEDIARIO INTERMEDIARIO + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = INTERMEDIARIO.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = INTERMEDIARIO.CODICEFISCALE + UNION ALL + -- PATRIMONIO TERZI X TIPO PRODOTTO + SELECT + CATEGORIAPRODOTTO.RETE AS Rete, + CATEGORIAPRODOTTO.CODICEFISCALE AS CodiceFiscale, + CATEGORIAPRODOTTO.PORTAFOGLIO AS Portafoglio, + CATEGORIAPRODOTTO.CODICEADEGUATEZZA AS CodiceProdotto, + CATEGORIAPRODOTTO.PIAZZA AS Piazza, + CATEGORIAPRODOTTO.CODICEVALUTA AS CodiceValuta, + CATEGORIAPRODOTTO.CLASSE AS Classe, + CATEGORIAPRODOTTO.CONTROVALORE AS CtvNominale, + CATEGORIAPRODOTTO.CONTROVALORE AS CtvReale + FROM C6MART.VPROMETEIATERZICATEGORIAPRODOTTO CATEGORIAPRODOTTO + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = CATEGORIAPRODOTTO.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = CATEGORIAPRODOTTO.CODICEFISCALE +--V Conti correnti Fideuram +union all +SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE +-- WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN +-- 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- + WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + 'COMPLESSIVO|BF|CC'-- + PATRIMONIO_BF.POSITION_ID + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'COMPLESSIVO|BF|CC' +-- ELSE +-- 'COMPLESSIVO|BF|' + +-- LEFT(PATRIMONIO_BF.ID_AREA,3) + +-- CASE +-- WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO +-- ELSE '' +-- END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, +-- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA +-- ELSE ANAG_PRODOTTI.COD_ISIN +-- END AS CodiceProdotto, +-- MODIFICA LUCA +-- CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN +-- ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA +-- END + 'EUR' AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + --V FRANCHIGIA CC +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV_NOMINALE +-- END AS CtvNominale, + case when (sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0 end AS CtvNominale , +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV +-- END AS CtvReale + case when (sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0 end AS CtvReale +FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MART.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('CC') +group by + PATRIMONIO_BF.rete, + PATRIMONIO_BF.cod_fiscale, + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END, + CASE +-- WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN +-- 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- + WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + 'COMPLESSIVO|BF|CC'-- + PATRIMONIO_BF.POSITION_ID + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'COMPLESSIVO|BF|CC' +-- ELSE +-- 'COMPLESSIVO|BF|' + +-- LEFT(PATRIMONIO_BF.ID_AREA,3) + +-- CASE +-- WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO +-- ELSE '' +-- END + '|' + PATRIMONIO_BF.POSITION_ID + END \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_rp_vTuttiIPortafogli_20180831_preNewIndicatore.sql b/sql/Produzione/viste/C6Mart_rp_vTuttiIPortafogli_20180831_preNewIndicatore.sql new file mode 100644 index 00000000..a7cef09a --- /dev/null +++ b/sql/Produzione/viste/C6Mart_rp_vTuttiIPortafogli_20180831_preNewIndicatore.sql @@ -0,0 +1,248 @@ +--modificata per i cc in liq Marianna +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 01/12/2014) +CREATE VIEW [C6Mart].[rp_vTuttiIPortafogli_20180831_preNewIndicatore] +AS +SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN +-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, +-- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA +-- ELSE ANAG_PRODOTTI.COD_ISIN +-- END AS CodiceProdotto, +-- MODIFICA LUCA + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, +--INIZIO INTERVENTO OMNIA +-- PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, +-- PATRIMONIO_BF.CTV AS CtvReale + case when PATRIMONIO_BF.ISIN in('EURO00000009', 'EURO10000007') then 0.0000 + else PATRIMONIO_BF.CTV_NOMINALE end AS CtvNominale , + case when PATRIMONIO_BF.ISIN in('EURO00000009', 'EURO10000007') then 0.0000 + else PATRIMONIO_BF.CTV end AS CtvReale +--FINE INTERVENTO OMNIA + FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MART.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + WHERE PATRIMONIO_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC','ASU2') +--INIZIO INTERVENTO OMNIA + AND PATRIMONIO_BF.ID_AREA <> 'SELF' +--FINE INTERVENTO OMNIA +UNION ALL +---V Modifica per calcolo VaR prodotti ASU2 +SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN +-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, +-- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA +-- ELSE ANAG_PRODOTTI.COD_ISIN +-- END AS CodiceProdotto, +---- MODIFICA LUCA +--V Modifica per gli ASU2 CON IL COD_ADEGUATEZZA NON BECCA NESSUN PRODTTO PROMETEIA +-- CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN +-- ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA END + PATRIMONIO_BF.ISIN AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + --V FRANCHIGIA CC +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV_NOMINALE +-- END AS CtvNominale, + PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, + --PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV +-- END AS CtvReale + PATRIMONIO_BF.CTV AS CtvReale + FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MART.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + AND ANAG_PRODOTTI.COD_ISIN = PATRIMONIO_BF.ISIN + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASU2') + UNION ALL + -- PATRIMONIO ASUL + SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- +-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN +-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + CASE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO --SELEZIONE DEL CODICEPRODOTTO: DETTAGLIO_ASUL.COD_ISIN_FITTIZIO, DETTAGLIO_ASUL.COD_SOTTOPRODOTTO, '$' + WHEN '' THEN DETTAGLIO_ASUL.COD_ISIN_SOTT + ELSE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO + END AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + DETTAGLIO_ASUL.CTV AS CtvNominale, + DETTAGLIO_ASUL.CTV AS CtvReale + FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.DETTAGLIO_ASUL + ON DETTAGLIO_ASUL.ID_CONTRATTO = PATRIMONIO_BF.ID_CONTRATTO + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASUL') + --V S 20110823 Disabilitazione contratti liquidati in quanto sulla dettaglio asul il ctv rimane <> 0 +-- AND PATRIMONIO_BF.COD_STATO <> 'L' +-- AND PATRIMONIO_BF.CTV <> 0 + UNION ALL + -- PATRIMONIO TERZI + SELECT + INTERMEDIARIO.RETE AS Rete, + INTERMEDIARIO.CODICEFISCALE AS CodiceFiscale, + INTERMEDIARIO.PORTAFOGLIO AS Portafoglio, + INTERMEDIARIO.CODICEADEGUATEZZA AS CodiceProdotto, + INTERMEDIARIO.PIAZZA AS Piazza, + INTERMEDIARIO.CODICEVALUTA AS CodiceValuta, + INTERMEDIARIO.CLASSE AS Classe, + INTERMEDIARIO.CONTROVALORE AS CtvNominale, + INTERMEDIARIO.CONTROVALORE AS CtvReale + FROM C6MART.VPROMETEIATERZIINTERMEDIARIO INTERMEDIARIO + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = INTERMEDIARIO.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = INTERMEDIARIO.CODICEFISCALE + UNION ALL + -- PATRIMONIO TERZI X TIPO PRODOTTO + SELECT + CATEGORIAPRODOTTO.RETE AS Rete, + CATEGORIAPRODOTTO.CODICEFISCALE AS CodiceFiscale, + CATEGORIAPRODOTTO.PORTAFOGLIO AS Portafoglio, + CATEGORIAPRODOTTO.CODICEADEGUATEZZA AS CodiceProdotto, + CATEGORIAPRODOTTO.PIAZZA AS Piazza, + CATEGORIAPRODOTTO.CODICEVALUTA AS CodiceValuta, + CATEGORIAPRODOTTO.CLASSE AS Classe, + CATEGORIAPRODOTTO.CONTROVALORE AS CtvNominale, + CATEGORIAPRODOTTO.CONTROVALORE AS CtvReale + FROM C6MART.VPROMETEIATERZICATEGORIAPRODOTTO CATEGORIAPRODOTTO + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = CATEGORIAPRODOTTO.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = CATEGORIAPRODOTTO.CODICEFISCALE +--V Conti correnti Fideuram +union all +SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE +-- WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN +-- 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- + WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + 'COMPLESSIVO|BF|CC'-- + PATRIMONIO_BF.POSITION_ID + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'COMPLESSIVO|BF|CC' +-- ELSE +-- 'COMPLESSIVO|BF|' + +-- LEFT(PATRIMONIO_BF.ID_AREA,3) + +-- CASE +-- WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO +-- ELSE '' +-- END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, +-- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA +-- ELSE ANAG_PRODOTTI.COD_ISIN +-- END AS CodiceProdotto, +-- MODIFICA LUCA +-- CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN +-- ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA +-- END + 'EUR' AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + --V FRANCHIGIA CC +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV_NOMINALE +-- END AS CtvNominale, + case when (sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0 end AS CtvNominale , +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV +-- END AS CtvReale + case when (sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0 end AS CtvReale +FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MART.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('CC') +group by + PATRIMONIO_BF.rete, + PATRIMONIO_BF.cod_fiscale, + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END, + CASE +-- WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN +-- 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- + WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + 'COMPLESSIVO|BF|CC'-- + PATRIMONIO_BF.POSITION_ID + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'COMPLESSIVO|BF|CC' +-- ELSE +-- 'COMPLESSIVO|BF|' + +-- LEFT(PATRIMONIO_BF.ID_AREA,3) + +-- CASE +-- WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO +-- ELSE '' +-- END + '|' + PATRIMONIO_BF.POSITION_ID + END \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_rp_vTuttiIPortafogli_AND.sql b/sql/Produzione/viste/C6Mart_rp_vTuttiIPortafogli_AND.sql new file mode 100644 index 00000000..ccc40d0c --- /dev/null +++ b/sql/Produzione/viste/C6Mart_rp_vTuttiIPortafogli_AND.sql @@ -0,0 +1,248 @@ +--select * from [C6Mart].[rp_vTuttiIPortafogli_AND] into #portafogli where cod_fiscale = 'VNTSVN48B09A859F' +--modificata per i cc in liq Marianna +CREATE VIEW [C6Mart].[rp_vTuttiIPortafogli_AND] +AS +SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN +-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, +-- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA +-- ELSE ANAG_PRODOTTI.COD_ISIN +-- END AS CodiceProdotto, +-- MODIFICA LUCA + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, +--INIZIO INTERVENTO OMNIA +-- PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, +-- PATRIMONIO_BF.CTV AS CtvReale + case when PATRIMONIO_BF.ISIN = 'EURO00000009' then 0.0000 + else PATRIMONIO_BF.CTV_NOMINALE end AS CtvNominale , + case when PATRIMONIO_BF.ISIN = 'EURO00000009' then 0.0000 + else PATRIMONIO_BF.CTV end AS CtvReale +--FINE INTERVENTO OMNIA + FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport_AND VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MART.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + WHERE PATRIMONIO_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC','ASU2') +--INIZIO INTERVENTO OMNIA + AND PATRIMONIO_BF.ID_AREA <> 'SELF' +--FINE INTERVENTO OMNIA +UNION ALL +---V Modifica per calcolo VaR prodotti ASU2 +SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN +-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, +-- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA +-- ELSE ANAG_PRODOTTI.COD_ISIN +-- END AS CodiceProdotto, +---- MODIFICA LUCA +--V Modifica per gli ASU2 CON IL COD_ADEGUATEZZA NON BECCA NESSUN PRODTTO PROMETEIA +-- CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN +-- ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA END + PATRIMONIO_BF.ISIN AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + --V FRANCHIGIA CC +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV_NOMINALE +-- END AS CtvNominale, + PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, + --PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV +-- END AS CtvReale + PATRIMONIO_BF.CTV AS CtvReale + FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport_AND VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MART.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + AND ANAG_PRODOTTI.COD_ISIN = PATRIMONIO_BF.ISIN + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASU2') + UNION ALL + -- PATRIMONIO ASUL + SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- +-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN +-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + CASE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO --SELEZIONE DEL CODICEPRODOTTO: DETTAGLIO_ASUL.COD_ISIN_FITTIZIO, DETTAGLIO_ASUL.COD_SOTTOPRODOTTO, '$' + WHEN '' THEN DETTAGLIO_ASUL.COD_ISIN_SOTT + ELSE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO + END AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + DETTAGLIO_ASUL.CTV AS CtvNominale, + DETTAGLIO_ASUL.CTV AS CtvReale + FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.DETTAGLIO_ASUL + ON DETTAGLIO_ASUL.ID_CONTRATTO = PATRIMONIO_BF.ID_CONTRATTO + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport_AND VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASUL') + --V S 20110823 Disabilitazione contratti liquidati in quanto sulla dettaglio asul il ctv rimane <> 0 +-- AND PATRIMONIO_BF.COD_STATO <> 'L' +-- AND PATRIMONIO_BF.CTV <> 0 + UNION ALL + -- PATRIMONIO TERZI + SELECT + INTERMEDIARIO.RETE AS Rete, + INTERMEDIARIO.CODICEFISCALE AS CodiceFiscale, + INTERMEDIARIO.PORTAFOGLIO AS Portafoglio, + INTERMEDIARIO.CODICEADEGUATEZZA AS CodiceProdotto, + INTERMEDIARIO.PIAZZA AS Piazza, + INTERMEDIARIO.CODICEVALUTA AS CodiceValuta, + INTERMEDIARIO.CLASSE AS Classe, + INTERMEDIARIO.CONTROVALORE AS CtvNominale, + INTERMEDIARIO.CONTROVALORE AS CtvReale + FROM C6MART.VPROMETEIATERZIINTERMEDIARIO INTERMEDIARIO + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport_AND VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = INTERMEDIARIO.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = INTERMEDIARIO.CODICEFISCALE + UNION ALL + -- PATRIMONIO TERZI X TIPO PRODOTTO + SELECT + CATEGORIAPRODOTTO.RETE AS Rete, + CATEGORIAPRODOTTO.CODICEFISCALE AS CodiceFiscale, + CATEGORIAPRODOTTO.PORTAFOGLIO AS Portafoglio, + CATEGORIAPRODOTTO.CODICEADEGUATEZZA AS CodiceProdotto, + CATEGORIAPRODOTTO.PIAZZA AS Piazza, + CATEGORIAPRODOTTO.CODICEVALUTA AS CodiceValuta, + CATEGORIAPRODOTTO.CLASSE AS Classe, + CATEGORIAPRODOTTO.CONTROVALORE AS CtvNominale, + CATEGORIAPRODOTTO.CONTROVALORE AS CtvReale + FROM C6MART.VPROMETEIATERZICATEGORIAPRODOTTO CATEGORIAPRODOTTO + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport_AND VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = CATEGORIAPRODOTTO.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = CATEGORIAPRODOTTO.CODICEFISCALE +--V Conti correnti Fideuram +union all +SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE +-- WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN +-- 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- + WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + 'COMPLESSIVO|BF|CC'-- + PATRIMONIO_BF.POSITION_ID + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'COMPLESSIVO|BF|CC' +-- ELSE +-- 'COMPLESSIVO|BF|' + +-- LEFT(PATRIMONIO_BF.ID_AREA,3) + +-- CASE +-- WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO +-- ELSE '' +-- END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, +-- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA +-- ELSE ANAG_PRODOTTI.COD_ISIN +-- END AS CodiceProdotto, +-- MODIFICA LUCA +-- CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN +-- ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA +-- END + 'EUR' AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + --V FRANCHIGIA CC +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV_NOMINALE +-- END AS CtvNominale, + case when (sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0 end AS CtvNominale , +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV +-- END AS CtvReale + case when (sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0 end AS CtvReale +FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport_AND VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MART.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('CC') +group by + PATRIMONIO_BF.rete, + PATRIMONIO_BF.cod_fiscale, + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END, + CASE +-- WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN +-- 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- + WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + 'COMPLESSIVO|BF|CC'-- + PATRIMONIO_BF.POSITION_ID + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'COMPLESSIVO|BF|CC' +-- ELSE +-- 'COMPLESSIVO|BF|' + +-- LEFT(PATRIMONIO_BF.ID_AREA,3) + +-- CASE +-- WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO +-- ELSE '' +-- END + '|' + PATRIMONIO_BF.POSITION_ID + END \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_rp_vTuttiIPortafogli_BK_eligoTitoli.sql b/sql/Produzione/viste/C6Mart_rp_vTuttiIPortafogli_BK_eligoTitoli.sql new file mode 100644 index 00000000..dfc7b461 --- /dev/null +++ b/sql/Produzione/viste/C6Mart_rp_vTuttiIPortafogli_BK_eligoTitoli.sql @@ -0,0 +1,247 @@ +--modificata per i cc in liq Marianna +CREATE VIEW [C6Mart].[rp_vTuttiIPortafogli_BK_eligoTitoli] +AS +SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN +-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, +-- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA +-- ELSE ANAG_PRODOTTI.COD_ISIN +-- END AS CodiceProdotto, +-- MODIFICA LUCA + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, +--INIZIO INTERVENTO OMNIA +-- PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, +-- PATRIMONIO_BF.CTV AS CtvReale + case when PATRIMONIO_BF.ISIN = 'EURO00000009' then 0.0000 + else PATRIMONIO_BF.CTV_NOMINALE end AS CtvNominale , + case when PATRIMONIO_BF.ISIN = 'EURO00000009' then 0.0000 + else PATRIMONIO_BF.CTV end AS CtvReale +--FINE INTERVENTO OMNIA + FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MART.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + WHERE PATRIMONIO_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC','ASU2') +--INIZIO INTERVENTO OMNIA + AND PATRIMONIO_BF.ID_AREA <> 'SELF' +--FINE INTERVENTO OMNIA +UNION ALL +---V Modifica per calcolo VaR prodotti ASU2 +SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN +-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, +-- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA +-- ELSE ANAG_PRODOTTI.COD_ISIN +-- END AS CodiceProdotto, +---- MODIFICA LUCA +--V Modifica per gli ASU2 CON IL COD_ADEGUATEZZA NON BECCA NESSUN PRODTTO PROMETEIA +-- CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN +-- ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA END + PATRIMONIO_BF.ISIN AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + --V FRANCHIGIA CC +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV_NOMINALE +-- END AS CtvNominale, + PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, + --PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV +-- END AS CtvReale + PATRIMONIO_BF.CTV AS CtvReale + FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MART.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + AND ANAG_PRODOTTI.COD_ISIN = PATRIMONIO_BF.ISIN + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASU2') + UNION ALL + -- PATRIMONIO ASUL + SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- +-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN +-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + CASE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO --SELEZIONE DEL CODICEPRODOTTO: DETTAGLIO_ASUL.COD_ISIN_FITTIZIO, DETTAGLIO_ASUL.COD_SOTTOPRODOTTO, '$' + WHEN '' THEN DETTAGLIO_ASUL.COD_ISIN_SOTT + ELSE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO + END AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + DETTAGLIO_ASUL.CTV AS CtvNominale, + DETTAGLIO_ASUL.CTV AS CtvReale + FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.DETTAGLIO_ASUL + ON DETTAGLIO_ASUL.ID_CONTRATTO = PATRIMONIO_BF.ID_CONTRATTO + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASUL') + --V S 20110823 Disabilitazione contratti liquidati in quanto sulla dettaglio asul il ctv rimane <> 0 +-- AND PATRIMONIO_BF.COD_STATO <> 'L' +-- AND PATRIMONIO_BF.CTV <> 0 + UNION ALL + -- PATRIMONIO TERZI + SELECT + INTERMEDIARIO.RETE AS Rete, + INTERMEDIARIO.CODICEFISCALE AS CodiceFiscale, + INTERMEDIARIO.PORTAFOGLIO AS Portafoglio, + INTERMEDIARIO.CODICEADEGUATEZZA AS CodiceProdotto, + INTERMEDIARIO.PIAZZA AS Piazza, + INTERMEDIARIO.CODICEVALUTA AS CodiceValuta, + INTERMEDIARIO.CLASSE AS Classe, + INTERMEDIARIO.CONTROVALORE AS CtvNominale, + INTERMEDIARIO.CONTROVALORE AS CtvReale + FROM C6MART.VPROMETEIATERZIINTERMEDIARIO INTERMEDIARIO + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = INTERMEDIARIO.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = INTERMEDIARIO.CODICEFISCALE + UNION ALL + -- PATRIMONIO TERZI X TIPO PRODOTTO + SELECT + CATEGORIAPRODOTTO.RETE AS Rete, + CATEGORIAPRODOTTO.CODICEFISCALE AS CodiceFiscale, + CATEGORIAPRODOTTO.PORTAFOGLIO AS Portafoglio, + CATEGORIAPRODOTTO.CODICEADEGUATEZZA AS CodiceProdotto, + CATEGORIAPRODOTTO.PIAZZA AS Piazza, + CATEGORIAPRODOTTO.CODICEVALUTA AS CodiceValuta, + CATEGORIAPRODOTTO.CLASSE AS Classe, + CATEGORIAPRODOTTO.CONTROVALORE AS CtvNominale, + CATEGORIAPRODOTTO.CONTROVALORE AS CtvReale + FROM C6MART.VPROMETEIATERZICATEGORIAPRODOTTO CATEGORIAPRODOTTO + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = CATEGORIAPRODOTTO.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = CATEGORIAPRODOTTO.CODICEFISCALE +--V Conti correnti Fideuram +union all +SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE +-- WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN +-- 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- + WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + 'COMPLESSIVO|BF|CC'-- + PATRIMONIO_BF.POSITION_ID + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'COMPLESSIVO|BF|CC' +-- ELSE +-- 'COMPLESSIVO|BF|' + +-- LEFT(PATRIMONIO_BF.ID_AREA,3) + +-- CASE +-- WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO +-- ELSE '' +-- END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, +-- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA +-- ELSE ANAG_PRODOTTI.COD_ISIN +-- END AS CodiceProdotto, +-- MODIFICA LUCA +-- CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN +-- ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA +-- END + 'EUR' AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + --V FRANCHIGIA CC +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV_NOMINALE +-- END AS CtvNominale, + case when (sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0 end AS CtvNominale , +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV +-- END AS CtvReale + case when (sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0 end AS CtvReale +FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MART.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('CC') +group by + PATRIMONIO_BF.rete, + PATRIMONIO_BF.cod_fiscale, + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END, + CASE +-- WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN +-- 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- + WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + 'COMPLESSIVO|BF|CC'-- + PATRIMONIO_BF.POSITION_ID + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'COMPLESSIVO|BF|CC' +-- ELSE +-- 'COMPLESSIVO|BF|' + +-- LEFT(PATRIMONIO_BF.ID_AREA,3) + +-- CASE +-- WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO +-- ELSE '' +-- END + '|' + PATRIMONIO_BF.POSITION_ID + END \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_rp_vTuttiIPortafogli_aladdin.sql b/sql/Produzione/viste/C6Mart_rp_vTuttiIPortafogli_aladdin.sql new file mode 100644 index 00000000..8dc004ef --- /dev/null +++ b/sql/Produzione/viste/C6Mart_rp_vTuttiIPortafogli_aladdin.sql @@ -0,0 +1,553 @@ +--modificata per i cc in liq Marianna +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 01/12/2014) +CREATE VIEW [C6Mart].[rp_vTuttiIPortafogli_aladdin] +AS +--349 +SELECT + PATRIMONIO_BF.RETE AS Rete, + --PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + -------------------------------------------------- diff cf|Piva|fid codman + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 16 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END AS CODFIS, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 11 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END AS PIVA, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) < 11 THEN substring(PATRIMONIO_BF.COD_FISCALE,4,6) ELSE '' END AS CODMAN, + ------------------------------------------------ + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN +-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, +-- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA +-- ELSE ANAG_PRODOTTI.COD_ISIN +-- END AS CodiceProdotto, +-- MODIFICA LUCA + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END AS CodiceProdotto, + --- 23//5/2018 ---------------------------------------- + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA + WHEN '$' THEN '' + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END AS CodiceAdeguatezza, + ----------------------------------------------------------- + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_INTERNO, ''))) AS codiceInterno, + '' AS CodiceValuta, + '' AS Classe, +--INIZIO INTERVENTO OMNIA +-- PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, +-- PATRIMONIO_BF.CTV AS CtvReale + case when PATRIMONIO_BF.ISIN in('EURO00000009', 'EURO10000007') then 0.0000 + else PATRIMONIO_BF.CTV_NOMINALE end AS CtvNominale , + case when PATRIMONIO_BF.ISIN in('EURO00000009', 'EURO10000007') then 0.0000 + else PATRIMONIO_BF.CTV end AS CtvReale , +--FINE INTERVENTO OMNIA + 'COMPLESSIVO|BF' as tipoptf, + isnull(ANAG_PRODOTTI.cod_maf,'') as cod_maf, + '' as intermediario, + ANAG_PRODOTTI.tipo_prodotto as famprodt, + '' as assetterzi, + substring(patrimonio_bf.position_id,58,11) as codconf, + substring(patrimonio_bf.position_id,69,12) as conto, + substring(patrimonio_bf.position_id,81,4) as rubr, + substring(patrimonio_bf.position_id,85,1) as custgar, + ANAG_PRODOTTI.cod_interno as cod_interno, + substring(patrimonio_bf.position_id,97,8) as termid, + substring(patrimonio_bf.position_id,105,3) as annos, + substring(patrimonio_bf.position_id,108,8) as progs, + --CASE + -- when core.fondocore > 0 then '' + -- ELSE ANAG_PRODOTTI.cod_isin + --END as cod_isin, + CASE + when isnull(core.fondocore,0) > 0 or (LEN(isnull(ANAG_PRODOTTI.cod_isin,''))<12 and isnull(core.fondocore,0)=0 and ANAG_PRODOTTI.tipo_prodotto not in ('GP','CC','DT'))then '' + ELSE ANAG_PRODOTTI.cod_isin + END as cod_isin, + isnull(ANAG_PRODOTTI.cod_sottoprodotto,'') as cod_sottoProdotto, + LEFT(PATRIMONIO_BF.ID_AREA,3) as area, + CASE + WHEN isnull(PATRIMONIO_BF.NOME_PROGETTO, '') <> '' THEN PATRIMONIO_BF.NOME_PROGETTO + ELSE 'Progetto investimento' + END as Progetto, + case when isnull(PATRIMONIO_BF.ID_AREA,'') = 'NA' then '' + else isnull(rep.chiaveProgetto,'') end as codprj, + '' as chiave_prodotto_terzi, + substring(patrimonio_bf.position_id,86,11) as numpolizza, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN +-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END + '@' + CAST(ROW_NUMBER() OVER (ORDER BY PATRIMONIO_BF.RETE ASC,CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 16 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 11 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END , + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) < 11 THEN substring(PATRIMONIO_BF.COD_FISCALE,4,6) ELSE '' END) AS varchar ) as position_id + FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MART.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + left join (select fondocore,catalogueid from c6stagingperiodico.rp_catalogoprodotti where fondocore>0) as core + on Patrimonio_BF.cod_prodotto = core.catalogueid + inner join C6Staging.RP_Consulenza rep + on rep.position_id = PATRIMONIO_BF.POSITION_ID + WHERE PATRIMONIO_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC','ASU2') +--INIZIO INTERVENTO OMNIA + AND PATRIMONIO_BF.ID_AREA <> 'SELF' +--FINE INTERVENTO OMNIA +UNION ALL +---V Modifica per calcolo VaR prodotti ASU2 +SELECT + PATRIMONIO_BF.RETE AS Rete, + --PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + -------------------------------------------------- diff cf|Piva|fid codman + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 16 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END AS CODFIS, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 11 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END AS PIVA, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) < 11 THEN substring(PATRIMONIO_BF.COD_FISCALE,4,6) ELSE '' END AS CODMAN, + ------------------------------------------------ + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN +-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, +-- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA +-- ELSE ANAG_PRODOTTI.COD_ISIN +-- END AS CodiceProdotto, +---- MODIFICA LUCA +--V Modifica per gli ASU2 CON IL COD_ADEGUATEZZA NON BECCA NESSUN PRODTTO PROMETEIA +-- CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN +-- ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA END + PATRIMONIO_BF.ISIN AS CodiceProdotto, + --- 23//5/2018 + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA + WHEN '$' THEN '' + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END AS CodiceAdeguatezza, + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_INTERNO, ''))) AS codiceInterno, + '' AS CodiceValuta, + '' AS Classe, + --V FRANCHIGIA CC +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV_NOMINALE +-- END AS CtvNominale, + PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, + --PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV +-- END AS CtvReale + PATRIMONIO_BF.CTV AS CtvReale, + 'COMPLESSIVO|BF' as tipoptf, + isnull(ANAG_PRODOTTI.cod_maf,'') as cod_maf, + '' as intermediario, + ANAG_PRODOTTI.tipo_prodotto as famprodt, + '' as assetterzi, + substring(patrimonio_bf.position_id,58,11) as codconf, + substring(patrimonio_bf.position_id,69,12) as conto, + substring(patrimonio_bf.position_id,81,4) as rubr, + substring(patrimonio_bf.position_id,85,1) as custgar, + isnull(ANAG_PRODOTTI.cod_interno,'') as cod_interno, + substring(patrimonio_bf.position_id,97,8) as termid, + substring(patrimonio_bf.position_id,105,3) as annos, + substring(patrimonio_bf.position_id,108,8) as progs, + ANAG_PRODOTTI.cod_isin as cod_isin, + isnull(ANAG_PRODOTTI.cod_sottoprodotto,'') as cod_sottoProdotto, + LEFT(PATRIMONIO_BF.ID_AREA,3) as area, + CASE + WHEN isnull(PATRIMONIO_BF.NOME_PROGETTO, '') <> '' THEN PATRIMONIO_BF.NOME_PROGETTO + ELSE 'Progetto investimento' + END as Progetto, + case when isnull(PATRIMONIO_BF.ID_AREA,'') = 'NA' then '' + else isnull(rep.chiaveProgetto,'') end as codprj, + '' as chiave_prodotto_terzi, + substring(patrimonio_bf.position_id,86,11) as numpolizza, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN +-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END + '@' + CAST(ROW_NUMBER() OVER (ORDER BY PATRIMONIO_BF.RETE ASC,CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 16 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 11 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END , + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) < 11 THEN substring(PATRIMONIO_BF.COD_FISCALE,4,6) ELSE '' END) AS varchar ) as position_id + FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MART.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + AND ANAG_PRODOTTI.COD_ISIN = PATRIMONIO_BF.ISIN + inner join C6Staging.RP_Consulenza rep + on rep.position_id = PATRIMONIO_BF.POSITION_ID + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASU2') + UNION ALL + -- PATRIMONIO ASUL + SELECT + PATRIMONIO_BF.RETE AS Rete, + --PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + -------------------------------------------------- diff cf|Piva|fid codman + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 16 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END AS CODFIS, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 11 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END AS PIVA, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) < 11 THEN substring(PATRIMONIO_BF.COD_FISCALE,4,6) ELSE '' END AS CODMAN, + ------------------------------------------------ + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- +-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN +-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + CASE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO --SELEZIONE DEL CODICEPRODOTTO: DETTAGLIO_ASUL.COD_ISIN_FITTIZIO, DETTAGLIO_ASUL.COD_SOTTOPRODOTTO, '$' + WHEN '' THEN DETTAGLIO_ASUL.COD_ISIN_SOTT + ELSE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO + END AS CodiceProdotto, + --- 10/5/2021 nuovo sviluppo aladdin------------------------------------------------- + CASE isnull(ANAG_PRODOTTI.COD_ADEGUATEZZA,'') + WHEN '$' THEN '' + ELSE isnull(ANAG_PRODOTTI.COD_ADEGUATEZZA,'') + END AS CodiceAdeguatezza, + --------------------------------------------------------------- + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_INTERNO, ''))) AS codiceInterno, + '' AS CodiceValuta, + '' AS Classe, + DETTAGLIO_ASUL.CTV AS CtvNominale, + DETTAGLIO_ASUL.CTV AS CtvReale, + 'COMPLESSIVO|BF' as tipoptf, + isnull(DETTAGLIO_ASUL.cod_maf_sott,'') as cod_maf, + '' as intermediario, + 'ASUL' as famprodt, + '' as assetterzi, + substring(patrimonio_bf.position_id,58,11) as codconf, + substring(patrimonio_bf.position_id,69,12) as conto, + substring(patrimonio_bf.position_id,81,4) as rubr, + substring(patrimonio_bf.position_id,85,1) as custgar, + DETTAGLIO_ASUL.cod_interno as cod_interno, + substring(patrimonio_bf.position_id,97,8) as termid, + substring(patrimonio_bf.position_id,105,3) as annos, + substring(patrimonio_bf.position_id,108,8) as progs, + DETTAGLIO_ASUL.cod_isin_fittizio as cod_isin, + --ANAG_PRODOTTI.cod_sottoprodotto as cod_sottoProdotto, + ISNULL(DETTAGLIO_ASUL.cod_sottoprodotto, '') --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + AS cod_sottoProdotto, + LEFT(PATRIMONIO_BF.ID_AREA,3) as area, + CASE + WHEN isnull(PATRIMONIO_BF.NOME_PROGETTO, '') <> '' THEN PATRIMONIO_BF.NOME_PROGETTO + ELSE 'Progetto investimento' + END as Progetto, + case when isnull(PATRIMONIO_BF.ID_AREA,'') = 'NA' then '' + else isnull(rep.chiaveProgetto,'') end as codprj, + '' as chiave_prodotto_terzi, + substring(patrimonio_bf.position_id,86,11) as numpolizza, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- +-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN +-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END + '@' + CAST(ROW_NUMBER() OVER (ORDER BY PATRIMONIO_BF.RETE ASC,CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 16 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 11 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END , + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) < 11 THEN substring(PATRIMONIO_BF.COD_FISCALE,4,6) ELSE '' END) AS varchar ) as position_id + FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.DETTAGLIO_ASUL + ON DETTAGLIO_ASUL.ID_CONTRATTO = PATRIMONIO_BF.ID_CONTRATTO + INNER JOIN c6mart.ANAG_PRODOTTI ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = DETTAGLIO_ASUL.COD_PRODOTTO + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + inner join C6Staging.RP_Consulenza rep + on rep.position_id = PATRIMONIO_BF.POSITION_ID + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASUL') + --old + --FROM C6Mart.PATRIMONIO_BF + --INNER JOIN C6MART.DETTAGLIO_ASUL + -- ON DETTAGLIO_ASUL.ID_CONTRATTO = PATRIMONIO_BF.ID_CONTRATTO + --INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + -- ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + -- AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + --WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASUL') + --fine_old + --V S 20110823 Disabilitazione contratti liquidati in quanto sulla dettaglio asul il ctv rimane <> 0 +-- AND PATRIMONIO_BF.COD_STATO <> 'L' +-- AND PATRIMONIO_BF.CTV <> 0 + UNION ALL + --57 + -- PATRIMONIO TERZI + SELECT + INTERMEDIARIO.RETE AS Rete, + -------------------------------------------------- diff cf|Piva|fid codman + CASE WHEN LEN(LTRIM(RTRIM(INTERMEDIARIO.CODICEFISCALE))) = 16 THEN INTERMEDIARIO.CODICEFISCALE ELSE '' END AS CODFIS, + CASE WHEN LEN(LTRIM(RTRIM(INTERMEDIARIO.CODICEFISCALE))) = 11 THEN INTERMEDIARIO.CODICEFISCALE ELSE '' END AS PIVA, + CASE WHEN LEN(LTRIM(RTRIM(INTERMEDIARIO.CODICEFISCALE))) < 11 THEN substring(INTERMEDIARIO.CODICEFISCALE,4,6) ELSE '' END AS CODMAN, + ------------------------------------------------ + INTERMEDIARIO.PORTAFOGLIO AS Portafoglio, + INTERMEDIARIO.CODICEADEGUATEZZA AS CodiceProdotto, + --- 23//5/2018------------------------------------------------- + --'' AS CodiceAdeguatezza, + --------------------------------------------------------------- + INTERMEDIARIO.CODICEADEGUATEZZA AS CodiceAdeguatezza, --modifica 050520 per anomalie Levi + INTERMEDIARIO.PIAZZA AS Piazza, + INTERMEDIARIO.CODICEVALUTA AS CodiceValuta, + INTERMEDIARIO.CLASSE AS Classe, + INTERMEDIARIO.CONTROVALORE AS CtvNominale, + INTERMEDIARIO.CONTROVALORE AS CtvReale, + INTERMEDIARIO.tipoptf as tipoptf, + isnull(INTERMEDIARIO.codiceMaf,'') as cod_maf, + INTERMEDIARIO.INTERMEDIARIO as intermediario, + INTERMEDIARIO.FAMPRODT as famprodt, + INTERMEDIARIO.Asset_Terzi as assetterzi, + '' as codconf, + '' as conto, + '' as rubr, + '' as custgar, + '' as cod_interno, + '' as termid, + '' as annos, + '' as progs, + INTERMEDIARIO.codiceisin as cod_isin, + --ANAG_PRODOTTI.cod_sottoprodotto as cod_sottoProdotto, + isnull(intermediario.CODiceSOTTOPRODOTTO,'') AS cod_sottoProdotto, + '' as area, + '' as Progetto, + '' as codprj, + intermediario.COD_PRODOTTO_TERZI as chiave_prodotto_terzi, + '' as numpolizza, + INTERMEDIARIO.PORTAFOGLIO + '@' + CAST(ROW_NUMBER() OVER (ORDER BY INTERMEDIARIO.RETE ASC,CASE WHEN LEN(LTRIM(RTRIM(INTERMEDIARIO.CODICEFISCALE))) = 16 THEN INTERMEDIARIO.CODICEFISCALE ELSE '' END, + CASE WHEN LEN(LTRIM(RTRIM(INTERMEDIARIO.CODICEFISCALE))) = 11 THEN INTERMEDIARIO.CODICEFISCALE ELSE '' END , + CASE WHEN LEN(LTRIM(RTRIM(INTERMEDIARIO.CODICEFISCALE))) < 11 THEN substring(INTERMEDIARIO.CODICEFISCALE,4,6) ELSE '' END) AS varchar ) as position_id + FROM C6MART.VPROMETEIATERZIINTERMEDIARIO_aladdin INTERMEDIARIO + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = INTERMEDIARIO.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = INTERMEDIARIO.CODICEFISCALE + UNION ALL + --55 + -- PATRIMONIO TERZI X TIPO PRODOTTO + SELECT + CATEGORIAPRODOTTO.RETE AS Rete, + -------------------------------------------------- diff cf|Piva|fid codman + CASE WHEN LEN(LTRIM(RTRIM(CATEGORIAPRODOTTO.CODICEFISCALE))) = 16 THEN CATEGORIAPRODOTTO.CODICEFISCALE ELSE '' END AS CODFIS, + CASE WHEN LEN(LTRIM(RTRIM(CATEGORIAPRODOTTO.CODICEFISCALE))) = 11 THEN CATEGORIAPRODOTTO.CODICEFISCALE ELSE '' END AS PIVA, + CASE WHEN LEN(LTRIM(RTRIM(CATEGORIAPRODOTTO.CODICEFISCALE))) < 11 THEN substring(CATEGORIAPRODOTTO.CODICEFISCALE,4,6) ELSE '' END AS CODMAN, + ------------------------------------------------ + CATEGORIAPRODOTTO.PORTAFOGLIO AS Portafoglio, + CATEGORIAPRODOTTO.CODICEADEGUATEZZA AS CodiceProdotto, + --- 23//5/2018------------------------------------------------- + '' AS CodiceAdeguatezza, + --------------------------------------------------------------- + CATEGORIAPRODOTTO.PIAZZA AS Piazza, + CATEGORIAPRODOTTO.CODICEVALUTA AS CodiceValuta, + CATEGORIAPRODOTTO.CLASSE AS Classe, + CATEGORIAPRODOTTO.CONTROVALORE AS CtvNominale, + CATEGORIAPRODOTTO.CONTROVALORE AS CtvReale, + CATEGORIAPRODOTTO.tipoptf as tipoptf, + isnull(CATEGORIAPRODOTTO.codiceMaf,'') as cod_maf, + '' as intermediario, + CATEGORIAPRODOTTO.famprodt as famprodt, + CATEGORIAPRODOTTO.Asset_Terzi as assetterzi, + '' as codconf, + '' as conto, + '' as rubr, + '' as custgar, + '' as cod_interno, + '' as termid, + '' as annos, + '' as progs, + CATEGORIAPRODOTTO.codiceisin as cod_isin, + --ANAG_PRODOTTI.cod_sottoprodotto as cod_sottoProdotto, + isnull(CATEGORIAPRODOTTO.CODiceSOTTOPRODOTTO,'') AS cod_sottoProdotto, + '' as area, + '' as Progetto, + '' as codprj, + CATEGORIAPRODOTTO.COD_PRODOTTO_TERZI as chiave_prodotto_terzi, + '' as numpolizza, + CATEGORIAPRODOTTO.PORTAFOGLIO + '@' + CAST(ROW_NUMBER() OVER (ORDER BY CATEGORIAPRODOTTO.RETE ASC, + CASE WHEN LEN(LTRIM(RTRIM(CATEGORIAPRODOTTO.CODICEFISCALE))) = 16 THEN CATEGORIAPRODOTTO.CODICEFISCALE ELSE '' END, + CASE WHEN LEN(LTRIM(RTRIM(CATEGORIAPRODOTTO.CODICEFISCALE))) = 11 THEN CATEGORIAPRODOTTO.CODICEFISCALE ELSE '' END , + CASE WHEN LEN(LTRIM(RTRIM(CATEGORIAPRODOTTO.CODICEFISCALE))) < 11 THEN substring(CATEGORIAPRODOTTO.CODICEFISCALE,4,6) ELSE '' END) AS varchar ) as position_id + FROM C6MART.VPROMETEIATERZICATEGORIAPRODOTTO_aladdin CATEGORIAPRODOTTO + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = CATEGORIAPRODOTTO.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = CATEGORIAPRODOTTO.CODICEFISCALE +--V Conti correnti Fideuram +union all +--70 +SELECT + PATRIMONIO_BF.RETE AS Rete, + --PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + -------------------------------------------------- diff cf|Piva|fid codman + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 16 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END AS CODFIS, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 11 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END AS PIVA, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) < 11 THEN substring(PATRIMONIO_BF.COD_FISCALE,4,6) ELSE '' END AS CODMAN, + ------------------------------------------------ + CASE +-- WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN +-- 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- + WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + 'COMPLESSIVO|BF|CC'-- + PATRIMONIO_BF.POSITION_ID + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'COMPLESSIVO|BF|CC' +-- ELSE +-- 'COMPLESSIVO|BF|' + +-- LEFT(PATRIMONIO_BF.ID_AREA,3) + +-- CASE +-- WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO +-- ELSE '' +-- END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, +-- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA +-- ELSE ANAG_PRODOTTI.COD_ISIN +-- END AS CodiceProdotto, +-- MODIFICA LUCA +-- CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN +-- ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA +-- END + '' AS CodiceProdotto, + --- 23//5/2018 ---------------------------------------- + 'EUR' AS CodiceAdeguatezza, + ----------------------------------------------------------- + 'EUR' AS Piazza, + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_MAF, ''))) AS CodiceValuta, --codiceMAF + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_SOTTOPRODOTTO, ''))) AS Classe, + --V FRANCHIGIA CC +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV_NOMINALE +-- END AS CtvNominale, + case when (sum(PATRIMONIO_BF.CTV_NOMINALE) - c6staging.getImportoSpesa(PATRIMONIO_BF.RETE,PATRIMONIO_BF.Cod_Fiscale))>0 then sum(PATRIMONIO_BF.CTV_NOMINALE) - c6staging.getImportoSpesa(PATRIMONIO_BF.RETE,PATRIMONIO_BF.Cod_Fiscale) + else 0 end AS CtvNominale , +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV +-- END AS CtvReale + case when (sum(PATRIMONIO_BF.CTV) - c6staging.getImportoSpesa(PATRIMONIO_BF.RETE,PATRIMONIO_BF.Cod_Fiscale))>0 then sum(PATRIMONIO_BF.CTV) - c6staging.getImportoSpesa(PATRIMONIO_BF.RETE,PATRIMONIO_BF.Cod_Fiscale) + else 0 end AS CtvReale , + 'COMPLESSIVO|BF' as tipoptf, + '' as cod_maf, + '' as intermediario, + 'CC' as famprodt, + '' as assetterzi, + '' as codconf, + '' as conto, + '' as rubr, + '' as custgar, + 'EUR' as cod_interno, + '' as termid, + '' as annos, + '' as progs, + 'EUR' as cod_isin, + '' as cod_sottoProdotto, + case WHEN LEFT(PATRIMONIO_BF.ID_AREA,3) = 'Cc' THEN + 'Liq'-- + PATRIMONIO_BF.POSITION_ID + WHEN (LEFT(PATRIMONIO_BF.ID_AREA,3) = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'Liq' + END as area, + CASE + WHEN isnull(PATRIMONIO_BF.NOME_PROGETTO, '') <> '' THEN PATRIMONIO_BF.NOME_PROGETTO + ELSE 'Progetto investimento' + END as Progetto, + '' as codprj, + '' as chiave_prodotto_terzi, + '' as numpolizza, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + 'COMPLESSIVO|BF|CC' + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'COMPLESSIVO|BF|CC' + END + '@' + CAST(ROW_NUMBER() OVER (ORDER BY PATRIMONIO_BF.RETE ASC, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 16 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 11 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END , + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) < 11 THEN substring(PATRIMONIO_BF.COD_FISCALE,4,6) ELSE '' END) AS varchar ) + as position_id +FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MART.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + --left join c6mart.mifid mifid + -- on mifid.RETE=PATRIMONIO_BF.RETE + --AND mifid.COD_FISCALE = mifid.COD_FISCALE + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('CC') +group by + PATRIMONIO_BF.rete, + PATRIMONIO_BF.cod_fiscale, + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END, + CASE +-- WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN +-- 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- + WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + 'COMPLESSIVO|BF|CC'-- + PATRIMONIO_BF.POSITION_ID + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'COMPLESSIVO|BF|CC' +-- ELSE +-- 'COMPLESSIVO|BF|' + +-- LEFT(PATRIMONIO_BF.ID_AREA,3) + +-- CASE +-- WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO +-- ELSE '' +-- END + '|' + PATRIMONIO_BF.POSITION_ID + END, + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_MAF, ''))) , --codiceMAF + ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_SOTTOPRODOTTO, ''))), + case WHEN LEFT(PATRIMONIO_BF.ID_AREA,3) = 'Cc' THEN + 'Liq'-- + PATRIMONIO_BF.POSITION_ID + WHEN (LEFT(PATRIMONIO_BF.ID_AREA,3) = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'Liq' + END , + CASE + WHEN isnull(PATRIMONIO_BF.NOME_PROGETTO, '') <> '' THEN PATRIMONIO_BF.NOME_PROGETTO + ELSE 'Progetto investimento' + end \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_rp_vTuttiIPortafogli_newkey.sql b/sql/Produzione/viste/C6Mart_rp_vTuttiIPortafogli_newkey.sql new file mode 100644 index 00000000..579293b7 --- /dev/null +++ b/sql/Produzione/viste/C6Mart_rp_vTuttiIPortafogli_newkey.sql @@ -0,0 +1,286 @@ +--modificata per i cc in liq Marianna +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 01/12/2014) +--select * from [C6Mart].[rp_vTuttiIPortafogli_newkey] +CREATE VIEW [C6Mart].[rp_vTuttiIPortafogli_newkey] +AS +SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN +-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, +-- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA +-- ELSE ANAG_PRODOTTI.COD_ISIN +-- END AS CodiceProdotto, +-- MODIFICA LUCA +/*NKCD CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END NKCD*/case when isnull(anag_prodotti.cod_isin,'')='' +then isnull(anag_prodotti.cod_adeguatezza,'') else anag_prodotti.cod_isin end AS CodiceProdotto, + --- 23//5/2018 ---------------------------------------- +/*NKCD CASE ANAG_PRODOTTI.COD_ADEGUATEZZA + WHEN '$' THEN '' + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END NKCD*/case when isnull(anag_prodotti.cod_adeguatezza,'')='' +then isnull(anag_prodotti.cod_isin,'') else anag_prodotti.cod_adeguatezza end AS CodiceAdeguatezza, + ----------------------------------------------------------- + /*NKCD''NKCD*/isnull(anag_prodotti.cod_interno,'') AS Piazza, + /*NKCD''NKCD*/isnull(anag_prodotti.cod_maf,'') AS CodiceValuta, + /*NKCD''NKCD*/isnull(anag_prodotti.cod_sottoprodotto,'') AS Classe, +--INIZIO INTERVENTO OMNIA +-- PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, +-- PATRIMONIO_BF.CTV AS CtvReale + case when PATRIMONIO_BF.ISIN in('EURO00000009', 'EURO10000007') then 0.0000 + else PATRIMONIO_BF.CTV_NOMINALE end AS CtvNominale , + case when PATRIMONIO_BF.ISIN in('EURO00000009', 'EURO10000007') then 0.0000 + else PATRIMONIO_BF.CTV end AS CtvReale +--FINE INTERVENTO OMNIA + FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MART.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + WHERE PATRIMONIO_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC','ASU2') +--INIZIO INTERVENTO OMNIA + AND PATRIMONIO_BF.ID_AREA <> 'SELF' +--FINE INTERVENTO OMNIA +UNION ALL +---V Modifica per calcolo VaR prodotti ASU2 +SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN +-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, +-- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA +-- ELSE ANAG_PRODOTTI.COD_ISIN +-- END AS CodiceProdotto, +---- MODIFICA LUCA +--V Modifica per gli ASU2 CON IL COD_ADEGUATEZZA NON BECCA NESSUN PRODTTO PROMETEIA +-- CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN +-- ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA END + /*NKCD PATRIMONIO_BF.ISIN NKCD*/case when isnull(anag_prodotti.cod_adeguatezza,'')='' +then isnull(anag_prodotti.cod_isin,'') else anag_prodotti.cod_adeguatezza end AS CodiceProdotto, + --- 23//5/2018 + /*NKCD CASE ANAG_PRODOTTI.COD_ADEGUATEZZA + WHEN '$' THEN '' + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END NKCD*/ + case when isnull(anag_prodotti.cod_isin,'')='' +then isnull(anag_prodotti.cod_adeguatezza,'') else anag_prodotti.cod_isin end AS CodiceAdeguatezza, + /*NKCD''NKCD*/isnull(anag_prodotti.cod_interno,'') AS Piazza, + /*NKCD''NKCD*/isnull(anag_prodotti.cod_maf,'') AS CodiceValuta, + /*NKCD''NKCD*/isnull(anag_prodotti.cod_sottoprodotto,'') AS Classe, + --V FRANCHIGIA CC +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV_NOMINALE +-- END AS CtvNominale, + PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, + --PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV +-- END AS CtvReale + PATRIMONIO_BF.CTV AS CtvReale + FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MART.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + AND ANAG_PRODOTTI.COD_ISIN = PATRIMONIO_BF.ISIN + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASU2') + UNION ALL + -- PATRIMONIO ASUL + SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- +-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN +-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + /*NKCD CASE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO --SELEZIONE DEL CODICEPRODOTTO: DETTAGLIO_ASUL.COD_ISIN_FITTIZIO, DETTAGLIO_ASUL.COD_SOTTOPRODOTTO, '$' + WHEN '' THEN DETTAGLIO_ASUL.COD_ISIN_SOTT + ELSE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO + END NKCD*/case when isnull(DETTAGLIO_ASUL.COD_ISIN_FITTIZIO,'')='' +then DETTAGLIO_ASUL.COD_ISIN_SOTT else DETTAGLIO_ASUL.COD_ISIN_FITTIZIO end + AS CodiceProdotto, + --- 23//5/2018------------------------------------------------- + /*NKCD '' NKCD*/case when isnull(DETTAGLIO_ASUL.COD_ISIN_FITTIZIO,'')='' +then DETTAGLIO_ASUL.COD_ISIN_SOTT else DETTAGLIO_ASUL.COD_ISIN_FITTIZIO end AS CodiceAdeguatezza, + --------------------------------------------------------------- + /*NKCD '' NKCD*/isnull(DETTAGLIO_ASUL.COD_interno,'') AS Piazza, + /*NKCD '' NKCD*/isnull(PATRIMONIO_BF.COD_MAF,'') AS CodiceValuta, + /*NKCD '' NKCDDETTAGLIO_ASUL.COD_ISIN_FITTIZIO*/isnull(PATRIMONIO_BF.COD_SOTTOPRODOTTO,'') AS Classe, + DETTAGLIO_ASUL.CTV AS CtvNominale, + DETTAGLIO_ASUL.CTV AS CtvReale + FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.DETTAGLIO_ASUL + ON DETTAGLIO_ASUL.ID_CONTRATTO = PATRIMONIO_BF.ID_CONTRATTO + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASUL') + --V S 20110823 Disabilitazione contratti liquidati in quanto sulla dettaglio asul il ctv rimane <> 0 +-- AND PATRIMONIO_BF.COD_STATO <> 'L' +-- AND PATRIMONIO_BF.CTV <> 0 + UNION ALL + -- PATRIMONIO TERZI + SELECT + INTERMEDIARIO.RETE AS Rete, + INTERMEDIARIO.CODICEFISCALE AS CodiceFiscale, + INTERMEDIARIO.PORTAFOGLIO AS Portafoglio, + /*NKCD INTERMEDIARIO.CODICEADEGUATEZZA NKCD*/isnull(INTERMEDIARIO.codiceisin,'') AS CodiceProdotto, + --- 23//5/2018------------------------------------------------- + --'' AS CodiceAdeguatezza, + --------------------------------------------------------------- + /*NKCD INTERMEDIARIO.CODICEADEGUATEZZA NKCD*/isnull(INTERMEDIARIO.CODICEADEGUATEZZA,'') AS CodiceAdeguatezza, --modifica 050520 per anomalie Levi + /*NKCD INTERMEDIARIO.PIAZZA NKCD*/ isnull(INTERMEDIARIO.codiceinterno,'') AS Piazza, + /*NKCD INTERMEDIARIO.CODICEVALUTA NKCD*/ isnull(INTERMEDIARIO.CODICEMAF,'') AS CodiceValuta, + /*NKCD INTERMEDIARIO.CLASSE NKCD*/ isnull(INTERMEDIARIO.CODICESOTTOPRODOTTO,'') AS Classe, + INTERMEDIARIO.CONTROVALORE AS CtvNominale, + INTERMEDIARIO.CONTROVALORE AS CtvReale + FROM C6MART.VPROMETEIATERZIINTERMEDIARIO INTERMEDIARIO + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = INTERMEDIARIO.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = INTERMEDIARIO.CODICEFISCALE + UNION ALL + -- PATRIMONIO TERZI X TIPO PRODOTTO + SELECT + CATEGORIAPRODOTTO.RETE AS Rete, + CATEGORIAPRODOTTO.CODICEFISCALE AS CodiceFiscale, + CATEGORIAPRODOTTO.PORTAFOGLIO AS Portafoglio, + isnull(CATEGORIAPRODOTTO.CODICEisin,'') AS CodiceProdotto, + isnull(CATEGORIAPRODOTTO.codiceadeguatezza,'') AS CodiceAdeguatezza, + isnull(CATEGORIAPRODOTTO.CODICEinterno,'') AS Piazza, + isnull(CATEGORIAPRODOTTO.codicemaf,'') AS CodiceValuta, + isnull(CATEGORIAPRODOTTO.codicesottoprodotto,'') AS Classe, + /*NKCD CATEGORIAPRODOTTO.CODICEADEGUATEZZA AS CodiceProdotto, + --- 23//5/2018------------------------------------------------- + '' AS CodiceAdeguatezza, + --------------------------------------------------------------- + CATEGORIAPRODOTTO.PIAZZA AS Piazza, + CATEGORIAPRODOTTO.CODICEVALUTA AS CodiceValuta, + CATEGORIAPRODOTTO.CLASSE AS Classe, NKCD*/ + CATEGORIAPRODOTTO.CONTROVALORE AS CtvNominale, + CATEGORIAPRODOTTO.CONTROVALORE AS CtvReale + FROM C6MART.VPROMETEIATERZICATEGORIAPRODOTTO CATEGORIAPRODOTTO + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = CATEGORIAPRODOTTO.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = CATEGORIAPRODOTTO.CODICEFISCALE +--V Conti correnti Fideuram +union all +SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE +-- WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN +-- 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- + WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + 'COMPLESSIVO|BF|CC'-- + PATRIMONIO_BF.POSITION_ID + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'COMPLESSIVO|BF|CC' +-- ELSE +-- 'COMPLESSIVO|BF|' + +-- LEFT(PATRIMONIO_BF.ID_AREA,3) + +-- CASE +-- WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO +-- ELSE '' +-- END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, +-- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA +-- ELSE ANAG_PRODOTTI.COD_ISIN +-- END AS CodiceProdotto, +-- MODIFICA LUCA +-- CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN +-- ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA +-- END + 'EUR' AS CodiceProdotto, + --- 23//5/2018 ---------------------------------------- + 'EUR' AS CodiceAdeguatezza, + ----------------------------------------------------------- + 'EUR' AS Piazza, + 'EUR' AS CodiceValuta, + 'EUR' AS Classe, + --V FRANCHIGIA CC +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV_NOMINALE +-- END AS CtvNominale, + case when (sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0 end AS CtvNominale , +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV +-- END AS CtvReale + case when (sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0 end AS CtvReale +FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MART.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('CC') +group by + PATRIMONIO_BF.rete, + PATRIMONIO_BF.cod_fiscale, + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END, + CASE +-- WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN +-- 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- + WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + 'COMPLESSIVO|BF|CC'-- + PATRIMONIO_BF.POSITION_ID + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'COMPLESSIVO|BF|CC' +-- ELSE +-- 'COMPLESSIVO|BF|' + +-- LEFT(PATRIMONIO_BF.ID_AREA,3) + +-- CASE +-- WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO +-- ELSE '' +-- END + '|' + PATRIMONIO_BF.POSITION_ID + END \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_rp_vTuttiIPortafogli_newkey_aladdin.sql b/sql/Produzione/viste/C6Mart_rp_vTuttiIPortafogli_newkey_aladdin.sql new file mode 100644 index 00000000..66a948cb --- /dev/null +++ b/sql/Produzione/viste/C6Mart_rp_vTuttiIPortafogli_newkey_aladdin.sql @@ -0,0 +1,504 @@ +--modificata per i cc in liq Marianna +-- 702 +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 01/12/2014) +--select * from [C6Mart].[rp_vTuttiIPortafogli_newkey] +CREATE VIEW [C6Mart].[rp_vTuttiIPortafogli_newkey_aladdin] +AS +SELECT + PATRIMONIO_BF.RETE AS Rete, + -------------------------------------------------- diff cf|Piva|fid codman + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 16 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END AS CODFIS, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 11 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END AS PIVA, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) < 11 THEN substring(PATRIMONIO_BF.COD_FISCALE,4,6) ELSE '' END AS CODMAN, + ------------------------------------------------ + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN +-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, +-- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA +-- ELSE ANAG_PRODOTTI.COD_ISIN +-- END AS CodiceProdotto, +-- MODIFICA LUCA +/*NKCD CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END NKCD*/case when isnull(anag_prodotti.cod_isin,'')='' +then isnull(anag_prodotti.cod_adeguatezza,'') else anag_prodotti.cod_isin end AS CodiceProdotto, + --- 23//5/2018 ---------------------------------------- +/*NKCD CASE ANAG_PRODOTTI.COD_ADEGUATEZZA + WHEN '$' THEN '' + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END NKCD*/case when isnull(anag_prodotti.cod_adeguatezza,'')='' +then isnull(anag_prodotti.cod_isin,'') else anag_prodotti.cod_adeguatezza end AS CodiceAdeguatezza, + ----------------------------------------------------------- + /*NKCD''NKCD*/isnull(anag_prodotti.cod_interno,'') AS COD_interno, + /*NKCD''NKCD*/isnull(anag_prodotti.cod_maf,'') AS CodiceValuta, + /*NKCD''NKCD*/isnull(anag_prodotti.cod_sottoprodotto,'') AS Classe, +--INIZIO INTERVENTO OMNIA +-- PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, +-- PATRIMONIO_BF.CTV AS CtvReale + case when PATRIMONIO_BF.ISIN in('EURO00000009', 'EURO10000007') then 0.0000 + else PATRIMONIO_BF.CTV_NOMINALE end AS CtvNominale , + case when PATRIMONIO_BF.ISIN in('EURO00000009', 'EURO10000007') then 0.0000 + else PATRIMONIO_BF.CTV end AS CtvReale , +--FINE INTERVENTO OMNIA + 'COMPLESSIVO|BF' as tipoptf, + isnull(ANAG_PRODOTTI.cod_maf,'') as cod_maf, + '' as intermediario, + ANAG_PRODOTTI.tipo_prodotto as famprodt, + '' as assetterzi, + substring(patrimonio_bf.position_id,58,11) as codconf, + substring(patrimonio_bf.position_id,69,12) as conto, + substring(patrimonio_bf.position_id,81,4) as rubr, + substring(patrimonio_bf.position_id,85,1) as custgar, + isnull(ANAG_PRODOTTI.cod_interno,'') as CODPROD, + substring(patrimonio_bf.position_id,97,8) as termid, + substring(patrimonio_bf.position_id,105,3) as annos, + substring(patrimonio_bf.position_id,108,8) as progs, + CASE + when core.fondocore > 0 then '' + ELSE isnull(ANAG_PRODOTTI.cod_isin,'') + END as cod_isin, + isnull(ANAG_PRODOTTI.cod_sottoprodotto,'') as cod_sottoProdotto, + LEFT(PATRIMONIO_BF.ID_AREA,3) as area, + CASE + WHEN isnull(PATRIMONIO_BF.NOME_PROGETTO, '') <> '' THEN PATRIMONIO_BF.NOME_PROGETTO + ELSE 'Progetto investimento' + END as Progetto, + '' as codprj, + '' as chiave_prodotto_terzi, + substring(patrimonio_bf.position_id,86,11) as numpolizza, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN +-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END + '@' + CAST(ROW_NUMBER() OVER (ORDER BY PATRIMONIO_BF.RETE ASC, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 16 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 11 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END , + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) < 11 THEN substring(PATRIMONIO_BF.COD_FISCALE,4,6) ELSE '' END) AS varchar ) as position_id + FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MART.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + left join (select fondocore,catalogueid from c6stagingperiodico.rp_catalogoprodotti where fondocore>0) as core + on Patrimonio_BF.cod_prodotto = core.catalogueid + WHERE PATRIMONIO_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC','ASU2') +--INIZIO INTERVENTO OMNIA + AND PATRIMONIO_BF.ID_AREA <> 'SELF' +UNION ALL +---V Modifica per calcolo VaR prodotti ASU2 +SELECT + PATRIMONIO_BF.RETE AS Rete, + -------------------------------------------------- diff cf|Piva|fid codman + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 16 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END AS CODFIS, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 11 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END AS PIVA, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) < 11 THEN substring(PATRIMONIO_BF.COD_FISCALE,4,6) ELSE '' END AS CODMAN, + ------------------------------------------------ + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN +-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, +-- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA +-- ELSE ANAG_PRODOTTI.COD_ISIN +-- END AS CodiceProdotto, +---- MODIFICA LUCA +--V Modifica per gli ASU2 CON IL COD_ADEGUATEZZA NON BECCA NESSUN PRODTTO PROMETEIA +-- CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN +-- ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA END + /*NKCD PATRIMONIO_BF.ISIN NKCD*/case when isnull(anag_prodotti.cod_adeguatezza,'')='' +then isnull(anag_prodotti.cod_isin,'') else anag_prodotti.cod_adeguatezza end AS CodiceProdotto, + --- 23//5/2018 + /*NKCD CASE ANAG_PRODOTTI.COD_ADEGUATEZZA + WHEN '$' THEN '' + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END NKCD*/ + case when isnull(anag_prodotti.cod_isin,'')='' +then isnull(anag_prodotti.cod_adeguatezza,'') else anag_prodotti.cod_isin end AS CodiceAdeguatezza, + /*NKCD''NKCD*/isnull(anag_prodotti.cod_interno,'') AS COD_interno, + /*NKCD''NKCD*/isnull(anag_prodotti.cod_maf,'') AS CodiceValuta, + /*NKCD''NKCD*/isnull(anag_prodotti.cod_sottoprodotto,'') AS Classe, + --V FRANCHIGIA CC +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV_NOMINALE +-- END AS CtvNominale, + PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, + --PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV +-- END AS CtvReale + PATRIMONIO_BF.CTV AS CtvReale, + 'COMPLESSIVO|BF' as tipoptf, + isnull(ANAG_PRODOTTI.cod_maf,'') as cod_maf, + '' as intermediario, + ANAG_PRODOTTI.tipo_prodotto as famprodt, + '' as assetterzi, + substring(patrimonio_bf.position_id,58,11) as codconf, + substring(patrimonio_bf.position_id,69,12) as conto, + substring(patrimonio_bf.position_id,81,4) as rubr, + substring(patrimonio_bf.position_id,85,1) as custgar, + isnull(ANAG_PRODOTTI.cod_interno,'') as CODPROD, + substring(patrimonio_bf.position_id,97,8) as termid, + substring(patrimonio_bf.position_id,105,3) as annos, + substring(patrimonio_bf.position_id,108,8) as progs, + isnull(ANAG_PRODOTTI.cod_isin,'') as cod_isin, + isnull(ANAG_PRODOTTI.cod_sottoprodotto,'') as cod_sottoProdotto, + LEFT(PATRIMONIO_BF.ID_AREA,3) as area, + CASE + WHEN isnull(PATRIMONIO_BF.NOME_PROGETTO, '') <> '' THEN PATRIMONIO_BF.NOME_PROGETTO + ELSE 'Progetto investimento' + END as Progetto, + '' as codprj, + '' as chiave_prodotto_terzi, + substring(patrimonio_bf.position_id,86,11) as numpolizza, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN +-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END + '@' + CAST(ROW_NUMBER() OVER (ORDER BY PATRIMONIO_BF.RETE ASC, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 16 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 11 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END , + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) < 11 THEN substring(PATRIMONIO_BF.COD_FISCALE,4,6) ELSE '' END) AS varchar ) + as position_id + FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MART.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + AND ANAG_PRODOTTI.COD_ISIN = PATRIMONIO_BF.ISIN + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASU2') + UNION ALL + -- PATRIMONIO ASUL + SELECT + PATRIMONIO_BF.RETE AS Rete, + --PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + -------------------------------------------------- diff cf|Piva|fid codman + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 16 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END AS CODFIS, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 11 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END AS PIVA, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) < 11 THEN substring(PATRIMONIO_BF.COD_FISCALE,4,6) ELSE '' END AS CODMAN, + ------------------------------------------------ + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- +-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN +-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + /*NKCD CASE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO --SELEZIONE DEL CODICEPRODOTTO: DETTAGLIO_ASUL.COD_ISIN_FITTIZIO, DETTAGLIO_ASUL.COD_SOTTOPRODOTTO, '$' + WHEN '' THEN DETTAGLIO_ASUL.COD_ISIN_SOTT + ELSE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO + END NKCD*/case when isnull(DETTAGLIO_ASUL.COD_ISIN_FITTIZIO,'')='' +then DETTAGLIO_ASUL.COD_ISIN_SOTT else DETTAGLIO_ASUL.COD_ISIN_FITTIZIO end + AS CodiceProdotto, + --- 23//5/2018------------------------------------------------- + /*NKCD '' NKCD*/case when isnull(DETTAGLIO_ASUL.COD_ISIN_FITTIZIO,'')='' +then DETTAGLIO_ASUL.COD_ISIN_SOTT else DETTAGLIO_ASUL.COD_ISIN_FITTIZIO end AS CodiceAdeguatezza, + --------------------------------------------------------------- + /*NKCD '' NKCD*/isnull(DETTAGLIO_ASUL.COD_interno,'') AS COD_interno, + /*NKCD '' NKCD*/isnull(PATRIMONIO_BF.COD_MAF,'') AS CodiceValuta, + /*NKCD '' NKCDDETTAGLIO_ASUL.COD_ISIN_FITTIZIO*/isnull(PATRIMONIO_BF.COD_SOTTOPRODOTTO,'') AS Classe, + DETTAGLIO_ASUL.CTV AS CtvNominale, + DETTAGLIO_ASUL.CTV AS CtvReale, + 'COMPLESSIVO|BF' as tipoptf, + DETTAGLIO_ASUL.cod_maf_sott as cod_maf, + '' as intermediario, + 'ASUL' as famprodt, + '' as assetterzi, + substring(patrimonio_bf.position_id,58,11) as codconf, + substring(patrimonio_bf.position_id,69,12) as conto, + substring(patrimonio_bf.position_id,81,4) as rubr, + substring(patrimonio_bf.position_id,85,1) as custgar, + DETTAGLIO_ASUL.cod_interno as CODPROD, + substring(patrimonio_bf.position_id,97,8) as termid, + substring(patrimonio_bf.position_id,105,3) as annos, + substring(patrimonio_bf.position_id,108,8) as progs, + DETTAGLIO_ASUL.cod_isin_fittizio as cod_isin, + --ANAG_PRODOTTI.cod_sottoprodotto as cod_sottoProdotto, + ISNULL(DETTAGLIO_ASUL.cod_sottoprodotto, '') --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + AS cod_sottoProdotto, + LEFT(PATRIMONIO_BF.ID_AREA,3) as area, + CASE + WHEN isnull(PATRIMONIO_BF.NOME_PROGETTO, '') <> '' THEN PATRIMONIO_BF.NOME_PROGETTO + ELSE 'Progetto investimento' + END as Progetto, + '' as codprj, + '' as chiave_prodotto_terzi, + substring(patrimonio_bf.position_id,86,11) as numpolizza, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- +-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN +-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END + '@' + CAST(ROW_NUMBER() OVER (ORDER BY PATRIMONIO_BF.RETE ASC, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 16 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 11 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END , + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) < 11 THEN substring(PATRIMONIO_BF.COD_FISCALE,4,6) ELSE '' END) AS varchar ) as position_id + FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.DETTAGLIO_ASUL + ON DETTAGLIO_ASUL.ID_CONTRATTO = PATRIMONIO_BF.ID_CONTRATTO + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASUL') + UNION ALL + -- PATRIMONIO TERZI + SELECT + INTERMEDIARIO.RETE AS Rete, + --INTERMEDIARIO.CODICEFISCALE AS CodiceFiscale, + -------------------------------------------------- diff cf|Piva|fid codman + CASE WHEN LEN(LTRIM(RTRIM(INTERMEDIARIO.CODICEFISCALE))) = 16 THEN INTERMEDIARIO.CODICEFISCALE ELSE '' END AS CODFIS, + CASE WHEN LEN(LTRIM(RTRIM(INTERMEDIARIO.CODICEFISCALE))) = 11 THEN INTERMEDIARIO.CODICEFISCALE ELSE '' END AS PIVA, + CASE WHEN LEN(LTRIM(RTRIM(INTERMEDIARIO.CODICEFISCALE))) < 11 THEN substring(INTERMEDIARIO.CODICEFISCALE,4,6) ELSE '' END AS CODMAN, + ------------------------------------------------ + INTERMEDIARIO.PORTAFOGLIO AS Portafoglio, + /*NKCD INTERMEDIARIO.CODICEADEGUATEZZA NKCD*/isnull(INTERMEDIARIO.codiceisin,'') AS CodiceProdotto, + --- 23//5/2018------------------------------------------------- + --'' AS CodiceAdeguatezza, + --------------------------------------------------------------- + /*NKCD INTERMEDIARIO.CODICEADEGUATEZZA NKCD*/ + isnull(INTERMEDIARIO.CODICEADEGUATEZZA,'') AS CodiceAdeguatezza, --modifica 050520 per anomalie Levi + /*NKCD INTERMEDIARIO.PIAZZA NKCD*/ + CASE isnull(INTERMEDIARIO.codiceinterno,'') + WHEN '$' THEN '' + ELSE isnull(INTERMEDIARIO.codiceinterno,'') + END AS COD_interno, + /*NKCD INTERMEDIARIO.CODICEVALUTA NKCD*/ isnull(INTERMEDIARIO.CODICEMAF,'') AS CodiceValuta, + /*NKCD INTERMEDIARIO.CLASSE NKCD*/ isnull(INTERMEDIARIO.CODICESOTTOPRODOTTO,'') AS Classe, + INTERMEDIARIO.CONTROVALORE AS CtvNominale, + INTERMEDIARIO.CONTROVALORE AS CtvReale, + INTERMEDIARIO.tipoptf as tipoptf, + isnull(INTERMEDIARIO.codiceMaf,'') as cod_maf, + INTERMEDIARIO.INTERMEDIARIO as intermediario, + INTERMEDIARIO.FAMPRODT as famprodt, + INTERMEDIARIO.Asset_Terzi as assetterzi, + '' as codconf, + '' as conto, + '' as rubr, + '' as custgar, + '' as CODPROD, + '' as termid, + '' as annos, + '' as progs, + INTERMEDIARIO.codiceisin as cod_isin, + --ANAG_PRODOTTI.cod_sottoprodotto as cod_sottoProdotto, + CASE isnull(intermediario.CODiceSOTTOPRODOTTO,'') + WHEN '$' THEN '' + ELSE isnull(intermediario.CODiceSOTTOPRODOTTO,'') + END AS cod_sottoProdotto, + '' as area, + '' as Progetto, + '' as codprj, + intermediario.COD_PRODOTTO_TERZI as chiave_prodotto_terzi, + '' as numpolizza, + INTERMEDIARIO.PORTAFOGLIO + '@' + CAST(ROW_NUMBER() OVER (ORDER BY INTERMEDIARIO.RETE ASC, + CASE WHEN LEN(LTRIM(RTRIM(INTERMEDIARIO.CODICEFISCALE))) = 16 THEN INTERMEDIARIO.CODICEFISCALE ELSE '' END, + CASE WHEN LEN(LTRIM(RTRIM(INTERMEDIARIO.CODICEFISCALE))) = 11 THEN INTERMEDIARIO.CODICEFISCALE ELSE '' END , + CASE WHEN LEN(LTRIM(RTRIM(INTERMEDIARIO.CODICEFISCALE))) < 11 THEN substring(INTERMEDIARIO.CODICEFISCALE,4,6) ELSE '' END) AS varchar ) + as position_id + FROM C6MART.VPROMETEIATERZIINTERMEDIARIO_aladdin INTERMEDIARIO + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = INTERMEDIARIO.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = INTERMEDIARIO.CODICEFISCALE + UNION ALL + -- PATRIMONIO TERZI X TIPO PRODOTTO + SELECT + CATEGORIAPRODOTTO.RETE AS Rete, + --CATEGORIAPRODOTTO.CODICEFISCALE AS CodiceFiscale, + -------------------------------------------------- diff cf|Piva|fid codman + CASE WHEN LEN(LTRIM(RTRIM(CATEGORIAPRODOTTO.CODICEFISCALE))) = 16 THEN CATEGORIAPRODOTTO.CODICEFISCALE ELSE '' END AS CODFIS, + CASE WHEN LEN(LTRIM(RTRIM(CATEGORIAPRODOTTO.CODICEFISCALE))) = 11 THEN CATEGORIAPRODOTTO.CODICEFISCALE ELSE '' END AS PIVA, + CASE WHEN LEN(LTRIM(RTRIM(CATEGORIAPRODOTTO.CODICEFISCALE))) < 11 THEN substring(CATEGORIAPRODOTTO.CODICEFISCALE,4,6) ELSE '' END AS CODMAN, + ------------------------------------------------ + CATEGORIAPRODOTTO.PORTAFOGLIO AS Portafoglio, + isnull(CATEGORIAPRODOTTO.CODICEisin,'') AS CodiceProdotto, + isnull(CATEGORIAPRODOTTO.codiceadeguatezza,'') AS CodiceAdeguatezza, + CASE isnull(CATEGORIAPRODOTTO.CODICEinterno,'') + WHEN '$' THEN '' + ELSE isnull(CATEGORIAPRODOTTO.CODICEinterno,'') + END AS COD_interno, + isnull(CATEGORIAPRODOTTO.codicemaf,'') AS CodiceValuta, + isnull(CATEGORIAPRODOTTO.codicesottoprodotto,'') AS Classe, + CATEGORIAPRODOTTO.CONTROVALORE AS CtvNominale, + CATEGORIAPRODOTTO.CONTROVALORE AS CtvReale, + CATEGORIAPRODOTTO.tipoptf as tipoptf, + isnull(CATEGORIAPRODOTTO.codiceMaf,'') as cod_maf, + '' as intermediario, + CATEGORIAPRODOTTO.famprodt as famprodt, + CATEGORIAPRODOTTO.Asset_Terzi as assetterzi, + '' as codconf, + '' as conto, + '' as rubr, + '' as custgar, + '' as CODPROD, + '' as termid, + '' as annos, + '' as progs, + CATEGORIAPRODOTTO.codiceisin as cod_isin, + --ANAG_PRODOTTI.cod_sottoprodotto as cod_sottoProdotto, + CASE isnull(CATEGORIAPRODOTTO.CODiceSOTTOPRODOTTO,'') + WHEN '$' THEN '' + ELSE isnull(CATEGORIAPRODOTTO.CODiceSOTTOPRODOTTO,'') + END AS cod_sottoProdotto, + '' as area, + '' as Progetto, + '' as codprj, + CATEGORIAPRODOTTO.COD_PRODOTTO_TERZI as chiave_prodotto_terzi, + '' as numpolizza, + CATEGORIAPRODOTTO.PORTAFOGLIO + '@' + CAST(ROW_NUMBER() OVER (ORDER BY CATEGORIAPRODOTTO.RETE ASC, + CASE WHEN LEN(LTRIM(RTRIM(CATEGORIAPRODOTTO.CODICEFISCALE))) = 16 THEN CATEGORIAPRODOTTO.CODICEFISCALE ELSE '' END, + CASE WHEN LEN(LTRIM(RTRIM(CATEGORIAPRODOTTO.CODICEFISCALE))) = 11 THEN CATEGORIAPRODOTTO.CODICEFISCALE ELSE '' END , + CASE WHEN LEN(LTRIM(RTRIM(CATEGORIAPRODOTTO.CODICEFISCALE))) < 11 THEN substring(CATEGORIAPRODOTTO.CODICEFISCALE,4,6) ELSE '' END) AS varchar ) + as position_id + FROM C6MART.VPROMETEIATERZICATEGORIAPRODOTTO_aladdin CATEGORIAPRODOTTO + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = CATEGORIAPRODOTTO.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = CATEGORIAPRODOTTO.CODICEFISCALE +--V Conti correnti Fideuram +union all +SELECT + PATRIMONIO_BF.RETE AS Rete, + --PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + -------------------------------------------------- diff cf|Piva|fid codman + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 16 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END AS CODFIS, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 11 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END AS PIVA, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) < 11 THEN substring(PATRIMONIO_BF.COD_FISCALE,4,6) ELSE '' END AS CODMAN, + ------------------------------------------------ + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + 'COMPLESSIVO|BF|CC'-- + PATRIMONIO_BF.POSITION_ID + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'COMPLESSIVO|BF|CC' + END AS Portafoglio, + 'EUR' AS CodiceProdotto, + --- 23//5/2018 ---------------------------------------- + 'EUR' AS CodiceAdeguatezza, + ----------------------------------------------------------- + 'EUR' AS COD_interno, + 'EUR' AS CodiceValuta, + 'EUR' AS Classe, + case when (sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0 end AS CtvNominale , + case when (sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0 end AS CtvReale , + 'COMPLESSIVO|BF' as tipoptf, + 'EUR' as cod_maf, + '' as intermediario, + 'CC' as famprodt, + '' as assetterzi, + '' as codconf, + '' as conto, + '' as rubr, + '' as custgar, + 'EUR' as CODPROD, + '' as termid, + '' as annos, + '' as progs, + 'EUR' as cod_isin, + 'EUR' as cod_sottoProdotto, + case WHEN LEFT(PATRIMONIO_BF.ID_AREA,3) = 'Cc' THEN + 'Liq'-- + PATRIMONIO_BF.POSITION_ID + WHEN (LEFT(PATRIMONIO_BF.ID_AREA,3) = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'Liq' + END as area, + CASE + WHEN isnull(PATRIMONIO_BF.NOME_PROGETTO, '') <> '' THEN PATRIMONIO_BF.NOME_PROGETTO + ELSE 'Progetto investimento' + END as Progetto, + '' as codprj, + '' as chiave_prodotto_terzi, + '' as numpolizza, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + 'COMPLESSIVO|BF|CC'-- + PATRIMONIO_BF.POSITION_ID + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'COMPLESSIVO|BF|CC' + END + '@' + CAST(ROW_NUMBER() OVER (ORDER BY PATRIMONIO_BF.RETE ASC, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 16 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END, + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 11 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END , + CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) < 11 THEN substring(PATRIMONIO_BF.COD_FISCALE,4,6) ELSE '' END) AS varchar ) + as position_id +FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MART.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('CC') +group by + PATRIMONIO_BF.rete, + PATRIMONIO_BF.cod_fiscale, + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + 'COMPLESSIVO|BF|CC'-- + PATRIMONIO_BF.POSITION_ID + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'COMPLESSIVO|BF|CC' + END , + case WHEN LEFT(PATRIMONIO_BF.ID_AREA,3) = 'Cc' THEN + 'Liq'-- + PATRIMONIO_BF.POSITION_ID + WHEN (LEFT(PATRIMONIO_BF.ID_AREA,3) = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'Liq' + END, + CASE + WHEN isnull(PATRIMONIO_BF.NOME_PROGETTO, '') <> '' THEN PATRIMONIO_BF.NOME_PROGETTO + ELSE 'Progetto investimento' + END \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_vBrsClienteESG.sql b/sql/Produzione/viste/C6Mart_vBrsClienteESG.sql new file mode 100644 index 00000000..9c6b8ba0 --- /dev/null +++ b/sql/Produzione/viste/C6Mart_vBrsClienteESG.sql @@ -0,0 +1,18 @@ +CREATE VIEW [C6Mart].[vBrsClienteESG] +AS +select * from ( +select a.rete,case when isnull(a.codman,'') <> '' then 'FF@' + a.codman + when isnull(a.Piva,'') <> '' and isnull(a.codman,'') = '' then a.Piva + else codicefiscale +end as cod_fiscale, + [Preferenza_esg_cliente] + ,[ESG_E] + ,[ESG_S] + ,[ESG_G] + ,[obiettivo_ESG_minimo] + ,[ESG_Rating] + ,[ESG_E_perc] + ,[ESG_S_perc] + ,[ESG_G_perc] +from c6staging.ESG_Metriche_Cliente_IL a +) a \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_vBrsIndDiv.sql b/sql/Produzione/viste/C6Mart_vBrsIndDiv.sql new file mode 100644 index 00000000..c28c827c --- /dev/null +++ b/sql/Produzione/viste/C6Mart_vBrsIndDiv.sql @@ -0,0 +1,36 @@ +CREATE VIEW [C6Mart].[vBrsIndDiv] +AS +select * from ( +select a.rete,case when isnull(a.codman,'') <> '' then 'FF@' + a.codman + when isnull(a.Piva,'') <> '' and isnull(a.codman,'') = '' then a.Piva + else codicefiscale +end as cod_fiscale,diversificationindex as indicatore +from c6staging.brs_aggr_out_aladdin a +where concat_aggregazione='COMPLESSIVO' +/*and case when isnull(a.codman,'') <> '' then 'FF@' + a.codman + when isnull(a.Piva,'') <> '' and isnull(a.codman,'') = '' then a.Piva + else codicefiscale +end in (select cod_fiscale from c6martperiodico.tb_campione)*/ +union +select a.rete,case when isnull(a.codman,'') <> '' then 'FF@' + a.codman+'_BF' + when isnull(a.Piva,'') <> '' and isnull(a.codman,'') = '' then a.Piva+'_BF' + else codicefiscale+'_BF' +end as cod_fiscale,diversificationindex as indicatore +from c6staging.brs_aggr_out_aladdin a +where concat_aggregazione='COMPLESSIVO|BF' +/*and case when isnull(a.codman,'') <> '' then 'FF@' + a.codman + when isnull(a.Piva,'') <> '' and isnull(a.codman,'') = '' then a.Piva + else codicefiscale +end in (select cod_fiscale from c6martperiodico.tb_campione)*/ +union +select a.rete,case when isnull(a.codman,'') <> '' then 'FF@' + a.codman+'_TERZI' + when isnull(a.Piva,'') <> '' and isnull(a.codman,'') = '' then a.Piva+'_TERZI' + else codicefiscale+'_TERZI' +end as cod_fiscale,diversificationindex as indicatore +from c6staging.brs_aggr_out_aladdin a +where concat_aggregazione='COMPLESSIVO|TERZI' +/*and case when isnull(a.codman,'') <> '' then 'FF@' + a.codman + when isnull(a.Piva,'') <> '' and isnull(a.codman,'') = '' then a.Piva + else codicefiscale +end in (select cod_fiscale from c6martperiodico.tb_campione)*/ +) a \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_vBrsVarAllAggr.sql b/sql/Produzione/viste/C6Mart_vBrsVarAllAggr.sql new file mode 100644 index 00000000..e0aba103 --- /dev/null +++ b/sql/Produzione/viste/C6Mart_vBrsVarAllAggr.sql @@ -0,0 +1,108 @@ +CREATE VIEW [C6Mart].[vBrsVarAllAggr] --where codicefiscale='BRCMRC67H15L736N' order by 3 +AS +select * from ( +--complessivo BF no CC (OK con Prom) +select rete,case when isnull(codman,'') <> '' then 'FF@' + codman + when isnull(Piva,'') <> '' and isnull(codman,'') = '' then Piva + else codicefiscale +end as codiceFiscale,case when(isnull(position_id,'')='') then concat_aggregazione else substring(position_id,1,charindex('@',position_id)-1) end as portafoglio,var,varp,cvar,cvarp,risksize,mcvar,mcvarp,diversificationindex,copertura,totale,0 as clsint,'ISR' as mdclcclsint,0 as clsr,0 as cicontroparte,0 as cltipo,0 as clmercato,0 as clliquidita,0 as isr,0 as indmercato, +0 as indcontroparte,0 as indliquidita,0 as ully,0 as ully_perc,0 as elly_perc,0 as crc,0 as rctot,0 as ully_perc_rc,0 as ullyperc_se,totale_coperto,0 as coperturaproxyrc,0 as numtit,numtitrc +from c6staging.brs_aggr_out_aladdin--_20210630 +where concat_aggregazione like 'COMPLESSIVO|BF%' and (position_id like '%@%' or position_id is null) --and codicefiscale='BRCMRC67H15L736N' +union +--ASUL --> +select rete,case when isnull(codman,'') <> '' then 'FF@' + codman + when isnull(Piva,'') <> '' and isnull(codman,'') = '' then Piva + else codicefiscale +end as codiceFiscale,position_id as portafoglio,var,varp,cvar,cvarp,risksize,mcvar,mcvarp,diversificationindex,copertura,totale,0 as clsint,'ISR' as mdclcclsint,0 as clsr,0 as cicontroparte,0 as cltipo,0 as clmercato,0 as clliquidita,0 as isr,0 as indmercato, +0 as indcontroparte,0 as indliquidita,0 as ully,0 as ully_perc,0 as elly_perc,0 as crc,0 as rctot,0 as ully_perc_rc,0 as ullyperc_se,totale_coperto,0 as coperturaproxyrc,0 as numtit,numtitrc +from c6staging.brs_aggr_out_aladdin--_20210630 +where concat_aggregazione like 'COMPLESSIVO|BF%' and SLEEVETAG='WRAPPER_TYPE' --and codicefiscale='BRCMRC67H15L736N' +union +--risfin piramide no CC (OK con Prom) +select rete,case when isnull(codman,'') <> '' then 'FF@' + codman + when isnull(Piva,'') <> '' and isnull(codman,'') = '' then Piva + else codicefiscale +end as codiceFiscale,case when(isnull(position_id,'')='') then Replace(concat_aggregazione,'COMPLESSIVO|BF','RISFIN|PIRAMIDE') else substring(Replace(position_id,'COMPLESSIVO|BF','RISFIN|PIRAMIDE'),1,charindex('@',position_id)) end as portafoglio,var,varp,cvar,cvarp,risksize,mcvar,mcvarp,diversificationindex,copertura,totale,0 as clsint,'ISR' as mdclcclsint,0 as clsr,0 as cicontroparte,0 as cltipo,0 as clmercato,0 as clliquidita,0 as isr,0 as indmercato, +0 as indcontroparte,0 as indliquidita,0 as ully,0 as ully_perc,0 as elly_perc,0 as crc,0 as rctot,0 as ully_perc_rc,0 as ullyperc_se,totale_coperto,0 as coperturaproxyrc,0 as numtit,numtitrc +from C6Staging.brs_aggr_out_aladdin--_20210630--_20210719 +where concat_aggregazione like 'COMPLESSIVO|BF%' -- and codicefiscale='TRMRRT42H25G852P' +and substring(isnull(position_id,''),1,charindex('@',isnull(position_id,''))) not like 'COMPLESSIVO|BF|CC%' and isnull(sleevetag,'')<>'WRAPPER_TYPE' +--and codicefiscale='BRCMRC67H15L736N' +union --ASUL--> +select rete,case when isnull(codman,'') <> '' then 'FF@' + codman + when isnull(Piva,'') <> '' and isnull(codman,'') = '' then Piva + else codicefiscale +end as codiceFiscale,Replace(position_id,'COMPLESSIVO|BF','RISFIN|PIRAMIDE') as portafoglio,var,varp,cvar,cvarp,risksize,mcvar,mcvarp,diversificationindex,copertura,totale,0 as clsint,'ISR' as mdclcclsint,0 as clsr,0 as cicontroparte,0 as cltipo,0 as clmercato,0 as clliquidita,0 as isr,0 as indmercato, +0 as indcontroparte,0 as indliquidita,0 as ully,0 as ully_perc,0 as elly_perc,0 as crc,0 as rctot,0 as ully_perc_rc,0 as ullyperc_se,totale_coperto,0 as coperturaproxyrc,0 as numtit,numtitrc +from C6Staging.brs_aggr_out_aladdin--_20210630--_20210719 +where concat_aggregazione like 'COMPLESSIVO|BF%' -- and codicefiscale='TRMRRT42H25G852P' +and substring(isnull(position_id,''),1,charindex('@',isnull(position_id,''))) not like 'COMPLESSIVO|BF|CC%' and sleevetag='WRAPPER_TYPE'-- and codicefiscale='BRCMRC67H15L736N' +union +--RISFIN solo cc (ok con prom) +select rete,case when isnull(codman,'') <> '' then 'FF@' + codman + when isnull(Piva,'') <> '' and isnull(codman,'') = '' then Piva + else codicefiscale +end as codiceFiscale,case when(isnull(position_id,'')='') then Replace(concat_aggregazione,'COMPLESSIVO|BF','RISFIN|PIRAMIDE|Liq') else +substring(Replace(position_id,'COMPLESSIVO|BF','RISFIN|PIRAMIDE|Liq'),1,charindex('@',Replace(position_id,'COMPLESSIVO|BF','RISFIN|PIRAMIDE|Liq'))-1) end as portafoglio,var,varp,cvar,cvarp,risksize,mcvar,mcvarp,diversificationindex,copertura,totale,0 as clsint,'ISR' as mdclcclsint,0 as clsr,0 as cicontroparte,0 as cltipo,0 as clmercato,0 as clliquidita,0 as isr,0 as indmercato, +0 as indcontroparte,0 as indliquidita,0 as ully,0 as ully_perc,0 as elly_perc,0 as crc,0 as rctot,0 as ully_perc_rc,0 as ullyperc_se,totale_coperto,0 as coperturaproxyrc,0 as numtit,numtitrc +from c6staging.brs_aggr_out_aladdin--_20210719 +where substring(isnull(position_id,''),1,charindex('@',isnull(position_id,''))) like 'COMPLESSIVO|BF|CC%'-- and codicefiscale='TRMRRT42H25G852P' +union +--PTF COMPLESSIVO (ok con prom) +select rete,case when isnull(codman,'') <> '' then 'FF@' + codman + when isnull(Piva,'') <> '' and isnull(codman,'') = '' then Piva + else codicefiscale +end as codiceFiscale,case when(isnull(position_id,'')='') then concat_aggregazione else +substring(position_id,1,charindex('@',position_id)-1) end as portafoglio,var,varp,cvar,cvarp,risksize,mcvar,mcvarp,diversificationindex,copertura,totale,0 as clsint,'ISR' as mdclcclsint,0 as clsr,0 as cicontroparte,0 as cltipo,0 as clmercato,0 as clliquidita,0 as isr,0 as indmercato, +0 as indcontroparte,0 as indliquidita,0 as ully,0 as ully_perc,0 as elly_perc,0 as crc,0 as rctot,0 as ully_perc_rc,0 as ullyperc_se,totale_coperto,0 as coperturaproxyrc,0 as numtit,numtitrc +from c6staging.brs_aggr_out_aladdin--_20210630--_20210719 +where concat_aggregazione = 'COMPLESSIVO' +union +--TIPOPRODTERZI|TERZI -->fam prod (ok con prom) +select rete,case when isnull(codman,'') <> '' then 'FF@' + codman + when isnull(Piva,'') <> '' and isnull(codman,'') = '' then Piva + else codicefiscale +end as codiceFiscale,case when(isnull(position_id,'')='') then Replace(concat_aggregazione,'COMPLESSIVO|TERZI','TIPOPRODTERZI|TERZI') else +substring(Replace(position_id,'COMPLESSIVO|TERZI','TIPOPRODTERZI|TERZI'),1,charindex('@',position_id)) end as portafoglio,var,varp,cvar,cvarp,risksize,mcvar,mcvarp,diversificationindex,copertura,totale,0 as clsint,'ISR' as mdclcclsint,0 as clsr,0 as cicontroparte,0 as cltipo,0 as clmercato,0 as clliquidita,0 as isr,0 as indmercato, +0 as indcontroparte,0 as indliquidita,0 as ully,0 as ully_perc,0 as elly_perc,0 as crc,0 as rctot,0 as ully_perc_rc,0 as ullyperc_se,totale_coperto,0 as coperturaproxyrc,0 as numtit,numtitrc +from c6staging.brs_aggr_out_aladdin--_20210719 +where concat_aggregazione like 'COMPLESSIVO|TERZI%' --and codicefiscale='TRMRRT42H25G852P' +union +--COMPLESSIVO|TERZI --> Interm (ok con prom) +select a.rete,case when isnull(a.codman,'') <> '' then 'FF@' + a.codman + when isnull(a.Piva,'') <> '' and isnull(a.codman,'') = '' then a.Piva + else codicefiscale +end as codiceFiscale, +isnull(b.tipoptf,'')+'|'+isnull(intermediario,'')+'|'+chiave_prodotto_terzi as portafoglio,var,varp,cvar,cvarp,risksize,mcvar,mcvarp,diversificationindex,copertura,totale,0 as clsint,'ISR' as mdclcclsint,0 as clsr,0 as cicontroparte,0 as cltipo,0 as clmercato,0 as clliquidita,0 as isr,0 as indmercato, +0 as indcontroparte,0 as indliquidita,0 as ully,0 as ully_perc,0 as elly_perc,0 as crc,0 as rctot,0 as ully_perc_rc,0 as ullyperc_se,totale_coperto,0 as coperturaproxyrc,0 as numtit,numtitrc +from c6staging.brs_aggr_out_aladdin--_20210719 +a inner join c6mart.w6daily b +on a.position_id=b.position_id +where concat_aggregazione like 'complessivo|terzi%' --and codicefiscale='TRMRRT42H25G852P'--and a.codman='7168'--a.piva='01840910150' +union +select rete,case when isnull(codman,'') <> '' then 'FF@' + codman + when isnull(Piva,'') <> '' and isnull(codman,'') = '' then Piva + else codicefiscale +end as codiceFiscale,case when(isnull(position_id,'')='') then concat_aggregazione else +substring(position_id,1,charindex('@',position_id)) end as portafoglio,var,varp,cvar,cvarp,risksize,mcvar,mcvarp,diversificationindex,copertura,totale,0 as clsint,'ISR' as mdclcclsint,0 as clsr,0 as cicontroparte,0 as cltipo,0 as clmercato,0 as clliquidita,0 as isr,0 as indmercato, +0 as indcontroparte,0 as indliquidita,0 as ully,0 as ully_perc,0 as elly_perc,0 as crc,0 as rctot,0 as ully_perc_rc,0 as ullyperc_se,totale_coperto,0 as coperturaproxyrc,0 as numtit,numtitrc +from c6staging.brs_aggr_out_aladdin--_20210719 +where concat_aggregazione = 'COMPLESSIVO|TERZI'--and codman='7168'--a.piva='01840910150' +union +select a.rete,case when isnull(a.codman,'') <> '' then 'FF@' + a.codman + when isnull(a.Piva,'') <> '' and isnull(a.codman,'') = '' then a.Piva + else codfis +end as codiceFiscale, +isnull(a.tipoptf,'')+'|'+isnull(a.intermediario,'')+'|'+'CC' as portafoglio,0 as var,0 as varp,0 as cvar,0 as cvarp,0 as risksize,0 as mcvar,0 as mcvarp,0 as diversificationindex, +100 as copertura,case when sum(ctv)>10000 then sum(ctv)-10000 else sum(ctv) end as totale,1 as clsint,'ISR' as mdclcclsint,1 as clsr,1 as cicontroparte,1 as cltipo, +1 as clmercato,1 as clliquidita,0 as isr,0 as indmercato,0 as indcontroparte,0 as indliquidita,0 as ully,0 as ully_perc,0 as elly_perc,0 as crc,0 as rctot, +0 as ully_perc_rc,0 as ullyperc_se,100 as totale_coperto,0 as coperturaproxyrc,1 as numtit,0 as numtitrc +from c6mart.w6daily a where tipoptf like 'complessivo|terzi%' and famprodt='Conti correnti' --and a.codman='7168'--piva='01840910150' +group by a.rete,case when isnull(a.codman,'') <> '' then 'FF@' + a.codman + when isnull(a.Piva,'') <> '' and isnull(a.codman,'') = '' then a.Piva + else codfis +end, +isnull(a.tipoptf,'')+'|'+isnull(a.intermediario,'')+'|'+'CC' +) a +--where codicefiscale in (select cod_fiscale from c6martperiodico.tb_campione) \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_vContrattiBase.sql b/sql/Produzione/viste/C6Mart_vContrattiBase.sql new file mode 100644 index 00000000..f84f2915 --- /dev/null +++ b/sql/Produzione/viste/C6Mart_vContrattiBase.sql @@ -0,0 +1,74 @@ +--select * from c6mart.vcontrattic6 where cod_fiscale='MSTMLN76S62H501P' +--select * from [C6Mart].[vContrattiC6] where codicecontratto = '582372CO806' +CREATE VIEW [C6Mart].[vContrattiBase] +AS +SELECT DISTINCT + b.chiaveClientePB, + case + when(isnull(ltrim(rtrim(codman)),'') <> '') + then 'FF@'+codman + when (isnull(codfis,'') <> '') + then codfis + else + c.piva + end as Cod_fiscale, + c.codMan AS COD_MANDATO, + case when(isnull(ltrim(rtrim(codman)),'') <> '') then c.piva else '' END AS PIVA_FIDUCIARIA, + -- case when datediff(dd,isnull(z.dtaggiornamento,'1900-01-01 00:00:00.000'),getDate()) > 7 + -- then f.pb + --else + -- case when(isnull(ltrim(rtrim(d.codage)),'') <> '') + -- then d.codage + -- else f.pb + -- END + --END AS COD_AGENTE, + isnull(d.codage,f.pb) as COD_AGENTE, -- modifica Ale + d.rete, + a.codiceContratto, + a.flagRol, + a.address AS INDIRIZZO, + a.cap, + a.city AS CITTA, + a.province AS PROVINCIA, + a.nation AS NAZIONE, + a.presso, + a.email, + a.freqRepDia AS FREQ_DIAGNOSI, + a.freqRepMon AS FREQ_MONITORAGGIO, + a.genReport AS GENERAZIONEREPORT, + a.dtFirmaBase AS DATA_INIZIOBASE, + a.dtEndBase AS DATA_FINEBASE, + a.dtProcBase as DATA_PERF_BASE, + a.dtProcAv as DATA_PERF, + a.dtFirmaSei AS DATA_INZIOAVANZATO, + a.dtEndSei AS DATA_FINEAVANZATO, + --controlla prima questo + -- WHEN e.tipcontratto = 'A' THEN 1 + -- WHEN e.tipcontratto = 'P' THEN 2 + -- ELSE 0 + '1' + AS TIP_CONTRATTO, + 0 AS RIATTIVAZIONE, + a.TipoConsulenza +FROM + [CONSUNI].[consulenzaUnica].dbo.Contratto a +JOIN + [CONSUNI].[consulenzaUnica].dbo.ClientePB b + ON b.chiaveClientePB = a.chiaveClientePB +-- and a.status in ('SEI','AVANZATOBASE','REVOCASEI','DADVISORY') +JOIN [CONSUNI].[consulenzaUnica].dbo.Cliente c + ON b.chiaveCliente = c.chiaveCliente +JOIN [CONSUNI].[consulenzaUnica].dbo.PromotoreBancario d + ON b.chiavePB = d.chiavePB + --JOIN --[CONSUNI].[consulenzaBaseFL].dbo.cbs_dbcontrattosei e + -- ( + -- SELECT *,row_number() over (partition by COD_CONF order by DATA_CHIUSURA_C6 DESC ) AS ordine + -- FROM [CONSUNI].[consulenzaUnicaFL].dbo.cbs_dbcontrattosei + -- ) e + --ON a.codiceContratto = e.cod_conf AND e.ordine = 1 +JOIN [CONSUNI].[consulenzaUnicaFL].dbo.cbs_dbcontrattobase f + ON a.codiceContratto = f.cod_conf +--12/12/2014 - INIZIO +--left join [CONSUNI].ConsulenzaUnica.dbo.Pianificazione z +-- on z.chiaveClientePB = a.chiaveClientePB +----12/12/2014 - FINE \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_vContrattiC6.sql b/sql/Produzione/viste/C6Mart_vContrattiC6.sql new file mode 100644 index 00000000..f23fa433 --- /dev/null +++ b/sql/Produzione/viste/C6Mart_vContrattiC6.sql @@ -0,0 +1,72 @@ +--select * from c6mart.vcontrattic6 where cod_fiscale='MSTMLN76S62H501P' +--select * from [C6Mart].[vContrattiC6] where codicecontratto = '582372CO806' +CREATE VIEW [C6Mart].[vContrattiC6] +AS +SELECT DISTINCT + b.chiaveClientePB, + case + when(isnull(ltrim(rtrim(codman)),'') <> '') + then 'FF@'+codman + when (isnull(codfis,'') <> '') + then codfis + else + c.piva + end as Cod_fiscale, + c.codMan AS COD_MANDATO, + case when(isnull(ltrim(rtrim(codman)),'') <> '') then c.piva else '' END AS PIVA_FIDUCIARIA, + -- case when datediff(dd,isnull(z.dtaggiornamento,'1900-01-01 00:00:00.000'),getDate()) > 7 + -- then f.pb + --else + -- case when(isnull(ltrim(rtrim(d.codage)),'') <> '') + -- then d.codage + -- else f.pb + -- END + --END AS COD_AGENTE, + isnull(d.codage,f.pb) as COD_AGENTE, -- modifica Ale + d.rete, + a.codiceContratto, + a.flagRol, + a.address AS INDIRIZZO, + a.cap, + a.city AS CITTA, + a.province AS PROVINCIA, + a.nation AS NAZIONE, + a.presso, + a.email, + a.freqRepDia AS FREQ_DIAGNOSI, + a.freqRepMon AS FREQ_MONITORAGGIO, + a.genReport AS GENERAZIONEREPORT, + a.dtFirmaBase AS DATA_INIZIOBASE, + a.dtEndBase AS DATA_FINEBASE, + a.dtProcBase as DATA_PERF_BASE, + a.dtProcAv as DATA_PERF, + a.dtFirmaSei AS DATA_INZIOAVANZATO, + a.dtEndSei AS DATA_FINEAVANZATO, + CASE + WHEN a.status = 'DADVISORY' THEN 3 --controlla prima questo + ELSE 1 +END AS TIP_CONTRATTO, + CASE WHEN e.riattivazione = 1 THEN 1 ELSE 0 END AS RIATTIVAZIONE, + a.TipoConsulenza +FROM + [CONSUNI].[consulenzaUnica].dbo.Contratto a +JOIN + [CONSUNI].[consulenzaUnica].dbo.ClientePB b + ON b.chiaveClientePB = a.chiaveClientePB + and a.status in ('SEI','AVANZATOBASE','REVOCASEI','DADVISORY') +JOIN [CONSUNI].[consulenzaUnica].dbo.Cliente c + ON b.chiaveCliente = c.chiaveCliente +JOIN [CONSUNI].[consulenzaUnica].dbo.PromotoreBancario d + ON b.chiavePB = d.chiavePB + JOIN --[CONSUNI].[consulenzaBaseFL].dbo.cbs_dbcontrattosei e + ( + SELECT *,row_number() over (partition by COD_CONF order by DATA_CHIUSURA_C6 DESC ) AS ordine + FROM [CONSUNI].[consulenzaUnicaFL].dbo.cbs_dbcontrattosei + ) e + ON a.codiceContratto = e.cod_conf AND e.ordine = 1 +JOIN [CONSUNI].[consulenzaUnicaFL].dbo.cbs_dbcontrattobase f + ON a.codiceContratto = f.cod_conf +--12/12/2014 - INIZIO +--left join [CONSUNI].ConsulenzaUnica.dbo.Pianificazione z +-- on z.chiaveClientePB = a.chiaveClientePB +----12/12/2014 - FINE \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_vContrattiC6_20240412.sql b/sql/Produzione/viste/C6Mart_vContrattiC6_20240412.sql new file mode 100644 index 00000000..ec1cb3bd --- /dev/null +++ b/sql/Produzione/viste/C6Mart_vContrattiC6_20240412.sql @@ -0,0 +1,74 @@ +--select * from c6mart.vcontrattic6 where cod_fiscale='MSTMLN76S62H501P' +--select * from [C6Mart].[vContrattiC6] where codicecontratto = '582372CO806' +CREATE VIEW [C6Mart].[vContrattiC6_20240412] +AS +SELECT DISTINCT + b.chiaveClientePB, + case + when(isnull(ltrim(rtrim(codman)),'') <> '') + then 'FF@'+codman + when (isnull(codfis,'') <> '') + then codfis + else + c.piva + end as Cod_fiscale, + c.codMan AS COD_MANDATO, + case when(isnull(ltrim(rtrim(codman)),'') <> '') then c.piva else '' END AS PIVA_FIDUCIARIA, + -- case when datediff(dd,isnull(z.dtaggiornamento,'1900-01-01 00:00:00.000'),getDate()) > 7 + -- then f.pb + --else + -- case when(isnull(ltrim(rtrim(d.codage)),'') <> '') + -- then d.codage + -- else f.pb + -- END + --END AS COD_AGENTE, + isnull(d.codage,f.pb) as COD_AGENTE, -- modifica Ale + d.rete, + a.codiceContratto, + a.flagRol, + a.address AS INDIRIZZO, + a.cap, + a.city AS CITTA, + a.province AS PROVINCIA, + a.nation AS NAZIONE, + a.presso, + a.email, + a.freqRepDia AS FREQ_DIAGNOSI, + a.freqRepMon AS FREQ_MONITORAGGIO, + a.genReport AS GENERAZIONEREPORT, + a.dtFirmaBase AS DATA_INIZIOBASE, + a.dtEndBase AS DATA_FINEBASE, + a.dtProcBase as DATA_PERF_BASE, + a.dtProcAv as DATA_PERF, + a.dtFirmaSei AS DATA_INZIOAVANZATO, + a.dtEndSei AS DATA_FINEAVANZATO, + CASE + WHEN a.status = 'DADVISORY' THEN 3 --controlla prima questo + WHEN e.tipcontratto = 'A' THEN 1 + WHEN e.tipcontratto = 'P' THEN 2 + ELSE 0 +END AS TIP_CONTRATTO, + CASE WHEN e.riattivazione = 1 THEN 1 ELSE 0 END AS RIATTIVAZIONE, + a.TipoConsulenza +FROM + [CONSUNI].[consulenzaUnica].dbo.Contratto a +JOIN + [CONSUNI].[consulenzaUnica].dbo.ClientePB b + ON b.chiaveClientePB = a.chiaveClientePB + and a.status in ('SEI','AVANZATOBASE','REVOCASEI','DADVISORY') +JOIN [CONSUNI].[consulenzaUnica].dbo.Cliente c + ON b.chiaveCliente = c.chiaveCliente +JOIN [CONSUNI].[consulenzaUnica].dbo.PromotoreBancario d + ON b.chiavePB = d.chiavePB + JOIN --[CONSUNI].[consulenzaBaseFL].dbo.cbs_dbcontrattosei e + ( + SELECT *,row_number() over (partition by COD_CONF order by DATA_CHIUSURA_C6 DESC ) AS ordine + FROM [CONSUNI].[consulenzaUnicaFL].dbo.cbs_dbcontrattosei + ) e + ON a.codiceContratto = e.cod_conf AND e.ordine = 1 +JOIN [CONSUNI].[consulenzaUnicaFL].dbo.cbs_dbcontrattobase f + ON a.codiceContratto = f.cod_conf +--12/12/2014 - INIZIO +--left join [CONSUNI].ConsulenzaUnica.dbo.Pianificazione z +-- on z.chiaveClientePB = a.chiaveClientePB +----12/12/2014 - FINE \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_vContrattiC6_CONG.sql b/sql/Produzione/viste/C6Mart_vContrattiC6_CONG.sql new file mode 100644 index 00000000..fbe8d5cf --- /dev/null +++ b/sql/Produzione/viste/C6Mart_vContrattiC6_CONG.sql @@ -0,0 +1,70 @@ +CREATE VIEW [C6Mart].[vContrattiC6_CONG] +AS +SELECT DISTINCT + b.chiaveClientePB, + case + when(isnull(ltrim(rtrim(codman)),'') <> '') + then 'FF@'+codman + when (isnull(codfis,'') <> '') + then codfis + else + c.piva + end as Cod_fiscale, + c.codMan AS COD_MANDATO, + case when(isnull(ltrim(rtrim(codman)),'') <> '') then c.piva else '' END AS PIVA_FIDUCIARIA, + -- case when datediff(dd,isnull(z.dtaggiornamento,'1900-01-01 00:00:00.000'),getDate()) > 7 + -- then f.pb + --else + -- case when(isnull(ltrim(rtrim(d.codage)),'') <> '') + -- then d.codage + -- else f.pb + -- END + --END AS COD_AGENTE, + isnull(d.codage,f.pb) as COD_AGENTE, -- modifica Ale + d.rete, + a.codiceContratto, + a.flagRol, + a.address AS INDIRIZZO, + a.cap, + a.city AS CITTA, + a.province AS PROVINCIA, + a.nation AS NAZIONE, + a.presso, + a.email, + a.freqRepDia AS FREQ_DIAGNOSI, + a.freqRepMon AS FREQ_MONITORAGGIO, + a.genReport AS GENERAZIONEREPORT, + a.dtFirmaBase AS DATA_INIZIOBASE, + a.dtEndBase AS DATA_FINEBASE, + a.dtProcBase as DATA_PERF_BASE, + a.dtProcAv as DATA_PERF, + a.dtFirmaSei AS DATA_INZIOAVANZATO, + a.dtEndSei AS DATA_FINEAVANZATO, + CASE + WHEN a.status = 'DADVISORY' THEN 3 --controlla prima questo + ELSE 1 +END AS TIP_CONTRATTO, + CASE WHEN e.riattivazione = 1 THEN 1 ELSE 0 END AS RIATTIVAZIONE, + a.TipoConsulenza +FROM + [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Contratto a +JOIN + [CONSUNI_PERIODICO].[consulenzaUnica].dbo.ClientePB b + ON b.chiaveClientePB = a.chiaveClientePB + and a.status in ('SEI','AVANZATOBASE','REVOCASEI','DADVISORY', 'REVOCAPLUS') +JOIN [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Cliente c + ON b.chiaveCliente = c.chiaveCliente +JOIN [CONSUNI_PERIODICO].[consulenzaUnica].dbo.PromotoreBancario d + ON b.chiavePB = d.chiavePB + JOIN --[CONSUNI_PERIODICO].[consulenzaBaseFL].dbo.cbs_dbcontrattosei e + ( + SELECT *,row_number() over (partition by COD_CONF order by DATA_CHIUSURA_C6 DESC ) AS ordine + FROM [CONSUNI_PERIODICO].[consulenzaUnicaFL].dbo.cbs_dbcontrattosei + ) e + ON a.codiceContratto = e.cod_conf AND e.ordine = 1 +JOIN [CONSUNI_PERIODICO].[consulenzaUnicaFL].dbo.cbs_dbcontrattobase f + ON a.codiceContratto = f.cod_conf +--12/12/2014 - INIZIO +--left join [CONSUNI_PERIODICO].ConsulenzaUnica.dbo.Pianificazione z +-- on z.chiaveClientePB = a.chiaveClientePB +----12/12/2014 - FINE \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_vContrattiMigrati.sql b/sql/Produzione/viste/C6Mart_vContrattiMigrati.sql new file mode 100644 index 00000000..955e3fc6 --- /dev/null +++ b/sql/Produzione/viste/C6Mart_vContrattiMigrati.sql @@ -0,0 +1,24 @@ +/* Nel giro di email di revoca non si devono recuperare i dati dal SEI (Fabrizio) -- +AND (Cod_Fiscale = 'TBNMSM52C01E938I')*/ +CREATE VIEW [C6Mart].[vContrattiMigrati] +AS +SELECT Rete, + Cod_Agente, + Cod_Fiscale, + PIva_Fiduciaria, + CodiceContratto, + isnull(Freq_Monitor, 'T') AS Freq_Monitor, + Freq_Diagnosi, + TipoElaborazione, + AdesioneSuccessivaAvanzato, + InvioBenvenuto, + ClienteMigrato, + RisorseNa, + NumRevoche, + Data_Perf +FROM C6Mart.vTuttiIContratti AS C6 +WHERE (1 = 1) + AND (InvioBenvenuto = 'N') + AND (ClienteMigrato = 'S') + AND (ISNULL(NumRevoche, 0) = 0) +--and c6.cod_fiscale = 'BRZGPP39H08C352F' \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_vContrattiNonGenerati.sql b/sql/Produzione/viste/C6Mart_vContrattiNonGenerati.sql new file mode 100644 index 00000000..6908e73d --- /dev/null +++ b/sql/Produzione/viste/C6Mart_vContrattiNonGenerati.sql @@ -0,0 +1,24 @@ +/* Nel giro di email di revoca non si devono recuperare i dati dal SEI (Fabrizio) -- +AND (Cod_Fiscale = 'TBNMSM52C01E938I')*/ +CREATE VIEW [C6Mart].[vContrattiNonGenerati] +AS +SELECT Rete, + Cod_Agente, + Cod_Fiscale, + PIva_Fiduciaria, + CodiceContratto, + Freq_Monitor, + Freq_Diagnosi, + TipoElaborazione, + AdesioneSuccessivaAvanzato, + InvioBenvenuto, + ClienteMigrato, + RisorseNa, + NumRevoche, + Data_Perf +FROM C6Mart.vTuttiIContratti AS C6 +WHERE (1 = 1) + AND (InvioBenvenuto = 'N') + --AND (ClienteMigrato = 'S') + AND (ISNULL(NumRevoche, 0) = 0) + --and Cod_Fiscale='00359720281' \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_vContrattiPerGenerazioneReport.sql b/sql/Produzione/viste/C6Mart_vContrattiPerGenerazioneReport.sql new file mode 100644 index 00000000..0b02acb2 --- /dev/null +++ b/sql/Produzione/viste/C6Mart_vContrattiPerGenerazioneReport.sql @@ -0,0 +1,40 @@ +/* +--select * from global_error select count(*) from c6mart.gestione_pdf_ftp where dataGenerazione >'20110218' +select * from c6mart.contrattosei where cod_fiscale = 'BCCGNN34E09I512K' +select * from [C6Mart].[vContrattiPerGenerazioneReport] + Nel giro di email di revoca non si deve produrre il report (Fabrizio) --*/ +CREATE VIEW [C6Mart].[vContrattiPerGenerazioneReport] +AS +SELECT +--VALERIO TEST +--top 1 +C6.Rete, Cod_Agente, C6.Cod_Fiscale, CodiceContratto, Freq_Monitor, Freq_Diagnosi,TipoElaborazione,AdesioneSuccessivaAvanzato,InvioBenvenuto, + ClienteMigrato, RisorseNa, NumRevoche,TIP_CONTRATTO,tip_riattivazione +FROM C6Mart.vTuttiIContratti AS C6 +--LEFT JOIN C6Mart.MIFID AS MIFID +--ON C6.RETE = MIFID.RETE AND C6.COD_FISCALE = MIFID.COD_FISCALE +WHERE (1 = 1) + and cod_agente not in ('015126') + AND (InvioBenvenuto = 'N') + AND (ClienteMigrato = 'S') + AND (ISNULL(RisorseNa, 'N') = 'N') + AND (ISNULL(NumRevoche, 0) = 0) + --AND (DATEDIFF(d,Data_Perf, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT)) + AND ( + (DATEDIFF(d,Data_Perf, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT)) OR tip_riattivazione = 2 + ) + AND (ISNULL(PartViaDisinv, 'N') = 'N') + AND C6.Cod_Fiscale IN ( + SELECT COD_FISCALE + FROM C6Mart.PIRAMIDE_MOD) + AND ProfiloAttivo = 1 +--and cod_fiscale in +--( +--'BCLMSM63T11C933E' --rimettere sulla contrattosei inviobenvenuto = S +----'BRZGPP39H08C352F' +--) +-- +--begin tran +--update c6mart.contrattosei set inviobenvenuto = 'S' where cod_fiscale = 'BCLMSM63T11C933E' +--commit +--rollback \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_vContrattiPerGenerazioneReport_old240413.sql b/sql/Produzione/viste/C6Mart_vContrattiPerGenerazioneReport_old240413.sql new file mode 100644 index 00000000..f419c96f --- /dev/null +++ b/sql/Produzione/viste/C6Mart_vContrattiPerGenerazioneReport_old240413.sql @@ -0,0 +1,37 @@ +/* +--select * from global_error select count(*) from c6mart.gestione_pdf_ftp where dataGenerazione >'20110218' +select * from c6mart.contrattosei where cod_fiscale = 'BCCGNN34E09I512K' +select * from [C6Mart].[vContrattiPerGenerazioneReport] + Nel giro di email di revoca non si deve produrre il report (Fabrizio) --*/ +CREATE VIEW [C6Mart].[vContrattiPerGenerazioneReport_old240413] +AS +SELECT +--VALERIO TEST +--top 1 +C6.Rete, Cod_Agente, C6.Cod_Fiscale, CodiceContratto, Freq_Monitor, Freq_Diagnosi,TipoElaborazione,AdesioneSuccessivaAvanzato,InvioBenvenuto, + ClienteMigrato, RisorseNa, NumRevoche +FROM C6Mart.vTuttiIContratti AS C6 +--LEFT JOIN C6Mart.MIFID AS MIFID +--ON C6.RETE = MIFID.RETE AND C6.COD_FISCALE = MIFID.COD_FISCALE +WHERE (1 = 1) + and cod_agente not in ('015126') + AND (InvioBenvenuto = 'N') + AND (ClienteMigrato = 'S') + AND (ISNULL(RisorseNa, 'N') = 'N') + AND (ISNULL(NumRevoche, 0) = 0) + AND (DATEDIFF(d,Data_Perf, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT)) + AND (ISNULL(PartViaDisinv, 'N') = 'N') + AND C6.Cod_Fiscale IN ( + SELECT COD_FISCALE + FROM C6Mart.PIRAMIDE_MOD) + AND ProfiloAttivo = 1 +--and cod_fiscale in +--( +--'BCLMSM63T11C933E' --rimettere sulla contrattosei inviobenvenuto = S +----'BRZGPP39H08C352F' +--) +-- +--begin tran +--update c6mart.contrattosei set inviobenvenuto = 'S' where cod_fiscale = 'BCLMSM63T11C933E' +--commit +--rollback \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_vContrattiSei.sql b/sql/Produzione/viste/C6Mart_vContrattiSei.sql new file mode 100644 index 00000000..42453550 --- /dev/null +++ b/sql/Produzione/viste/C6Mart_vContrattiSei.sql @@ -0,0 +1,43 @@ +CREATE VIEW [C6Mart].[vContrattiSei] +AS + SELECT + VC.chiaveClientePB, + VC.COD_FISCALE, + VC.COD_MANDATO, + VC.PIVA_FIDUCIARIA, + VC.COD_AGENTE, + VC.rete, + VC.codiceContratto, + VC.flagRol, + VC.INDIRIZZO, + VC.cap, + VC.CITTA, + VC.PROVINCIA, + VC.NAZIONE, + VC.presso, + VC.email, + VC.FREQ_DIAGNOSI, + VC.FREQ_MONITORAGGIO, + VC.GENERAZIONEREPORT, + VC.DATA_INIZIOBASE, + VC.DATA_FINEBASE, + VC.DATA_PERF_BASE, + VC.DATA_PERF, + VC.DATA_INZIOAVANZATO, + VC.DATA_FINEAVANZATO, + VC.TIP_CONTRATTO, + VC.RIATTIVAZIONE, + VC.TipoConsulenza + ,MD.ClienteMIGRATO + ,MD.RISORSENA + ,MD.PROFILOATTIVO + ,MD.NumSolleciti + ,MD.NumRevoche + ,MD.Data_ultimoSollecito + ,MD.Data_ultimaRevoca + ,MD.InvioBenvenuto + ,MD.TIP_CONTRATTO AS MD_TIP_CONTRATTO + ,MD.TIP_RIATTIVAZIONE +FROM c6mart.vcontratti vc + left join c6mart.contrattosei_metadati md + on md.chiaveclientepb = vc.chiaveclientepb \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_vFTP_DA_INVIARE.sql b/sql/Produzione/viste/C6Mart_vFTP_DA_INVIARE.sql new file mode 100644 index 00000000..602f44e1 --- /dev/null +++ b/sql/Produzione/viste/C6Mart_vFTP_DA_INVIARE.sql @@ -0,0 +1,11 @@ +-- SELECT * FROM [C6Mart].[vFTP_DA_INVIARE] + -- SELECT * FROM C6Staging.WSROL +CREATE VIEW [C6Mart].[vFTP_DA_INVIARE] +AS + SELECT distinct C.cod_fiscale,C.rete,C.codicecontratto + FROM C6Mart.vcontrattiSei C + left join C6Mart.GESTIONE_PDF_FTP P + ON C.Cod_fiscale = P.codiceFiscale AND c.rete = p.rete + WHERE 1=1 + AND P.FlagInvio = 'N' + AND C.data_fineavanzato > getdate() \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_vIntermediari.sql b/sql/Produzione/viste/C6Mart_vIntermediari.sql new file mode 100644 index 00000000..d9ec04b3 --- /dev/null +++ b/sql/Produzione/viste/C6Mart_vIntermediari.sql @@ -0,0 +1,3 @@ +CREATE VIEW [C6Mart].[vIntermediari] AS +SELECT DISTINCT RETE, COD_FISCALE, INTERMEDIARIO +FROM C6Mart.PATRIMONIO_TERZI \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_vNumeroIntermediari.sql b/sql/Produzione/viste/C6Mart_vNumeroIntermediari.sql new file mode 100644 index 00000000..3727920c --- /dev/null +++ b/sql/Produzione/viste/C6Mart_vNumeroIntermediari.sql @@ -0,0 +1,4 @@ +CREATE VIEW [C6Mart].[vNumeroIntermediari] AS +SELECT RETE, COD_FISCALE, count(DISTINCT INTERMEDIARIO) as NumeroIntermediari +FROM C6Mart.PATRIMONIO_TERZI +GROUP BY RETE, COD_FISCALE \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_vPatrimonioAltroAggregato.sql b/sql/Produzione/viste/C6Mart_vPatrimonioAltroAggregato.sql new file mode 100644 index 00000000..3945c816 --- /dev/null +++ b/sql/Produzione/viste/C6Mart_vPatrimonioAltroAggregato.sql @@ -0,0 +1,10 @@ +CREATE VIEW [C6Mart].[vPatrimonioAltroAggregato] +AS +SELECT + RETE, + COD_FISCALE, + SUM(CTV) as PatrimonioAltro +FROM C6Mart.PATRIMONIO_Altro +GROUP BY + RETE, + COD_FISCALE \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_vPatrimonioImmobAggregato.sql b/sql/Produzione/viste/C6Mart_vPatrimonioImmobAggregato.sql new file mode 100644 index 00000000..8bf93241 --- /dev/null +++ b/sql/Produzione/viste/C6Mart_vPatrimonioImmobAggregato.sql @@ -0,0 +1,6 @@ +CREATE VIEW [C6Mart].[vPatrimonioImmobAggregato] +AS +SELECT RETE, COD_FISCALE, + SUM(VALORE_STIMATO) as PatrimonioImmob +FROM C6Mart.PATRIMONIO_Immobiliare +GROUP BY RETE, COD_FISCALE \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_vPatrimonioImmobiliare.sql b/sql/Produzione/viste/C6Mart_vPatrimonioImmobiliare.sql new file mode 100644 index 00000000..118ac397 --- /dev/null +++ b/sql/Produzione/viste/C6Mart_vPatrimonioImmobiliare.sql @@ -0,0 +1,40 @@ +CREATE view [C6Mart].[vPatrimonioImmobiliare] +as + select + vInfo.Rete, + vInfo.CodFis as Cod_Fiscale, + dett.Descrizione, + dett.tipologia as Tipologia, + -- modifica del 14/2/2019 per far tornare anche il comune nella localita' + dett.comune + ' (' + dett.codProvincia + ')' as Localita, + -- fine modifica del 14/2/2019 + isnull(dett.renditaAnnua, 0) as AffittoPercepito, + dett.valoreimmobiletotale as Valore, + 0 as Totale, + 0 as TotaleAffitto, + isnull(tCoin.tipologiaDiritto,'Proprietà') as TipologiaDiritto, + case when pt.idimmobilecatasto is not null then tCoin.quotaDiritto else dett.quotaProprieta end ProQuota, + case when isnull(tCoin.moltiplicatoreDiritto*dett.valoreImmobileTotale,0) = 0 + then dett.valoreImmobile + else ROUND(CAST (dett.valoreImmobileTotale*tCoin.moltiplicatorediritto AS decimal (18,2)),2) + end as Valore_ProQuota, + 0 as TotaleProQuota + from ( select distinct con.chiaveClientePBProprietario,con.chiaveprodottoterzi,condett.tipologiadiritto ,condett.quotaDiritto, condett.moltiplicatorediritto + from [CONSUNI].consulenzaunica.dbo.cointestatari con + inner join [CONSUNI].consulenzaunica.dbo.CointestatariDettaglioDiritto condett + on condett.chiavecointestatari = con.chiavecointestatari + and condett.chiaveprodottoterzi = con.chiaveprodottoterzi + where con.chiaveclientepb=con.chiaveClientePBProprietario + ) tCoin + inner join [CONSUNI].consulenzaunica.dbo.dettImmobiliare dett + on tCoin.chiaveProdottoTerzi = dett.chiaveProdottoTerzi + inner join [CONSUNI].consulenzaunica.dbo.PatrimonioTerzi pt + on dett.chiaveProdottoTerzi = pt.chiaveProdottoTerzi + left join [CONSUNI].consulenzaunica.dbo.dfinalita fin + on fin.codfinalita=dett.codfinalita + left join [CONSUNI].consulenzaunica.dbo.dtipoimmobile dti + on dti.codtipologia=dett.codtipologia + left join [CONSUNI].consulenzaunica.dbo.DNazioneEstera dne + on dne.codNazioneEstera = dett.codNazioneEstera + inner join [CONSUNI].consulenzaunica.dbo.vInfoCliente vInfo + on pt.chiaveClientePB = vInfo.chiaveClientePB \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_vPatrimonioImmobiliare_20190116_errata.sql b/sql/Produzione/viste/C6Mart_vPatrimonioImmobiliare_20190116_errata.sql new file mode 100644 index 00000000..e3790a12 --- /dev/null +++ b/sql/Produzione/viste/C6Mart_vPatrimonioImmobiliare_20190116_errata.sql @@ -0,0 +1,40 @@ +CREATE view [C6Mart].[vPatrimonioImmobiliare] +as + select + vInfo.Rete, + vInfo.CodFis as Cod_Fiscale, + dett.Descrizione, + dett.tipologia as Tipologia, + dett.comune as Localita, + isnull(dett.renditaAnnua, 0) as AffittoPercepito, + dett.valoreimmobiletotale as Valore, + 0 as Totale, + 0 as TotaleAffitto, + isnull(coin.tipologiaDiritto,'Proprietà') as TipologiaDiritto, + case when pt.idimmobilecatasto is not null then coin.quotaDiritto else dett.quotaProprieta end ProQuota, + case when isnull(coin.moltiplicatoreDiritto*dett.valoreImmobileTotale,0) = 0 + then dett.valoreImmobile + else ROUND(CAST (dett.valoreImmobileTotale*coin.moltiplicatorediritto AS decimal (18,2)),2) + end as Valore_ProQuota, + 0 as TotaleProQuota + from [CONSUNI].consulenzaunica.dbo.PatrimonioTerzi pt + inner join [CONSUNI].consulenzaunica.dbo.dettImmobiliare dett + on dett.chiaveprodottoterzi = pt.chiaveprodottoterzi + --and dtfinevalidita >getdate() + left join ( select distinct con.chiaveClientePBProprietario,con.chiaveprodottoterzi,condett.tipologiadiritto ,condett.quotaDiritto, condett.moltiplicatorediritto + from [CONSUNI].consulenzaunica.dbo.cointestatari con + inner join [CONSUNI].consulenzaunica.dbo.CointestatariDettaglioDiritto condett + on condett.chiavecointestatari = con.chiavecointestatari + and condett.chiaveprodottoterzi = con.chiaveprodottoterzi + where con.chiaveclientepb=con.chiaveClientePBProprietario + ) coin + on coin.chiaveprodottoterzi = dett.chiaveprodottoterzi + and coin.chiaveClientePBProprietario=pt.chiaveClientePB + left join [CONSUNI].consulenzaunica.dbo.dfinalita fin + on fin.codfinalita=dett.codfinalita + left join [CONSUNI].consulenzaunica.dbo.dtipoimmobile dti + on dti.codtipologia=dett.codtipologia + left join [CONSUNI].consulenzaunica.dbo.DNazioneEstera dne + on dne.codNazioneEstera = dett.codNazioneEstera + inner join [CONSUNI].consulenzaunica.dbo.vInfoCliente vInfo + on pt.chiaveClientePB = vInfo.chiaveClientePB \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_vPatrimonioImmobiliare_20190214.sql b/sql/Produzione/viste/C6Mart_vPatrimonioImmobiliare_20190214.sql new file mode 100644 index 00000000..9f2a8e2a --- /dev/null +++ b/sql/Produzione/viste/C6Mart_vPatrimonioImmobiliare_20190214.sql @@ -0,0 +1,38 @@ +CREATE view [C6Mart].[vPatrimonioImmobiliare_20190214] +as + select + vInfo.Rete, + vInfo.CodFis as Cod_Fiscale, + dett.Descrizione, + dett.tipologia as Tipologia, + dett.comune as Localita, + isnull(dett.renditaAnnua, 0) as AffittoPercepito, + dett.valoreimmobiletotale as Valore, + 0 as Totale, + 0 as TotaleAffitto, + isnull(tCoin.tipologiaDiritto,'Proprietà') as TipologiaDiritto, + case when pt.idimmobilecatasto is not null then tCoin.quotaDiritto else dett.quotaProprieta end ProQuota, + case when isnull(tCoin.moltiplicatoreDiritto*dett.valoreImmobileTotale,0) = 0 + then dett.valoreImmobile + else ROUND(CAST (dett.valoreImmobileTotale*tCoin.moltiplicatorediritto AS decimal (18,2)),2) + end as Valore_ProQuota, + 0 as TotaleProQuota + from ( select distinct con.chiaveClientePBProprietario,con.chiaveprodottoterzi,condett.tipologiadiritto ,condett.quotaDiritto, condett.moltiplicatorediritto + from [CONSUNI].consulenzaunica.dbo.cointestatari con + inner join [CONSUNI].consulenzaunica.dbo.CointestatariDettaglioDiritto condett + on condett.chiavecointestatari = con.chiavecointestatari + and condett.chiaveprodottoterzi = con.chiaveprodottoterzi + where con.chiaveclientepb=con.chiaveClientePBProprietario + ) tCoin + inner join [CONSUNI].consulenzaunica.dbo.dettImmobiliare dett + on tCoin.chiaveProdottoTerzi = dett.chiaveProdottoTerzi + inner join [CONSUNI].consulenzaunica.dbo.PatrimonioTerzi pt + on dett.chiaveProdottoTerzi = pt.chiaveProdottoTerzi + left join [CONSUNI].consulenzaunica.dbo.dfinalita fin + on fin.codfinalita=dett.codfinalita + left join [CONSUNI].consulenzaunica.dbo.dtipoimmobile dti + on dti.codtipologia=dett.codtipologia + left join [CONSUNI].consulenzaunica.dbo.DNazioneEstera dne + on dne.codNazioneEstera = dett.codNazioneEstera + inner join [CONSUNI].consulenzaunica.dbo.vInfoCliente vInfo + on pt.chiaveClientePB = vInfo.chiaveClientePB \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_vPatrimonioNonRappresentabileAsset.sql b/sql/Produzione/viste/C6Mart_vPatrimonioNonRappresentabileAsset.sql new file mode 100644 index 00000000..bf2d4cf4 --- /dev/null +++ b/sql/Produzione/viste/C6Mart_vPatrimonioNonRappresentabileAsset.sql @@ -0,0 +1,68 @@ +CREATE VIEW [C6Mart].[vPatrimonioNonRappresentabileAsset] +AS +SELECT + RETE, + COD_FISCALE, + --SUM(Controvalore) as Controvalore + SUM( cast(Controvalore as decimal(15,3))) as Controvalore + FROM ( + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.CTV as Controvalore + FROM c6mart.PATRIMONIO_BF PATRBF + INNER JOIN c6mart.ANAG_PRODOTTI ANAGP + ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + LEFT OUTER JOIN c6mart.ASSET_PERC ASSETPERC + ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + PATRBF.TIPO_PRODOTTO NOT IN ('ASUL','CC') + AND ASSETPERC.COD_PRODOTTO IS NULL + UNION ALL +-- SELECT +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- ASUL.CTV as Controvalore +-- FROM c6mart.PATRIMONIO_BF PATRBF +-- INNER JOIN c6mart.ANAG_PRODOTTI ANAGP +-- ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO +-- INNER JOIN c6mart.DETTAGLIO_ASUL ASUL +-- ON PATRBF.RETE = ASUL.RETE +-- AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE +-- AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO +-- LEFT OUTER JOIN c6mart.ASSET_PERC ASSETPERC +-- ON ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- PATRBF.TIPO_PRODOTTO = 'ASUL' +-- AND ASSETPERC.COD_PRODOTTO IS NULL +SELECT ASUL.RETE, + ASUL.COD_FISCALe, + ASUL.CTV*isnull(ASSETPERC.PERC,1) as Controvalore + FROM + c6mart.DETTAGLIO_ASUL ASUL + left JOIN + c6mart.ASSET_PERC ASSETPERC + ON + ( + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---no SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + ) + or + ( --SKANDIA + ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + ) + WHERE + ASSETPERC.COD_PRODOTTO IS NULL + -- and cod_fiscale='RSSTLL57H56F839V' + ) PATR_NO_RAPPR + GROUP BY + RETE, + COD_FISCALE \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_vPatrimonioNonRappresentabileAsset_2.sql b/sql/Produzione/viste/C6Mart_vPatrimonioNonRappresentabileAsset_2.sql new file mode 100644 index 00000000..d0d7bcb9 --- /dev/null +++ b/sql/Produzione/viste/C6Mart_vPatrimonioNonRappresentabileAsset_2.sql @@ -0,0 +1,42 @@ +create VIEW [C6Mart].[vPatrimonioNonRappresentabileAsset_2] +AS +SELECT + RETE, + COD_FISCALE, + SUM(Controvalore) as Controvalore + FROM ( + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.CTV as Controvalore + FROM C6MART.PATRIMONIO_BF PATRBF + INNER JOIN C6Mart.ANAG_PRODOTTI ANAGP + ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + LEFT OUTER JOIN C6MART.ASSET_PERC ASSETPERC + ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + PATRBF.TIPO_PRODOTTO NOT IN ('ASUL','CC') + AND ASSETPERC.COD_PRODOTTO IS NULL + UNION ALL + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + ASUL.CTV as Controvalore + FROM C6MART.PATRIMONIO_BF PATRBF + INNER JOIN C6Mart.ANAG_PRODOTTI ANAGP + ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + INNER JOIN C6MART.DETTAGLIO_ASUL ASUL + ON PATRBF.RETE = ASUL.RETE + AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE + AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO + LEFT OUTER JOIN C6MART.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + PATRBF.TIPO_PRODOTTO = 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL + ) PATR_NO_RAPPR + GROUP BY + RETE, + COD_FISCALE \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_vPatrimonioTerziAggregato.sql b/sql/Produzione/viste/C6Mart_vPatrimonioTerziAggregato.sql new file mode 100644 index 00000000..57170ba5 --- /dev/null +++ b/sql/Produzione/viste/C6Mart_vPatrimonioTerziAggregato.sql @@ -0,0 +1,13 @@ +CREATE VIEW [C6Mart].[vPatrimonioTerziAggregato] +AS +SELECT + RETE, + COD_FISCALE, + SUM(ROUND(CTV,2)) as CTV, + SUM(ROUND(CASE WHEN TIPO_PRODOTTO = 'Conti correnti' THEN 0 ELSE CTV END,2)) AS ControvaloreSenzaCC, + SUM(ROUND(CASE WHEN TIPO_PRODOTTO = 'Conti correnti' THEN CTV ELSE 0 END,2)) AS ControvaloreCC +FROM + C6Mart.PATRIMONIO_TERZI +GROUP BY + RETE, + COD_FISCALE \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_vPatrimoniobfAggregato.sql b/sql/Produzione/viste/C6Mart_vPatrimoniobfAggregato.sql new file mode 100644 index 00000000..3b2fb594 --- /dev/null +++ b/sql/Produzione/viste/C6Mart_vPatrimoniobfAggregato.sql @@ -0,0 +1,29 @@ +CREATE VIEW [C6Mart].[vPatrimoniobfAggregato] +AS +SELECT + PATRIMONIO_bf.RETE, + PATRIMONIO_bf.COD_FISCALE, + SUM(case when Upper(id_area)='CC' and ctv<0 then 0 else ctv end) as CTV, --modificata il 04012020 la fonte del ctv con la case when per escludere i cc negativi dal conto + SUM(case Upper(id_area) when 'NA' then ctv else 0 end ) as PatrimonioNonAssociato, + SUM(case Upper(id_area) when 'CC' then ctv else 0 end ) as ContoCorrente, + SUM(case Upper(id_area) when 'CC' then 0 else ctv end ) as PatrimonioSenzaCC, + --MAX((isnull(PART_VIAGG.PARTVIA_INV,0))) as PartiteViaggiantiInv + --decommentare ed aggiungere una virgola alla riga sovrastante, indi commentare detta riga + MAX((isnull(PART_VIAGG.PARTVIA_DISINV,0))) as PartiteViaggiantiDisinv +FROM C6Mart.PATRIMONIO_bf +LEFT JOIN +( + --commentare Sum Partvia_Inv, decommentare Sum Partvia_Disinv + SELECT a.rete, a.cod_fiscale, /*sum (a.PARTVIA_INV) AS PARTVIA_INV,*/ sum (a.PARTVIA_DISINV) AS PARTVIA_DISINV + FROM ( + SELECT DISTINCT rete, cod_fiscale, id_contratto, partvia_disinv --partvia_inv + FROM C6Mart.PATRIMONIO_bf + --WHERE partvia_inv IS NOT NULL --commentare questa riga + ) a + GROUP BY rete, cod_fiscale +) PART_VIAGG + ON + PART_VIAGG.RETE = PATRIMONIO_bf.RETE + AND PART_VIAGG.COD_FISCALE = PATRIMONIO_bf.COD_FISCALE +GROUP BY + PATRIMONIO_bf.rete, PATRIMONIO_bf.cod_fiscale \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_vPatrimoniobfAggregato_SenzaNobPrez.sql b/sql/Produzione/viste/C6Mart_vPatrimoniobfAggregato_SenzaNobPrez.sql new file mode 100644 index 00000000..065bd6ad --- /dev/null +++ b/sql/Produzione/viste/C6Mart_vPatrimoniobfAggregato_SenzaNobPrez.sql @@ -0,0 +1,30 @@ +CREATE VIEW [C6Mart].[vPatrimoniobfAggregato_SenzaNobPrez] +AS +SELECT + PATRIMONIO_bf.RETE, + PATRIMONIO_bf.COD_FISCALE, + SUM(case when Upper(id_area)='CC' and ctv<0 then 0 else ctv end) as CTV, --modificata il 04012020 la fonte del ctv con la case when per escludere i cc negativi dal conto + SUM(case Upper(id_area) when 'NA' then ctv else 0 end ) as PatrimonioNonAssociato, + SUM(case Upper(id_area) when 'CC' then ctv else 0 end ) as ContoCorrente, + SUM(case Upper(id_area) when 'CC' then 0 else ctv end ) as PatrimonioSenzaCC, + --MAX((isnull(PART_VIAGG.PARTVIA_INV,0))) as PartiteViaggiantiInv + --decommentare ed aggiungere una virgola alla riga sovrastante, indi commentare detta riga + MAX((isnull(PART_VIAGG.PARTVIA_DISINV,0))) as PartiteViaggiantiDisinv +FROM C6Mart.PATRIMONIO_bf +LEFT JOIN +( + --commentare Sum Partvia_Inv, decommentare Sum Partvia_Disinv + SELECT a.rete, a.cod_fiscale, /*sum (a.PARTVIA_INV) AS PARTVIA_INV,*/ sum (a.PARTVIA_DISINV) AS PARTVIA_DISINV + FROM ( + SELECT DISTINCT rete, cod_fiscale, id_contratto, partvia_disinv --partvia_inv + FROM C6Mart.PATRIMONIO_bf + --WHERE partvia_inv IS NOT NULL --commentare questa riga + ) a + GROUP BY rete, cod_fiscale +) PART_VIAGG + ON + PART_VIAGG.RETE = PATRIMONIO_bf.RETE + AND PART_VIAGG.COD_FISCALE = PATRIMONIO_bf.COD_FISCALE + where isnull(PATRIMONIO_bf.Nob_Prez,'N')<>'S' +GROUP BY + PATRIMONIO_bf.rete, PATRIMONIO_bf.COD_FISCALE \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_vPrometeiaTerziCategoriaProdotto.sql b/sql/Produzione/viste/C6Mart_vPrometeiaTerziCategoriaProdotto.sql new file mode 100644 index 00000000..05583507 --- /dev/null +++ b/sql/Produzione/viste/C6Mart_vPrometeiaTerziCategoriaProdotto.sql @@ -0,0 +1,103 @@ +CREATE VIEW [C6Mart].[vPrometeiaTerziCategoriaProdotto] +AS +SELECT + TUTTI.RETE AS Rete, + TUTTI.CODICEFISCALE AS CodiceFiscale, + TUTTI.PORTAFOGLIO AS Portafoglio, + TUTTI.COD_ISIN AS CodiceIsin, + TUTTI.COD_ADEGUATEZZA AS CodiceAdeguatezza, + TUTTI.COD_MAF AS CodiceMaf, + TUTTI.COD_INTERNO AS CodiceInterno, + TUTTI.COD_SOTTOPRODOTTO AS CodiceSottoprodotto, + TUTTI.PIAZZA AS Piazza, + TUTTI.CODICEVALUTA AS Codicevaluta, + TUTTI.CLASSE AS Classe, + SUM(TUTTI.CONTROVALORE) AS Controvalore, + TUTTI.ESTRAZIONE AS Estrazione +FROM ( + -- 1. ASSET PER DATI PATRIMONIO TERZI NON IN CATALOGO + SELECT + 'DATI NON IN CATALOGO' AS ESTRAZIONE, + PATRIMONIO_TERZI.RETE AS RETE, + PATRIMONIO_TERZI.COD_FISCALE AS CODICEFISCALE, + 'TIPOPRODTERZI|TERZI|' + + ISNULL(PATRIMONIO_TERZI.DESCR_GRUPPO_PRODOTTO, PATRIMONIO_TERZI.TIPO_PRODOTTO) + + '|' + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI AS PORTAFOGLIO, + ASSETCLASS_TERZI.COD_ISIN AS COD_ISIN, + ASSETCLASS_TERZI.COD_ADEGUATEZZA AS COD_ADEGUATEZZA, + ASSETCLASS_TERZI.COD_MAF AS COD_MAF, + '$' AS COD_INTERNO, + '$' AS COD_SOTTOPRODOTTO, + '' AS PIAZZA, + '' AS CODICEVALUTA, + '' AS CLASSE, + (PATRIMONIO_TERZI.CTV * ASSET_PERC_TERZI.PERC) AS CONTROVALORE + FROM C6MART.ASSET_PERC_TERZI + INNER JOIN C6MART.ASSETCLASS_TERZI ON ASSET_PERC_TERZI.ID_ASSETCLASS = ASSETCLASS_TERZI.ID_ASSETCLASS + INNER JOIN C6MART.PATRIMONIO_TERZI ON PATRIMONIO_TERZI.COD_PRODOTTO_TERZI = ASSET_PERC_TERZI.COD_PRODOTTO_TERZI + INNER JOIN C6MART.ANAG_PRODOTTI_TERZI ON ANAG_PRODOTTI_TERZI.COD_PRODOTTO_TERZI = PATRIMONIO_TERZI.COD_PRODOTTO_TERZI + WHERE ASSET_PERC_TERZI.LIVELLO = 2 + AND NOT ( + PATRIMONIO_TERZI.TIPO_PRODOTTO = 'Conti correnti' + AND ANAG_PRODOTTI_TERZI.DESCR_PRODOTTO = 'Assets.FinancialAssets.CurrentAccount' + ) + UNION ALL + -- 2. ASSET PER DATI PATRIMONIO TERZI IN CATALOGO + SELECT + 'DATI IN CATALOGO' AS ESTRAZIONE, + PATRIMONIO_TERZI.RETE AS RETE, + PATRIMONIO_TERZI.COD_FISCALE AS CODICEFISCALE, + 'TIPOPRODTERZI|TERZI|' + + ISNULL(PATRIMONIO_TERZI.DESCR_GRUPPO_PRODOTTO, PATRIMONIO_TERZI.TIPO_PRODOTTO) + + '|' + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI AS PORTAFOGLIO, + ANAG_PRODOTTI.COD_ISIN AS COD_ISIN, + ANAG_PRODOTTI.COD_ADEGUATEZZA AS COD_ADEGUATEZZA, + ANAG_PRODOTTI.COD_MAF AS COD_MAF, + ANAG_PRODOTTI.COD_INTERNO AS COD_INTERNO, + ANAG_PRODOTTI.COD_SOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + '' AS PIAZZA, + '' AS CODICEVALUTA, + '' AS CLASSE, + (PATRIMONIO_TERZI.CTV * ISNULL(ASSET_PERC.PERC,1)) AS CONTROVALORE + FROM C6MART.PATRIMONIO_TERZI + INNER JOIN C6MART.ANAG_PRODOTTI ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_TERZI.COD_PRODOTTO + LEFT OUTER JOIN C6MART.ASSET_PERC ON ASSET_PERC.COD_PRODOTTO = PATRIMONIO_TERZI.COD_PRODOTTO + AND ASSET_PERC.LIVELLO = 2 + UNION ALL + -- 3 ASSET NON ESISTENTI PER DATI PATRIMONIO TERZI DEL CATALOGO CON ADEGUATEZZA A NULL (SETTATI AD ALTRO PER CONVENZIONE) + SELECT + 'DATI IN CATALOGO CON COD_ADEGUATEZZA NULL E ASSET NON VALORIZZATO' AS ESTRAZIONE, + PATRIMONIO_TERZI.RETE AS RETE, + PATRIMONIO_TERZI.COD_FISCALE AS CODICEFISCALE, + 'TIPOPRODTERZI|TERZI|' + + ISNULL(PATRIMONIO_TERZI.DESCR_GRUPPO_PRODOTTO, PATRIMONIO_TERZI.TIPO_PRODOTTO) + + '|' + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI AS PORTAFOGLIO, + ASSETCLASS_TERZI.COD_ISIN AS COD_ISIN, + ASSETCLASS_TERZI.COD_ADEGUATEZZA AS COD_ADEGUATEZZA, + ASSETCLASS_TERZI.COD_MAF AS COD_MAF, + '$' AS COD_INTERNO, + '$' AS COD_SOTTOPRODOTTO, + '' AS PIAZZA, + '' AS CODICEVALUTA, + '' AS CLASSE, + (PATRIMONIO_TERZI.CTV * ASSET_PERC.PERC) AS CONTROVALORE + FROM C6MART.PATRIMONIO_TERZI + INNER JOIN C6MART.ANAG_PRODOTTI ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_TERZI.COD_PRODOTTO + LEFT JOIN C6MART.ASSET_PERC ON ASSET_PERC.COD_PRODOTTO = PATRIMONIO_TERZI.COD_PRODOTTO + INNER JOIN C6MART.ASSETCLASS_TERZI ON ASSETCLASS_TERZI.ID_ASSETCLASS = 'AL1' + WHERE ANAG_PRODOTTI.COD_ADEGUATEZZA = '$' + AND ASSET_PERC.COD_PRODOTTO IS NULL +) TUTTI +GROUP BY + TUTTI.ESTRAZIONE, + TUTTI.RETE, + TUTTI.CODICEFISCALE, + TUTTI.PORTAFOGLIO, + TUTTI.COD_ISIN, + TUTTI.COD_ADEGUATEZZA, + TUTTI.COD_MAF, + TUTTI.COD_INTERNO, + TUTTI.COD_SOTTOPRODOTTO, + TUTTI.PIAZZA, + TUTTI.CODICEVALUTA, + TUTTI.CLASSE \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_vPrometeiaTerziCategoriaProdotto_aladdin.sql b/sql/Produzione/viste/C6Mart_vPrometeiaTerziCategoriaProdotto_aladdin.sql new file mode 100644 index 00000000..8f80723a --- /dev/null +++ b/sql/Produzione/viste/C6Mart_vPrometeiaTerziCategoriaProdotto_aladdin.sql @@ -0,0 +1,135 @@ +CREATE VIEW [C6Mart].[vPrometeiaTerziCategoriaProdotto_aladdin] +AS +SELECT + TUTTI.RETE AS Rete, + TUTTI.CODICEFISCALE AS CodiceFiscale, + TUTTI.PORTAFOGLIO AS Portafoglio, + -------------------------------------- + tutti.TIPOptf as TIPOptf, + tutti.COD_PRODOTTO_TERZI as COD_PRODOTTO_TERZI, + tutti.ASSET_TERZI as Asset_Terzi, + tutti.FAMPRODT as FAMPRODT, + --------------------------------------- + TUTTI.COD_ISIN AS CodiceIsin, + TUTTI.COD_ADEGUATEZZA AS CodiceAdeguatezza, + TUTTI.COD_MAF AS CodiceMaf, + TUTTI.COD_INTERNO AS CodiceInterno, + TUTTI.COD_SOTTOPRODOTTO AS CodiceSottoprodotto, + TUTTI.PIAZZA AS Piazza, + TUTTI.CODICEVALUTA AS Codicevaluta, + TUTTI.CLASSE AS Classe, + SUM(TUTTI.CONTROVALORE) AS Controvalore, + TUTTI.ESTRAZIONE AS Estrazione +FROM ( + --39956 + -- 1. ASSET PER DATI PATRIMONIO TERZI NON IN CATALOGO + SELECT + 'DATI NON IN CATALOGO' AS ESTRAZIONE, + PATRIMONIO_TERZI.RETE AS RETE, + PATRIMONIO_TERZI.COD_FISCALE AS CODICEFISCALE, + 'TIPOPRODTERZI|TERZI|' + + ISNULL(PATRIMONIO_TERZI.DESCR_GRUPPO_PRODOTTO, PATRIMONIO_TERZI.TIPO_PRODOTTO) + + '|' + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI AS PORTAFOGLIO, + -------------------------- + 'TIPOPRODTERZI|TERZI' as TIPOptf, + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI as COD_PRODOTTO_TERZI, + ASSETCLASS_TERZI.COD_ADEGUATEZZA as ASSET_TERZI, + ISNULL(PATRIMONIO_TERZI.DESCR_GRUPPO_PRODOTTO, PATRIMONIO_TERZI.TIPO_PRODOTTO) as FAMPRODT, + ------------------------ + ASSETCLASS_TERZI.COD_ISIN AS COD_ISIN, + ASSETCLASS_TERZI.COD_ADEGUATEZZA AS COD_ADEGUATEZZA, + ASSETCLASS_TERZI.COD_MAF AS COD_MAF, + '$' AS COD_INTERNO, + '$' AS COD_SOTTOPRODOTTO, + '' AS PIAZZA, + '' AS CODICEVALUTA, + '' AS CLASSE, + (PATRIMONIO_TERZI.CTV * ASSET_PERC_TERZI.PERC) AS CONTROVALORE + FROM C6MART.ASSET_PERC_TERZI + INNER JOIN C6MART.ASSETCLASS_TERZI ON ASSET_PERC_TERZI.ID_ASSETCLASS = ASSETCLASS_TERZI.ID_ASSETCLASS + INNER JOIN C6MART.PATRIMONIO_TERZI ON PATRIMONIO_TERZI.COD_PRODOTTO_TERZI = ASSET_PERC_TERZI.COD_PRODOTTO_TERZI + INNER JOIN C6MART.ANAG_PRODOTTI_TERZI ON ANAG_PRODOTTI_TERZI.COD_PRODOTTO_TERZI = PATRIMONIO_TERZI.COD_PRODOTTO_TERZI + WHERE ASSET_PERC_TERZI.LIVELLO = 2 + AND NOT ( + PATRIMONIO_TERZI.TIPO_PRODOTTO = 'Conti correnti' + AND ANAG_PRODOTTI_TERZI.DESCR_PRODOTTO = 'Assets.FinancialAssets.CurrentAccount' + ) + UNION ALL + --100923 + -- 2. ASSET PER DATI PATRIMONIO TERZI IN CATALOGO + SELECT + 'DATI IN CATALOGO' AS ESTRAZIONE, + PATRIMONIO_TERZI.RETE AS RETE, + PATRIMONIO_TERZI.COD_FISCALE AS CODICEFISCALE, + 'TIPOPRODTERZI|TERZI|' + + ISNULL(PATRIMONIO_TERZI.DESCR_GRUPPO_PRODOTTO, PATRIMONIO_TERZI.TIPO_PRODOTTO) + + '|' + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI AS PORTAFOGLIO, + ------------------------ + 'TIPOPRODTERZI|TERZI' as TIPOptf, + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI as COD_PRODOTTO_TERZI, + '' as ASSET_TERZI, + ISNULL(PATRIMONIO_TERZI.DESCR_GRUPPO_PRODOTTO, PATRIMONIO_TERZI.TIPO_PRODOTTO) as FAMPRODT, + ------------------------ + ANAG_PRODOTTI.COD_ISIN AS COD_ISIN, + ANAG_PRODOTTI.COD_ADEGUATEZZA AS COD_ADEGUATEZZA, + ANAG_PRODOTTI.COD_MAF AS COD_MAF, + ANAG_PRODOTTI.COD_INTERNO AS COD_INTERNO, + ANAG_PRODOTTI.COD_SOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + '' AS PIAZZA, + '' AS CODICEVALUTA, + '' AS CLASSE, + (PATRIMONIO_TERZI.CTV * ISNULL(ASSET_PERC.PERC,1)) AS CONTROVALORE + FROM C6MART.PATRIMONIO_TERZI + INNER JOIN C6MART.ANAG_PRODOTTI ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_TERZI.COD_PRODOTTO + LEFT OUTER JOIN C6MART.ASSET_PERC ON ASSET_PERC.COD_PRODOTTO = PATRIMONIO_TERZI.COD_PRODOTTO + AND ASSET_PERC.LIVELLO = 2 + UNION ALL + -- 3 ASSET NON ESISTENTI PER DATI PATRIMONIO TERZI DEL CATALOGO CON ADEGUATEZZA A NULL (SETTATI AD ALTRO PER CONVENZIONE) + SELECT + 'DATI IN CATALOGO CON COD_ADEGUATEZZA NULL E ASSET NON VALORIZZATO' AS ESTRAZIONE, + PATRIMONIO_TERZI.RETE AS RETE, + PATRIMONIO_TERZI.COD_FISCALE AS CODICEFISCALE, + 'TIPOPRODTERZI|TERZI|' + + ISNULL(PATRIMONIO_TERZI.DESCR_GRUPPO_PRODOTTO, PATRIMONIO_TERZI.TIPO_PRODOTTO) + + '|' + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI AS PORTAFOGLIO, + --------------------------------- + 'TIPOPRODTERZI|TERZI' as TIPOptf, + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI as COD_PRODOTTO_TERZI, + '' as ASSET_TERZI, + ISNULL(PATRIMONIO_TERZI.DESCR_GRUPPO_PRODOTTO, PATRIMONIO_TERZI.TIPO_PRODOTTO) as FAMPRODT, + ---------------------------- + ASSETCLASS_TERZI.COD_ISIN AS COD_ISIN, + ASSETCLASS_TERZI.COD_ADEGUATEZZA AS COD_ADEGUATEZZA, + ASSETCLASS_TERZI.COD_MAF AS COD_MAF, + '$' AS COD_INTERNO, + '$' AS COD_SOTTOPRODOTTO, + '' AS PIAZZA, + '' AS CODICEVALUTA, + '' AS CLASSE, + (PATRIMONIO_TERZI.CTV * ASSET_PERC.PERC) AS CONTROVALORE + FROM C6MART.PATRIMONIO_TERZI + INNER JOIN C6MART.ANAG_PRODOTTI ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_TERZI.COD_PRODOTTO + LEFT JOIN C6MART.ASSET_PERC ON ASSET_PERC.COD_PRODOTTO = PATRIMONIO_TERZI.COD_PRODOTTO + INNER JOIN C6MART.ASSETCLASS_TERZI ON ASSETCLASS_TERZI.ID_ASSETCLASS = 'AL1' + WHERE ANAG_PRODOTTI.COD_ADEGUATEZZA = '$' + AND ASSET_PERC.COD_PRODOTTO IS NULL +) TUTTI +GROUP BY + TUTTI.ESTRAZIONE, + TUTTI.RETE, + TUTTI.CODICEFISCALE, + TUTTI.PORTAFOGLIO, + ------------------- + tutti.TIPOptf , + tutti.COD_PRODOTTO_TERZI, + tutti.ASSET_TERZI , + tutti.FAMPRODT , + -------------------------- + TUTTI.COD_ISIN, + TUTTI.COD_ADEGUATEZZA, + TUTTI.COD_MAF, + TUTTI.COD_INTERNO, + TUTTI.COD_SOTTOPRODOTTO, + TUTTI.PIAZZA, + TUTTI.CODICEVALUTA, + TUTTI.CLASSE \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_vPrometeiaTerziIntermediario.sql b/sql/Produzione/viste/C6Mart_vPrometeiaTerziIntermediario.sql new file mode 100644 index 00000000..718407b6 --- /dev/null +++ b/sql/Produzione/viste/C6Mart_vPrometeiaTerziIntermediario.sql @@ -0,0 +1,161 @@ +CREATE VIEW [C6Mart].[vPrometeiaTerziIntermediario] +AS +SELECT + TUTTI.RETE AS Rete, + TUTTI.CODICEFISCALE AS CodiceFiscale, + TUTTI.PORTAFOGLIO AS Portafoglio, + TUTTI.INTERMEDIARIO AS Intermediario, + TUTTI.COD_ISIN AS CodiceIsin, + TUTTI.COD_ADEGUATEZZA AS CodiceAdeguatezza, + TUTTI.COD_MAF AS CodiceMaf, + TUTTI.COD_INTERNO AS CodiceInterno, + TUTTI.COD_SOTTOPRODOTTO AS CodiceSottoprodotto, + TUTTI.PIAZZA AS Piazza, + TUTTI.CODICEVALUTA AS Codicevaluta, + TUTTI.CLASSE AS Classe, + SUM(TUTTI.CONTROVALORE) AS Controvalore, + TUTTI.ESTRAZIONE AS Estrazione +FROM ( + -- 1. ASSET PER DATI PATRIMONIO TERZI NON IN CATALOGO + SELECT + case + when (PATRIMONIO_TERZI.TIPO_PRODOTTO = 'Conti correnti') then 'CONTI CORRENTI' + else 'DATI NON IN CATALOGO' + end AS ESTRAZIONE, + PATRIMONIO_TERZI.RETE AS RETE, + PATRIMONIO_TERZI.COD_FISCALE AS CODICEFISCALE, + case + when (PATRIMONIO_TERZI.TIPO_PRODOTTO = 'Conti correnti') + then 'COMPLESSIVO|TERZI|' + PATRIMONIO_TERZI.INTERMEDIARIO + '|CC' + else 'COMPLESSIVO|TERZI|' + PATRIMONIO_TERZI.INTERMEDIARIO + '|' + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI + end AS PORTAFOGLIO, + PATRIMONIO_TERZI.INTERMEDIARIO AS INTERMEDIARIO, + ASSETCLASS_TERZI.COD_ISIN AS COD_ISIN, + --V aggiunto nel caso di conti correnti non a catalogo + case + when (PATRIMONIO_TERZI.TIPO_PRODOTTO = 'Conti correnti') then 'EUR' + else ASSETCLASS_TERZI.COD_ADEGUATEZZA + end AS COD_ADEGUATEZZA, + ASSETCLASS_TERZI.COD_MAF AS COD_MAF, + '$' AS COD_INTERNO, + '$' AS COD_SOTTOPRODOTTO, + '' AS PIAZZA, + '' AS CODICEVALUTA, + '' AS CLASSE, +--Modifica per valore VAR errato a causa della franchigia 29/4/2020 + case + when (PATRIMONIO_TERZI.TIPO_PRODOTTO = 'Conti correnti') + then (case when(PATRIMONIO_TERZI.CTV -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') as int))<0 then PATRIMONIO_TERZI.CTV else PATRIMONIO_TERZI.CTV -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') as int) end) + else (PATRIMONIO_TERZI.CTV * ASSET_PERC_TERZI.PERC) + end AS CONTROVALORE + --(PATRIMONIO_TERZI.CTV * ASSET_PERC_TERZI.PERC) AS CONTROVALORE + FROM C6MART.ASSET_PERC_TERZI + INNER JOIN C6MART.ASSETCLASS_TERZI ON ASSET_PERC_TERZI.ID_ASSETCLASS = ASSETCLASS_TERZI.ID_ASSETCLASS + INNER JOIN C6MART.PATRIMONIO_TERZI ON PATRIMONIO_TERZI.COD_PRODOTTO_TERZI = ASSET_PERC_TERZI.COD_PRODOTTO_TERZI + INNER JOIN C6MART.ANAG_PRODOTTI_TERZI ON ANAG_PRODOTTI_TERZI.COD_PRODOTTO_TERZI = PATRIMONIO_TERZI.COD_PRODOTTO_TERZI + WHERE ASSET_PERC_TERZI.LIVELLO = 2 +-- AND NOT ( +-- --PATRIMONIO_TERZI.TIPO_PRODOTTO = 'Conti correnti' +-- --AND +----ANAG_PRODOTTI_TERZI.DESCR_PRODOTTO = 'Assets.FinancialAssets.CurrentAccount' +-- ) + UNION ALL + -- 2. ASSET PER DATI PATRIMONIO TERZI IN CATALOGO + SELECT + 'DATI IN CATALOGO' AS ESTRAZIONE, + PATRIMONIO_TERZI.RETE AS RETE, + PATRIMONIO_TERZI.COD_FISCALE AS CODICEFISCALE, + 'COMPLESSIVO|TERZI|' + PATRIMONIO_TERZI.INTERMEDIARIO + '|' + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI AS PORTAFOGLIO, + PATRIMONIO_TERZI.INTERMEDIARIO AS INTERMEDIARIO, + ANAG_PRODOTTI.COD_ISIN AS COD_ISIN, + ANAG_PRODOTTI.COD_ADEGUATEZZA AS COD_ADEGUATEZZA, + ANAG_PRODOTTI.COD_MAF AS COD_MAF, + ANAG_PRODOTTI.COD_INTERNO AS COD_INTERNO, + ANAG_PRODOTTI.COD_SOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + '' AS PIAZZA, + '' AS CODICEVALUTA, + '' AS CLASSE, + (PATRIMONIO_TERZI.CTV * ISNULL(ASSET_PERC.PERC,1)) AS CONTROVALORE + FROM C6MART.PATRIMONIO_TERZI + INNER JOIN C6MART.ANAG_PRODOTTI ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_TERZI.COD_PRODOTTO + LEFT OUTER JOIN C6MART.ASSET_PERC ON ASSET_PERC.COD_PRODOTTO = PATRIMONIO_TERZI.COD_PRODOTTO + AND ASSET_PERC.LIVELLO = 2 + UNION ALL + -- 3 ASSET NON ESISTENTI PER DATI PATRIMONIO TERZI DEL CATALOGO CON ADEGUATEZZA A NULL (SETTATI AD ALTRO PER CONVENZIONE) + SELECT + 'DATI IN CATALOGO CON COD_ADEGUATEZZA NULL E ASSET NON VALORIZZATO' AS ESTRAZIONE, + PATRIMONIO_TERZI.RETE AS RETE, + PATRIMONIO_TERZI.COD_FISCALE AS CODICEFISCALE, + 'COMPLESSIVO|TERZI|' + PATRIMONIO_TERZI.INTERMEDIARIO + '|' + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI AS PORTAFOGLIO, + PATRIMONIO_TERZI.INTERMEDIARIO AS INTERMEDIARIO, + ASSETCLASS_TERZI.COD_ISIN AS COD_ISIN, + ASSETCLASS_TERZI.COD_ADEGUATEZZA AS COD_ADEGUATEZZA, + ASSETCLASS_TERZI.COD_MAF AS COD_MAF, + '$' AS COD_INTERNO, + '$' AS COD_SOTTOPRODOTTO, + '' AS PIAZZA, + '' AS CODICEVALUTA, + '' AS CLASSE, + (PATRIMONIO_TERZI.CTV * ASSET_PERC.PERC) AS CONTROVALORE + FROM C6MART.PATRIMONIO_TERZI + INNER JOIN C6MART.ANAG_PRODOTTI ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_TERZI.COD_PRODOTTO + LEFT JOIN C6MART.ASSET_PERC ON ASSET_PERC.COD_PRODOTTO = PATRIMONIO_TERZI.COD_PRODOTTO + INNER JOIN C6MART.ASSETCLASS_TERZI ON ASSETCLASS_TERZI.ID_ASSETCLASS = 'AL1' + WHERE ANAG_PRODOTTI.COD_ADEGUATEZZA = '$' + AND ASSET_PERC.COD_PRODOTTO IS NULL + --V CC terzi + union all + SELECT + --PATRIMONIO_TERZI.tipo_prodotto, + 'CONTI CORRENTI' AS ESTRAZIONE, + PATRIMONIO_TERZI.RETE AS RETE, + PATRIMONIO_TERZI.COD_FISCALE AS CODICEFISCALE, + 'COMPLESSIVO|TERZI|' + PATRIMONIO_TERZI.INTERMEDIARIO + '|CC',-- + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI AS PORTAFOGLIO, + PATRIMONIO_TERZI.INTERMEDIARIO AS INTERMEDIARIO, + ASSETCLASS_TERZI.COD_ISIN AS COD_ISIN, + ASSETCLASS_TERZI.COD_ADEGUATEZZA AS COD_ADEGUATEZZA, + ASSETCLASS_TERZI.COD_MAF AS COD_MAF, + '$' AS COD_INTERNO, + '$' AS COD_SOTTOPRODOTTO, + '' AS PIAZZA, + '' AS CODICEVALUTA, + '' AS CLASSE, + --sum(PATRIMONIO_TERZI.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') as int) AS CONTROVALORE + case when (sum(PATRIMONIO_TERZI.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') as int)<0) then sum(PATRIMONIO_TERZI.CTV) else sum(PATRIMONIO_TERZI.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') as int) end AS CONTROVALORE --modifica 050520 per anomalie Levi + FROM + C6MartPeriodico.ASSET_PERC_TERZI + INNER JOIN + C6MartPeriodico.ASSETCLASS_TERZI + ON + ASSET_PERC_TERZI.ID_ASSETCLASS = ASSETCLASS_TERZI.ID_ASSETCLASS + INNER JOIN + C6MartPeriodico.PATRIMONIO_TERZI + ON + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI = ASSET_PERC_TERZI.COD_PRODOTTO_TERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI + ON + ANAG_PRODOTTI_TERZI.COD_PRODOTTO_TERZI = PATRIMONIO_TERZI.COD_PRODOTTO_TERZI + WHERE + ASSET_PERC_TERZI.LIVELLO = 2 + AND ( + PATRIMONIO_TERZI.TIPO_PRODOTTO = 'Conti correnti' + or ANAG_PRODOTTI_TERZI.DESCR_PRODOTTO = 'Assets.FinancialAssets.CurrentAccount' + ) +--and patrimonio_terzi.Cod_fiscale = 'BNCMRA47P12A944T' + group by PATRIMONIO_TERZI.intermediario,ASSETCLASS_TERZI.COD_ISIN,cod_adeguatezza,cod_maf,PATRIMONIO_TERZI.cod_Fiscale,rete +) TUTTI +GROUP BY + TUTTI.ESTRAZIONE, + TUTTI.RETE, + TUTTI.CODICEFISCALE, + TUTTI.PORTAFOGLIO, + TUTTI.INTERMEDIARIO, + TUTTI.COD_ISIN, + TUTTI.COD_ADEGUATEZZA, + TUTTI.COD_MAF, + TUTTI.COD_INTERNO, + TUTTI.COD_SOTTOPRODOTTO, + TUTTI.PIAZZA, + TUTTI.CODICEVALUTA, + TUTTI.CLASSE \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_vPrometeiaTerziIntermediario_aladdin.sql b/sql/Produzione/viste/C6Mart_vPrometeiaTerziIntermediario_aladdin.sql new file mode 100644 index 00000000..522d6318 --- /dev/null +++ b/sql/Produzione/viste/C6Mart_vPrometeiaTerziIntermediario_aladdin.sql @@ -0,0 +1,212 @@ +CREATE VIEW [C6Mart].[vPrometeiaTerziIntermediario_aladdin] +AS +SELECT + TUTTI.RETE AS Rete, + TUTTI.CODICEFISCALE AS CodiceFiscale, + TUTTI.PORTAFOGLIO AS Portafoglio, + ---------------------------------------------------------- + tutti.TIPOptf as TIPOptf, + tutti.COD_PRODOTTO_TERZI as COD_PRODOTTO_TERZI, + tutti.ASSET_TERZI as Asset_Terzi, + tutti.FAMPRODT as FAMPRODT, + ---------------------------------------------------------- + TUTTI.INTERMEDIARIO AS Intermediario, + TUTTI.COD_ISIN AS CodiceIsin, + TUTTI.COD_ADEGUATEZZA AS CodiceAdeguatezza, + TUTTI.COD_MAF AS CodiceMaf, + TUTTI.COD_INTERNO AS CodiceInterno, + TUTTI.COD_SOTTOPRODOTTO AS CodiceSottoprodotto, + TUTTI.PIAZZA AS Piazza, + TUTTI.CODICEVALUTA AS Codicevaluta, + TUTTI.CLASSE AS Classe, + SUM(TUTTI.CONTROVALORE) AS Controvalore, + TUTTI.ESTRAZIONE AS Estrazione +FROM ( + --43887 + -- 1. ASSET PER DATI PATRIMONIO TERZI NON IN CATALOGO + SELECT + case + when (PATRIMONIO_TERZI.TIPO_PRODOTTO = 'Conti correnti') then 'CONTI CORRENTI' + else 'DATI NON IN CATALOGO' + end AS ESTRAZIONE, + PATRIMONIO_TERZI.RETE AS RETE, + PATRIMONIO_TERZI.COD_FISCALE AS CODICEFISCALE, + case + when (PATRIMONIO_TERZI.TIPO_PRODOTTO = 'Conti correnti') + then 'COMPLESSIVO|TERZI|' + PATRIMONIO_TERZI.INTERMEDIARIO + '|CC' + else 'COMPLESSIVO|TERZI|' + PATRIMONIO_TERZI.INTERMEDIARIO + '|' + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI + end AS PORTAFOGLIO, + ---------------------------------------------------------- + 'COMPLESSIVO|TERZI' as TIPOptf, + case + when (PATRIMONIO_TERZI.TIPO_PRODOTTO = 'Conti correnti') + then '' + else PATRIMONIO_TERZI.COD_PRODOTTO_TERZI + end as COD_PRODOTTO_TERZI, + case + when (PATRIMONIO_TERZI.TIPO_PRODOTTO = 'Conti correnti') + then '' + else ASSETCLASS_TERZI.COD_ADEGUATEZZA + end as ASSET_TERZI, + case + when (PATRIMONIO_TERZI.TIPO_PRODOTTO = 'Conti correnti') + then '' + else ISNULL(PATRIMONIO_TERZI.DESCR_GRUPPO_PRODOTTO, PATRIMONIO_TERZI.TIPO_PRODOTTO) + end as FAMPRODT, + ---------------------------------------------------------- + PATRIMONIO_TERZI.INTERMEDIARIO AS INTERMEDIARIO, + ASSETCLASS_TERZI.COD_ISIN AS COD_ISIN, + --V aggiunto nel caso di conti correnti non a catalogo + case + when (PATRIMONIO_TERZI.TIPO_PRODOTTO = 'Conti correnti') then 'EUR' + else ASSETCLASS_TERZI.COD_ADEGUATEZZA + end AS COD_ADEGUATEZZA, + ASSETCLASS_TERZI.COD_MAF AS COD_MAF, + '$' AS COD_INTERNO, + '$' AS COD_SOTTOPRODOTTO, + '' AS PIAZZA, + '' AS CODICEVALUTA, + '' AS CLASSE, +--Modifica per valore VAR errato a causa della franchigia 29/4/2020 + case + when (PATRIMONIO_TERZI.TIPO_PRODOTTO = 'Conti correnti') + then (case when(PATRIMONIO_TERZI.CTV -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') as int))<0 then PATRIMONIO_TERZI.CTV else PATRIMONIO_TERZI.CTV -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') as int) end) + else (PATRIMONIO_TERZI.CTV * ASSET_PERC_TERZI.PERC) + end AS CONTROVALORE + --(PATRIMONIO_TERZI.CTV * ASSET_PERC_TERZI.PERC) AS CONTROVALORE + FROM C6MART.ASSET_PERC_TERZI + INNER JOIN C6MART.ASSETCLASS_TERZI ON ASSET_PERC_TERZI.ID_ASSETCLASS = ASSETCLASS_TERZI.ID_ASSETCLASS + INNER JOIN C6MART.PATRIMONIO_TERZI ON PATRIMONIO_TERZI.COD_PRODOTTO_TERZI = ASSET_PERC_TERZI.COD_PRODOTTO_TERZI + INNER JOIN C6MART.ANAG_PRODOTTI_TERZI ON ANAG_PRODOTTI_TERZI.COD_PRODOTTO_TERZI = PATRIMONIO_TERZI.COD_PRODOTTO_TERZI + WHERE ASSET_PERC_TERZI.LIVELLO = 2 +-- AND NOT ( +-- --PATRIMONIO_TERZI.TIPO_PRODOTTO = 'Conti correnti' +-- --AND +----ANAG_PRODOTTI_TERZI.DESCR_PRODOTTO = 'Assets.FinancialAssets.CurrentAccount' +-- ) + UNION ALL + --100923 + -- 2. ASSET PER DATI PATRIMONIO TERZI IN CATALOGO + SELECT + 'DATI IN CATALOGO' AS ESTRAZIONE, + PATRIMONIO_TERZI.RETE AS RETE, + PATRIMONIO_TERZI.COD_FISCALE AS CODICEFISCALE, + 'COMPLESSIVO|TERZI|' + PATRIMONIO_TERZI.INTERMEDIARIO + '|' + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI AS PORTAFOGLIO, + ---------------------------------------------------------- + 'COMPLESSIVO|TERZI' as TIPOptf, + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI as COD_PRODOTTO_TERZI , + '' as ASSET_TERZI, + ISNULL(PATRIMONIO_TERZI.DESCR_GRUPPO_PRODOTTO, PATRIMONIO_TERZI.TIPO_PRODOTTO) as FAMPRODT, + ---------------------------------------------------------- + PATRIMONIO_TERZI.INTERMEDIARIO AS INTERMEDIARIO, + ANAG_PRODOTTI.COD_ISIN AS COD_ISIN, + ANAG_PRODOTTI.COD_ADEGUATEZZA AS COD_ADEGUATEZZA, + ANAG_PRODOTTI.COD_MAF AS COD_MAF, + ANAG_PRODOTTI.COD_INTERNO AS COD_INTERNO, + ANAG_PRODOTTI.COD_SOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + '' AS PIAZZA, + '' AS CODICEVALUTA, + '' AS CLASSE, + (PATRIMONIO_TERZI.CTV * ISNULL(ASSET_PERC.PERC,1)) AS CONTROVALORE + FROM C6MART.PATRIMONIO_TERZI + INNER JOIN C6MART.ANAG_PRODOTTI ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_TERZI.COD_PRODOTTO + LEFT OUTER JOIN C6MART.ASSET_PERC ON ASSET_PERC.COD_PRODOTTO = PATRIMONIO_TERZI.COD_PRODOTTO + AND ASSET_PERC.LIVELLO = 2 + UNION ALL + -- 3 ASSET NON ESISTENTI PER DATI PATRIMONIO TERZI DEL CATALOGO CON ADEGUATEZZA A NULL (SETTATI AD ALTRO PER CONVENZIONE) + SELECT + 'DATI IN CATALOGO CON COD_ADEGUATEZZA NULL E ASSET NON VALORIZZATO' AS ESTRAZIONE, + PATRIMONIO_TERZI.RETE AS RETE, + PATRIMONIO_TERZI.COD_FISCALE AS CODICEFISCALE, + 'COMPLESSIVO|TERZI|' + PATRIMONIO_TERZI.INTERMEDIARIO + '|' + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI AS PORTAFOGLIO, + ---------------------------------------------------------- + 'COMPLESSIVO|TERZI' as TIPOptf, + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI as COD_PRODOTTO_TERZI, + '' as ASSET_TERZI, + ISNULL(PATRIMONIO_TERZI.DESCR_GRUPPO_PRODOTTO, PATRIMONIO_TERZI.TIPO_PRODOTTO) as FAMPRODT, + ---------------------------------------------------------- + PATRIMONIO_TERZI.INTERMEDIARIO AS INTERMEDIARIO, + ASSETCLASS_TERZI.COD_ISIN AS COD_ISIN, + ASSETCLASS_TERZI.COD_ADEGUATEZZA AS COD_ADEGUATEZZA, + ASSETCLASS_TERZI.COD_MAF AS COD_MAF, + '$' AS COD_INTERNO, + '$' AS COD_SOTTOPRODOTTO, + '' AS PIAZZA, + '' AS CODICEVALUTA, + '' AS CLASSE, + (PATRIMONIO_TERZI.CTV * ASSET_PERC.PERC) AS CONTROVALORE + FROM C6MART.PATRIMONIO_TERZI + INNER JOIN C6MART.ANAG_PRODOTTI ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_TERZI.COD_PRODOTTO + LEFT JOIN C6MART.ASSET_PERC ON ASSET_PERC.COD_PRODOTTO = PATRIMONIO_TERZI.COD_PRODOTTO + INNER JOIN C6MART.ASSETCLASS_TERZI ON ASSETCLASS_TERZI.ID_ASSETCLASS = 'AL1' + WHERE ANAG_PRODOTTI.COD_ADEGUATEZZA = '$' + AND ASSET_PERC.COD_PRODOTTO IS NULL + --V CC terzi + union all + --2919 + SELECT + --PATRIMONIO_TERZI.tipo_prodotto, + 'CONTI CORRENTI' AS ESTRAZIONE, + PATRIMONIO_TERZI.RETE AS RETE, + PATRIMONIO_TERZI.COD_FISCALE AS CODICEFISCALE, + 'COMPLESSIVO|TERZI|' + PATRIMONIO_TERZI.INTERMEDIARIO + '|CC',-- + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI AS PORTAFOGLIO, + ---------------------------------------------------------- + 'COMPLESSIVO|TERZI' as TIPOptf, + '' as COD_PRODOTTO_TERZI, + '' as ASSET_TERZI, + '' as FAMPRODT, + ---------------------------------------------------------- + PATRIMONIO_TERZI.INTERMEDIARIO AS INTERMEDIARIO, + ASSETCLASS_TERZI.COD_ISIN AS COD_ISIN, + ASSETCLASS_TERZI.COD_ADEGUATEZZA AS COD_ADEGUATEZZA, + ASSETCLASS_TERZI.COD_MAF AS COD_MAF, + '$' AS COD_INTERNO, + '$' AS COD_SOTTOPRODOTTO, + '' AS PIAZZA, + '' AS CODICEVALUTA, + '' AS CLASSE, + --sum(PATRIMONIO_TERZI.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') as int) AS CONTROVALORE + case when (sum(PATRIMONIO_TERZI.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') as int)<0) then sum(PATRIMONIO_TERZI.CTV) else sum(PATRIMONIO_TERZI.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') as int) end AS CONTROVALORE --modifica 050520 per anomalie Levi + FROM + C6MartPeriodico.ASSET_PERC_TERZI + INNER JOIN + C6MartPeriodico.ASSETCLASS_TERZI + ON + ASSET_PERC_TERZI.ID_ASSETCLASS = ASSETCLASS_TERZI.ID_ASSETCLASS + INNER JOIN + C6MartPeriodico.PATRIMONIO_TERZI + ON + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI = ASSET_PERC_TERZI.COD_PRODOTTO_TERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI + ON + ANAG_PRODOTTI_TERZI.COD_PRODOTTO_TERZI = PATRIMONIO_TERZI.COD_PRODOTTO_TERZI + WHERE + ASSET_PERC_TERZI.LIVELLO = 2 + AND ( + PATRIMONIO_TERZI.TIPO_PRODOTTO = 'Conti correnti' + or ANAG_PRODOTTI_TERZI.DESCR_PRODOTTO = 'Assets.FinancialAssets.CurrentAccount' + ) +--and patrimonio_terzi.Cod_fiscale = 'BNCMRA47P12A944T' + group by PATRIMONIO_TERZI.intermediario,ASSETCLASS_TERZI.COD_ISIN,cod_adeguatezza,cod_maf,PATRIMONIO_TERZI.cod_Fiscale,rete +) TUTTI +GROUP BY + TUTTI.ESTRAZIONE, + TUTTI.RETE, + TUTTI.CODICEFISCALE, + TUTTI.PORTAFOGLIO, + ---------------------------------------------------------- + tutti.TIPOptf, + tutti.COD_PRODOTTO_TERZI, + tutti.ASSET_TERZI, + tutti.FAMPRODT , + ---------------------------------------------------------- + TUTTI.INTERMEDIARIO, + TUTTI.COD_ISIN, + TUTTI.COD_ADEGUATEZZA, + TUTTI.COD_MAF, + TUTTI.COD_INTERNO, + TUTTI.COD_SOTTOPRODOTTO, + TUTTI.PIAZZA, + TUTTI.CODICEVALUTA, + TUTTI.CLASSE \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_vRpClientiNonMigrati.sql b/sql/Produzione/viste/C6Mart_vRpClientiNonMigrati.sql new file mode 100644 index 00000000..9ec47c02 --- /dev/null +++ b/sql/Produzione/viste/C6Mart_vRpClientiNonMigrati.sql @@ -0,0 +1,56 @@ +--select * from [C6Mart].[vRpClientiNonMigrati] +CREATE VIEW [C6Mart].[vRpClientiNonMigrati] +AS + --FC + --SELECT RETE, COD_FISCALE, ID_PROMOTORE + --FROM C6Mart.ANAG_CLIENTI + --WHERE (NOME IS NULL OR NOME = '') AND (COGNOME IS NULL OR COGNOME = '') + SELECT anag.RETE , anag.COD_FISCALE, anag.ID_PROMOTORE,contr.PIVA_FIDUCIARIA + FROM C6Mart.ANAG_CLIENTI anag + inner join c6mart.vcontratti contr + on contr.cod_fiscale=anag.cod_fiscale and contr.rete=anag.rete + WHERE 1=1 /* 20171110 */ + and (NOME IS NULL OR NOME = '') AND (COGNOME IS NULL OR COGNOME = '') + and contr.rete+contr.cod_fiscale not in + ( + /* 20171110 + ----'FGRBNLT65D44A859X' /* temp 20161207 */ + ----,'FPNDLCI41T49F205P' /* temp 20170317 */ + ----,'FNTRSFN60A29F205X' /* temp 20170413 causa erorre in wrapper console di AllineaPortafoglioClienti */ + ----,'FRMNSRN50B14G160L' /* temp 20170616 causa erorre in wrapper console di AllineaPortafoglioClienti - upd C6Mart.ANAG_CLIENTI */ + ----,'SBLDMRK89A43H501E' /* temp 20170705 causa erorre in wrapper console di AllineaPortafoglioClienti - upd C6Mart.ANAG_CLIENTI */ + ----,'SNVGMNL73A15H501Y' + ----,'SMTANDR70P22H501S' + ----,'SFLCNTN47B12F631K' + ----,'SFF@10093' + ----,'FCGODTL56P51G224V' /* temp 20170825 causa erorre in wrapper console di AllineaPortafoglioClienti - upd C6Mart.ANAG_CLIENTI */ + ----,'SSCTGZM53R41C351H' /* temp 20170919 causa erorre in wrapper console di AllineaPortafoglioClienti */ + */ + /* ,'FFRNNCL87D25G224T' 20171110 nome+cognome aggiornato */ + /* ,'FGLLFBA57R22F205P' temp 20170922 causa erorre in wrapper console di AllineaPortafoglioClienti + ,'STZZFNC51B57D810T' /* temp 20171005 causa erorre in wrapper console di AllineaPortafoglioClienti */ + ,'SLVORSO76A65D711N' /* temp 20171107 causa erorre in wrapper console di AllineaPortafoglioClienti */ + 20171110 nome+cognome aggiornato */ + --'FFF@10105' /* temp 20171107 causa erorre in wrapper console di AllineaPortafoglioClienti */ + -- /* 20171110 AllineaPortafoglioClienti non restiuisce record */ + --,'SGBRMCL56B15C390A' /* 20171110 AllineaPortafoglioClienti non restiuisce record */ + --,'FGGLSFN69T19A944H' /* 20171112 AllineaPortafoglioClienti non restiuisce record */ + --,'SNVGMNL73A15H501Y' /* 20180307 AllineaPortafoglioClienti non restiuisce record */ + --,'FCVLNDR85B16C933K' /* 20180307 AllineaPortafoglioClienti non restiuisce record */ + --,'SBLDMRK89A43H501E' /* 20180307 AllineaPortafoglioClienti non restiuisce record */ + --,'SMTANDR70P22H501S' /* 20180307 AllineaPortafoglioClienti non restiuisce record */ + --,'SFF@10052' /* 20180307 AllineaPortafoglioClienti non restiuisce record */ + --,'FPRNMRA64P18E130G' /* 20180327 AllineaPortafoglioClienti non restiuisce record */ + --'SGLLNMR45B60H400M' /* 20180608 AllineaPortafoglioClienti non restiuisce record */ + --'SRSSDLM50M23E958Q' /* 20180608 AllineaPortafoglioClienti non restiuisce record */ + --'SMNIBLD57S25F908U' +--'SDSNBBR71C62G482V' +--'STRBGNE55D14L291R' +--'FDNNSFN70A62F205G' +--'SMNRGNN59R20L291G' +--'FLNZGPP44A24D390F', +--'FMNTRRT57L12I608F', +--'FDTTLCU74T53E379G', +--'FTRMMHL91L21L219Z', +'SVGDGMN54S18A794O' + ) \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_vRpClientiNonMigrati.sve.sql b/sql/Produzione/viste/C6Mart_vRpClientiNonMigrati.sve.sql new file mode 100644 index 00000000..8cd06bd5 --- /dev/null +++ b/sql/Produzione/viste/C6Mart_vRpClientiNonMigrati.sve.sql @@ -0,0 +1,22 @@ +CREATE VIEW [C6Mart].[vRpClientiNonMigrati] +AS + --FC + --SELECT RETE, COD_FISCALE, ID_PROMOTORE + --FROM C6Mart.ANAG_CLIENTI + --WHERE (NOME IS NULL OR NOME = '') AND (COGNOME IS NULL OR COGNOME = '') + SELECT anag.RETE , anag.COD_FISCALE, anag.ID_PROMOTORE,contr.PIVA_FIDUCIARIA + FROM C6Mart.ANAG_CLIENTI anag + inner join c6mart.vcontratti contr + on contr.cod_fiscale=anag.cod_fiscale and contr.rete=anag.rete + WHERE (NOME IS NULL OR NOME = '') AND (COGNOME IS NULL OR COGNOME = '') + and contr.rete+contr.cod_fiscale not in + ('FGRBNLT65D44A859X' /* temp 20161207 */ + ,'FPNDLCI41T49F205P' /* temp 20170317 */ + ,'FNTRSFN60A29F205X' /* temp 20170413 causa erorre in wrapper console di AllineaPortafoglioClienti */ + ,'FRMNSRN50B14G160L' /* temp 20170616 causa erorre in wrapper console di AllineaPortafoglioClienti - upd C6Mart.ANAG_CLIENTI */ + ,'SBLDMRK89A43H501E' /* temp 20170705 causa erorre in wrapper console di AllineaPortafoglioClienti - upd C6Mart.ANAG_CLIENTI */ + ,'SNVGMNL73A15H501Y' + ,'SMTANDR70P22H501S' + ,'SFLCNTN47B12F631K' + ,'SFF@10093' + ) \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_vRpClientiNonMigrati_20170825.sql b/sql/Produzione/viste/C6Mart_vRpClientiNonMigrati_20170825.sql new file mode 100644 index 00000000..adc53bb7 --- /dev/null +++ b/sql/Produzione/viste/C6Mart_vRpClientiNonMigrati_20170825.sql @@ -0,0 +1,22 @@ +CREATE VIEW [C6Mart].[vRpClientiNonMigrati_20170825] +AS + --FC + --SELECT RETE, COD_FISCALE, ID_PROMOTORE + --FROM C6Mart.ANAG_CLIENTI + --WHERE (NOME IS NULL OR NOME = '') AND (COGNOME IS NULL OR COGNOME = '') + SELECT anag.RETE , anag.COD_FISCALE, anag.ID_PROMOTORE,contr.PIVA_FIDUCIARIA + FROM C6Mart.ANAG_CLIENTI anag + inner join c6mart.vcontratti contr + on contr.cod_fiscale=anag.cod_fiscale and contr.rete=anag.rete + WHERE (NOME IS NULL OR NOME = '') AND (COGNOME IS NULL OR COGNOME = '') + and contr.rete+contr.cod_fiscale not in + ('FGRBNLT65D44A859X' /* temp 20161207 */ + ,'FPNDLCI41T49F205P' /* temp 20170317 */ + ,'FNTRSFN60A29F205X' /* temp 20170413 causa erorre in wrapper console di AllineaPortafoglioClienti */ + ,'FRMNSRN50B14G160L' /* temp 20170616 causa erorre in wrapper console di AllineaPortafoglioClienti - upd C6Mart.ANAG_CLIENTI */ + ,'SBLDMRK89A43H501E' /* temp 20170705 causa erorre in wrapper console di AllineaPortafoglioClienti - upd C6Mart.ANAG_CLIENTI */ + ,'SNVGMNL73A15H501Y' + ,'SMTANDR70P22H501S' + ,'SFLCNTN47B12F631K' + ,'SFF@10093' + ) \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_vRpClientiNonMigrati_20170919.sql b/sql/Produzione/viste/C6Mart_vRpClientiNonMigrati_20170919.sql new file mode 100644 index 00000000..11cfec6e --- /dev/null +++ b/sql/Produzione/viste/C6Mart_vRpClientiNonMigrati_20170919.sql @@ -0,0 +1,24 @@ +CREATE VIEW [C6Mart].[vRpClientiNonMigrati_20170919] +AS + --FC + --SELECT RETE, COD_FISCALE, ID_PROMOTORE + --FROM C6Mart.ANAG_CLIENTI + --WHERE (NOME IS NULL OR NOME = '') AND (COGNOME IS NULL OR COGNOME = '') + SELECT anag.RETE , anag.COD_FISCALE, anag.ID_PROMOTORE,contr.PIVA_FIDUCIARIA + FROM C6Mart.ANAG_CLIENTI anag + inner join c6mart.vcontratti contr + on contr.cod_fiscale=anag.cod_fiscale and contr.rete=anag.rete + WHERE (NOME IS NULL OR NOME = '') AND (COGNOME IS NULL OR COGNOME = '') + and contr.rete+contr.cod_fiscale not in + ('FGRBNLT65D44A859X' /* temp 20161207 */ + ,'FPNDLCI41T49F205P' /* temp 20170317 */ + ,'FNTRSFN60A29F205X' /* temp 20170413 causa erorre in wrapper console di AllineaPortafoglioClienti */ + ,'FRMNSRN50B14G160L' /* temp 20170616 causa erorre in wrapper console di AllineaPortafoglioClienti - upd C6Mart.ANAG_CLIENTI */ + ,'SBLDMRK89A43H501E' /* temp 20170705 causa erorre in wrapper console di AllineaPortafoglioClienti - upd C6Mart.ANAG_CLIENTI */ + ,'SNVGMNL73A15H501Y' + ,'SMTANDR70P22H501S' + ,'SFLCNTN47B12F631K' + ,'SFF@10093' + ,'FCGODTL56P51G224V' /* temp 20170825 causa erorre in wrapper console di AllineaPortafoglioClienti - upd C6Mart.ANAG_CLIENTI */ + ,'FFRNNCL87D25G224T' + ) \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_vRpClientiNonMigrati_20170922.sql b/sql/Produzione/viste/C6Mart_vRpClientiNonMigrati_20170922.sql new file mode 100644 index 00000000..73c5b35f --- /dev/null +++ b/sql/Produzione/viste/C6Mart_vRpClientiNonMigrati_20170922.sql @@ -0,0 +1,25 @@ +CREATE VIEW [C6Mart].[vRpClientiNonMigrati_20170922] +AS + --FC + --SELECT RETE, COD_FISCALE, ID_PROMOTORE + --FROM C6Mart.ANAG_CLIENTI + --WHERE (NOME IS NULL OR NOME = '') AND (COGNOME IS NULL OR COGNOME = '') + SELECT anag.RETE , anag.COD_FISCALE, anag.ID_PROMOTORE,contr.PIVA_FIDUCIARIA + FROM C6Mart.ANAG_CLIENTI anag + inner join c6mart.vcontratti contr + on contr.cod_fiscale=anag.cod_fiscale and contr.rete=anag.rete + WHERE (NOME IS NULL OR NOME = '') AND (COGNOME IS NULL OR COGNOME = '') + and contr.rete+contr.cod_fiscale not in + ('FGRBNLT65D44A859X' /* temp 20161207 */ + ,'FPNDLCI41T49F205P' /* temp 20170317 */ + ,'FNTRSFN60A29F205X' /* temp 20170413 causa erorre in wrapper console di AllineaPortafoglioClienti */ + ,'FRMNSRN50B14G160L' /* temp 20170616 causa erorre in wrapper console di AllineaPortafoglioClienti - upd C6Mart.ANAG_CLIENTI */ + ,'SBLDMRK89A43H501E' /* temp 20170705 causa erorre in wrapper console di AllineaPortafoglioClienti - upd C6Mart.ANAG_CLIENTI */ + ,'SNVGMNL73A15H501Y' + ,'SMTANDR70P22H501S' + ,'SFLCNTN47B12F631K' + ,'SFF@10093' + ,'FCGODTL56P51G224V' /* temp 20170825 causa erorre in wrapper console di AllineaPortafoglioClienti - upd C6Mart.ANAG_CLIENTI */ + ,'FFRNNCL87D25G224T' + ,'SSCTGZM53R41C351H' /* temp 20170919 causa erorre in wrapper console di AllineaPortafoglioClienti */ + ) \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_vRpClientiNonMigrati_20171005.sql b/sql/Produzione/viste/C6Mart_vRpClientiNonMigrati_20171005.sql new file mode 100644 index 00000000..c3084ce3 --- /dev/null +++ b/sql/Produzione/viste/C6Mart_vRpClientiNonMigrati_20171005.sql @@ -0,0 +1,26 @@ +CREATE VIEW [C6Mart].[vRpClientiNonMigrati_20171005] +AS + --FC + --SELECT RETE, COD_FISCALE, ID_PROMOTORE + --FROM C6Mart.ANAG_CLIENTI + --WHERE (NOME IS NULL OR NOME = '') AND (COGNOME IS NULL OR COGNOME = '') + SELECT anag.RETE , anag.COD_FISCALE, anag.ID_PROMOTORE,contr.PIVA_FIDUCIARIA + FROM C6Mart.ANAG_CLIENTI anag + inner join c6mart.vcontratti contr + on contr.cod_fiscale=anag.cod_fiscale and contr.rete=anag.rete + WHERE (NOME IS NULL OR NOME = '') AND (COGNOME IS NULL OR COGNOME = '') + and contr.rete+contr.cod_fiscale not in + ('FGRBNLT65D44A859X' /* temp 20161207 */ + ,'FPNDLCI41T49F205P' /* temp 20170317 */ + ,'FNTRSFN60A29F205X' /* temp 20170413 causa erorre in wrapper console di AllineaPortafoglioClienti */ + ,'FRMNSRN50B14G160L' /* temp 20170616 causa erorre in wrapper console di AllineaPortafoglioClienti - upd C6Mart.ANAG_CLIENTI */ + ,'SBLDMRK89A43H501E' /* temp 20170705 causa erorre in wrapper console di AllineaPortafoglioClienti - upd C6Mart.ANAG_CLIENTI */ + ,'SNVGMNL73A15H501Y' + ,'SMTANDR70P22H501S' + ,'SFLCNTN47B12F631K' + ,'SFF@10093' + ,'FCGODTL56P51G224V' /* temp 20170825 causa erorre in wrapper console di AllineaPortafoglioClienti - upd C6Mart.ANAG_CLIENTI */ + ,'FFRNNCL87D25G224T' + ,'SSCTGZM53R41C351H' /* temp 20170919 causa erorre in wrapper console di AllineaPortafoglioClienti */ + ,'FGLLFBA57R22F205P' /* temp 20170922 causa erorre in wrapper console di AllineaPortafoglioClienti */ + ) \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_vRpClientiNonMigrati_20171107.sql b/sql/Produzione/viste/C6Mart_vRpClientiNonMigrati_20171107.sql new file mode 100644 index 00000000..a2ac7d9c --- /dev/null +++ b/sql/Produzione/viste/C6Mart_vRpClientiNonMigrati_20171107.sql @@ -0,0 +1,27 @@ +CREATE VIEW [C6Mart].[vRpClientiNonMigrati_20171106] +AS + --FC + --SELECT RETE, COD_FISCALE, ID_PROMOTORE + --FROM C6Mart.ANAG_CLIENTI + --WHERE (NOME IS NULL OR NOME = '') AND (COGNOME IS NULL OR COGNOME = '') + SELECT anag.RETE , anag.COD_FISCALE, anag.ID_PROMOTORE,contr.PIVA_FIDUCIARIA + FROM C6Mart.ANAG_CLIENTI anag + inner join c6mart.vcontratti contr + on contr.cod_fiscale=anag.cod_fiscale and contr.rete=anag.rete + WHERE (NOME IS NULL OR NOME = '') AND (COGNOME IS NULL OR COGNOME = '') + and contr.rete+contr.cod_fiscale not in + ('FGRBNLT65D44A859X' /* temp 20161207 */ + ,'FPNDLCI41T49F205P' /* temp 20170317 */ + ,'FNTRSFN60A29F205X' /* temp 20170413 causa erorre in wrapper console di AllineaPortafoglioClienti */ + ,'FRMNSRN50B14G160L' /* temp 20170616 causa erorre in wrapper console di AllineaPortafoglioClienti - upd C6Mart.ANAG_CLIENTI */ + ,'SBLDMRK89A43H501E' /* temp 20170705 causa erorre in wrapper console di AllineaPortafoglioClienti - upd C6Mart.ANAG_CLIENTI */ + ,'SNVGMNL73A15H501Y' + ,'SMTANDR70P22H501S' + ,'SFLCNTN47B12F631K' + ,'SFF@10093' + ,'FCGODTL56P51G224V' /* temp 20170825 causa erorre in wrapper console di AllineaPortafoglioClienti - upd C6Mart.ANAG_CLIENTI */ + ,'FFRNNCL87D25G224T' + ,'SSCTGZM53R41C351H' /* temp 20170919 causa erorre in wrapper console di AllineaPortafoglioClienti */ + ,'FGLLFBA57R22F205P' /* temp 20170922 causa erorre in wrapper console di AllineaPortafoglioClienti */ + ,'STZZFNC51B57D810T' /* temp 20171005 causa erorre in wrapper console di AllineaPortafoglioClienti */ + ) \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_vRpClientiNonMigrati_20171110.sql b/sql/Produzione/viste/C6Mart_vRpClientiNonMigrati_20171110.sql new file mode 100644 index 00000000..80037b97 --- /dev/null +++ b/sql/Produzione/viste/C6Mart_vRpClientiNonMigrati_20171110.sql @@ -0,0 +1,29 @@ +CREATE VIEW [C6Mart].[vRpClientiNonMigrati_20171110] +AS + --FC + --SELECT RETE, COD_FISCALE, ID_PROMOTORE + --FROM C6Mart.ANAG_CLIENTI + --WHERE (NOME IS NULL OR NOME = '') AND (COGNOME IS NULL OR COGNOME = '') + SELECT anag.RETE , anag.COD_FISCALE, anag.ID_PROMOTORE,contr.PIVA_FIDUCIARIA + FROM C6Mart.ANAG_CLIENTI anag + inner join c6mart.vcontratti contr + on contr.cod_fiscale=anag.cod_fiscale and contr.rete=anag.rete + WHERE (NOME IS NULL OR NOME = '') AND (COGNOME IS NULL OR COGNOME = '') + and contr.rete+contr.cod_fiscale not in + ('FGRBNLT65D44A859X' /* temp 20161207 */ + ,'FPNDLCI41T49F205P' /* temp 20170317 */ + ,'FNTRSFN60A29F205X' /* temp 20170413 causa erorre in wrapper console di AllineaPortafoglioClienti */ + ,'FRMNSRN50B14G160L' /* temp 20170616 causa erorre in wrapper console di AllineaPortafoglioClienti - upd C6Mart.ANAG_CLIENTI */ + ,'SBLDMRK89A43H501E' /* temp 20170705 causa erorre in wrapper console di AllineaPortafoglioClienti - upd C6Mart.ANAG_CLIENTI */ + ,'SNVGMNL73A15H501Y' + ,'SMTANDR70P22H501S' + ,'SFLCNTN47B12F631K' + ,'SFF@10093' + ,'FCGODTL56P51G224V' /* temp 20170825 causa erorre in wrapper console di AllineaPortafoglioClienti - upd C6Mart.ANAG_CLIENTI */ + ,'FFRNNCL87D25G224T' + ,'SSCTGZM53R41C351H' /* temp 20170919 causa erorre in wrapper console di AllineaPortafoglioClienti */ + ,'FGLLFBA57R22F205P' /* temp 20170922 causa erorre in wrapper console di AllineaPortafoglioClienti */ + ,'STZZFNC51B57D810T' /* temp 20171005 causa erorre in wrapper console di AllineaPortafoglioClienti */ + ,'SLVORSO76A65D711N' /* temp 20171107 causa erorre in wrapper console di AllineaPortafoglioClienti */ + ,'FFF@10105' /* temp 20171107 causa erorre in wrapper console di AllineaPortafoglioClienti */ + ) \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_vRpClientiNonMigrati_20171110_bonifica.sql b/sql/Produzione/viste/C6Mart_vRpClientiNonMigrati_20171110_bonifica.sql new file mode 100644 index 00000000..7ba45d97 --- /dev/null +++ b/sql/Produzione/viste/C6Mart_vRpClientiNonMigrati_20171110_bonifica.sql @@ -0,0 +1,35 @@ +CREATE VIEW [C6Mart].[vRpClientiNonMigrati_20171110_bonifica] +AS + --FC + --SELECT RETE, COD_FISCALE, ID_PROMOTORE + --FROM C6Mart.ANAG_CLIENTI + --WHERE (NOME IS NULL OR NOME = '') AND (COGNOME IS NULL OR COGNOME = '') + SELECT anag.RETE , anag.COD_FISCALE, anag.ID_PROMOTORE,contr.PIVA_FIDUCIARIA + FROM C6Mart.ANAG_CLIENTI anag + inner join c6mart.vcontratti contr + on contr.cod_fiscale=anag.cod_fiscale and contr.rete=anag.rete + WHERE 1=1 /* 20171110 */ + and (NOME IS NULL OR NOME = '') AND (COGNOME IS NULL OR COGNOME = '') + and contr.rete+contr.cod_fiscale not in + ( + /* 20171110 + ----'FGRBNLT65D44A859X' /* temp 20161207 */ + ----,'FPNDLCI41T49F205P' /* temp 20170317 */ + ----,'FNTRSFN60A29F205X' /* temp 20170413 causa erorre in wrapper console di AllineaPortafoglioClienti */ + ----,'FRMNSRN50B14G160L' /* temp 20170616 causa erorre in wrapper console di AllineaPortafoglioClienti - upd C6Mart.ANAG_CLIENTI */ + ----,'SBLDMRK89A43H501E' /* temp 20170705 causa erorre in wrapper console di AllineaPortafoglioClienti - upd C6Mart.ANAG_CLIENTI */ + ----,'SNVGMNL73A15H501Y' + ----,'SMTANDR70P22H501S' + ----,'SFLCNTN47B12F631K' + ----,'SFF@10093' + ----,'FCGODTL56P51G224V' /* temp 20170825 causa erorre in wrapper console di AllineaPortafoglioClienti - upd C6Mart.ANAG_CLIENTI */ + ----,'SSCTGZM53R41C351H' /* temp 20170919 causa erorre in wrapper console di AllineaPortafoglioClienti */ + */ + /* ,'FFRNNCL87D25G224T' 20171110 nome+cognome aggiornato */ + /* ,'FGLLFBA57R22F205P' temp 20170922 causa erorre in wrapper console di AllineaPortafoglioClienti + ,'STZZFNC51B57D810T' /* temp 20171005 causa erorre in wrapper console di AllineaPortafoglioClienti */ + ,'SLVORSO76A65D711N' /* temp 20171107 causa erorre in wrapper console di AllineaPortafoglioClienti */ + 20171110 nome+cognome aggiornato */ + 'FFF@10105' /* temp 20171107 causa erorre in wrapper console di AllineaPortafoglioClienti */ + /* 20171110 AllineaPortafoglioClienti non restiuisce record */ + ) \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_vRpClientiNonMigrati_20171222.sql b/sql/Produzione/viste/C6Mart_vRpClientiNonMigrati_20171222.sql new file mode 100644 index 00000000..1468d97f --- /dev/null +++ b/sql/Produzione/viste/C6Mart_vRpClientiNonMigrati_20171222.sql @@ -0,0 +1,35 @@ +CREATE VIEW [C6Mart].[vRpClientiNonMigrati_20171222] +AS + --FC + --SELECT RETE, COD_FISCALE, ID_PROMOTORE + --FROM C6Mart.ANAG_CLIENTI + --WHERE (NOME IS NULL OR NOME = '') AND (COGNOME IS NULL OR COGNOME = '') + SELECT anag.RETE , anag.COD_FISCALE, anag.ID_PROMOTORE,contr.PIVA_FIDUCIARIA + FROM C6Mart.ANAG_CLIENTI anag + inner join c6mart.vcontratti contr + on contr.cod_fiscale=anag.cod_fiscale and contr.rete=anag.rete + WHERE 1=1 /* 20171110 */ + and (NOME IS NULL OR NOME = '') AND (COGNOME IS NULL OR COGNOME = '') + and contr.rete+contr.cod_fiscale not in + ( + /* 20171110 + ----'FGRBNLT65D44A859X' /* temp 20161207 */ + ----,'FPNDLCI41T49F205P' /* temp 20170317 */ + ----,'FNTRSFN60A29F205X' /* temp 20170413 causa erorre in wrapper console di AllineaPortafoglioClienti */ + ----,'FRMNSRN50B14G160L' /* temp 20170616 causa erorre in wrapper console di AllineaPortafoglioClienti - upd C6Mart.ANAG_CLIENTI */ + ----,'SBLDMRK89A43H501E' /* temp 20170705 causa erorre in wrapper console di AllineaPortafoglioClienti - upd C6Mart.ANAG_CLIENTI */ + ----,'SNVGMNL73A15H501Y' + ----,'SMTANDR70P22H501S' + ----,'SFLCNTN47B12F631K' + ----,'SFF@10093' + ----,'FCGODTL56P51G224V' /* temp 20170825 causa erorre in wrapper console di AllineaPortafoglioClienti - upd C6Mart.ANAG_CLIENTI */ + ----,'SSCTGZM53R41C351H' /* temp 20170919 causa erorre in wrapper console di AllineaPortafoglioClienti */ + */ + /* ,'FFRNNCL87D25G224T' 20171110 nome+cognome aggiornato */ + /* ,'FGLLFBA57R22F205P' temp 20170922 causa erorre in wrapper console di AllineaPortafoglioClienti + ,'STZZFNC51B57D810T' /* temp 20171005 causa erorre in wrapper console di AllineaPortafoglioClienti */ + ,'SLVORSO76A65D711N' /* temp 20171107 causa erorre in wrapper console di AllineaPortafoglioClienti */ + 20171110 nome+cognome aggiornato */ + 'FFF@10105' /* temp 20171107 causa erorre in wrapper console di AllineaPortafoglioClienti */ + /* 20171110 AllineaPortafoglioClienti non restiuisce record */ + ) \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_vRpClientiNonMigrati_20180112.sql b/sql/Produzione/viste/C6Mart_vRpClientiNonMigrati_20180112.sql new file mode 100644 index 00000000..c4891dc9 --- /dev/null +++ b/sql/Produzione/viste/C6Mart_vRpClientiNonMigrati_20180112.sql @@ -0,0 +1,36 @@ +CREATE VIEW [C6Mart].[vRpClientiNonMigrati_20180112] +AS + --FC + --SELECT RETE, COD_FISCALE, ID_PROMOTORE + --FROM C6Mart.ANAG_CLIENTI + --WHERE (NOME IS NULL OR NOME = '') AND (COGNOME IS NULL OR COGNOME = '') + SELECT anag.RETE , anag.COD_FISCALE, anag.ID_PROMOTORE,contr.PIVA_FIDUCIARIA + FROM C6Mart.ANAG_CLIENTI anag + inner join c6mart.vcontratti contr + on contr.cod_fiscale=anag.cod_fiscale and contr.rete=anag.rete + WHERE 1=1 /* 20171110 */ + and (NOME IS NULL OR NOME = '') AND (COGNOME IS NULL OR COGNOME = '') + and contr.rete+contr.cod_fiscale not in + ( + /* 20171110 + ----'FGRBNLT65D44A859X' /* temp 20161207 */ + ----,'FPNDLCI41T49F205P' /* temp 20170317 */ + ----,'FNTRSFN60A29F205X' /* temp 20170413 causa erorre in wrapper console di AllineaPortafoglioClienti */ + ----,'FRMNSRN50B14G160L' /* temp 20170616 causa erorre in wrapper console di AllineaPortafoglioClienti - upd C6Mart.ANAG_CLIENTI */ + ----,'SBLDMRK89A43H501E' /* temp 20170705 causa erorre in wrapper console di AllineaPortafoglioClienti - upd C6Mart.ANAG_CLIENTI */ + ----,'SNVGMNL73A15H501Y' + ----,'SMTANDR70P22H501S' + ----,'SFLCNTN47B12F631K' + ----,'SFF@10093' + ----,'FCGODTL56P51G224V' /* temp 20170825 causa erorre in wrapper console di AllineaPortafoglioClienti - upd C6Mart.ANAG_CLIENTI */ + ----,'SSCTGZM53R41C351H' /* temp 20170919 causa erorre in wrapper console di AllineaPortafoglioClienti */ + */ + /* ,'FFRNNCL87D25G224T' 20171110 nome+cognome aggiornato */ + /* ,'FGLLFBA57R22F205P' temp 20170922 causa erorre in wrapper console di AllineaPortafoglioClienti + ,'STZZFNC51B57D810T' /* temp 20171005 causa erorre in wrapper console di AllineaPortafoglioClienti */ + ,'SLVORSO76A65D711N' /* temp 20171107 causa erorre in wrapper console di AllineaPortafoglioClienti */ + 20171110 nome+cognome aggiornato */ + 'FFF@10105' /* temp 20171107 causa erorre in wrapper console di AllineaPortafoglioClienti */ + /* 20171110 AllineaPortafoglioClienti non restiuisce record */ + ,'SGBRMCL56B15C390A' /* 20171110 AllineaPortafoglioClienti non restiuisce record */ + ) \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_vTuttiIContratti.sql b/sql/Produzione/viste/C6Mart_vTuttiIContratti.sql new file mode 100644 index 00000000..3886c226 --- /dev/null +++ b/sql/Produzione/viste/C6Mart_vTuttiIContratti.sql @@ -0,0 +1,16 @@ +CREATE VIEW [C6Mart].[vTuttiIContratti] +AS +SELECT Rete, Cod_Agente, Cod_Fiscale, PIva_Fiduciaria, CodiceContratto, Freq_Monitor, Freq_Diagnosi, ProfiloAttivo, 'G' AS TipoElaborazione, CASE WHEN (DATEDIFF(DAY, + Data_InizioBase, Data_Sott) > 0) THEN 1 ELSE 0 END AS AdesioneSuccessivaAvanzato, InvioBenvenuto, ClienteMigrato, RisorseNa, NumRevoche, + PartViaDisinv, Data_Perf,TIP_CONTRATTO,tip_riattivazione +FROM C6Mart.CONTRATTOSEI AS C6 +WHERE 1 = 1 +AND (InvioBenvenuto = 'N') +AND (Data_FineAvanzato IS NULL) +UNION ALL +SELECT C6.Rete, Cod_Agente, C6.Cod_Fiscale, PIva_Fiduciaria, CodiceContratto, Freq_Monitor, Freq_Diagnosi, ProfiloAttivo, 'G' AS TipoElaborazione, CASE WHEN (DATEDIFF(DAY, + Data_InizioBase, Data_Sott) > 0) THEN 1 ELSE 0 END AS AdesioneSuccessivaAvanzato, InvioBenvenuto, ClienteMigrato, RisorseNa, NumRevoche, + PartViaDisinv, Data_Perf,TIP_CONTRATTO,tip_riattivazione +FROM C6Mart.CONTRATTOSEI AS C6 INNER JOIN + C6Mart.GESTIONE_EMAIL AS ge ON C6.Cod_Fiscale = ge.Cod_Fiscale AND C6.Rete = ge.Rete AND ge.Tipo = 'PERF' AND ge.data_invio IS NULL +WHERE (1 = 1) AND InvioBenvenuto = 'S' AND (Data_FineAvanzato IS NULL) \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_vTuttiIContratti_old240413.sql b/sql/Produzione/viste/C6Mart_vTuttiIContratti_old240413.sql new file mode 100644 index 00000000..8918e780 --- /dev/null +++ b/sql/Produzione/viste/C6Mart_vTuttiIContratti_old240413.sql @@ -0,0 +1,16 @@ +CREATE VIEW [C6Mart].[vTuttiIContratti_old240413] +AS +SELECT Rete, Cod_Agente, Cod_Fiscale, PIva_Fiduciaria, CodiceContratto, Freq_Monitor, Freq_Diagnosi, ProfiloAttivo, 'G' AS TipoElaborazione, CASE WHEN (DATEDIFF(DAY, + Data_InizioBase, Data_Sott) > 0) THEN 1 ELSE 0 END AS AdesioneSuccessivaAvanzato, InvioBenvenuto, ClienteMigrato, RisorseNa, NumRevoche, + PartViaDisinv, Data_Perf +FROM C6Mart.CONTRATTOSEI AS C6 +WHERE 1 = 1 +AND (InvioBenvenuto = 'N') +AND (Data_FineAvanzato IS NULL) +UNION ALL +SELECT C6.Rete, Cod_Agente, C6.Cod_Fiscale, PIva_Fiduciaria, CodiceContratto, Freq_Monitor, Freq_Diagnosi, ProfiloAttivo, 'G' AS TipoElaborazione, CASE WHEN (DATEDIFF(DAY, + Data_InizioBase, Data_Sott) > 0) THEN 1 ELSE 0 END AS AdesioneSuccessivaAvanzato, InvioBenvenuto, ClienteMigrato, RisorseNa, NumRevoche, + PartViaDisinv, Data_Perf +FROM C6Mart.CONTRATTOSEI AS C6 INNER JOIN + C6Mart.GESTIONE_EMAIL AS ge ON C6.Cod_Fiscale = ge.Cod_Fiscale AND C6.Rete = ge.Rete AND ge.Tipo = 'PERF' AND ge.data_invio IS NULL +WHERE (1 = 1) AND InvioBenvenuto = 'S' AND (Data_FineAvanzato IS NULL) \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_vTuttiIPortafogli.sql b/sql/Produzione/viste/C6Mart_vTuttiIPortafogli.sql new file mode 100644 index 00000000..964249d5 --- /dev/null +++ b/sql/Produzione/viste/C6Mart_vTuttiIPortafogli.sql @@ -0,0 +1,248 @@ +--modificata per i cc in liq Marianna +CREATE VIEW [C6Mart].[vTuttiIPortafogli] +AS +SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN +-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, +-- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA +-- ELSE ANAG_PRODOTTI.COD_ISIN +-- END AS CodiceProdotto, +-- MODIFICA LUCA + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + --V FRANCHIGIA CC +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV_NOMINALE +-- END AS CtvNominale, + PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, + --PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV +-- END AS CtvReale + PATRIMONIO_BF.CTV AS CtvReale + FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MART.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + WHERE PATRIMONIO_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC','ASU2') +UNION ALL +---V Modifica per calcolo VaR prodotti ASU2 +SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN +-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, +-- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA +-- ELSE ANAG_PRODOTTI.COD_ISIN +-- END AS CodiceProdotto, +---- MODIFICA LUCA +--V Modifica per gli ASU2 CON IL COD_ADEGUATEZZA NON BECCA NESSUN PRODTTO PROMETEIA +-- CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN +-- ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA END + PATRIMONIO_BF.ISIN AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + --V FRANCHIGIA CC +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV_NOMINALE +-- END AS CtvNominale, + PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, + --PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV +-- END AS CtvReale + PATRIMONIO_BF.CTV AS CtvReale + FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MART.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + AND ANAG_PRODOTTI.COD_ISIN = PATRIMONIO_BF.ISIN + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASU2') + UNION ALL + -- PATRIMONIO ASUL + SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- +-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN +-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + CASE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO --SELEZIONE DEL CODICEPRODOTTO: DETTAGLIO_ASUL.COD_ISIN_FITTIZIO, DETTAGLIO_ASUL.COD_SOTTOPRODOTTO, '$' + WHEN '' THEN DETTAGLIO_ASUL.COD_ISIN_SOTT + ELSE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO + END AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + DETTAGLIO_ASUL.CTV AS CtvNominale, + DETTAGLIO_ASUL.CTV AS CtvReale + FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.DETTAGLIO_ASUL + ON DETTAGLIO_ASUL.ID_CONTRATTO = PATRIMONIO_BF.ID_CONTRATTO + INNER JOIN C6MART.vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASUL') + --V S 20110823 Disabilitazione contratti liquidati in quanto sulla dettaglio asul il ctv rimane <> 0 +-- AND PATRIMONIO_BF.COD_STATO <> 'L' +-- AND PATRIMONIO_BF.CTV <> 0 + UNION ALL + -- PATRIMONIO TERZI + SELECT + INTERMEDIARIO.RETE AS Rete, + INTERMEDIARIO.CODICEFISCALE AS CodiceFiscale, + INTERMEDIARIO.PORTAFOGLIO AS Portafoglio, + INTERMEDIARIO.CODICEADEGUATEZZA AS CodiceProdotto, + INTERMEDIARIO.PIAZZA AS Piazza, + INTERMEDIARIO.CODICEVALUTA AS CodiceValuta, + INTERMEDIARIO.CLASSE AS Classe, + INTERMEDIARIO.CONTROVALORE AS CtvNominale, + INTERMEDIARIO.CONTROVALORE AS CtvReale + FROM C6MART.VPROMETEIATERZIINTERMEDIARIO INTERMEDIARIO + INNER JOIN C6MART.vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = INTERMEDIARIO.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = INTERMEDIARIO.CODICEFISCALE + UNION ALL + -- PATRIMONIO TERZI X TIPO PRODOTTO + SELECT + CATEGORIAPRODOTTO.RETE AS Rete, + CATEGORIAPRODOTTO.CODICEFISCALE AS CodiceFiscale, + CATEGORIAPRODOTTO.PORTAFOGLIO AS Portafoglio, + CATEGORIAPRODOTTO.CODICEADEGUATEZZA AS CodiceProdotto, + CATEGORIAPRODOTTO.PIAZZA AS Piazza, + CATEGORIAPRODOTTO.CODICEVALUTA AS CodiceValuta, + CATEGORIAPRODOTTO.CLASSE AS Classe, + CATEGORIAPRODOTTO.CONTROVALORE AS CtvNominale, + CATEGORIAPRODOTTO.CONTROVALORE AS CtvReale + FROM C6MART.VPROMETEIATERZICATEGORIAPRODOTTO CATEGORIAPRODOTTO + INNER JOIN C6MART.vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = CATEGORIAPRODOTTO.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = CATEGORIAPRODOTTO.CODICEFISCALE +--V Conti correnti Fideuram +union all +SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE +-- WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN +-- 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- + WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + 'COMPLESSIVO|BF|CC'-- + PATRIMONIO_BF.POSITION_ID + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'COMPLESSIVO|BF|CC' +-- ELSE +-- 'COMPLESSIVO|BF|' + +-- LEFT(PATRIMONIO_BF.ID_AREA,3) + +-- CASE +-- WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO +-- ELSE '' +-- END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, +-- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA +-- ELSE ANAG_PRODOTTI.COD_ISIN +-- END AS CodiceProdotto, +-- MODIFICA LUCA +-- CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN +-- ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA +-- END + 'EUR' AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + --V FRANCHIGIA CC +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV_NOMINALE +-- END AS CtvNominale, + case when (sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0 end AS CtvNominale , +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV +-- END AS CtvReale + case when (sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0 end AS CtvReale +FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MART.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('CC') +group by + PATRIMONIO_BF.rete, + PATRIMONIO_BF.cod_fiscale, + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END, + CASE +-- WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN +-- 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- + WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + 'COMPLESSIVO|BF|CC'-- + PATRIMONIO_BF.POSITION_ID + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'COMPLESSIVO|BF|CC' +-- ELSE +-- 'COMPLESSIVO|BF|' + +-- LEFT(PATRIMONIO_BF.ID_AREA,3) + +-- CASE +-- WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO +-- ELSE '' +-- END + '|' + PATRIMONIO_BF.POSITION_ID + END \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_vTuttiIPortafogli_ccLiq.sql b/sql/Produzione/viste/C6Mart_vTuttiIPortafogli_ccLiq.sql new file mode 100644 index 00000000..dbac9842 --- /dev/null +++ b/sql/Produzione/viste/C6Mart_vTuttiIPortafogli_ccLiq.sql @@ -0,0 +1,151 @@ +--modificata per i cc in liq Marianna +CREATE VIEW [C6Mart].[vTuttiIPortafogli_ccLiq] +AS +SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'RISFIN|NA|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'RISFIN|PIRAMIDE|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, + PATRIMONIO_BF.CTV AS CtvReale + FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MART.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + WHERE PATRIMONIO_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC','ASU2') + UNION ALL +---V Modifica per calcolo VaR prodotti ASU2 + SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'RISFIN|NA|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'RISFIN|PIRAMIDE|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, +-- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA +-- ELSE ANAG_PRODOTTI.COD_ISIN +-- END AS CodiceProdotto, +-- MODIFICA LUCA +-- CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN +-- ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA +-- END + PATRIMONIO_BF.ISIN AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + --V FRANCHIGIA CC +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV_NOMINALE +-- END AS CtvNominale, + PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, + --PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV +-- END AS CtvReale + PATRIMONIO_BF.CTV AS CtvReale + FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MART.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + AND ANAG_PRODOTTI.COD_ISIN = PATRIMONIO_BF.ISIN + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASU2') + UNION ALL + -- PATRIMONIO ASUL + SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'RISFIN|NA|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'RISFIN|PIRAMIDE|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + CASE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO --SELEZIONE DEL CODICEPRODOTTO: DETTAGLIO_ASUL.COD_ISIN_FITTIZIO, DETTAGLIO_ASUL.COD_SOTTOPRODOTTO, '$' + WHEN '' THEN DETTAGLIO_ASUL.COD_ISIN_SOTT + ELSE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO + END AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + DETTAGLIO_ASUL.CTV AS CtvNominale, + DETTAGLIO_ASUL.CTV AS CtvReale + FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.DETTAGLIO_ASUL + ON DETTAGLIO_ASUL.ID_CONTRATTO = PATRIMONIO_BF.ID_CONTRATTO + INNER JOIN C6MART.vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASUL') + --V S 20110823 Disabilitazione contratti liquidati in quanto sulla dettaglio asul il ctv rimane <> 0 +-- AND PATRIMONIO_BF.COD_STATO <> 'L' +-- AND PATRIMONIO_BF.CTV <> 0 +union all +SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'RISFIN|PIRAMIDE|Liq'+ '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + 'EUR' AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + case when (sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0.01 end AS CtvNominale , + case when (sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0.01 end AS CtvReale +FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MART.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('CC') and patrimonio_bf.ctv>0 +group by + PATRIMONIO_BF.rete, + PATRIMONIO_BF.cod_fiscale, + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END, + CASE + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'RISFIN|PIRAMIDE|Liq'+ '|' + PATRIMONIO_BF.POSITION_ID + END \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_vTuttiIPortafogli_ccLiq_preSKANDIA.sql b/sql/Produzione/viste/C6Mart_vTuttiIPortafogli_ccLiq_preSKANDIA.sql new file mode 100644 index 00000000..516837a9 --- /dev/null +++ b/sql/Produzione/viste/C6Mart_vTuttiIPortafogli_ccLiq_preSKANDIA.sql @@ -0,0 +1,100 @@ +-- View +--modificata per i cc in liq Marianna +CREATE VIEW [C6Mart].[vTuttiIPortafogli_ccLiq_preSKANDIA] +AS +SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'RISFIN|NA|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'RISFIN|PIRAMIDE|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, + PATRIMONIO_BF.CTV AS CtvReale + FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MART.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + WHERE PATRIMONIO_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC') + UNION ALL + -- PATRIMONIO ASUL + SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'RISFIN|NA|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'RISFIN|PIRAMIDE|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + CASE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO --SELEZIONE DEL CODICEPRODOTTO: DETTAGLIO_ASUL.COD_ISIN_FITTIZIO, DETTAGLIO_ASUL.COD_SOTTOPRODOTTO, '$' + WHEN '' THEN DETTAGLIO_ASUL.COD_ISIN_SOTT + ELSE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO + END AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + DETTAGLIO_ASUL.CTV AS CtvNominale, + DETTAGLIO_ASUL.CTV AS CtvReale + FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.DETTAGLIO_ASUL + ON DETTAGLIO_ASUL.ID_CONTRATTO = PATRIMONIO_BF.ID_CONTRATTO + INNER JOIN C6MART.vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASUL') +union all +SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'RISFIN|PIRAMIDE|Liq'+ '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + 'EUR' AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + case when (sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0.01 end AS CtvNominale , + case when (sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0.01 end AS CtvReale +FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MART.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('CC') and patrimonio_bf.ctv>0 +group by + PATRIMONIO_BF.rete, + PATRIMONIO_BF.cod_fiscale, + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END, + CASE + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'RISFIN|PIRAMIDE|Liq'+ '|' + PATRIMONIO_BF.POSITION_ID + END \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_vTuttiIPortafogli_old.sql b/sql/Produzione/viste/C6Mart_vTuttiIPortafogli_old.sql new file mode 100644 index 00000000..8554c346 --- /dev/null +++ b/sql/Produzione/viste/C6Mart_vTuttiIPortafogli_old.sql @@ -0,0 +1,184 @@ +CREATE VIEW [C6Mart].[vTuttiIPortafogli_old] +AS +SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|RISFIN|NA|' + PATRIMONIO_BF.POSITION_ID + WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|RISFIN|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, +-- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA +-- ELSE ANAG_PRODOTTI.COD_ISIN +-- END AS CodiceProdotto, +-- MODIFICA LUCA + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + --V FRANCHIGIA CC + CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + THEN 0 + ELSE PATRIMONIO_BF.CTV_NOMINALE + END AS CtvNominale, + --PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, + CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + THEN 0 + ELSE PATRIMONIO_BF.CTV + END AS CtvReale + --PATRIMONIO_BF.CTV AS CtvReale + FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MART.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + WHERE PATRIMONIO_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC') +-- levato 'cc' + UNION ALL + -- PATRIMONIO ASUL + SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|RISFIN|NA|' + PATRIMONIO_BF.POSITION_ID + WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|RISFIN|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + CASE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO --SELEZIONE DEL CODICEPRODOTTO: DETTAGLIO_ASUL.COD_ISIN_FITTIZIO, DETTAGLIO_ASUL.COD_SOTTOPRODOTTO, '$' + WHEN '' THEN DETTAGLIO_ASUL.COD_ISIN_SOTT + ELSE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO + END AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + DETTAGLIO_ASUL.CTV AS CtvNominale, + DETTAGLIO_ASUL.CTV AS CtvReale + FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.DETTAGLIO_ASUL + ON DETTAGLIO_ASUL.ID_CONTRATTO = PATRIMONIO_BF.ID_CONTRATTO + INNER JOIN C6MART.vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASUL') + UNION ALL + -- PATRIMONIO TERZI + SELECT + INTERMEDIARIO.RETE AS Rete, + INTERMEDIARIO.CODICEFISCALE AS CodiceFiscale, + INTERMEDIARIO.PORTAFOGLIO AS Portafoglio, + INTERMEDIARIO.CODICEADEGUATEZZA AS CodiceProdotto, + INTERMEDIARIO.PIAZZA AS Piazza, + INTERMEDIARIO.CODICEVALUTA AS CodiceValuta, + INTERMEDIARIO.CLASSE AS Classe, + INTERMEDIARIO.CONTROVALORE AS CtvNominale, + INTERMEDIARIO.CONTROVALORE AS CtvReale + FROM C6MART.VPROMETEIATERZIINTERMEDIARIO INTERMEDIARIO + INNER JOIN C6MART.vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = INTERMEDIARIO.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = INTERMEDIARIO.CODICEFISCALE + UNION ALL + -- PATRIMONIO TERZI X TIPO PRODOTTO + SELECT + CATEGORIAPRODOTTO.RETE AS Rete, + CATEGORIAPRODOTTO.CODICEFISCALE AS CodiceFiscale, + CATEGORIAPRODOTTO.PORTAFOGLIO AS Portafoglio, + CATEGORIAPRODOTTO.CODICEADEGUATEZZA AS CodiceProdotto, + CATEGORIAPRODOTTO.PIAZZA AS Piazza, + CATEGORIAPRODOTTO.CODICEVALUTA AS CodiceValuta, + CATEGORIAPRODOTTO.CLASSE AS Classe, + CATEGORIAPRODOTTO.CONTROVALORE AS CtvNominale, + CATEGORIAPRODOTTO.CONTROVALORE AS CtvReale + FROM C6MART.VPROMETEIATERZICATEGORIAPRODOTTO CATEGORIAPRODOTTO + INNER JOIN C6MART.vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = CATEGORIAPRODOTTO.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = CATEGORIAPRODOTTO.CODICEFISCALE +--V Conti correnti Fideuram +union all +SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|RISFIN|NA|' + PATRIMONIO_BF.POSITION_ID + WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + 'COMPLESSIVO|BF|CC'-- + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|RISFIN|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, +-- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA +-- ELSE ANAG_PRODOTTI.COD_ISIN +-- END AS CodiceProdotto, +-- MODIFICA LUCA +-- CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN +-- ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA +-- END + 'EUR' AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + --V FRANCHIGIA CC +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV_NOMINALE +-- END AS CtvNominale, + sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) AS CtvNominale , +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV +-- END AS CtvReale + sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) AS CtvReale +FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MART.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('CC') +group by + PATRIMONIO_BF.rete, + PATRIMONIO_BF.cod_fiscale, + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|RISFIN|NA|' + PATRIMONIO_BF.POSITION_ID + WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + 'COMPLESSIVO|BF|CC' + ELSE + 'COMPLESSIVO|BF|RISFIN|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_vTuttiIPortafogli_preSKANDIA.sql b/sql/Produzione/viste/C6Mart_vTuttiIPortafogli_preSKANDIA.sql new file mode 100644 index 00000000..01677d98 --- /dev/null +++ b/sql/Produzione/viste/C6Mart_vTuttiIPortafogli_preSKANDIA.sql @@ -0,0 +1,196 @@ +-- View +--modificata per i cc in liq Marianna +CREATE VIEW [C6Mart].[vTuttiIPortafogli_preSKANDIA] +AS +SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN +-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, +-- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA +-- ELSE ANAG_PRODOTTI.COD_ISIN +-- END AS CodiceProdotto, +-- MODIFICA LUCA + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + --V FRANCHIGIA CC +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV_NOMINALE +-- END AS CtvNominale, + PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, + --PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale, +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV +-- END AS CtvReale + PATRIMONIO_BF.CTV AS CtvReale + FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MART.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + WHERE PATRIMONIO_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC') +-- levato 'cc' + UNION ALL + -- PATRIMONIO ASUL + SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE + WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN + 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- +-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN +-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID + ELSE + 'COMPLESSIVO|BF|' + + LEFT(PATRIMONIO_BF.ID_AREA,3) + + CASE + WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO + ELSE '' + END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, + CASE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO --SELEZIONE DEL CODICEPRODOTTO: DETTAGLIO_ASUL.COD_ISIN_FITTIZIO, DETTAGLIO_ASUL.COD_SOTTOPRODOTTO, '$' + WHEN '' THEN DETTAGLIO_ASUL.COD_ISIN_SOTT + ELSE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO + END AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + DETTAGLIO_ASUL.CTV AS CtvNominale, + DETTAGLIO_ASUL.CTV AS CtvReale + FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.DETTAGLIO_ASUL + ON DETTAGLIO_ASUL.ID_CONTRATTO = PATRIMONIO_BF.ID_CONTRATTO + INNER JOIN C6MART.vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASUL') + UNION ALL + -- PATRIMONIO TERZI + SELECT + INTERMEDIARIO.RETE AS Rete, + INTERMEDIARIO.CODICEFISCALE AS CodiceFiscale, + INTERMEDIARIO.PORTAFOGLIO AS Portafoglio, + INTERMEDIARIO.CODICEADEGUATEZZA AS CodiceProdotto, + INTERMEDIARIO.PIAZZA AS Piazza, + INTERMEDIARIO.CODICEVALUTA AS CodiceValuta, + INTERMEDIARIO.CLASSE AS Classe, + INTERMEDIARIO.CONTROVALORE AS CtvNominale, + INTERMEDIARIO.CONTROVALORE AS CtvReale + FROM C6MART.VPROMETEIATERZIINTERMEDIARIO INTERMEDIARIO + INNER JOIN C6MART.vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = INTERMEDIARIO.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = INTERMEDIARIO.CODICEFISCALE + UNION ALL + -- PATRIMONIO TERZI X TIPO PRODOTTO + SELECT + CATEGORIAPRODOTTO.RETE AS Rete, + CATEGORIAPRODOTTO.CODICEFISCALE AS CodiceFiscale, + CATEGORIAPRODOTTO.PORTAFOGLIO AS Portafoglio, + CATEGORIAPRODOTTO.CODICEADEGUATEZZA AS CodiceProdotto, + CATEGORIAPRODOTTO.PIAZZA AS Piazza, + CATEGORIAPRODOTTO.CODICEVALUTA AS CodiceValuta, + CATEGORIAPRODOTTO.CLASSE AS Classe, + CATEGORIAPRODOTTO.CONTROVALORE AS CtvNominale, + CATEGORIAPRODOTTO.CONTROVALORE AS CtvReale + FROM C6MART.VPROMETEIATERZICATEGORIAPRODOTTO CATEGORIAPRODOTTO + INNER JOIN C6MART.vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = CATEGORIAPRODOTTO.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = CATEGORIAPRODOTTO.CODICEFISCALE +--V Conti correnti Fideuram +union all +SELECT + PATRIMONIO_BF.RETE AS Rete, + PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale, + CASE +-- WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN +-- 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- + WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + 'COMPLESSIVO|BF|CC'-- + PATRIMONIO_BF.POSITION_ID + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'COMPLESSIVO|BF|CC' +-- ELSE +-- 'COMPLESSIVO|BF|' + +-- LEFT(PATRIMONIO_BF.ID_AREA,3) + +-- CASE +-- WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO +-- ELSE '' +-- END + '|' + PATRIMONIO_BF.POSITION_ID + END AS Portafoglio, +-- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA +-- ELSE ANAG_PRODOTTI.COD_ISIN +-- END AS CodiceProdotto, +-- MODIFICA LUCA +-- CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' +-- WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN +-- ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA +-- END + 'EUR' AS CodiceProdotto, + '' AS Piazza, + '' AS CodiceValuta, + '' AS Classe, + --V FRANCHIGIA CC +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV_NOMINALE +-- END AS CtvNominale, + case when (sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0 end AS CtvNominale , +-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) +-- THEN 0 +-- ELSE PATRIMONIO_BF.CTV +-- END AS CtvReale + case when (sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) + else 0 end AS CtvReale +FROM C6Mart.PATRIMONIO_BF + INNER JOIN C6MART.vContrattiPerGenerazioneReport VCONTRATTIPERSEI + ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE + AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE + INNER JOIN C6MART.ANAG_PRODOTTI + ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO + WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('CC') +group by + PATRIMONIO_BF.rete, + PATRIMONIO_BF.cod_fiscale, + CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$' + WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN + ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA + END, + CASE +-- WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN +-- 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID +-- + WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN + 'COMPLESSIVO|BF|CC'-- + PATRIMONIO_BF.POSITION_ID + WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN + 'COMPLESSIVO|BF|CC' +-- ELSE +-- 'COMPLESSIVO|BF|' + +-- LEFT(PATRIMONIO_BF.ID_AREA,3) + +-- CASE +-- WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO +-- ELSE '' +-- END + '|' + PATRIMONIO_BF.POSITION_ID + END \ No newline at end of file diff --git a/sql/Produzione/viste/C6Mart_zzzvContrattiPerGenerazioneReport_AND.sql b/sql/Produzione/viste/C6Mart_zzzvContrattiPerGenerazioneReport_AND.sql new file mode 100644 index 00000000..7d96184a --- /dev/null +++ b/sql/Produzione/viste/C6Mart_zzzvContrattiPerGenerazioneReport_AND.sql @@ -0,0 +1,40 @@ +/* +--select * from global_error select count(*) from c6mart.gestione_pdf_ftp where dataGenerazione >'20110218' +select * from c6mart.contrattosei where cod_fiscale = 'BCCGNN34E09I512K' +select * from [C6Mart].[vContrattiPerGenerazioneReport] + Nel giro di email di revoca non si deve produrre il report (Fabrizio) --*/ +CREATE VIEW [C6Mart].[vContrattiPerGenerazioneReport_AND] +AS +SELECT +--VALERIO TEST +--top 1 +C6.Rete, Cod_Agente, C6.Cod_Fiscale, CodiceContratto, Freq_Monitor, Freq_Diagnosi,TipoElaborazione,AdesioneSuccessivaAvanzato,InvioBenvenuto, + ClienteMigrato, RisorseNa, NumRevoche,TIP_CONTRATTO,tip_riattivazione +FROM C6Mart.vTuttiIContratti AS C6 +--LEFT JOIN C6Mart.MIFID AS MIFID +--ON C6.RETE = MIFID.RETE AND C6.COD_FISCALE = MIFID.COD_FISCALE +WHERE (1 = 1) + and cod_agente not in ('015126') + AND (InvioBenvenuto = 'N') + AND (ClienteMigrato = 'S') + AND (ISNULL(RisorseNa, 'N') = 'N') + AND (ISNULL(NumRevoche, 0) = 0) + --AND (DATEDIFF(d,Data_Perf, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT)) + --AND ( + -- (DATEDIFF(d,Data_Perf, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT)) OR tip_riattivazione = 2 + --) + AND (ISNULL(PartViaDisinv, 'N') = 'N') + AND C6.Cod_Fiscale IN ( + SELECT COD_FISCALE + FROM C6Mart.PIRAMIDE_MOD) + --AND ProfiloAttivo = 1 +--and cod_fiscale in +--( +--'BCLMSM63T11C933E' --rimettere sulla contrattosei inviobenvenuto = S +----'BRZGPP39H08C352F' +--) +-- +--begin tran +--update c6mart.contrattosei set inviobenvenuto = 'S' where cod_fiscale = 'BCLMSM63T11C933E' +--commit +--rollback \ No newline at end of file diff --git a/sql/Produzione/viste/C6StagingPeriodicoImmobiliare_APPO_CONTRATTI_V.sql b/sql/Produzione/viste/C6StagingPeriodicoImmobiliare_APPO_CONTRATTI_V.sql new file mode 100644 index 00000000..1ea57198 --- /dev/null +++ b/sql/Produzione/viste/C6StagingPeriodicoImmobiliare_APPO_CONTRATTI_V.sql @@ -0,0 +1,49 @@ +CREATE VIEW [C6StagingPeriodicoImmobiliare].[APPO_CONTRATTI_V] +WITH +SCHEMABINDING +AS +SELECT distinct contr.[chiaveClientePB] + ,contr.[COD_FISCALE] + ,contr.[COD_MANDATO] + ,contr.[PIVA_FIDUCIARIA] + ,contr.[COD_AGENTE] + ,contr.[rete] + ,contr.[codiceContratto] + ,contr.[flagRol] + ,contr.[INDIRIZZO] + ,contr.[cap] + ,contr.[CITTA] + ,contr.[PROVINCIA] + ,contr.[NAZIONE] + ,contr.[presso] + ,contr.[email] + ,contr.[FREQ_DIAGNOSI] + ,contr.[FREQ_MONITORAGGIO] + ,contr.[GENERAZIONEREPORT] + ,contr.[DATA_INIZIOBASE] + ,contr.[DATA_FINEBASE] + ,contr.[DATA_PERF_BASE] + ,contr.[DATA_PERF] + ,contr.[DATA_INZIOAVANZATO] + ,contr.[DATA_FINEAVANZATO] + ,contr.[RIATTIVAZIONE] + ,contr.[TIP_CONTRATTO] + ,contr.[TIP_RIATTIVAZIONE] + ,contr.[ClienteMIGRATO] + ,contr.[RISORSENA] + ,contr.[PROFILOATTIVO] + ,contr.[NumSolleciti] + ,contr.[NumRevoche] + ,contr.[Data_ultimoSollecito] + ,contr.[Data_ultimaRevoca] + ,contr.[InvioBenvenuto] +-- LA APPO CONTRATTI E' QUELLA DEL SEI +-- Modifica del 10/9/2018 - Per gestire un elenco separato (e quindi comprendente i nuovi contratti, +-- quelli dell'ultimo mese di trimestrale), lavoriamo con un appo_contratti separata + --from [C6StagingPeriodico].[APPO_CONTRATTI] contr + from [C6StagingPeriodicoImmobiliare].[APPO_CONTRATTI] contr +-- fine modifica del 10/9/2018 +left join [C6StagingPeriodicoImmobiliare].[APPO_CONTRATTI_LIMITER] lim on lim.COD_FISCALE = contr.COD_FISCALE and lim.rete = contr.rete +where lim.cod_fiscale is not null +or 0 = (select count(*) +from [C6StagingPeriodicoImmobiliare].[APPO_CONTRATTI_LIMITER] with (nolock)) \ No newline at end of file diff --git a/sql/Produzione/viste/C6StagingPeriodicoImmobiliare_APPO_CONTRATTI_V_20180910.sql b/sql/Produzione/viste/C6StagingPeriodicoImmobiliare_APPO_CONTRATTI_V_20180910.sql new file mode 100644 index 00000000..a39c855c --- /dev/null +++ b/sql/Produzione/viste/C6StagingPeriodicoImmobiliare_APPO_CONTRATTI_V_20180910.sql @@ -0,0 +1,45 @@ +CREATE VIEW [C6StagingPeriodicoImmobiliare].[APPO_CONTRATTI_V_20180910] +WITH +SCHEMABINDING +AS +SELECT distinct contr.[chiaveClientePB] + ,contr.[COD_FISCALE] + ,contr.[COD_MANDATO] + ,contr.[PIVA_FIDUCIARIA] + ,contr.[COD_AGENTE] + ,contr.[rete] + ,contr.[codiceContratto] + ,contr.[flagRol] + ,contr.[INDIRIZZO] + ,contr.[cap] + ,contr.[CITTA] + ,contr.[PROVINCIA] + ,contr.[NAZIONE] + ,contr.[presso] + ,contr.[email] + ,contr.[FREQ_DIAGNOSI] + ,contr.[FREQ_MONITORAGGIO] + ,contr.[GENERAZIONEREPORT] + ,contr.[DATA_INIZIOBASE] + ,contr.[DATA_FINEBASE] + ,contr.[DATA_PERF_BASE] + ,contr.[DATA_PERF] + ,contr.[DATA_INZIOAVANZATO] + ,contr.[DATA_FINEAVANZATO] + ,contr.[RIATTIVAZIONE] + ,contr.[TIP_CONTRATTO] + ,contr.[TIP_RIATTIVAZIONE] + ,contr.[ClienteMIGRATO] + ,contr.[RISORSENA] + ,contr.[PROFILOATTIVO] + ,contr.[NumSolleciti] + ,contr.[NumRevoche] + ,contr.[Data_ultimoSollecito] + ,contr.[Data_ultimaRevoca] + ,contr.[InvioBenvenuto] +-- LA APPO CONTRATTI E' QUELLA DEL SEI +from [C6StagingPeriodico].[APPO_CONTRATTI] contr +left join [C6StagingPeriodicoImmobiliare].[APPO_CONTRATTI_LIMITER] lim on lim.COD_FISCALE = contr.COD_FISCALE and lim.rete = contr.rete +where lim.cod_fiscale is not null +or 0 = (select count(*) +from [C6StagingPeriodicoImmobiliare].[APPO_CONTRATTI_LIMITER] with (nolock)) \ No newline at end of file diff --git a/sql/Produzione/viste/C6StagingPeriodicoImmobiliare_SPB_CONTR_SINTESI_v.sql b/sql/Produzione/viste/C6StagingPeriodicoImmobiliare_SPB_CONTR_SINTESI_v.sql new file mode 100644 index 00000000..ccad257e --- /dev/null +++ b/sql/Produzione/viste/C6StagingPeriodicoImmobiliare_SPB_CONTR_SINTESI_v.sql @@ -0,0 +1,7 @@ +CREATE view [C6StagingPeriodicoImmobiliare].[SPB_CONTR_SINTESI_v] +as +select s.* +from C6StagingPeriodicoImmobiliare.SPB_CONTR_SINTESI s +left join C6StagingPeriodicoImmobiliare.APPO_CONTRATTI_LIMITER l +on l.rete = s.rete and s.codfis = l.cod_fiscale +where l.rete is not null or 0 = (select count(*) from C6StagingPeriodicoImmobiliare.APPO_CONTRATTI_LIMITER) \ No newline at end of file diff --git a/sql/Produzione/viste/C6StagingPeriodico_APPO_CONTRATTI_V.sql b/sql/Produzione/viste/C6StagingPeriodico_APPO_CONTRATTI_V.sql new file mode 100644 index 00000000..19b9e1bf --- /dev/null +++ b/sql/Produzione/viste/C6StagingPeriodico_APPO_CONTRATTI_V.sql @@ -0,0 +1,42 @@ +CREATE VIEW [C6StagingPeriodico].[APPO_CONTRATTI_V] +WITH +SCHEMABINDING +AS +SELECT distinct contr.[chiaveClientePB] + ,contr.[COD_FISCALE] + ,contr.[COD_MANDATO] + ,contr.[PIVA_FIDUCIARIA] + ,contr.[COD_AGENTE] + ,contr.[rete] + ,contr.[codiceContratto] + ,contr.[flagRol] + ,contr.[INDIRIZZO] + ,contr.[cap] + ,contr.[CITTA] + ,contr.[PROVINCIA] + ,contr.[NAZIONE] + ,contr.[presso] + ,contr.[email] + ,contr.[FREQ_DIAGNOSI] + ,contr.[FREQ_MONITORAGGIO] + ,contr.[GENERAZIONEREPORT] + ,contr.[DATA_INIZIOBASE] + ,contr.[DATA_FINEBASE] + ,contr.[DATA_PERF_BASE] + ,contr.[DATA_PERF] + ,contr.[DATA_INZIOAVANZATO] + ,contr.[DATA_FINEAVANZATO] + ,contr.[RIATTIVAZIONE] + ,contr.[TIP_CONTRATTO] + ,contr.[TIP_RIATTIVAZIONE] + ,contr.[ClienteMIGRATO] + ,contr.[RISORSENA] + ,contr.[PROFILOATTIVO] + ,contr.[NumSolleciti] + ,contr.[NumRevoche] + ,contr.[Data_ultimoSollecito] + ,contr.[Data_ultimaRevoca] + ,contr.[InvioBenvenuto] +from [C6StagingPeriodico].[APPO_CONTRATTI] contr +left join [C6StagingPeriodico].[APPO_CONTRATTI_LIMITER] lim on lim.COD_FISCALE = contr.COD_FISCALE and lim.rete = contr.rete +where lim.cod_fiscale is not null or 0 = (select count(*) from [C6StagingPeriodico].[APPO_CONTRATTI_LIMITER] with (nolock)) \ No newline at end of file diff --git a/sql/Produzione/viste/C6StagingPeriodico_APPO_CONTRATTI_V_20170407.SAVE.sql b/sql/Produzione/viste/C6StagingPeriodico_APPO_CONTRATTI_V_20170407.SAVE.sql new file mode 100644 index 00000000..dacfe524 --- /dev/null +++ b/sql/Produzione/viste/C6StagingPeriodico_APPO_CONTRATTI_V_20170407.SAVE.sql @@ -0,0 +1,42 @@ +CREATE VIEW [C6StagingPeriodico].[APPO_CONTRATTI_V_20170407.SAVE] +WITH +SCHEMABINDING +AS +SELECT distinct contr.[chiaveClientePB] + ,contr.[COD_FISCALE] + ,contr.[COD_MANDATO] + ,contr.[PIVA_FIDUCIARIA] + ,contr.[COD_AGENTE] + ,contr.[rete] + ,contr.[codiceContratto] + ,contr.[flagRol] + ,contr.[INDIRIZZO] + ,contr.[cap] + ,contr.[CITTA] + ,contr.[PROVINCIA] + ,contr.[NAZIONE] + ,contr.[presso] + ,contr.[email] + ,contr.[FREQ_DIAGNOSI] + ,contr.[FREQ_MONITORAGGIO] + ,contr.[GENERAZIONEREPORT] + ,contr.[DATA_INIZIOBASE] + ,contr.[DATA_FINEBASE] + ,contr.[DATA_PERF_BASE] + ,contr.[DATA_PERF] + ,contr.[DATA_INZIOAVANZATO] + ,contr.[DATA_FINEAVANZATO] + ,contr.[RIATTIVAZIONE] + ,contr.[TIP_CONTRATTO] + ,contr.[TIP_RIATTIVAZIONE] + ,contr.[ClienteMIGRATO] + ,contr.[RISORSENA] + ,contr.[PROFILOATTIVO] + ,contr.[NumSolleciti] + ,contr.[NumRevoche] + ,contr.[Data_ultimoSollecito] + ,contr.[Data_ultimaRevoca] + ,contr.[InvioBenvenuto] +from [C6StagingPeriodico].[APPO_CONTRATTI] contr +left join [C6StagingPeriodico].[APPO_CONTRATTI_LIMITER] lim on lim.COD_FISCALE = contr.COD_FISCALE and lim.rete = contr.rete +where lim.cod_fiscale is not null or 0 = (select count(*) from [C6StagingPeriodico].[APPO_CONTRATTI_LIMITER] with (nolock)) \ No newline at end of file diff --git a/sql/Produzione/viste/C6StagingPeriodico_RP_CONSULENZA_v.sql b/sql/Produzione/viste/C6StagingPeriodico_RP_CONSULENZA_v.sql new file mode 100644 index 00000000..f28a4a46 --- /dev/null +++ b/sql/Produzione/viste/C6StagingPeriodico_RP_CONSULENZA_v.sql @@ -0,0 +1,6 @@ +CREATE view [C6StagingPeriodico].[RP_CONSULENZA_v] +as +select s.* +from C6StagingPeriodico.RP_CONSULENZA s +left join C6StagingPeriodico.APPO_CONTRATTI_LIMITER l +on l.rete = s.rete and s.cod_fiscale = l.cod_fiscale or 0 = (select count(*) from C6StagingPeriodico.APPO_CONTRATTI_LIMITER) \ No newline at end of file diff --git a/sql/Produzione/viste/C6StagingPeriodico_SPB_CONTR_SINTESI_v.sql b/sql/Produzione/viste/C6StagingPeriodico_SPB_CONTR_SINTESI_v.sql new file mode 100644 index 00000000..fac0920b --- /dev/null +++ b/sql/Produzione/viste/C6StagingPeriodico_SPB_CONTR_SINTESI_v.sql @@ -0,0 +1,7 @@ +CREATE view [C6StagingPeriodico].[SPB_CONTR_SINTESI_v] +as +select s.* +from C6StagingPeriodico.SPB_CONTR_SINTESI s +left join C6StagingPeriodico.APPO_CONTRATTI_LIMITER l +on l.rete = s.rete and s.codfis = l.cod_fiscale +where l.rete is not null or 0 = (select count(*) from C6StagingPeriodico.APPO_CONTRATTI_LIMITER) \ No newline at end of file diff --git a/sql/Produzione/viste/C6StagingPeriodico_vListaClientiTrimestrale.sql b/sql/Produzione/viste/C6StagingPeriodico_vListaClientiTrimestrale.sql new file mode 100644 index 00000000..0449ca39 --- /dev/null +++ b/sql/Produzione/viste/C6StagingPeriodico_vListaClientiTrimestrale.sql @@ -0,0 +1,15 @@ +CREATE VIEW [C6StagingPeriodico].[vListaClientiTrimestrale] +AS +SELECT +Rete +,Cod_Agente as [Codice Agente] +,Cod_Fiscale as [Codice Fiscale] +,CodiceContratto as [Codice Contratto] +,isnull(FREQ_MONITORAGGIO, 'T') as [Freq Monitoraggio] +,FREQ_DIAGNOSI as [Freq Diagnosi] +,CONVERT(varchar(8), Data_FineAvanzato, 112) as [Data Revoca] +,case when tip_contratto = 3 then 3 else 2 end as [Tipo Contratto] +,TIP_RIATTIVAZIONE as [Tipo Riattivazione] +,case when tip_contratto = 3 then 'S'else '' end as ClienteDB --FLAGCLIDB +FROM +C6StagingPERIODICO.APPO_CONTRATTI \ No newline at end of file diff --git a/sql/Produzione/viste/C6StagingPeriodico_vListaClientiTrimestrale_20161003.sql b/sql/Produzione/viste/C6StagingPeriodico_vListaClientiTrimestrale_20161003.sql new file mode 100644 index 00000000..d9a1ae1c --- /dev/null +++ b/sql/Produzione/viste/C6StagingPeriodico_vListaClientiTrimestrale_20161003.sql @@ -0,0 +1,14 @@ +CREATE VIEW [C6StagingPeriodico].[vListaClientiTrimestrale_20161003] +AS +SELECT +Rete +,Cod_Agente as [Codice Agente] +,Cod_Fiscale as [Codice Fiscale] +,CodiceContratto as [Codice Contratto] +,isnull(FREQ_MONITORAGGIO, 'T') as [Freq Monitoraggio] +,FREQ_DIAGNOSI as [Freq Diagnosi] +,CONVERT(varchar(8), Data_FineAvanzato, 112) as [Data Revoca] +,TIP_CONTRATTO as [Tipo Contratto] +,TIP_RIATTIVAZIONE as [Tipo Riattivazione] +FROM +C6StagingPERIODICO.APPO_CONTRATTI \ No newline at end of file diff --git a/sql/Produzione/viste/C6StagingPeriodico_vListaClientiTrimestrale_NoRFa0MIfid.sql b/sql/Produzione/viste/C6StagingPeriodico_vListaClientiTrimestrale_NoRFa0MIfid.sql new file mode 100644 index 00000000..d23702a5 --- /dev/null +++ b/sql/Produzione/viste/C6StagingPeriodico_vListaClientiTrimestrale_NoRFa0MIfid.sql @@ -0,0 +1,17 @@ +CREATE VIEW [C6StagingPeriodico].[vListaClientiTrimestrale_NoRFa0MIfid] +AS +SELECT +Rete +,Cod_Agente as [CodiceAgente] +,Cod_Fiscale as [CodiceFiscale] +,CodiceContratto as [CodiceContratto] +,isnull(FREQ_MONITORAGGIO, 'T') as [FreqMonitoraggio] +,FREQ_DIAGNOSI as [Freq Diagnosi] +,CONVERT(varchar(8), Data_FineAvanzato, 112) as [DataRevoca] +,TIP_CONTRATTO as [TipoContratto] +,TIP_RIATTIVAZIONE as [TipoRiattivazione] +FROM +C6StagingPERIODICO.APPO_CONTRATTI +where rete+cod_fiscale not in ( select rete+cod_fiscale +from c6martperiodico.controllo_trimestrale +where stato_report in (2,3,23)) \ No newline at end of file diff --git a/sql/Produzione/viste/C6StagingPeriodico_vListaClientiTrimestrale_anag_pb.sql b/sql/Produzione/viste/C6StagingPeriodico_vListaClientiTrimestrale_anag_pb.sql new file mode 100644 index 00000000..291ef297 --- /dev/null +++ b/sql/Produzione/viste/C6StagingPeriodico_vListaClientiTrimestrale_anag_pb.sql @@ -0,0 +1,29 @@ +CREATE VIEW [C6StagingPeriodico].[vListaClientiTrimestrale_anag_pb] +AS +SELECT +appo.Rete +,appo.Cod_Agente as [Codice Agente] +,(CASE + when anag.id_promotore is null then '' + else + anag.cognome+' '+anag.nome + END) as [Nominativo] +,appo.Cod_Fiscale as [Codice Fiscale] +,appo.CodiceContratto as [Codice Contratto] +,isnull(appo.FREQ_MONITORAGGIO, 'T') as [Freq Monitoraggio] +,appo.FREQ_DIAGNOSI as [Freq Diagnosi] +,CONVERT(varchar(8), appo.Data_FineAvanzato, 112) as [Data Revoca] +,appo.TIP_CONTRATTO as [Tipo Contratto] +,appo.TIP_RIATTIVAZIONE as [Tipo Riattivazione] +--mod 7/3/2019 +,isnull(rol2.statorol,'') as [ROL] +,case when appo.TIP_CONTRATTO=3 then'S'else '' end as ClienteDB --FLAGCLIDB +FROM +C6StagingPERIODICO.APPO_CONTRATTI appo +left join +[C6MartPeriodico].[ANAG_PROMOTORI] anag +on appo.rete=anag.rete and appo.Cod_Agente=anag.id_promotore +---mod 7/3/2019 +left join [C6StampeCentralizzate].[C6StagingPeriodico].[datiROL2] rol2 +on +appo.rete=rol2.rete and appo.cod_fiscale = rol2.codfis \ No newline at end of file diff --git a/sql/Produzione/viste/C6StagingPeriodico_vListaClientiTrimestrale_anag_pb_20190307.sql b/sql/Produzione/viste/C6StagingPeriodico_vListaClientiTrimestrale_anag_pb_20190307.sql new file mode 100644 index 00000000..02a0f5e5 --- /dev/null +++ b/sql/Produzione/viste/C6StagingPeriodico_vListaClientiTrimestrale_anag_pb_20190307.sql @@ -0,0 +1,22 @@ +CREATE VIEW [C6StagingPeriodico].[vListaClientiTrimestrale_anag_pb_20190307] +AS +SELECT +appo.Rete +,appo.Cod_Agente as [Codice Agente] +,(CASE + when anag.id_promotore is null then '' + else + anag.cognome+' '+anag.nome + END) as [Nominativo] +,appo.Cod_Fiscale as [Codice Fiscale] +,appo.CodiceContratto as [Codice Contratto] +,isnull(appo.FREQ_MONITORAGGIO, 'T') as [Freq Monitoraggio] +,appo.FREQ_DIAGNOSI as [Freq Diagnosi] +,CONVERT(varchar(8), appo.Data_FineAvanzato, 112) as [Data Revoca] +,appo.TIP_CONTRATTO as [Tipo Contratto] +,appo.TIP_RIATTIVAZIONE as [Tipo Riattivazione] +FROM +C6StagingPERIODICO.APPO_CONTRATTI appo +left join +[C6MartPeriodico].[ANAG_PROMOTORI] anag +on appo.rete=anag.rete and appo.Cod_Agente=anag.id_promotore \ No newline at end of file diff --git a/sql/Produzione/viste/C6StagingPeriodico_vNewPositionProposta.sql b/sql/Produzione/viste/C6StagingPeriodico_vNewPositionProposta.sql new file mode 100644 index 00000000..3aa6c964 --- /dev/null +++ b/sql/Produzione/viste/C6StagingPeriodico_vNewPositionProposta.sql @@ -0,0 +1,10 @@ +CREATE VIEW [C6StagingPeriodico].[vNewPositionProposta] +AS +SELECT AGENTE, RETE, CODICEFISCALE, NEED_BREVE, NOME_PROGETTO, ISANEWPOSITION, STRINGONA_CLONEPOS, NOME_PRODOTTO_CLONEPOS, + CONTRACTCODE, POLIZZADECIMAL, CONTO, RUBRICATO, PR_COD_ISIN, PR_COD_MAF, PR_COD_INTERNO, PR_COD_SOTTOPRODOTTO, + PR_COD_ADEGUATEZZA, NOME_PRODOTTO_CATALOGO, TIPOPRODOTTO, CHIAVE_CATITEMREF, + dbo.Crea_positionIDProposta(CHIAVE_CATITEMREF, CONTRACTCODE, CONTO, RUBRICATO, TIPOPRODOTTO, POLIZZADECIMAL) + AS positionIDProposta +FROM C6StagingPeriodico.ALL_PROPOSTA +WHERE (ISANEWPOSITION = 1) AND (RICONCILIATA = 0) AND (STATO_PROPOSTA in ('InEsecuzione', 'ParzialmenteEseguita')) +and 1=0 \ No newline at end of file diff --git a/sql/Produzione/viste/C6Staging_vClienteContrattiASUL.sql b/sql/Produzione/viste/C6Staging_vClienteContrattiASUL.sql new file mode 100644 index 00000000..c5366d7d --- /dev/null +++ b/sql/Produzione/viste/C6Staging_vClienteContrattiASUL.sql @@ -0,0 +1,5 @@ +CREATE VIEW [C6Staging].[vClienteContrattiASUL] +AS +SELECT RETE, CODAGENTE, CODICEFISCALE, PIVAFIDUCIARIA, CODICECONTRATTO +FROM C6Staging.SPB_CONTR_SINTESI +WHERE (TIPOPRODOTTO = 'ASUL') \ No newline at end of file diff --git a/sql/Produzione/viste/C6Staging_vClientiContoCorrente.sql b/sql/Produzione/viste/C6Staging_vClientiContoCorrente.sql new file mode 100644 index 00000000..9b6afd72 --- /dev/null +++ b/sql/Produzione/viste/C6Staging_vClientiContoCorrente.sql @@ -0,0 +1,7 @@ +-- View +CREATE VIEW [C6Staging].[vClientiContoCorrente] as +-- 20170421 elimina duplicati +--select rete,codagente,codiceFiscale,conto,pivafiduciaria +select DISTINCT rete,codagente,codiceFiscale,conto,pivafiduciaria +from c6staging.spb_contr_sintesi +where tipoProdotto = 'CC' \ No newline at end of file diff --git a/sql/Produzione/viste/C6Staging_vClientiContoCorrente_20170421.sql b/sql/Produzione/viste/C6Staging_vClientiContoCorrente_20170421.sql new file mode 100644 index 00000000..bd9bb7c2 --- /dev/null +++ b/sql/Produzione/viste/C6Staging_vClientiContoCorrente_20170421.sql @@ -0,0 +1,5 @@ +-- View +CREATE VIEW [C6Staging].[vClientiContoCorrente_20170421] as +select rete,codagente,codiceFiscale,conto,pivafiduciaria +from c6staging.spb_contr_sintesi +where tipoProdotto = 'CC' \ No newline at end of file diff --git a/sql/Produzione/viste/C6Staging_vDelegato.sql b/sql/Produzione/viste/C6Staging_vDelegato.sql new file mode 100644 index 00000000..2c84c14b --- /dev/null +++ b/sql/Produzione/viste/C6Staging_vDelegato.sql @@ -0,0 +1,15 @@ +CREATE VIEW [C6Staging].[vDelegato] +AS +SELECT [chiaveDelegato] + ,[chiaveClientePB] + ,[nomeDelegato] + ,[cognomeDelegato] + ,[codFis] + ,[tipoDelega] + ,[codProfiloEC] + ,[flagDefault] + ,[flagSelezionato] + ,[dtInserimento] + ,[dtAggiornamento] + FROM [Consuni].[ConsulenzaUnica].[dbo].[Delegato] + where flagDefault=1 \ No newline at end of file diff --git a/sql/Produzione/viste/C6Staging_vNewPositionProposta.sql b/sql/Produzione/viste/C6Staging_vNewPositionProposta.sql new file mode 100644 index 00000000..c1c4b68b --- /dev/null +++ b/sql/Produzione/viste/C6Staging_vNewPositionProposta.sql @@ -0,0 +1,10 @@ +CREATE VIEW [C6Staging].[vNewPositionProposta] +AS +SELECT AGENTE, RETE, CODICEFISCALE, NEED_BREVE, NOME_PROGETTO, ISANEWPOSITION, STRINGONA_CLONEPOS, NOME_PRODOTTO_CLONEPOS, + CONTRACTCODE, POLIZZADECIMAL, CONTO, RUBRICATO, PR_COD_ISIN, PR_COD_MAF, PR_COD_INTERNO, PR_COD_SOTTOPRODOTTO, + PR_COD_ADEGUATEZZA, NOME_PRODOTTO_CATALOGO, TIPOPRODOTTO, CHIAVE_CATITEMREF, + dbo.Crea_positionIDProposta(CHIAVE_CATITEMREF, CONTRACTCODE, CONTO, RUBRICATO, TIPOPRODOTTO, POLIZZADECIMAL) + AS positionIDProposta +FROM C6Staging.ALL_PROPOSTA +WHERE (ISANEWPOSITION = 1) AND (RICONCILIATA = 0) AND (STATO_PROPOSTA in ('InEsecuzione', 'ParzialmenteEseguita')) +and 1=0 \ No newline at end of file diff --git a/sql/Produzione/viste/dbo_FLRPT_InvioReport.sql b/sql/Produzione/viste/dbo_FLRPT_InvioReport.sql new file mode 100644 index 00000000..441538a9 --- /dev/null +++ b/sql/Produzione/viste/dbo_FLRPT_InvioReport.sql @@ -0,0 +1,8 @@ +CREATE VIEW [dbo].[FLRPT_InvioReport] +AS +SELECT pdf.IdReport AS KeyReport, pdf.CodiceFiscale AS CodFiscale, pdf.Rete AS CodRete, pdf.Rete + C6.Cod_Agente AS CodAgente, '' AS CodMan, + CASE WHEN TipoReport = 'D' THEN 'DIAGNOSI' ELSE 'MONITORAGGIO' END AS TipoReport, pdf.DataInvio AS DtInvio, + pdf.DataGenerazione AS DtGenerazione +FROM C6Mart.GESTIONE_PDF_FTP AS pdf INNER JOIN + C6Mart.CONTRATTOSEI AS C6 ON pdf.Rete = C6.Rete AND pdf.CodiceFiscale = C6.Cod_Fiscale AND pdf.DataGenerazione>C6.data_perf +WHERE (C6.Data_FineAvanzato IS NULL) \ No newline at end of file diff --git a/sql/Produzione/viste/dbo_FLRPT_InvioReport_Periodico.sql b/sql/Produzione/viste/dbo_FLRPT_InvioReport_Periodico.sql new file mode 100644 index 00000000..d5825d43 --- /dev/null +++ b/sql/Produzione/viste/dbo_FLRPT_InvioReport_Periodico.sql @@ -0,0 +1,32 @@ +--select * from FLRPT_InvioReport_Periodico +CREATE VIEW [dbo].[FLRPT_InvioReport_Periodico] +AS +SELECT pdf.IdReport AS KeyReport, pdf.CodiceFiscale AS CodFiscale, pdf.Rete AS CodRete, pdf.Rete + C6.Cod_Agente AS CodAgente, '' AS CodMan, + CASE WHEN pdf.TipoReport = 'D' THEN 'DIAGNOSI' ELSE 'MONITORAGGIO' END AS TipoReport, pdf.DataInvio AS DtInvio, + pdf.DataGenerazione AS DtGenerazione, flagDefinitivo +FROM + C6MartPeriodico.GESTIONE_PDF_FTP AS pdf +INNER JOIN +--Inizio Intervento +--Intervento effettuato il 30/04/2014 per consentire l'accensione dell'alert relativo alla generazione ed invio +--dei report di Trimestrale anche per i Clienti che presentano un contratto cessato durante il Trimestre +--in elaborazione (questi non sono presenti sulla tabella CONTRATTOSEI del giornaliero mentre sono presenti +--nella medesima tabella del Periodico in quanto oggetto di Trimestrale +-- C6Mart.CONTRATTOSEI AS C6 + C6MartPeriodico.CONTRATTOSEI AS C6 +--Fine Intervento +ON + pdf.Rete = C6.Rete +AND + pdf.CodiceFiscale = C6.Cod_Fiscale +INNER JOIN + [10.10.33.175\i1].seireport.dbo.repositoryMetadati rmd +ON + pdf.IdReport = rmd.idInRepository +where pdf.idreport <> pdf.identityreport +--Inizio Intervento +--Intervento effettuato il 30/04/2014 per consentire l'accensione dell'alert relativo alla generazione ed invio +--dei report di Trimestrale anche per i Clienti che presentano un contratto cessato durante il Trimestre +--in elaborazione +--WHERE (C6.Data_FineAvanzato IS NULL) +--Fine Intervento \ No newline at end of file diff --git a/sql/Produzione/viste/dbo_FLRPT_Produzione.sql b/sql/Produzione/viste/dbo_FLRPT_Produzione.sql new file mode 100644 index 00000000..6195a9c5 --- /dev/null +++ b/sql/Produzione/viste/dbo_FLRPT_Produzione.sql @@ -0,0 +1,16 @@ +--select * from FLRPT_Produzione +--select count(*) from FLRPT_Produzione +CREATE VIEW [dbo].[FLRPT_Produzione] +AS +SELECT DISTINCT + C6.Rete, C6.Cod_Fiscale AS CODFISCALE, C6.Cod_Agente AS CodAgente, NULL AS CodMan, C6.Freq_Monitoraggio AS FrequenzaReport, + C6.Freq_Diagnosi AS freqstampadiagnosi +FROM +c6martperiodico.rp_vcontrattipergenerazionereport c6 +--V (Marianna, Serena) NON FUNZIONA CON LA DATA A MANO +-- +--FROM C6Mart.CONTRATTOSEI AS C6 INNER JOIN +-- C6Mart.GESTIONE_PDF_FTP AS PDF ON C6.Cod_Fiscale = PDF.CodiceFiscale +--WHERE (C6.InvioBenvenuto = 'S') AND (C6.Data_FineAvanzato IS NULL OR +-- C6.Data_FineAvanzato > '2010-06-30') AND (PDF.DataGenerazione < CAST(YEAR(GETDATE()) AS varchar) + '-' + CAST(MONTH(GETDATE()) AS varchar) +-- + '-' + '01') \ No newline at end of file diff --git a/sql/Produzione/viste/dbo_GetStatistics_elab.sql b/sql/Produzione/viste/dbo_GetStatistics_elab.sql new file mode 100644 index 00000000..911e1808 --- /dev/null +++ b/sql/Produzione/viste/dbo_GetStatistics_elab.sql @@ -0,0 +1,5 @@ +create view GetStatistics_elab +as +select s.elab as typ, rete, count(s.codicefiscale) _counter from [C6MartPeriodico].[cruscotto_contrattisei] s with (nolock) + inner join GetStatistics_recordsToProcess t with (nolock) on t.codiceFiscale = s.codicefiscale +group by elab, rete \ No newline at end of file diff --git a/sql/Produzione/viste/dbo_GetStatistics_stato_report.sql b/sql/Produzione/viste/dbo_GetStatistics_stato_report.sql new file mode 100644 index 00000000..300c267f --- /dev/null +++ b/sql/Produzione/viste/dbo_GetStatistics_stato_report.sql @@ -0,0 +1,5 @@ +create view GetStatistics_stato_report +as +select s.stato_report as typ, rete, count(s.cod_fiscale) as _counter from [C6MartPeriodico].[CONTROLLO_TRIMESTRALE] s with (nolock) + inner join GetStatistics_recordsToProcess t with (nolock) on t.codiceFiscale = s.cod_fiscale +group by stato_report, rete \ No newline at end of file diff --git a/sql/Produzione/viste/dbo_RICODIF_CF_PIVA.sql b/sql/Produzione/viste/dbo_RICODIF_CF_PIVA.sql new file mode 100644 index 00000000..22ce52cd --- /dev/null +++ b/sql/Produzione/viste/dbo_RICODIF_CF_PIVA.sql @@ -0,0 +1,7 @@ +CREATE VIEW [dbo].[RICODIF_CF_PIVA] +AS +SELECT CF_OLD, CF_NEW, DTINSERIMENTO from [CONSEVO].ConsulenzaBaseFL.dbo.RICODIF_CF_PIVA +WHERE +-- ISNULL(Base, 0) = 0 +--AND + RicodificatoContratto6 is null \ No newline at end of file diff --git a/sql/Produzione/viste/dbo_RICODIF_CF_PIVA_CU.sql b/sql/Produzione/viste/dbo_RICODIF_CF_PIVA_CU.sql new file mode 100644 index 00000000..5d03d44b --- /dev/null +++ b/sql/Produzione/viste/dbo_RICODIF_CF_PIVA_CU.sql @@ -0,0 +1,7 @@ +CREATE VIEW [dbo].[RICODIF_CF_PIVA_CU] +AS +SELECT CF_OLD, CF_NEW, DTINSERIMENTO from [CONSUNI].ConsulenzaUnicaFL.dbo.RICODIF_CF_PIVA +WHERE +-- ISNULL(Base, 0) = 0 +--AND + RicodificatoContratto6 is null \ No newline at end of file diff --git a/sql/Produzione/viste/dbo_S1ALTRO.sql b/sql/Produzione/viste/dbo_S1ALTRO.sql new file mode 100644 index 00000000..f4ce812b --- /dev/null +++ b/sql/Produzione/viste/dbo_S1ALTRO.sql @@ -0,0 +1,5 @@ +CREATE VIEW dbo.S1ALTRO +AS +SELECT SUM(CTV) AS controvalore, RETE +FROM C6Mart.PATRIMONIO_ALTRO +GROUP BY RETE \ No newline at end of file diff --git a/sql/Produzione/viste/dbo_S1BF.sql b/sql/Produzione/viste/dbo_S1BF.sql new file mode 100644 index 00000000..dac4c59b --- /dev/null +++ b/sql/Produzione/viste/dbo_S1BF.sql @@ -0,0 +1,5 @@ +CREATE VIEW dbo.S1BF +AS +SELECT SUM(CTV) AS controvalore, RETE +FROM C6Mart.PATRIMONIO_BF +GROUP BY RETE \ No newline at end of file diff --git a/sql/Produzione/viste/dbo_S1IMMOBILIARE.sql b/sql/Produzione/viste/dbo_S1IMMOBILIARE.sql new file mode 100644 index 00000000..58396251 --- /dev/null +++ b/sql/Produzione/viste/dbo_S1IMMOBILIARE.sql @@ -0,0 +1,5 @@ +CREATE VIEW dbo.[S1IMMOBILIARE] +AS +SELECT SUM(VALORE_STIMATO) AS controvalore, RETE +FROM C6Mart.PATRIMONIO_IMMOBILIARE +GROUP BY RETE \ No newline at end of file diff --git a/sql/Produzione/viste/dbo_S1SINTESI.sql b/sql/Produzione/viste/dbo_S1SINTESI.sql new file mode 100644 index 00000000..5388b458 --- /dev/null +++ b/sql/Produzione/viste/dbo_S1SINTESI.sql @@ -0,0 +1,13 @@ +CREATE VIEW dbo.S1SINTESI +AS +SELECT controvalore, RETE, 'ALTRO' AS descrizione +FROM dbo.S1ALTRO +UNION +SELECT controvalore, RETE, 'BF' AS descrizione +FROM dbo.S1BF +UNION +SELECT controvalore, RETE, 'IMMOBILIARE' AS DESCRIZIONE +FROM dbo.S1IMMOBILIARE +UNION +SELECT controvalore, RETE, 'TERZI' AS DESCRIZIONE +FROM dbo.S1TERZI \ No newline at end of file diff --git a/sql/Produzione/viste/dbo_S1TERZI.sql b/sql/Produzione/viste/dbo_S1TERZI.sql new file mode 100644 index 00000000..dc80f76c --- /dev/null +++ b/sql/Produzione/viste/dbo_S1TERZI.sql @@ -0,0 +1,5 @@ +CREATE VIEW dbo.S1TERZI +AS +SELECT SUM(CTV) AS controvalore, RETE +FROM C6Mart.PATRIMONIO_TERZI +GROUP BY RETE \ No newline at end of file diff --git a/sql/Produzione/viste/dbo_S1sintesitotale.sql b/sql/Produzione/viste/dbo_S1sintesitotale.sql new file mode 100644 index 00000000..fed3ff6a --- /dev/null +++ b/sql/Produzione/viste/dbo_S1sintesitotale.sql @@ -0,0 +1,5 @@ +CREATE VIEW dbo.S1sintesitotale +AS +SELECT SUM(controvalore) AS tOTALE, RETE +FROM dbo.S1SINTESI +GROUP BY RETE \ No newline at end of file diff --git a/sql/Produzione/viste/dbo_S25_DATIANAGRAFICI.sql b/sql/Produzione/viste/dbo_S25_DATIANAGRAFICI.sql new file mode 100644 index 00000000..38d47d58 --- /dev/null +++ b/sql/Produzione/viste/dbo_S25_DATIANAGRAFICI.sql @@ -0,0 +1,18 @@ +CREATE VIEW dbo.[S25_DATIANAGRAFICI] +AS +SELECT C6Mart.ANAG_CLIENTI.NOME + ' ' + C6Mart.ANAG_CLIENTI.COGNOME + ' (' + C6Mart.ANAG_CLIENTI.COD_FISCALE + ')' AS cliente, + C6Mart.ANAG_CLIENTI.DATA_NASCITA, C6Mart.ANAG_CLIENTI_PREV.PROFESSIONE, C6Mart.ANAG_CLIENTI.STATO_CIVILE, + CASE WHEN COALESCE (C6Mart.ANAG_CLIENTI.num_figli, 0) + <> 0 THEN C6Mart.ANAG_CLIENTI.num_componenti + ' (' + C6Mart.ANAG_CLIENTI.num_figli + ')' ELSE C6Mart.ANAG_CLIENTI.num_componenti END AS nucleo, + C6Mart.ANAG_CLIENTI.INDIRIZZO + ' -' + C6Mart.ANAG_CLIENTI.CAP + ' - ' + C6Mart.ANAG_CLIENTI.LOCALITA + ' - (' + C6Mart.ANAG_CLIENTI.PROVINCIA + + ')' AS Expr1, C6Mart.ANAG_CLIENTI.COD_FISCALE, NULL AS cod_pb, C6Mart.ANAG_CONTRATTI.RETE, C6Mart.ANAG_CONTRATTI.ID_CONTRATTO, + C6Mart.ANAG_CONTRATTI.STATO AS StatoContratto, C6Mart.ANAG_CONTRATTI.DATA_SOTTOSCRIZIONE, C6Mart.ANAG_CONTRATTI.DATA_PERF, + C6Mart.ANAG_CC.FASCIA_CPP, C6Mart.ANAG_CLIENTI.E_MAIL, NULL AS produzioneReport, C6Mart.ANAG_CLIENTI.INDIRIZZO, + C6Mart.ANAG_CLIENTI.CAP, C6Mart.ANAG_CLIENTI.LOCALITA, C6Mart.ANAG_CLIENTI.PROVINCIA, C6Mart.ANAG_CLIENTI.NAZIONE, NULL AS presso, + C6Mart.DATI_REPORT.FLAG_REPORT, C6Mart.ANAG_PROMOTORI.ID_PROMOTORE AS CodicePB +FROM C6Mart.ANAG_CC INNER JOIN + C6Mart.ANAG_CLIENTI ON C6Mart.ANAG_CC.RETE = C6Mart.ANAG_CLIENTI.RETE INNER JOIN + C6Mart.ANAG_CONTRATTI ON C6Mart.ANAG_CC.RETE = C6Mart.ANAG_CONTRATTI.RETE INNER JOIN + C6Mart.ANAG_CLIENTI_PREV ON C6Mart.ANAG_CC.RETE = C6Mart.ANAG_CLIENTI_PREV.RETE INNER JOIN + C6Mart.DATI_REPORT ON C6Mart.ANAG_CC.RETE = C6Mart.DATI_REPORT.RETE INNER JOIN + C6Mart.ANAG_PROMOTORI ON C6Mart.ANAG_CC.RETE = C6Mart.ANAG_PROMOTORI.RETE \ No newline at end of file diff --git a/sql/Produzione/viste/dbo_S43_DETTAGLIOPRODOTTI.sql b/sql/Produzione/viste/dbo_S43_DETTAGLIOPRODOTTI.sql new file mode 100644 index 00000000..0c98765f --- /dev/null +++ b/sql/Produzione/viste/dbo_S43_DETTAGLIOPRODOTTI.sql @@ -0,0 +1,21 @@ +CREATE VIEW [dbo].[S43_DETTAGLIOPRODOTTI] +AS +SELECT + PATRIMONIO_BF.DATA_OPERAZIONE AS DataDiSottoscrizioni, + PATRIMONIO_BF.ID_CONTRATTO AS ContrattoDossier, + ANAG_PRODOTTI.DESCR_PRODOTTO, + NULL AS Aggiornamento, + PATRIMONIO_BF.CTV AS Controvalore, + PATRIMONIO_BF.VERSATO_NETTO AS VersatoNetto, + PATRIMONIO_BF.CTV - PATRIMONIO_BF.VERSATO_NETTO AS MinusPlusValenza, + RISCHIO_DETTAGLIO.VAR_PERC_PTF, + PATRIMONIO_BF.REND_ANNO AS PerformanceYTD, + PATRIMONIO_BF.REND_SOTTOSCRIZIONE AS PerformanceDaYTD, + PATRIMONIO_BF.RETE, + PATRIMONIO_BF.COD_FISCALE, + PATRIMONIO_BF.COD_SOTTOPRODOTTO +FROM C6MART.PATRIMONIO_BF +INNER JOIN C6MART.ANAG_PRODOTTI + ON PATRIMONIO_BF.COD_PRODOTTO = ANAG_PRODOTTI.COD_PRODOTTO +INNER JOIN C6MART.RISCHIO_DETTAGLIO + ON PATRIMONIO_BF.RETE = RISCHIO_DETTAGLIO.RETE \ No newline at end of file diff --git a/sql/Produzione/viste/dbo_S43_DETTAGLIOPRODOTTIFIN.sql b/sql/Produzione/viste/dbo_S43_DETTAGLIOPRODOTTIFIN.sql new file mode 100644 index 00000000..4e674191 --- /dev/null +++ b/sql/Produzione/viste/dbo_S43_DETTAGLIOPRODOTTIFIN.sql @@ -0,0 +1,18 @@ +CREATE VIEW [dbo].[S43_DETTAGLIOPRODOTTIFIN] +AS +SELECT + PATRIMONIO_BF.DATA_OPERAZIONE AS DataDiSottoscrizioni, + PATRIMONIO_BF.ID_CONTRATTO AS ContrattoDossier, + ANAG_PRODOTTI.DESCR_PRODOTTO, + NULL AS Aggiornamento, + PATRIMONIO_BF.CTV AS Controvalore, + PATRIMONIO_BF.VERSATO_NETTO AS VersatoNetto, + PATRIMONIO_BF.CTV - PATRIMONIO_BF.VERSATO_NETTO AS MinusPlusValenza, + RISCHIO_DETTAGLIO.VAR_PERC_PTF, + PATRIMONIO_BF.REND_ANNO AS PerformanceYTD, + PATRIMONIO_BF.REND_SOTTOSCRIZIONE AS PerformanceDaYTD +FROM C6MART.PATRIMONIO_BF +INNER JOIN C6MART.ANAG_PRODOTTI + ON PATRIMONIO_BF.COD_PRODOTTO = ANAG_PRODOTTI.COD_PRODOTTO +INNER JOIN C6MART.RISCHIO_DETTAGLIO + ON PATRIMONIO_BF.RETE = RISCHIO_DETTAGLIO.RETE \ No newline at end of file diff --git a/sql/Produzione/viste/dbo_S47_CONTICORRENTIBF.sql b/sql/Produzione/viste/dbo_S47_CONTICORRENTIBF.sql new file mode 100644 index 00000000..25481c5c --- /dev/null +++ b/sql/Produzione/viste/dbo_S47_CONTICORRENTIBF.sql @@ -0,0 +1,4 @@ +CREATE VIEW dbo.[S47_CONTICORRENTIBF] +AS +SELECT DATA_APERTURA AS DataDiApertura, COD_CC AS NumerodiCC, NULL AS Aggiornamento, SALDO, RETE, COD_FISCALE +FROM C6Mart.ANAG_CC \ No newline at end of file diff --git a/sql/Produzione/viste/dbo_vANAG_CONTRATTI.sql b/sql/Produzione/viste/dbo_vANAG_CONTRATTI.sql new file mode 100644 index 00000000..d50eb343 --- /dev/null +++ b/sql/Produzione/viste/dbo_vANAG_CONTRATTI.sql @@ -0,0 +1,6 @@ +/*GROUP BY ID_CONTRATTO, RETE, COD_FISCALE, POSITION_ID, DATA_SOTTOSCRIZIONE, COD_STATO*/ +CREATE VIEW dbo.vANAG_CONTRATTI +AS +SELECT ID_CONTRATTO, RETE, COD_FISCALE, DATA_SOTTOSCRIZIONE, COD_STATO +FROM C6Mart.PATRIMONIO_BF +GROUP BY ID_CONTRATTO, RETE, COD_FISCALE, DATA_SOTTOSCRIZIONE, COD_STATO \ No newline at end of file diff --git a/sql/Produzione/viste/dbo_vCondizioniCapitoloAlternativa.sql b/sql/Produzione/viste/dbo_vCondizioniCapitoloAlternativa.sql new file mode 100644 index 00000000..bdc60556 --- /dev/null +++ b/sql/Produzione/viste/dbo_vCondizioniCapitoloAlternativa.sql @@ -0,0 +1,7 @@ +CREATE VIEW dbo.vCondizioniCapitoloAlternativa +AS +SELECT 15 AS IDCAPITOLO,RETE,COD_FISCALE,case COUNT(DISTINCT INTERMEDIARIO) WHEN 1 THEN 1 else 0 END AS CondValue +FROM C6Mart.PATRIMONIO_TERZI +GROUP BY RETE,COD_FISCALE +--union all +--select 17 AS IDCAPITOLO,'X' as RETE, 'XXXXXXXXXXXXXXXX'as COD_FISCALE,1 AS AS CondValue \ No newline at end of file diff --git a/sql/Produzione/viste/dbo_vDiscardedQuarterlyReports.sql b/sql/Produzione/viste/dbo_vDiscardedQuarterlyReports.sql new file mode 100644 index 00000000..adecd7b9 --- /dev/null +++ b/sql/Produzione/viste/dbo_vDiscardedQuarterlyReports.sql @@ -0,0 +1,6 @@ +CREATE VIEW dbo.vDiscardedQuarterlyReports +AS +SELECT Logged, LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(REPLACE(Message, 'constructing', ''), 'of', ''), 'finished', ''), ' does not finished due to the error', ''))) AS Expr1, + CASE WHEN message LIKE '%finished' THEN 'finished' WHEN message LIKE '%not finished%' THEN 'error' ELSE 'started' END AS process_status +FROM dbo.LogN +WHERE (Message LIKE '%constructing%') AND ([Level] = 'Debug') \ No newline at end of file diff --git a/sql/Produzione/viste/dbo_vPatrimonioBFReteCodFisc.sql b/sql/Produzione/viste/dbo_vPatrimonioBFReteCodFisc.sql new file mode 100644 index 00000000..162a4f7c --- /dev/null +++ b/sql/Produzione/viste/dbo_vPatrimonioBFReteCodFisc.sql @@ -0,0 +1,5 @@ +CREATE VIEW dbo.vPatrimonioBFReteCodFisc +AS +SELECT RETE, COD_FISCALE +FROM C6Mart.PATRIMONIO_BF +GROUP BY RETE, COD_FISCALE \ No newline at end of file diff --git a/sql/Produzione/viste/dbo_vPatrimonioTerziReteCodFisc.sql b/sql/Produzione/viste/dbo_vPatrimonioTerziReteCodFisc.sql new file mode 100644 index 00000000..a280994e --- /dev/null +++ b/sql/Produzione/viste/dbo_vPatrimonioTerziReteCodFisc.sql @@ -0,0 +1,5 @@ +CREATE VIEW dbo.vPatrimonioTerziReteCodFisc +AS +SELECT RETE, COD_FISCALE, INTERMEDIARIO +FROM C6Mart.PATRIMONIO_TERZI +GROUP BY RETE, COD_FISCALE, INTERMEDIARIO \ No newline at end of file