PDC_REPORT_CreazioneDB/sql/storedCollaudo/C6MartPeriodicoImmobiliare_PL_D_S152Patrimonio.sql
2025-06-06 19:02:52 +02:00

120 lines
3.3 KiB
Transact-SQL

-- Schema: C6MartPeriodicoImmobiliare
-- Stored Procedure: PL_D_S152Patrimonio
-- Stored procedure
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
--[C6MartPeriodicoImmobiliare].[PL_D_S152Patrimonio] 'F','BCHRRT54L12G999R'
CREATE procedure [C6MartPeriodicoImmobiliare].[PL_D_S152Patrimonio]
@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
C6MartPeriodicoImmobiliare.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 C6MartPeriodicoImmobiliare.PARTITE_VIAGGIANTI partvia
-- WHERE
-- partvia.Rete = @Rete
-- and partvia.Cod_Fiscale = @CodiceFiscale
SELECT @Part_viaggianti=SUM(IMPORTO)
from
(
SELECT SUM(IMPORTO) AS IMPORTO
FROM C6MartPeriodicoImmobiliare.PARTITE_VIAGGIANTI partvia
WHERE
partvia.Rete = @Rete
and partvia.Cod_Fiscale = @CodiceFiscale
union
SELECT SUM(PARTVIA_DISINV) AS IMPORTO
FROM C6MartPeriodicoImmobiliare.patrimonio_bf partvia
WHERE
partvia.Rete = @Rete
and partvia.Cod_Fiscale = @CodiceFiscale
) H
SELECT
@PatrimonioTerzi = SUM(ROUND(CTV,2))
FROM
C6MartPeriodicoImmobiliare.PATRIMONIO_TERZI patrTerzi
WHERE
patrTerzi.Rete = @Rete
and patrTerzi.Cod_Fiscale = @CodiceFiscale
SELECT
@PatrimonioImmobiliare = SUM(patrImm.VALORE_STIMATO)
FROM
C6MartPeriodicoImmobiliare.PATRIMONIO_IMMOBILIARE patrImm
WHERE
patrImm.Rete = @Rete
and patrImm.Cod_Fiscale = @CodiceFiscale
SELECT
@PatrimonioAltro = SUM(patrAltro.ctv)
FROM
C6MartPeriodicoImmobiliare.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