-- Schema: C6MartPeriodico
-- Stored Procedure: PL_MP_S133AreeBisognoPrincProd_BK_eligoTitoli



-- =============================================
-- Author:		Davide Moccia
-- Create date: 06/05/2013
-- Description:	<Description,,>
-- =============================================
-- [C6martPeriodico].[PL_MP_S133AreeBisognoPrincProd] 'F', 'DPRPLA46E25G888K'
CREATE procedure [C6MartPeriodico].[PL_MP_S133AreeBisognoPrincProd_BK_eligoTitoli]
	-- Add the parameters for the stored procedure here
	@Rete char(1), 
	@CodiceFiscale varchar(16)
AS
BEGIN
	
	SELECT 
		PIRAMIDE_MOD.RETE, 
		PIRAMIDE_MOD.COD_FISCALE, 	
		PIRAMIDE_MOD.ID_AREA,
		PIRAMIDE_MOD.PERC_AREA,
		PIRAMIDE_VERT.CTV_AREA AS CONTROVALORE
	INTO #PIRAMIDE_VERT
	FROM 
		C6MartPeriodico.PIRAMIDE_MOD
	LEFT JOIN (
		-- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE
	    SELECT 
			RETE, 
			COD_FISCALE, 
--INIZIO INTERVENTI OMNIA
--			LEFT(ID_AREA,3) AS ID_AREA, 
		CASE 
			WHEN ID_AREA = 'SELF' 
			THEN LEFT(ID_AREA,4)
			ELSE LEFT(ID_AREA,3)  
			END AS ID_AREA,
--INIZIO INTERVENTI OMNIA
			SUM(COALESCE(CTV,0)) AS CTV_AREA
		FROM
			C6MARTPERIODICO.PATRIMONIO_BF  PIRAMIDE_VERT
		WHERE 
			PIRAMIDE_VERT.RETE = @Rete
			AND PIRAMIDE_VERT.COD_FISCALE = @CodiceFiscale
            --modificata atringali -- AND   ID_AREA NOT IN ('Cc')
		GROUP BY 
--INIZIO INTERVENTI OMNIA
--			RETE, COD_FISCALE, LEFT(ID_AREA,3) 
			RETE, COD_FISCALE,	
			CASE 
			WHEN ID_AREA = 'SELF' 
			THEN LEFT(ID_AREA,4)
			ELSE LEFT(ID_AREA,3)  
			END  
--FINE INTERVENTI OMNIA
	) PIRAMIDE_VERT 
		ON 
			PIRAMIDE_VERT.ID_AREA = PIRAMIDE_MOD.ID_AREA
	WHERE 
            --modificata atringali --  (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA')
--INIZIO INTERVENTI OMNIA
--		(PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC')
		(PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC', 'SELF')
--FINE INTERVENTI OMNIA
			OR (PIRAMIDE_MOD.ID_AREA = 'INV' AND PIRAMIDE_MOD.NOME_PROGETTO IS NULL))
		AND PIRAMIDE_MOD.RETE = @Rete
		AND PIRAMIDE_MOD.COD_FISCALE = @CodiceFiscale


	IF(@@ROWCOUNT>0)
	BEGIN

		-- Ordinamento per Area di bisogno
		DECLARE @TOTControvaloreAttuale DECIMAL(20,2)

		SELECT @TOTControvaloreAttuale = SUM(ATTUALE.CONTROVALORE)
		FROM #PIRAMIDE_VERT ATTUALE
		WHERE ATTUALE.RETE = @Rete
			AND ATTUALE.COD_FISCALE = @CodiceFiscale
			--V
--INIZIO INTERVENTI OMNIA
--			AND ID_AREA not in ('Na', 'Cc')
			AND ID_AREA not in ('Na', 'Cc', 'Self')
--FINE INTERVENTI OMNIA
		--V 
--INIZIO INTERVENTI OMNIA
--			DECLARE @TOTCC AS INT
--			SELECT @TOTCC = COUNT(*)
			DECLARE @TOTCCSELF AS INT
			SELECT @TOTCCSELF = COUNT(*)
--FINE INTERVENTI OMNIA			
			FROM C6MARTPERIODICO.PATRIMONIO_BF
			WHERE PATRIMONIO_BF.RETE = @Rete
				AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale
--INIZIO INTERVENTI OMNIA
--				AND TIPO_PRODOTTO = 'Cc'
				AND (TIPO_PRODOTTO = 'Cc' OR  ISIN = 'EURO00000009' )
--FINE INTERVENTI OMNIA

--INIZIO INTERVENTI OMNIA quiii2
			DECLARE @TOTSELF AS INT
			SELECT @TOTSELF = COUNT(*)
			FROM C6MARTPERIODICO.PATRIMONIO_BF
			WHERE PATRIMONIO_BF.RETE = @Rete
				AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale
				AND ISIN = 'EURO00000009'
--FINE INTERVENTI OMNIA quiii2


			--V 
			DECLARE @TOT AS INT
			SELECT @TOT = COUNT(*)
			FROM C6MARTPERIODICO.PATRIMONIO_BF
			WHERE PATRIMONIO_BF.RETE = @Rete
				AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale
				
-------------------------------------------------------------------------------------
--INIZIO INTERVENTI OMNIA QUIII
			DECLARE @TOTSELFLIQ AS INT
			SELECT @TOTSELFLIQ = COUNT(*)
			FROM C6MARTPERIODICO.PATRIMONIO_BF
			WHERE PATRIMONIO_BF.RETE = @Rete
				AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale
				AND ISIN = 'EURO00000009'
				AND ID_AREA = 'LIQ'

			DECLARE @TOTLIQ AS INT
			SELECT @TOTLIQ = COUNT(*)
			FROM C6MARTPERIODICO.PATRIMONIO_BF
			WHERE PATRIMONIO_BF.RETE = @Rete
				AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale
				AND ID_AREA = 'LI
