-- Schema: C6Mart
-- Stored Procedure: RP_DM_PATRIMONIO_ALTRO_20160615






-- =============================================
-- Author:		<Author,,Name>
-- Create date: <Create Date,,>
-- Description:	<Description,,>
-- =============================================
CREATE procedure [C6Mart].[RP_DM_PATRIMONIO_ALTRO_20160615]
AS
BEGIN

	SET NOCOUNT ON;

	DECLARE @ID_ELAB INT
	DECLARE @TIPO_ELAB VARCHAR(1)

	SET @ID_ELAB = C6MART.GETIDELAB()
	SET @TIPO_ELAB = C6MART.GETTIPOELAB()

	-- Log esecuzione
	INSERT INTO LOG_ESECUZIONE
		(Nome, Inizio, Nota)
	VALUES (
		'RP_DM_PATRIMONIO_ALTRO',
		GETDATE(),
		'Elaborazione giornaliera'
	)

TRUNCATE TABLE C6MART.PATRIMONIO_ALTRO

INSERT INTO [C6Mart].[PATRIMONIO_ALTRO]
	(
--chiaveClientePB
--	,
[RETE]
	,[COD_FISCALE]
	,[QUANTITA]
	,[DESCRIZIONE]
	,[CTV]
	,[ID_ELAB]
	,[TIPO_ELAB])

SELECT
--	VCONTRATTI.chiaveClientePB,
	VCONTRATTI.rete AS RETE,
	VCONTRATTI.COD_FISCALE,
	dettPatrAz.numQuote AS QUANTITA,
	dettPatrAz.denominazione AS DESCRIZIONE, 
	--(dettPatrAz.valoreStimato) as valore,
	SUM(dettPatrAz.valoreStimato)over(partition by patrTerzi.chiaveclientepb) AS CTV,
	@ID_ELAB AS ID_ELAB,
	@TIPO_ELAB AS TIPO_ELAB
--INTO C6MART.RP_PATRIMONIO_ALTRO
FROM 
	C6Staging.RP_DettPatrAziendale dettPatrAz,
	C6Staging.RP_PatrimonioTerzi patrTerzi,
	C6Mart.VCONTRATTI
WHERE
	dettPatrAz.ChiaveProdottoTerzi = patrTerzi.chiaveProdottoTerzi
AND
	patrTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB
	and VCONTRATTI.COD_FISCALE <> 'LRNLCU73D28I470U'

UNION ALL

SELECT
--	VCONTRATTI.chiaveClientePB,
	VCONTRATTI.rete AS RETE,
	VCONTRATTI.COD_FISCALE,
	NULL AS QUANTITA,
	dettAltriProd.descrizione AS DESCRIZIONE, 
	--(dettAltriProd.valoreStimato) as valore,
	SUM(dettAltriProd.valoreStimato)over(partition by patrTerzi.chiaveclientepb) AS CTV,
	@ID_ELAB AS ID_ELAB,
	@TIPO_ELAB AS TIPO_ELAB
	
	
FROM 
	C6Staging.RP_DettAltriProdotti dettAltriProd,
	C6Staging.RP_PatrimonioTerzi patrTerzi,
	C6Mart.VCONTRATTI
WHERE
	dettAltriProd.chiaveProdottoTerzi = patrTerzi.chiaveProdottoTerzi
AND
	patrTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB
	and VCONTRATTI.COD_FISCALE <> 'LRNLCU73D28I470U'
	
	
	--inizio intervento
	--Fcianfa 25/08/2015 intervento segnalato da ticket n4t4, per calcolare il ctv viene erroneamente effettuata una somma che fa si che sul report per ogni riga viene riportato il totale.
	
	INSERT INTO [C6Mart].[PATRIMONIO_ALTRO]
	(
--chiaveClientePB
--	,
[RETE]
	,[COD_FISCALE]
	,[QUANTITA]
	,[DESCRIZIONE]
	,[CTV]
	,[ID_ELAB]
	,[TIPO_ELAB])

SELECT
--	VCONTRATTI.chiaveClientePB,
	VCONTRATTI.rete AS RETE,
	VCONTRATTI.COD_FISCALE,
	dettPatrAz.numQuote AS QUANTITA,
	dettPatrAz.denominazione AS DESCRIZIONE, 
	--(dettPatrAz.valoreStimato) as valore,
	
	
	dettPatrAz.valoreStimato AS CTV,
	--SUM(dettPatrAz.valoreStimato)over(partition by patrTerzi.chiaveclientepb) AS CTV,
    @ID_ELAB AS ID_ELAB,
	@TIPO_ELAB AS TIPO_ELAB
--INTO C6MART.RP_PATRIMONIO_ALTRO
FROM 
	C6Staging.RP_DettPatrAziendale dettPatrAz,
	C6Staging.RP_PatrimonioTerzi patrTerzi,
	C6Mart.VCONTRATTI
WHERE
	dettPatrAz.ChiaveProdottoTerzi = patrTerzi.chiaveProdottoTerzi
AND
	patrTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB
	and VCONTRATTI.COD_FISCALE = 'LRNLCU73D28I470U'

UNION ALL

SELECT
--	VCONTRATTI.chiaveClientePB,
	VCONTRATTI.rete AS RETE,
	VCONTRATTI.COD_FISCALE,
	NULL AS QUANTITA,
	dettAltriProd.descrizione AS DESCRIZIONE, 
	dettAltriProd.valoreStimato AS CTV,
	--SUM(dettAltriProd.valoreStimato)over(partition by patrTerzi.chiaveclientepb) AS CTV,
    @ID_ELAB AS ID_ELAB,
	@TIPO_ELAB AS TIPO_ELAB
	
	
FROM 
	C6Staging.RP_DettAltriProdotti dettAltriProd,
	C6Staging.RP_PatrimonioTerzi patrTerzi,
	C6Mart.VCONTRATTI
WHERE
	dettAltriProd.chiaveProdottoTerzi = patrTerzi.chiaveProdottoTerzi
AND
	patrTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB
	and VCONTRATTI.COD_FISCALE = 'LRNLCU73D28I470U'
--fine intervento 
	
	
	
	
--SELECT
--	VCONTRATTI.chiaveClientePB,
--	
