-- Schema: C6MartPeriodico
-- Stored Procedure: PL_S1Patrimonio

-- Stored procedure

-- =============================================
-- Author:		<Author,,Name>
-- Create date: <Create Date,,>
-- Description:	<Description,,>
-- =============================================
--[C6MartPeriodico].[PL_S1Patrimonio]  'F','MRSPLA53H24D643J'
CREATE procedure [C6MartPeriodico].[PL_S1Patrimonio] 

	@Rete char(1), 
	@CodiceFiscale varchar(16)

AS

BEGIN

	DECLARE @PatrimonioBF DECIMAL(15,2)
	DECLARE @PatrimonioTerzi DECIMAL(15,2)
	DECLARE @PatrimonioImmobiliare DECIMAL(15,2)
	DECLARE @CCBF DECIMAL(15,2)
	DECLARE @PatrimonioAltro DECIMAL(15,2)
	DECLARE @PatrimonioTotale DECIMAL(15,2)
    DECLARE @Part_viaggianti decimal(15,2)

	SELECT 
		@PatrimonioBF = SUM(CTV)
	FROM 
		C6MartPeriodico.PATRIMONIO_BF patrBF
	WHERE
		patrBF.Rete = @Rete
		AND patrBF.Cod_Fiscale = @CodiceFiscale
		AND patrBF.id_area <> 'CC' --escludo il cc negativo

--	SELECT @Part_viaggianti=SUM(IMPORTO)
--	FROM C6MartPeriodico.PARTITE_VIAGGIANTI partvia
--	WHERE
--	partvia.Rete = @Rete
--	and partvia.Cod_Fiscale = @CodiceFiscale
	SELECT @Part_viaggianti=SUM(IMPORTO)
    from
    (
    SELECT SUM(IMPORTO) AS IMPORTO
	FROM C6Martperiodico.PARTITE_VIAGGIANTI partvia
	WHERE
	partvia.Rete = @Rete
	and partvia.Cod_Fiscale = @CodiceFiscale
    union 
    SELECT SUM(PARTVIA_DISINV) AS IMPORTO
	FROM C6Martperiodico.patrimonio_bf partvia
	WHERE
	partvia.Rete = @Rete
	and partvia.Cod_Fiscale = @CodiceFiscale
     ) H


	SELECT 
		@PatrimonioTerzi = SUM(ROUND(CTV,2))
	FROM 
		C6MartPeriodico.PATRIMONIO_TERZI patrTerzi
	WHERE
		patrTerzi.Rete = @Rete
		and patrTerzi.Cod_Fiscale = @CodiceFiscale


	SELECT 
		@PatrimonioImmobiliare = SUM(patrImm.VALORE_STIMATO)
	FROM 
		C6MartPeriodico.PATRIMONIO_IMMOBILIARE patrImm
	WHERE
		patrImm.Rete = @Rete
		and patrImm.Cod_Fiscale = @CodiceFiscale


	SELECT 
		@PatrimonioAltro = SUM(patrAltro.ctv)
	FROM 
		C6MartPeriodico.PATRIMONIO_ALTRO patrAltro
	WHERE
		patrAltro.Rete = @Rete
		AND patrAltro.Cod_Fiscale = @CodiceFiscale
	

	declare @summa as decimal(15,2)
    SET @Part_viaggianti=coalesce(@Part_viaggianti,0)
	SET @PatrimonioBF =coalesce(@PatrimonioBF,0)
	SET @summa = @PatrimonioBF + @Part_viaggianti
    SET @PatrimonioBF=@summa
	SET @PatrimonioTerzi =coalesce(@PatrimonioTerzi,0)
	SET @PatrimonioImmobiliare =coalesce(@PatrimonioImmobiliare,0)
	SET @PatrimonioAltro= coalesce(@PatrimonioAltro,0)
	SET @PatrimonioTotale = coalesce(@PatrimonioBF+@PatrimonioTerzi+@PatrimonioImmobiliare+@PatrimonioAltro,0)


	SELECT	
		@PatrimonioBF AS BFCTV,
		@PatrimonioTerzi AS PatrimonioTerziCTV,
		@PatrimonioBF +@PatrimonioTerzi AS FinanziarioCTV,
		CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else (@PatrimonioBF + @PatrimonioTerzi)/ @PatrimonioTotale end)  * 100.00)) AS FinanziarioPerc,
		@PatrimonioImmobiliare AS ImmobiliareCTV,
		CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioImmobiliare/@PatrimonioTotale end ) *100.00)) AS ImmobiliarePerc,
		@PatrimonioAltro AS AltroCTV,
		CONVERT(decimal(6,2),(case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioAltro/@PatrimonioTotale end) *100.00) AS AltroPerc,
		@PatrimonioTotale AS TotaleCTV

END

