PDC_REPORT_CreazioneDB/sql/storedProduzione/C6MartPeriodico_PL_S83DatiRendimento_85.sql
2025-06-06 19:02:52 +02:00

123 lines
4.2 KiB
Transact-SQL

-- =============================================
-- Author: Paolo Giovanetti
-- Create date: 15 gennaio 2009
-- Description: riporta il valore complessivo dei prodotti attualmente destinati all'area
-- di bisogno progetto (controvalore attuale) ed il relativo valore di rischio (VaR attuale)
-- =============================================
-- [C6MartPeriodico].[PL_S83DatiRendimento] 'F','DNERNZ56P01A757W'
CREATE procedure [C6MartPeriodico].[PL_S83DatiRendimento_85]
-- 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.
SET NOCOUNT ON;
-- DECLARE @RendimNonRappr BIT
-- IF EXISTS (
-- SELECT
-- PATR_BF.ID_AREA AS Need_Area,
-- PATR_BF.ID_CONTRATTO AS Contratto,
-- CASE
-- WHEN PATR_BF.ID_AREA IN ('Ris', 'Ext', 'Liq') THEN AREA.NOME_AREA
-- ELSE PATR_BF.NOME_PROGETTO
-- END AS Area_O_Nome_Progetto,
-- PRODOTTI.DESCR_PRODOTTO AS Descrizione,
-- PATR_BF.PARTVIA_INV AS PartitaViaggiante,
-- SUM(PATR_BF.CTV) OVER (PARTITION BY PATR_BF.COD_PRODOTTO) AS Controvalore,
-- dbo.ToShortDateString(PATR_BF.DATA_SOTTOSCRIZIONE) AS DataSottoscrizione
-- FROM
-- C6MartPeriodico.PATRIMONIO_BF AS PATR_BF
-- INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON
-- PATR_BF.ID_AREA = AREA.ID_AREA
-- INNER JOIN C6MartPeriodico.ANAG_PRODOTTI AS PRODOTTI ON
-- PATR_BF.COD_PRODOTTO = PRODOTTI.COD_PRODOTTO
-- WHERE
-- PATR_BF.RETE = @Rete
-- AND PATR_BF.COD_FISCALE = @CodiceFiscale
-- AND PATR_BF.REND_NON_RAPPR = 1
-- )
-- SET @RendimNonRappr = 1
--
-- ELSE
-- SET @RendimNonRappr = 0
--
-- SELECT
-- @RendimNonRappr AS cf_rendim_non_rappr,
-- ID_AREA AS Need_Area,
-- CASE
-- WHEN NOME_PROGETTO = 'XXX' THEN ''
-- ELSE NOME_PROGETTO
-- END AS Nome_Progetto,
-- dbo.TOSHORTDATESTRING(DATA_ATTIVAZIONE) AS DataAttivazioneMonitoraggio,
-- CTV_MONITORATO AS ControvaloreMonitorato,
-- APPORTO_INIZIALE AS ApportoIniziale,
-- APPORTO_SUCCESSIVO AS ApportoSuccessivo,
-- LIQUIDAZIONI,
-- CEDOLE_DIVIDENDI AS CedoleEDividendi,
-- MINUS_PLUSVALENZA AS MinusPlusAreaProgetto,
-- RENDIMENTO_CUMULATO AS Rendimento_Attuale,
-- RISORSE_ASSOCIATE AS RisorseApportate,
-- dbo.TOSHORTDATESTRING(DATA_CTV) AS DataControvalore,
-- RENDIMENTO_ANNUALIZZATO
-- FROM
-- C6MartPeriodico.MONITORAGGIO_ATTUALE
-- WHERE
-- RETE = @Rete AND
-- COD_FISCALE = @CodiceFiscale
-- --AND RISORSE_ASSOCIATE > 0
SELECT
case when RENDIMNONRAPPR=1 then 1 else 0 end AS cf_rendim_non_rappr,
MONIT.id_Area AS Need_Area,
CASE
WHEN MONIT.NOME_PROGETTO = 'XXX' THEN ''
ELSE MONIT.NOME_PROGETTO
END AS Nome_Progetto,
dbo.TOSHORTDATESTRING(DATA_ATTIVAZIONE) AS DataAttivazioneMonitoraggio,
CTV_MONITORATO AS ControvaloreMonitorato,
APPORTO_INIZIALE AS ApportoIniziale,
APPORTO_SUCCESSIVO AS ApportoSuccessivo,
LIQUIDAZIONI,
CEDOLE_DIVIDENDI AS CedoleEDividendi,
MINUS_PLUSVALENZA AS MinusPlusAreaProgetto,
RENDIMENTO_CUMULATO AS Rendimento_Attuale,
RISORSE_ASSOCIATE AS RisorseApportate,
dbo.TOSHORTDATESTRING(DATA_CTV) AS DataControvalore,
RENDIMENTO_ANNUALIZZATO
FROM
C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT
LEFT OUTER JOIN
(
SELECT
PATR_BF.ID_AREA,
PATR_BF.COD_FISCALE,
PATR_BF.RETE,
CASE
WHEN PATR_BF.NOME_PROGETTO = 'XXX' THEN ''
ELSE NOME_PROGETTO end as NOME_PROGETTO,
1 as RENDIMNONRAPPR
FROM
C6MartPeriodico.PATRIMONIO_BF AS PATR_BF
LEFT OUTER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON
PATR_BF.ID_AREA = AREA.ID_AREA
WHERE
PATR_BF.RETE = @Rete
AND PATR_BF.COD_FISCALE = @CodiceFiscale
AND PATR_BF.REND_NON_RAPPR = 1
group by
PATR_BF.ID_AREA,
PATR_BF.COD_FISCALE,
PATR_BF.RETE,
CASE
WHEN PATR_BF.NOME_PROGETTO = 'XXX' THEN ''
ELSE NOME_PROGETTO end
) PATR_BF
ON PATR_BF.COD_FISCALE=MONIT.COD_FISCALE
AND PATR_BF.RETE= MONIT.RETE
AND left(PATR_BF.ID_AREA,3)=left(MONIT.ID_AREA,3)
AND isnull(PATR_BF.NOME_PROGETTO,'XXX')=isnull(MONIT.NOME_PROGETTO,'XXX')
WHERE
MONIT.RETE = @Rete AND
MONIT.COD_FISCALE = @CodiceFiscale
END