PDC_REPORT_CreazioneDB/sql/storedCollaudo/C6Mart_DM_ALL_PATRIMONIO.sql
2025-06-06 19:02:52 +02:00

124 lines
3.8 KiB
Transact-SQL

-- Schema: C6Mart
-- Stored Procedure: DM_ALL_PATRIMONIO
-- =============================================
-- AUTHOR: ALESSANDRO TRINGALI
-- CREATE DATE: 18 SETTEMBRE 2009
-- DESCRIPTION:
-- =============================================
CREATE procedure [C6Mart].[DM_ALL_PATRIMONIO]
AS
BEGIN
SET NOCOUNT ON;
DECLARE @ID_ELAB INT
SET @ID_ELAB = [C6Mart].GETIDELAB()
-- LOG ESECUZIONE
INSERT INTO LOG_ESECUZIONE
(NOME, INIZIO, NOTA)
VALUES (
'DM_ALL_PATRIMONIO',
GETDATE(),
'ELABORAZIONE TRIMESTRALE'
)
TRUNCATE TABLE [C6Mart].[ALL_PATRIMONIO]
INSERT INTO [C6Mart].[ALL_PATRIMONIO]
(
[CODICE_FISCALE]
,[RETE]
,[POSITIONID]
,[CATALOGUENAME]
,[CATALOGUEID]
,[COD_ADEGUATEZZA]
,[INTERMEDIARIO]
,[PATRIMONIO_INTERMEDIARIO]
,[EMITTENTE]
,[PATRIMONIO_EMITTENTE]
,[COMPLESSITA]
,[TIPO_PRODOTTO]
,[CONTROVALORE_PRODOTTO]
,[AZ_OB]
,[PATRIMONIO_AZ_OB_EMIT]
,[PATRIM_AZ_OB_EMIT_INTER]
,[PATRIMONIO_COMPLESSIVO]
,[CHIAVE_THR]
)
SELECT
CODICE_FISCALE,
RETE,
POSITIONID,
DATI.CATALOGUENAME,
CAT.CATALOGUEID,
CASE
WHEN ADEGUATEZZA IS NULL
THEN CAT.COD_ADEGUATEZZA
ELSE ADEGUATEZZA
END AS COD_ADEGUATEZZA,
INTERMEDIARIO,
SUM(CONTROVALORE) OVER (PARTITION BY CODICE_FISCALE,RETE,INTERMEDIARIO) AS PATRIMONIO_INTERMEDIARIO,
EMIT.DESCR AS EMITTENTE,
CASE
WHEN EMIT.DESCR IS NULL THEN NULL
ELSE SUM(CONTROVALORE) OVER (PARTITION BY CODICE_FISCALE,RETE,EMIT.DESCR)
END AS PATRIMONIO_EMITTENTE,
CAT.COMPLEX AS COMPLESSITA,
CAT.TIPOPRODOTTO,
CONTROVALORE AS CONTROVALORE_PRODOTTO,
CASE WHEN CAT.STRTYPE IS NULL
THEN AZ_OB
ELSE CAT.STRTYPE
END AS AZ_OB,
SUM(CONTROVALORE) OVER (PARTITION BY CODICE_FISCALE,RETE,CASE WHEN CAT.STRTYPE IS NULL THEN AZ_OB ELSE CAT.STRTYPE END,EMIT.DESCR) AS PATRIMONIO_AZ_OB_EMIT,
SUM(CONTROVALORE) OVER (PARTITION BY CODICE_FISCALE,RETE,INTERMEDIARIO,CASE WHEN CAT.STRTYPE IS NULL THEN AZ_OB ELSE CAT.STRTYPE END,EMIT.DESCR, POSITIONID) AS PATRIM_AZ_OB_EMIT_INTER,
SUM(CONTROVALORE) OVER (PARTITION BY CODICE_FISCALE,RETE) AS PATRIMONIO_COMPLESSIVO,
CHIAVE_THR
FROM (
SELECT NULL AS AGENTE,
C.RETE,
C.CODICE_FISCALE,
C.CATALOGUENAME,
C.CONTROVALORE,
'BF' AS INTERMEDIARIO,
SUBSTRING(C.STRINGONA_POS, 1, 57) AS CATALOGUEID,
C.STRINGONA_POS AS POSITIONID,
NULL AS ADEGUATEZZA,
'BF' AS PROVENIENZA,
NULL AZ_OB,
'' AS CHIAVE_THR
FROM C6STAGING.ALL_CONSUL_ASUL C
union all
SELECT agente,
substring(agente,1,1) as rete,
codicefiscale as codice_FISCALE,
nome_prodotto as cataloguename,
SUM(controvalore) AS controvalore,
intermediario,
case when codiceisin = '' then '############' else codiceisin + replicate(' ', 12-len(codiceisin)) end
+
case when codicemaf = '' then '###############' else codicemaf + replicate(' ', 15-len(codicemaf)) end
+
case when codiceinterno = '' then '###############' else codiceinterno + replicate(' ', 15-len(codiceinterno)) end
+
case when codicesottoprodotto = '' then '###############' else codicesottoprodotto + replicate(' ', 15-len(codicesottoprodotto)) end
as catalogueid,
null as positionid,
codiceadeguatezza as ADEGUATEZZA ,
'PPT' as provenienza,
--alberatura,