274 lines
12 KiB
SQL
274 lines
12 KiB
SQL
CREATE procedure [C6MartPeriodico].[RP_controlla100_PiramideModello]
|
|
AS
|
|
BEGIN
|
|
drop table if exists dbo.piramidemodello_da_agg_manualmente
|
|
drop table if exists #conta
|
|
drop table if exists #conta_b
|
|
drop table if exists #conta_agg
|
|
select a.rete,a.cod_fiscale, fase, sum(a.perc) as somma
|
|
into #conta
|
|
from
|
|
(select rete,cod_fiscale,perc_ext as perc, fase from c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc where fase in (1,2,3)
|
|
union all
|
|
select rete,cod_fiscale,perc_inv as perc, fase from c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc where fase in (1,2,3)
|
|
union all
|
|
select rete,cod_fiscale,perc_pre as perc, fase from c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc where fase in (1,2,3)
|
|
union all
|
|
select rete,cod_fiscale,perc_liq as perc, fase from c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc where fase in (1,2,3)
|
|
union all
|
|
select rete,cod_fiscale,perc_ris as perc, fase from c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc where fase in (1,2,3)
|
|
) a
|
|
--where cod_fiscale not in ('DNTNDA68P53D458Y','FLSGRL63S17L872V')
|
|
group by rete,cod_fiscale, fase
|
|
having sum(a.perc) <> '100.00'
|
|
order by cod_fiscale, rete, fase
|
|
--select * from #conta
|
|
select ChiaveCliente, c.*
|
|
into #conta_b
|
|
from #conta c
|
|
inner join consuni.consulenzaunica.dbo.Cliente cli
|
|
on cli.codFis = c.cod_fiscale
|
|
UNION ALL
|
|
select chiavecliente, c.*
|
|
from #conta c
|
|
inner join consuni.consulenzaunica.dbo.Cliente cli
|
|
on cli.Piva = c.cod_fiscale
|
|
UNION ALL
|
|
select chiavecliente, c.*
|
|
from #conta c
|
|
inner join consuni.consulenzaunica.dbo.Cliente cli
|
|
on c.cod_fiscale like 'FF@%' and cli.codman = substring(c.cod_fiscale, 4, len(c.cod_fiscale)-3)
|
|
--select * from #conta_b -- 155194
|
|
-- 181778
|
|
select clipb.chiaveclientepb, clipb.chiavePB, clipb.flagpbprimario, pb.codage agente, pb.Rete pb_Rete, cb.*
|
|
into #conta_agg
|
|
from #conta_b cb
|
|
inner join consuni.consulenzaunica.dbo.ClientePB clipb
|
|
ON clipb.ChiaveCliente = cb.ChiaveCliente
|
|
INNER JOIN consuni.consulenzaunica.dbo.PromotoreBancario pb
|
|
ON pb.chiavePB = clipb.chiavePB
|
|
-- Per eliminare i criteri poco performanti nella creazione di #conta_agg (and clipb.flagpbprimario is null pb.Rete = cd.Rete )
|
|
Delete #conta_agg where rete != pb_Rete or flagpbprimario is not null
|
|
--select * from #conta_agg order by chiaveclientepb -- 155182
|
|
---- OLD
|
|
-- select chiaveclientepb, agente, c.*
|
|
-- into #conta_agg
|
|
-- from #conta c
|
|
-- inner join consuni.consulenzaunica.dbo.vinfocliente v
|
|
-- on c.rete+c.cod_fiscale = v.rete+v.codfis or
|
|
-- c.rete+c.cod_fiscale = v.rete+v.piva or
|
|
-- c.rete+c.cod_fiscale = v.rete+'FF@'+v.codman
|
|
-- where flagpbprimario is null
|
|
--
|
|
-- select * from #conta_agg order by 4
|
|
select sum(percentualeprogetto) as somma, a.area, cod_fiscale, rete, p.chiaveclientepb, con.fase
|
|
into dbo.piramidemodello_da_agg_manualmente
|
|
from consuni.ConsulenzaUnica.dbo.ProgettiPiramideModello pir
|
|
inner join consuni.ConsulenzaUnica.dbo.areamodello a
|
|
on a.chiaveareamod = pir.chiaveareamod
|
|
inner join consuni.ConsulenzaUnica.dbo.PiramideModello p
|
|
on p.chiavepiramidemod = a.chiavepiramidemod
|
|
inner join #conta_agg con
|
|
on con.chiaveclientepb = p.chiaveclientepb
|
|
where a.area in ('Ext', 'Liq', 'Inv', 'Ris', 'Pre')
|
|
group by a.area, cod_fiscale, rete, p.chiaveclientepb, con.fase
|
|
order by 3, 2
|
|
--select * from dbo.piramidemodello_da_agg_manualmente -- 775865
|
|
--select * from c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc where Cod_Fiscale = 'DNTNDA68P53D458Y'
|
|
update ctv
|
|
set perc_ext = cast(isnull(somma, '0.00') as decimal(5,2))
|
|
from piramidemodello_da_agg_manualmente agg
|
|
inner join c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc ctv
|
|
on agg.cod_fiscale+agg.rete = ctv.cod_fiscale+ctv.rete
|
|
where agg.area = 'Ext'
|
|
and ctv.Fase = agg.Fase
|
|
update ctv
|
|
set perc_inv = cast(isnull(somma, '0.00') as decimal(5,2))
|
|
from piramidemodello_da_agg_manualmente agg
|
|
inner join c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc ctv
|
|
on agg.cod_fiscale+agg.rete = ctv.cod_fiscale+ctv.rete
|
|
where area = 'Inv'
|
|
and ctv.Fase = agg.Fase
|
|
update ctv
|
|
set perc_Liq = cast(isnull(somma, '0.00') as decimal(5,2))
|
|
from piramidemodello_da_agg_manualmente agg
|
|
inner join c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc ctv
|
|
on agg.cod_fiscale+agg.rete = ctv.cod_fiscale+ctv.rete
|
|
where area = 'Liq'
|
|
and ctv.Fase = agg.Fase
|
|
update ctv
|
|
set perc_Ris= cast(isnull(somma, '0.00') as decimal(5,2))
|
|
from piramidemodello_da_agg_manualmente agg
|
|
inner join c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc ctv
|
|
on agg.cod_fiscale+agg.rete = ctv.cod_fiscale+ctv.rete
|
|
where area = 'Ris'
|
|
and ctv.Fase = agg.Fase
|
|
update ctv
|
|
set perc_pre= cast(isnull(somma, '0.00') as decimal(5,2))
|
|
from piramidemodello_da_agg_manualmente agg
|
|
inner join c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc ctv
|
|
on agg.cod_fiscale+agg.rete = ctv.cod_fiscale+ctv.rete
|
|
where area = 'Pre'
|
|
and ctv.Fase = agg.Fase
|
|
-- -- FASE 2:
|
|
--drop table if exists dbo.piramidemodello_da_agg_manualmente
|
|
--drop table if exists #conta2
|
|
--drop table if exists #conta_agg2
|
|
--select a.rete,a.cod_fiscale, sum(a.perc) as somma
|
|
--into #conta2
|
|
--from
|
|
--(select rete,cod_fiscale,perc_ext as perc from c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc where fase = 2
|
|
--union all
|
|
--select rete,cod_fiscale,perc_inv as perc from c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc where fase = 2
|
|
--union all
|
|
--select rete,cod_fiscale,perc_pre as perc from c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc where fase = 2
|
|
--union all
|
|
--select rete,cod_fiscale,perc_liq as perc from c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc where fase = 2
|
|
--union all
|
|
--select rete,cod_fiscale,perc_ris as perc from c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc where fase = 2
|
|
--) a
|
|
----where cod_fiscale not in ('DNTNDA68P53D458Y','FLSGRL63S17L872V')
|
|
--group by rete,cod_fiscale
|
|
--having sum(a.perc) <> '100.00'
|
|
--order by cod_fiscale
|
|
----select * from #conta
|
|
--select chiaveclientepb, agente, c.*
|
|
--into #conta_agg2
|
|
--from #conta2 c
|
|
--inner join consuni.consulenzaunica.dbo.vinfocliente v
|
|
--on c.rete+c.cod_fiscale = v.rete+v.codfis or
|
|
--c.rete+c.cod_fiscale = v.rete+v.piva or
|
|
--c.rete+c.cod_fiscale = v.rete+'FF@'+v.codman
|
|
--where flagpbprimario is null
|
|
----select * from #conta_agg order by 4
|
|
-- select sum(percentualeprogetto) as somma, a.area, cod_fiscale, rete, p.chiaveclientepb
|
|
-- into dbo.piramidemodello_da_agg_manualmente
|
|
-- from consuni.ConsulenzaUnica.dbo.ProgettiPiramideModello pir
|
|
-- inner join consuni.ConsulenzaUnica.dbo.areamodello a
|
|
-- on a.chiaveareamod = pir.chiaveareamod
|
|
-- inner join consuni.ConsulenzaUnica.dbo.PiramideModello p
|
|
-- on p.chiavepiramidemod = a.chiavepiramidemod
|
|
-- inner join #conta_agg2 con
|
|
-- on con.chiaveclientepb = p.chiaveclientepb
|
|
-- where a.area in ('Ext', 'Liq', 'Inv', 'Ris', 'Pre')
|
|
-- group by a.area, cod_fiscale, rete, p.chiaveclientepb
|
|
-- order by 3, 2
|
|
-- --select * from dbo.piramidemodello_da_agg_manualmente
|
|
-- --select * from c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc where Cod_Fiscale = 'DNTNDA68P53D458Y'
|
|
-- update ctv
|
|
-- set perc_ext = cast(isnull(somma, '0.00') as decimal(5,2))
|
|
-- from piramidemodello_da_agg_manualmente agg
|
|
-- inner join c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc ctv
|
|
-- on agg.cod_fiscale+agg.rete = ctv.cod_fiscale+ctv.rete
|
|
-- where agg.area = 'Ext'
|
|
-- and ctv.Fase = 2
|
|
-- update ctv
|
|
-- set perc_inv = cast(isnull(somma, '0.00') as decimal(5,2))
|
|
-- from piramidemodello_da_agg_manualmente agg
|
|
-- inner join c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc ctv
|
|
-- on agg.cod_fiscale+agg.rete = ctv.cod_fiscale+ctv.rete
|
|
-- where area = 'Inv'
|
|
-- and ctv.Fase = 2
|
|
-- update ctv
|
|
-- set perc_Liq = cast(isnull(somma, '0.00') as decimal(5,2))
|
|
-- from piramidemodello_da_agg_manualmente agg
|
|
-- inner join c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc ctv
|
|
-- on agg.cod_fiscale+agg.rete = ctv.cod_fiscale+ctv.rete
|
|
-- where area = 'Liq'
|
|
-- and ctv.Fase = 2
|
|
-- update ctv
|
|
-- set perc_Ris= cast(isnull(somma, '0.00') as decimal(5,2))
|
|
-- from piramidemodello_da_agg_manualmente agg
|
|
-- inner join c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc ctv
|
|
-- on agg.cod_fiscale+agg.rete = ctv.cod_fiscale+ctv.rete
|
|
-- where area = 'Ris'
|
|
-- and ctv.Fase = 2
|
|
-- update ctv
|
|
-- set perc_pre= cast(isnull(somma, '0.00') as decimal(5,2))
|
|
-- from piramidemodello_da_agg_manualmente agg
|
|
-- inner join c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc ctv
|
|
-- on agg.cod_fiscale+agg.rete = ctv.cod_fiscale+ctv.rete
|
|
-- where area = 'Pre'
|
|
-- and ctv.Fase = 2
|
|
-- -- FASE 3:
|
|
--drop table if exists dbo.piramidemodello_da_agg_manualmente
|
|
--drop table if exists #conta3
|
|
--drop table if exists #conta_agg3
|
|
--select a.rete,a.cod_fiscale, sum(a.perc) as somma
|
|
--into #conta3
|
|
--from
|
|
--(select rete,cod_fiscale,perc_ext as perc from c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc where fase = 3
|
|
--union all
|
|
--select rete,cod_fiscale,perc_inv as perc from c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc where fase = 3
|
|
--union all
|
|
--select rete,cod_fiscale,perc_pre as perc from c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc where fase = 3
|
|
--union all
|
|
--select rete,cod_fiscale,perc_liq as perc from c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc where fase = 3
|
|
--union all
|
|
--select rete,cod_fiscale,perc_ris as perc from c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc where fase = 3
|
|
--) a
|
|
----where cod_fiscale not in ('DNTNDA68P53D458Y','FLSGRL63S17L872V')
|
|
--group by rete,cod_fiscale
|
|
--having sum(a.perc) <> '100.00'
|
|
--order by cod_fiscale
|
|
----select * from #conta
|
|
--select chiaveclientepb, agente, c.*
|
|
--into #conta_agg3
|
|
--from #conta3 c
|
|
--inner join consuni.consulenzaunica.dbo.vinfocliente v
|
|
--on c.rete+c.cod_fiscale = v.rete+v.codfis or
|
|
--c.rete+c.cod_fiscale = v.rete+v.piva or
|
|
--c.rete+c.cod_fiscale = v.rete+'FF@'+v.codman
|
|
--where flagpbprimario is null
|
|
----select * from #conta_agg order by 4
|
|
-- select sum(percentualeprogetto) as somma, a.area, cod_fiscale, rete, p.chiaveclientepb
|
|
-- into dbo.piramidemodello_da_agg_manualmente
|
|
-- from consuni.ConsulenzaUnica.dbo.ProgettiPiramideModello pir
|
|
-- inner join consuni.ConsulenzaUnica.dbo.areamodello a
|
|
-- on a.chiaveareamod = pir.chiaveareamod
|
|
-- inner join consuni.ConsulenzaUnica.dbo.PiramideModello p
|
|
-- on p.chiavepiramidemod = a.chiavepiramidemod
|
|
-- inner join #conta_agg3 con
|
|
-- on con.chiaveclientepb = p.chiaveclientepb
|
|
-- where a.area in ('Ext', 'Liq', 'Inv', 'Ris', 'Pre')
|
|
-- group by a.area, cod_fiscale, rete, p.chiaveclientepb
|
|
-- order by 3, 2
|
|
-- --select * from dbo.piramidemodello_da_agg_manualmente
|
|
-- --select * from c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc where Cod_Fiscale = 'DNTNDA68P53D458Y'
|
|
-- update ctv
|
|
-- set perc_ext = cast(isnull(somma, '0.00') as decimal(5,2))
|
|
-- from piramidemodello_da_agg_manualmente agg
|
|
-- inner join c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc ctv
|
|
-- on agg.cod_fiscale+agg.rete = ctv.cod_fiscale+ctv.rete
|
|
-- where agg.area = 'Ext'
|
|
-- and ctv.Fase = 3
|
|
-- update ctv
|
|
-- set perc_inv = cast(isnull(somma, '0.00') as decimal(5,2))
|
|
-- from piramidemodello_da_agg_manualmente agg
|
|
-- inner join c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc ctv
|
|
-- on agg.cod_fiscale+agg.rete = ctv.cod_fiscale+ctv.rete
|
|
-- where area = 'Inv'
|
|
-- and ctv.Fase = 3
|
|
-- update ctv
|
|
-- set perc_Liq = cast(isnull(somma, '0.00') as decimal(5,2))
|
|
-- from piramidemodello_da_agg_manualmente agg
|
|
-- inner join c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc ctv
|
|
-- on agg.cod_fiscale+agg.rete = ctv.cod_fiscale+ctv.rete
|
|
-- where area = 'Liq'
|
|
-- and ctv.Fase = 3
|
|
-- update ctv
|
|
-- set perc_Ris= cast(isnull(somma, '0.00') as decimal(5,2))
|
|
-- from piramidemodello_da_agg_manualmente agg
|
|
-- inner join c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc ctv
|
|
-- on agg.cod_fiscale+agg.rete = ctv.cod_fiscale+ctv.rete
|
|
-- where area = 'Ris'
|
|
-- and ctv.Fase = 3
|
|
-- update ctv
|
|
-- set perc_pre= cast(isnull(somma, '0.00') as decimal(5,2))
|
|
-- from piramidemodello_da_agg_manualmente agg
|
|
-- inner join c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc ctv
|
|
-- on agg.cod_fiscale+agg.rete = ctv.cod_fiscale+ctv.rete
|
|
-- where area = 'Pre'
|
|
-- and ctv.Fase = 3
|
|
----select * from C6MartPeriodico.motivazioni_blacklist
|
|
end |