-- 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_PROGETTO) AS ORDINAMENTO_PROGETTO, MAX(ORDINE) AS ORDINE, --rimettere il min e commentare il ctv=0 max(AREAPROGETTOSOTTOMONITORAGGIO) AS AREAPROGETTOSOTTOMONITORAGGIO FROM ( --1.1 liq sotto monit SELECT PIRMOD.ID_AREA AS Need_Area, AREA.NOME_AREA 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 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') ------------------------- FINE MIFID2 - MAGGIO 2018 --V ordine cambiato da 5 a 6 inquanto 5 è lo stesso di ext, na è passato a 7 --Bido Added for 'SN' Saldo Negativo UNION SELECT DISTINCT 'Cc' AS Need_Area, 'Conti correnti a saldo negativo'AS Need_Estesa, NULL AS Nome_Progetto, --999999 as ORDINAMENTO_PROGETTO, ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, 6 AS ORDINE, 0 as AREAPROGETTOSOTTOMONITORAGGIO FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF WHERE PATRBF.RETE= @Rete AND PATRBF.COD_FISCALE = @CodiceFiscale AND PATRBF.CTV < 0 and id_area = 'CC' -- End Of Bido Added for 'SN' Saldo Negativo UNION SELECT DISTINCT 'Self' AS Need_Area, -- 20181205 AC --'Liquidità negativa "Linee GP Eligo"' AS Need_Estesa, case when cod_interno = 'XY' then 'Liquidità negativa "Linea GP Eligo"' when cod_interno = 'FO' then 'Liquidità negativa "Il Mio Foglio"' end AS Need_Estesa, -- /20181205 AC -- 20181205 AC --NULL AS Nome_Progetto, rtrim(cod_interno) AS Nome_Progetto, -- /20181205 AC --999999 as ORDINAMENTO_PROGETTO, -- 20181205 AC ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, --'' as ORDINAMENTO_PROGETTO, -- /20181205 AC 7 AS ORDINE, 0 as AREAPROGETTOSOTTOMONITORAGGIO FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF WHERE PATRBF.RETE= @Rete AND PATRBF.COD_FISCALE = @CodiceFiscale AND PATRBF.CTV < 0 and id_area = 'SELF' -- End Of Bido Added for 'SN' Saldo Negativo UNION SELECT DISTINCT 'Na' AS Need_Area, 'Non allocato'AS Need_Estesa, NULL AS Nome_Progetto, --999999 as ORDINAMENTO_PROGETTO, ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, 8 AS ORDINE, 0 as AREAPROGETTOSOTTOMONITORAGGIO FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF WHERE PATRBF.RETE= @Rete AND PATRBF.COD_FISCALE = @CodiceFiscale AND PATRBF.CTV > 0 AND PATRBF.ID_AREA IN ('Na') UNION SELECT DISTINCT case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Pre' else PATRBF.ID_AREA end AS Need_Area, case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Previdenza' else AREA.NOME_AREA end as NEED_ESTESA , CASE WHEN PATRBF.NOME_PROGETTO is null and PATRBF.id_area='Inv' THEN 'Prodotti non associati a progetti' ELSE PATRBF.NOME_PROGETTO end AS Nome_Progetto, --case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 1 else PATRBF.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, PATRBF.ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, CASE PATRBF.ID_AREA WHEN 'Liq' THEN 1 WHEN 'Ris' THEN 2 WHEN 'Pre' THEN 3 WHEN 'Pre1' THEN 3 WHEN 'Pre2' THEN 3 WHEN 'Inv' THEN 4 WHEN 'Ext' THEN 5 WHEN 'Na' THEN 7 END AS ORDINE, CASE WHEN MONIT.COD_FISCALE IS NULL THEN 0 ELSE 1 END AS AREAPROGETTOSOTTOMONITORAGGIO FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON PATRBF.ID_AREA = AREA.ID_AREA LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONIT ON MONIT.COD_FISCALE=PATRBF.COD_FISCALE AND MONIT.RETE=PATRBF.RETE AND MONIT.ID_AREA= PATRBF.ID_AREA AND MONIT.NOME_PROGETTO= ISNULL(PATRBF.NOME_PROGETTO,'XXX') AND MONIT.ORDINAMENTO_PROGETTO=PATRBF.ORDINAMENTO_PROGETTO WHERE 1=1 AND PATRBF.RETE= @Rete AND PATRBF.COD_FISCALE = @CodiceFiscale AND PATRBF.CTV > 0 AND PATRBF.EXTRANAC=1 AND PATRBF.ID_AREA NOT IN ('Na', 'Cc') ) A GROUP BY NEED_AREA, NEED_ESTESA, NOME_PROGETTO, ORDINAMENTO_PROGETTO ORDER BY ORDINE, ORDINAMENTO_PROGETTO end END