-- Schema: C6MartPeriodico
-- Stored Procedure: Popolamento_RP_W6CLIREP












-- =============================================
-- Author:		<Author,,Name>
-- Create date: <Create Date,,>
-- Description:	<Description,,>
-- =============================================
CREATE PROCEDURE [C6MartPeriodico].[Popolamento_RP_W6CLIREP]
	
AS
BEGIN
	
	SET NOCOUNT ON;

	--dichiaro variabile data di trimestrale
	DECLARE @dttrim int
	
	--valorizzo la data di trimestrale al giorno del congelamento
	set @dttrim  = CAST(CONVERT(varchar, CAST(C6MartPeriodico.getDataCongelamento() as DATETIME),112) as int)
	--print @dttrim
	
	--Tronchiamo la tabella RP_vTuttiIPortafogli_Aladdin_tab e la ripopoliamo
	--a partire dalla vista RP_vTuttiIPortafogli_Aladdin

	Truncate table C6StampeCentralizzate.C6MartPeriodico.w6clirep
	--
	insert into C6StampeCentralizzate.C6MartPeriodico.w6clirep
		select 
		'6' as FLGCLI ,
		'M' as FLGBL ,
		'A' as TIPOELA,
		@dttrim as DTTRIM,
		rete,
		codfis,
		piva,
		codman,
		'' as CODFID,
		'' as CODAGE,
		CASE  
			WHEN cod_interno not in ('SINT3MEUR','SINT6MEUR','09560690') and famprodt = 'DT' THEN isnull(cod_interno,'')   --aggiunta SINT6MEUR 10/03/2023 
			ELSE '' 
		END  as CODABI, 
		ISNULL(termid,00000000), 
		cast(annos as int) as anno ,
		case when famprodt='GE' then 00000000 --aggiunta con else sotto
		else cast(progs as int) end as prog ,
		0 as quote,
		cast(ctvreale as float) as CTV,
		codconf, --17
		rubr,
		custgar,
		ISNULL(cod_interno,''),
		'' as codana,
		CASE  
			WHEN    cast(annos as int) <> 0 and cast(progs as int) <> 0 then 'S' 
			ELSE 'N' 
		END as FLAGPCT,
		--CASE  
		--	WHEN famprodt <> 'DT' and famprodt <> 'CC' THEN isnull(cod_interno,'')
		--	ELSE ''   
		--END 
		'' as codprod,
		ISNULL(cod_sottoprodotto,''),
		ISNULL(cod_isin,''),
		'' as codlinea,
		tipoptf,
		area,
		progetto,
		codprj,
		ISNULL(chiave_prodotto_terzi,''),
		ISNULL(assetterzi,''),
		ISNULL(famprodt,''),
		ISNULL(intermediario,''),
		ISNULL(codiceadeguatezza,''),
		ISNULL(cod_maf,''),
		conto,
		numpolizza,
		position_id,
		--aggiunta 08/06/2022
		'' as PREFSOST,
		'' as FLAGAMB,
		'' as FLAGSOC,
		'' as FLAGGOV,
		Prodotto_id
		from [C6StampeCentralizzate].[C6MartPeriodico].[RP_vTuttiIPortafogli_Aladdin]


	--aggiunta informazioni codabi per i prodotti PCT

SELECT [DTTRIM]
      ,[DTRIFE]
      ,ltrim(rtrim([RETE])) as rete
      ,ltrim(rtrim([CODFIS])) as codfis
      ,ltrim(rtrim([CODCONF])) as codconf
      ,[NUMPOL]
      ,ltrim(rtrim([CONTO])) as conto
      ,[RUBR]
      ,[CUSTGAR]
      ,ltrim(rtrim([TIPPROD])) as tipprod
      ,ltrim(rtrim([CODINT])) as codint
      ,[CODPROD]
      ,[SUBPROD]
      ,[MAF]
      ,[CODABI]
      ,[PCTKEY]
      ,[DESTIT]
      ,[CTV]
      ,[PARTVIA]
      ,[PARTVIAAL]
      ,[DTSOTTOS]
      ,[RENDINIZ]
      ,[RENDANNO]
      ,[VALORE]
      ,[SUBSET]
      ,[CVN]
      ,[QUOTE]
      ,ltrim(rtrim([CODMAN])) as codman
      ,[SALRISC]
      ,[ATTIVO]
  into #PCT --selezioniamo dalla wseics i soli clienti possessori di un pct in portafoglio
  FROM [C6StampeCentralizzate].[C6StagingPeriodico].[wseics] WHERE CODABI <> '' 
  and pctKey <> ''
  and dttrim = (Select Max(dttrim) from [C6StampeCentralizzate].[C6StagingPeriodico].[wseics]) 

  UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[w6clirep]
		set codabi = pct.codabi
		--select w6.rete,pct.rete,w6.codfis,w6.piva,pct.codfis,w6.codman,pct.codman,w6.conto,pct.conto,w6.codconf,pct.codconf,pct.codabi
		--, pct.tipprod,w6.famprodt 
		from #PCT pct
		left join [C6StampeCentralizzate].[C6MartPeriodico].[w6clirep] as w6
		on w6.rete=pct.rete and w6.codfis+w6.piva+w6.codman = ltrim(rtrim(pct.codfis))+ltrim(rtrim(pct.codman))
		 and w6.codconf=ltrim(rtrim(pct.codconf)) and w6.conto=ltrim(rtrim(pct.conto)) and w6.famprodt = ltrim(rtrim(pct.tipprod)) 
		where w6.flagpct = 'S'
	-- Aggiungiamo le informazioni mancanti per il codman piva_fiduciaria

	select b.cod_mandato
