PDC_REPORT_CreazioneDB/sql/Testbes/procedure/C6MartPeriodico_Gestione_ProdottiProtetti_20171215.sql
2025-06-10 15:29:40 +02:00

89 lines
2.7 KiB
Transact-SQL

--[C6MartPeriodico].[Gestione_ProdottiProtetti] 'F', 'TTVNNA39S64H935H'
CREATE procedure [C6MartPeriodico].[Gestione_ProdottiProtetti_20171215]
-- Add the parameters for the stored procedure here
-- Add the parameters for the stored procedure here
@Rete char(1),
@CodiceFiscale varchar(16)
AS
declare @isinInterfund80 varchar(20)
set @isinInterfund80 = 'LU1106988527'
BEGIN
declare @OrdineRiga int
declare @conta int
set @conta = 0
set @OrdineRiga = 0
-- 1 LINEA MULTIRAMO
SELECT
@CodiceFiscale as CodiceFiscale
,'Polizza Multiramo con protezione Linea Protetta' as DescrizioneProdotto
,COD_CONF as Contratto
,'TipoParagrafo1' as TipoParagrafo
,'TipoProdotto1' as TipoProdotto
,ROW_NUMBER() OVER(order by @CodiceFiscale) as OrdineRiga
into #LineaMultiramo
from [C6MartPeriodico].[CAPPROT_FVI]
where rete = @Rete
and codfis = @CodiceFiscale
and codprod = 'RF' and subprod = 'MP'
select @conta = count(*) from #LineaMultiramo
if @conta > 0
select @OrdineRiga = max(OrdineRiga) from #LineaMultiramo
-- 2 BLUE AND WHITE
SELECT
@CodiceFiscale as CodiceFiscale
,DES_PROD_TIT as DescrizioneProdotto
,COD_CONF as Contratto
,'TipoParagrafo2' as TipoParagrafo
,
case
when SUBPROD = 'CS80' then 'TipoProdotto2'
when SUBPROD = 'CT80' then 'TipoProdotto3'
end as TipoProdotto
,ROW_NUMBER() OVER(order by somma_ctv desc, controvalore_riferimento desc) + @OrdineRiga AS OrdineRiga
into #BlueWhite
from [C6MartPeriodico].[CAPPROT_FVI]
where SUBPROD in ('CS80', 'CT80')
and Rete = @Rete
and CODFIS = @CodiceFiscale
order by somma_ctv desc, controvalore_riferimento desc
select @conta = count(*) from #BlueWhite
if @conta > 0
select @OrdineRiga = max(OrdineRiga) from #BlueWhite
--3 INTERFUND
SELECT
a.CODFIS as CodiceFiscale
,a.des_prod_tit as DescrizioneProdotto
,'' as Contratto
,'TipoParagrafo3' as TipoParagrafo
,'TipoProdotto1' as TipoProdotto
,ROW_NUMBER() OVER(order by controvalore desc) + @OrdineRiga AS OrdineRiga
into #Interfund80
FROM C6MartPeriodico.capprot a
WHERE 1=1
AND a.RETE = @Rete
AND a.CODFIS = @CodiceFiscale
select @conta = count(*) from #Interfund80
if @conta > 0
select @OrdineRiga = max(OrdineRiga) from #Interfund80
-- 4 FONDITALIA
SELECT
a.CODFIS as CodiceFiscale
,a.desprodtit as DescrizioneProdotto
,'' as Contratto
,'TipoParagrafo3' as TipoParagrafo
,'TipoProdotto2' as TipoProdotto
,ROW_NUMBER() OVER(order by ctv desc) + @OrdineRiga AS OrdineRiga
into #Fonditalia80
FROM c6martperiodico.foi80 a
WHERE 1=1
AND a.RETE = @Rete
AND a.CODFIS = @CodiceFiscale
select * from #LineaMultiramo
union
select * from #BlueWhite
union
select * from #Interfund80
union
select * from #Fonditalia80
order by OrdineRiga
END