124 lines
2.9 KiB
Transact-SQL
124 lines
2.9 KiB
Transact-SQL
-- Schema: C6MartPeriodico
|
|
-- Stored Procedure: Gestione_ProdottiProtetti_20171215
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--[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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|