151 lines
3.8 KiB
Transact-SQL
151 lines
3.8 KiB
Transact-SQL
-- Schema: C6MartPeriodico
|
|
-- Stored Procedure: PL_AreeMonitorate
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- Stored procedure
|
|
|
|
-- =============================================
|
|
-- Author: ALESSANDRO TRINGALI
|
|
-- Create date: <Create Date,,>
|
|
-- Description: <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
|