PDC_REPORT_CreazioneDB/sql/Collaudo/procedure/C6MartPeriodico_PL_S75GradoCopertura_check.sql
2025-06-10 15:29:00 +02:00

186 lines
5.5 KiB
Transact-SQL

-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
-- exec [C6MartPeriodico].[PL_S75GradoCopertura_check] 'F','LBRRMN81R48L388B'
CREATE procedure [C6MartPeriodico].[PL_S75GradoCopertura_check]
-- Add the parameters for the stored procedure here
@Rete char(1),
@CodiceFiscale varchar(16)
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
DECLARE @varCompl decimal(15,3)
DECLARE @coperturaCompl decimal(15,3)
DECLARE @ctvCompl decimal(15,3)
DECLARE @saldoCC decimal(15,3)
--CALCOLO PATRIMONI E ESTRAZIONE VAR
SELECT
@Rete AS Rete,
@CodiceFiscale as CodiceFiscale,
CASE @Rete
WHEN 'F' THEN 'Patrimonio Fideuram'
ELSE 'Patrimonio San Paolo Invest'
END AS NomePatrimonio,
-- MAX(patrBF.CTV - patrBF.ContoCorrente) AS Controvalore,
-- MAX(patrBF.ContoCorrente) AS ControvaloreCC,
-- MAX(RISCHIO.VAR_PERC_PTF) AS VarPatrimonio,
-- MAX(RISCHIO.COPERTURA) AS Copertura,
---MODIFICA TRINGALI inserisco cc
patrBF.CTV AS Controvalore,
--patrBF.PatrimonioSenzaCC AS Controvalore,
--patrBF.CTV - patrBF.ContoCorrente AS Controvalore,
patrBF.ContoCorrente AS ControvaloreCC,
RISCHIO.VAR_PERC_PTF AS VarPatrimonio,
RISCHIO.COPERTURA AS Copertura,
1 AS ORDINE
INTO #TEMP75
FROM
C6MartPeriodico.vPatrimoniobfAggregato patrBF
LEFT JOIN
C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO
ON
RISCHIO.RETE = patrBF.RETE
AND RISCHIO.COD_FISCALE = patrBF.COD_FISCALE
AND RISCHIO.COD_AGGREG = 'COMPLESSIVO|BF'
WHERE
patrBF.Rete = @Rete
AND patrBF.Cod_Fiscale = @CodiceFiscale
--and patrBF.CTV > 0
-- UNION ALL
--
-- SELECT
-- A.Rete,
-- A.CodiceFiscale,
-- A.NomePatrimonio,
-- A.Controvalore,
-- A.ControvaloreCC,
-- A.VarPatrimonio,
-- A.Copertura,
-- A.ORDINE
-- FROM(
-- SELECT
-- @Rete AS Rete,
-- @CodiceFiscale as CodiceFiscale,
-- 'Patrimonio Altri Istituti' AS NomePatrimonio,
-- SUM(ROUND(CASE WHEN patrTerzi.TIPO_PRODOTTO = 'Conti correnti' THEN 0 ELSE CTV END,2)) AS Controvalore,
-- SUM(ROUND(CASE WHEN patrTerzi.TIPO_PRODOTTO = 'Conti correnti' THEN patrTerzi.CTV ELSE 0 END,2)) AS ControvaloreCC,
-- MAX(RISCHIO.VAR_PERC_PTF) as VarPatrimonio,
-- MAX(RISCHIO.COPERTURA) as Copertura,
-- 2 AS ORDINE
-- FROM
-- C6MartPeriodico.PATRIMONIO_TERZI patrTerzi
-- LEFT JOIN
-- C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO
-- ON
-- RISCHIO.RETE = patrTerzi.RETE
-- AND RISCHIO.COD_FISCALE = patrTerzi.COD_FISCALE
-- AND RISCHIO.COD_AGGREG = 'COMPLESSIVO|TERZI'
-- WHERE
-- patrTerzi.Rete = @Rete
-- and patrTerzi.COD_FISCALE = @CodiceFiscale
-- ) A
-- WHERE ISNULL(A.CONTROVALORE,0)>0
--
-- -- SE IL PATRIMONIO È SOLO 1 NON VA CALCOLATO IL COMPLESSIVO
-- IF @@ROWCOUNT > 1
-- BEGIN
--
-- --CALCOLO IL PATRIMONIO COMPLESSIVO ED ESTRAGGO IL VAR
-- SELECT
-- @ctvCompl=SUM(patr.CONTROVALORE),
-- @saldoCC=SUM(patr.CONTROVALORECC),
-- @varCompl=MAX(RISCHIO.VAR_PERC_PTF),
-- @coperturaCompl=MAX(RISCHIO.COPERTURA)
-- FROM
-- #TEMP75 patr
-- LEFT JOIN
-- C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO
-- ON
-- RISCHIO.RETE = patr.RETE
-- AND RISCHIO.COD_FISCALE = patr.CodiceFiscale
-- AND RISCHIO.COD_AGGREG = 'COMPLESSIVO'
--
-- --RESTITUISCO I PATRIMONI
-- SELECT
-- Ordine,
-- Nomepatrimonio,
-- Controvalore,
-- CASE WHEN @saldoCC > 0 THEN 1 ELSE 0 END AS CCPresente,
-- (CONTROVALORE/@CTVCompl)*100 AS Percentuale,
-- VARPATRIMONIO AS VAR,
-- Copertura,
-- CASE
-- WHEN COPERTURA IS NULL THEN 'n.c.'
-- WHEN COPERTURA = 0 THEN 'n.c.'
-- ELSE NULL
-- END AS varString,
-- CASE
-- WHEN COPERTURA IS NULL THEN 'n.c.'
-- WHEN COPERTURA = 0 THEN 'n.c.'
-- ELSE NULL
-- END AS coperturaString,
--
-- -- aggiunta per valutare la presenza di controcorrente
-- CASE WHEN @saldoCC <> 0 THEN 1 ELSE 0 END as NotaCCNetto
-- -- fine aggiunta per valutare la presenza di controcorrente
--
-- FROM #TEMP75
-- WHERE CONTROVALORE IS NOT NULL
----
-- UNION ALL
--
-- SELECT
-- 3,
-- 'Patrimonio Complessivo',
-- @CTVCompl,
-- CASE WHEN @saldoCC > 0 THEN 1 ELSE 0 END as CCPRESENTE,
-- 100.00 as percentuale,
-- @varCompl,
-- @coperturaCompl,
-- CASE
-- WHEN @coperturaCompl IS NULL THEN 'n.c.'
-- WHEN @coperturaCompl = 0 THEN 'n.c.'
-- ELSE NULL
-- END AS varString,
-- CASE
-- WHEN @coperturaCompl IS NULL THEN 'n.c.'
-- WHEN @coperturaCompl = 0 THEN 'n.c.'
-- ELSE NULL
-- END AS coperturaString,
--
-- -- aggiunta per valutare la presenza di controcorrente
-- CASE WHEN @saldoCC <> 0 THEN 1 ELSE 0 END as NotaCCNetto
-- -- fine aggiunta per valutare la presenza di controcorrente
--
-- ORDER BY 1
-- END
-- ELSE
-- BEGIN
-- --RESTITUISCO L'UNICO PATRIMONIO PRESENTE
SELECT
Nomepatrimonio,
Controvalore,
CASE WHEN CONTROVALORECC > 0 THEN 1 ELSE 0 END as CCPresente,
100.00 as Percentuale,
VARPATRIMONIO AS VAR,
Copertura,
CASE
WHEN COPERTURA IS NULL THEN 'n.c.'
WHEN COPERTURA = 0 THEN 'n.c.'
ELSE NULL
END AS varString,
CASE
WHEN COPERTURA IS NULL THEN 'n.c.'
WHEN COPERTURA = 0 THEN 'n.c.'
ELSE NULL
END AS coperturaString,
-- aggiunta per valutare la presenza di controcorrente
CASE WHEN CONTROVALORECC <> 0 THEN 1 ELSE 0 END as NotaCCNetto
-- fine aggiunta per valutare la presenza di controcorrente
FROM #TEMP75
WHERE CONTROVALORE IS NOT NULL
-- END
END