-- =============================================
-- Author:		<Author,,Name>
-- Create date: <Create Date,,>
-- Description:	<Description,,>
-- =============================================
CREATE procedure [C6Mart].[RP_DM_PATRIMONIO_TERZI_luca]
AS
BEGIN
	SET NOCOUNT ON;
	DECLARE @ID_ELAB INT
	DECLARE @TIPO_ELAB VARCHAR(1)
	SET @ID_ELAB = C6MART.GETIDELAB()
	SET @TIPO_ELAB = C6MART.GETTIPOELAB()
	TRUNCATE TABLE C6MART.PATRIMONIO_TERZI
	INSERT INTO [C6Mart].[PATRIMONIO_TERZI]
		   (
--chiaveClientePB,
		   [RETE]
		   ,[COD_FISCALE]
		   ,[NUM_POLIZZA]
		   ,[TIPO_POLIZZA]
		   ,[TIPO_PRODOTTO]
		   ,[TIPO_PRODOTTO2]
		   ,[COD_PRODOTTO]
		   ,[COD_PRODOTTO_TERZI]
		   ,[INTERMEDIARIO]
		   ,[DATA_SOTTOSCRIZIONE]
		   ,[DATA_SCADENZA]
		   ,[FREQ_RATA]
		   ,[DURATA_POLIZZA]
		   ,[PREMIO]
		   ,[ALIQUOTA]
		   ,[DATA_SOTT_FP]
		   ,[DATA_REGOLAMENTO]
		   ,[QUANTITA]
		   ,[PREZZO]
		   ,[CTV]
		   ,[VERSATO_NETTO]
		   ,[DIV_REGOLAMENTO]
		   ,[CAMBIO]
		   ,[DESCR_GRUPPO_PRODOTTO]
			,[STRTYPE]
			,[COMPLEX]
			,[EMITTENTE]
			,[CHIAVE_THR]
		   ,[ID_ELAB]
		   ,[TIPO_ELAB])
	SELECT 
		VCONTRATTI.rete AS RETE,
		VCONTRATTI.COD_FISCALE AS COD_FISCALE,
		NULL AS NUM_POLIZZA,
		--(CASE RP_DettProdottiTerzi.tipoPolizza
  --     WHEN 'CapitaleDifferito' THEN 'Capitale differito'
  --     WHEN 'MistaImmediata' THEN 'Mista immediata'
  --     WHEN 'VitaIntera' THEN 'Vita intera'
  --     WHEN 'RenditaVitalizia' THEN 'Rendita vitalizia'
  --     WHEN 'Capitalizzazione' THEN 'Capitalizzazione'
  --     ELSE RP_DettProdottiTerzi.tipoPolizza
  --   END) AS TIPO_POLIZZA,
        null AS TIPO_POLIZZA,
		--COALESCE(RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3,COALESCE(RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2,RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1)) AS TIPO_PRODOTTO, --da rivedere
		null AS TIPO_PRODOTTO, 
		NULL AS TIPO_PRODOTTO2,
		isnull(RP_CatalogoProdotti.catalogueID, 'PRODOTTO NON IN CATALOGO') AS COD_PRODOTTO, 
		RP_PatrimonioTerzi.chiaveProdottoTerzi AS COD_PRODOTTO_TERZI, --da rivedere prima era una stringona presa dal campo OID$
		--RP_DettProdottiTerzi.nomeIntermediario AS INTERMEDIARIO,
		null  AS INTERMEDIARIO,
		--case when C6Staging.RP_PatrimonioTerzi.tipoProd ='Assets.FinancialAssets.PolizzeRivalutabili'
		--   then isnull(RP_DettProdottiTerzi.DTSOTTOSCRIZIONE, RP_PatrimonioTerzi.DATACTV) 
		--   when C6Staging.RP_PatrimonioTerzi.tipoProd = 'Assets.FinancialAssets.ProdottiPrevidenziali'
		--   then RP_PatrimonioTerzi.DATACTV
		--   else isnull(RP_DettProdottiTerzi.dtInizioInvest,RP_PatrimonioTerzi.DATACTV) 
		--end AS DATA_SOTTOSCRIZIONE,
		null  AS DATA_SOTTOSCRIZIONE,
		--RP_PatrimonioTerzi.dtFine AS DATA_SCADENZA,
		null  AS DATA_SCADENZA,
		--RP_DettProdottiTerzi.tipoVersamento AS FREQ_RATA,
		null  AS FREQ_RATA,
		NULL AS DURATA_POLIZZA,
		NULL AS PREMIO,
		NULL AS ALIQUOTA,
		NULL AS DATA_SOTT_FP,
		NULL AS DATA_REGOLAMENTO,
		NULL AS QUANTITA,
		NULL AS PREZZO,
		case 
		   when RP_PatrimonioTerzi.ctv > 999999999999.00 then 999999999999.00
		   else RP_PatrimonioTerzi.ctv
		end  AS CTV,
		case 
		   when RP_DettProdottiTerzi.capitaleInvestito > 999999999999.00 then 999999999999.00
		   else RP_DettProdottiTerzi.capitaleInvestito
		end  AS VERSATO_NETTO,
		--RP_DettProdottiTerzi.capitaleInvestito AS VERSATO_NETTO, --mod
		NULL AS DIV_REGOLAMENTO,
		NULL AS CAMBIO,
		CASE 
			WHEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Fondi' 
				THEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2
			WHEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Gestioni patrimoniali' 
				THEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2
			WHEN (RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1 = 'Amministrato' 
					AND RP_PatrimonioTerzi.tipoProd NOT IN( 'Assets.FinancialAssets.CurrentAccount', 'Assets.FinancialAssets.Other'))
				THEN 'Prodotti di Tipo amministrato (escluso C/C)'
			WHEN (RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3 IN ('Index linked', 'Unit linked')
				 or (RP_S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_1='Gestito Assicurativo previdenziale' 
					 and RP_S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_2='Assicurativi Vita' 
					 and RP_S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_3 is null))
				THEN 'Assicurativi Unit/Index Linked'
			WHEN RP_PatrimonioTerzi.tipoProd = 'Assets.FinancialAssets.Other'  
				THEN 'Portafoglio Generico'
			WHEN RP_PatrimonioTerzi.tipoProd IN ('Assets.FinancialAssets.ProdottiPrevidenziali', 'Assets.FinancialAssets.PolizzeRivalutabili')  
				THEN NULL
			ELSE NULL 
		END AS DESCR_GRUPPO_PRODOTTO,
		RP_CatalogoProdotti.AzOb AS STRTYPE, --manca (farselo dire da Alessia) (obbligazionario o azionario)
		RP_CatalogoProdotti.Complessita AS COMPLEX,
		RP_AnEmittente.Descrizione AS EMITTENTE,
		RP_PatrimonioTerzi.chiaveProdottoTerzi AS chiave_thr, --da rivedere
		@ID_ELAB AS ID_ELAB,
		@TIPO_ELAB AS TIPO_ELAB
	FROM
		C6Mart.VCONTRATTI
	INNER JOIN
		C6Staging.RP_PatrimonioTerzi
		ON VCONTRATTI.chiaveClientePB = RP_PatrimonioTerzi.chiaveClientePB
	INNER JOIN
		C6Staging.RP_DettProdottiTerzi
		ON RP_PatrimonioTerzi.chiaveProdottoTerzi = RP_DettProdottiTerzi.chiaveProdottoTerzi
	INNER JOIN
		C6Staging.RP_S4_S5_S13_TRAD_UNTIL_LIV3 ON C6Staging.RP_DettProdottiTerzi.alberatura = C6Staging.RP_S4_S5_S13_TRAD_UNTIL_LIV3.alberatura
	LEFT JOIN
		C6Staging.RP_CatalogoProdotti ON C6Staging.RP_DettProdottiTerzi.chiaveProdotto = C6Staging.RP_CatalogoProdotti.ChiaveProdotto
	LEFT JOIN
		C6Staging.RP_AnEmittente ON C6Staging.RP_CatalogoProdotti.Emittente = C6Staging.RP_AnEmittente.Emittente
END