-- Schema: C6MartPeriodico -- Stored Procedure: PL_AreeMonitorate -- Stored procedure -- ============================================= -- Author: ALESSANDRO TRINGALI -- Create date: -- Description: -- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) -- ============================================= --[C6MartPeriodico].[PL_AreeMonitorate] 'S','SCLDNC71P13H224R' CREATE procedure [C6MartPeriodico].[PL_AreeMonitorate] --'F','BCCMLS56L57F257O' -- Add the parameters for the stored procedure here -- Add the parameters for the stored procedure here @Rete char(1), @CodiceFiscale varchar(16) AS BEGIN declare @tip_contratto int select @tip_contratto=tip_contratto from wh.Maledetti where rete=@Rete and CodiceFiscale=@CodiceFiscale --set @tip_contratto=3 --forzatura per FD if(@tip_contratto=3) begin SELECT NEED_AREA, NEED_ESTESA, --NOME_PROGETTO, CASE WHEN ROW_NUMBER() OVER (PARTITION BY NOME_PROGETTO ORDER BY MAX(ORDINE), ORDINAMENTO_PROGETTO) > 1 THEN NOME_PROGETTO + ' (' + CAST(ROW_NUMBER() OVER (PARTITION BY NOME_PROGETTO ORDER BY MAX(ORDINE), ORDINAMENTO_PROGETTO) - 1 AS NVARCHAR(10)) + ')' ELSE NOME_PROGETTO END AS Nome_Progetto, --CONTROLLO NOME PROGETTO DUPLICATO, TOLTO IL MAX, AGGIUNTO NEL GROUP BY ORDINAMENTO_PROGETTO, --MAX(ORDINAMENTO_PROGETTO) AS ORDINAMENTO_PROGETTO, MAX(ORDINE) AS ORDINE, --rimettere il min e commentare il ctv=0 max(AREAPROGETTOSOTTOMONITORAGGIO) AS AREAPROGETTOSOTTOMONITORAGGIO into #temp FROM ( --1.1 liq sotto monit SELECT 'Inv' AS Need_Area, 'Investimento' AS Need_Estesa, CASE WHEN PIRMOD.NOME_PROGETTO is null and pirmod.id_area='Inv' THEN 'Prodotti non associati a progetti' ELSE LTRIM(RTRIM(PIRMOD.NOME_PROGETTO)) END AS Nome_Progetto, PIRMOD.ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, CASE PIRMOD.ID_AREA WHEN 'Liq' THEN 1 WHEN 'Ris' THEN 2 WHEN 'Pre' THEN 3 WHEN 'Inv' THEN 4 WHEN 'Ext' THEN 5 WHEN 'Na' THEN 6 END AS ORDINE, CASE WHEN MONIT.COD_FISCALE IS NULL THEN 0 ELSE 1 END AS AREAPROGETTOSOTTOMONITORAGGIO FROM (SELECT RETE, COD_FISCALE, case when ID_AREA in ('Pre','Pre1','Pre2') then 'Pre' else id_area end as Id_area, NOME_PROGETTO, TIPO_PROGETTO, PERC_AREA, CTV_PROGETTO, CTV_AREA, ORIZZ_TEMP_NUM, ORIZZ_TEMP, CTV_TOTALE, STATO_CONSULENZA, DATA_STATO_CONS, DATA_MIGR_CONS, DATA_PIANIF, ID_CONTRATTO, ---LEVARE??? ORDINAMENTO_PROGETTO FROM C6MartPeriodico.CONS_ATTIVAGGIORNATA WHERE COD_FISCALE=@CodiceFiscale and rete= @Rete ) PIRMOD INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON PIRMOD.ID_AREA = AREA.ID_AREA LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONIT ON MONIT.COD_FISCALE=PIRMOD.COD_FISCALE AND MONIT.RETE=PIRMOD.RETE AND MONIT.ID_AREA= PIRMOD.ID_AREA AND MONIT.NOME_PROGETTO= ISNULL(PIRMOD.NOME_PROGETTO,'XXX') AND MONIT.ORDINAMENTO_PROGETTO=PIRMOD.ORDINAMENTO_PROGETTO --inner join C6StagingPeriodico.RP_Progetto_Robo rob ON rob.chiaveProgetto=monit.ORDINAMENTO_PROGETTO WHERE PIRMOD.RETE= @Rete AND PIRMOD.COD_FISCALE = @CodiceFiscale AND PIRMOD.CTV_PROGETTO > 0 ------------------------ MIFID2 - MAGGIO 2018 --AND PIRMOD.ID_AREA NOT IN ('Pre1', 'Pre2', 'Cc') AND PIRMOD.ID_AREA NOT IN ('Pre1', 'Pre2', 'Cc', 'LIGHT') -- and pirmod.Id_area in ('Inv','Liq') --aggiunta per fideuram Direct ------------------------- FINE MIFID2 - MAGGIO 2018 ) A GROUP BY NEED_AREA, NEED_ESTESA, NOME_PROGETTO, ORDINAMENTO_PROGETTO ORDER BY MAX(ORDINE), ORDINAMENTO_PROGETTO update #temp set ORDINE=4 where Need_Area='Inv' select * from #temp end else begin SELECT NEED_AREA, NEED_ESTESA, NOME_PROGETTO, --CONTROLLO NOME PROGETTO DUPLICATO, TOLTO IL MAX, AGGIUNTO NEL GROUP BY ORDINAMENTO_PROGETTO, --MAX(ORDINAMENTO_PROGETT