170 lines
5.5 KiB
Transact-SQL
170 lines
5.5 KiB
Transact-SQL
CREATE procedure [C6MartPeriodico].[RP_DM_W6CKADEG]
|
|
as
|
|
begin
|
|
drop table if exists #tot
|
|
exec [dbo].[CreaTabellaBackUp] 'W6CKADEG','C6MartPeriodico','preBonifica'
|
|
declare @countAppoLimiter int
|
|
select @countAppoLimiter= count(*) from C6StagingPeriodico.APPO_CONTRATTI_LIMITER
|
|
if(@countAppoLimiter=0)
|
|
begin
|
|
truncate table C6MartPeriodico.W6CKADEG
|
|
--select Rete,
|
|
-- Chiave_Acn,
|
|
-- Codfis,
|
|
-- Codman,
|
|
-- Dttrim,
|
|
-- Adeg_Rischio,
|
|
-- Adeg_Riserva,
|
|
-- Adeg_Invl_Period,
|
|
-- Adeg_Compl,
|
|
-- Adeg_Conc_ProdCompl,
|
|
-- Adeg_Freq_Oper,
|
|
-- Adeg_Conc_Emitt,
|
|
-- Adeg_Conc_Valut
|
|
-- from #tot
|
|
insert into C6MartPeriodico.W6CKADEG
|
|
SELECT
|
|
wsei.Rete,
|
|
wsei.Chiave_Acn,
|
|
wsei.Codfis,
|
|
wsei.Codman,
|
|
wsei.Dttrim,
|
|
CASE
|
|
WHEN 'N' IN (Adeg_Rischio, Adeg_Riserva, Adeg_Invl_Period, Adeg_Compl, Adeg_Conc_ProdCompl, Adeg_Freq_Oper, Adeg_Conc_Emitt, Adeg_Conc_Valut) THEN 'N'
|
|
ELSE 'S'
|
|
END AS Adeg_Check,
|
|
wsei.Adeg_Rischio,
|
|
wsei.Adeg_Riserva,
|
|
wsei.Adeg_Invl_Period,
|
|
wsei.Adeg_Compl,
|
|
wsei.Adeg_Conc_ProdCompl,
|
|
wsei.Adeg_Freq_Oper,
|
|
wsei.Adeg_Conc_Emitt,
|
|
wsei.Adeg_Conc_Valut,
|
|
wsei.Rfa_tot,
|
|
wsei.Rfa_sei,
|
|
wsei.Riserva,
|
|
wsei.Profilo,
|
|
wsei.Profilo_EC,
|
|
wsei.Indicatore_ChiamataR4,
|
|
wsei.Flg_Legali_Rappresentanti
|
|
--into C6MartPeriodico.W6CKADEG
|
|
FROM C6MartPeriodico.vW6CKADEG wsei
|
|
inner join C6StagingPeriodico.appo_contratti appo on appo.rete=wsei.Rete and appo.cod_fiscale=wsei.Chiave_Acn
|
|
end
|
|
else
|
|
begin
|
|
delete from [C6MartPeriodico].[W6CKADEG] where rete+CHIAVE_ACN in (select rete+cod_fiscale from C6StagingPeriodico.APPO_CONTRATTI_LIMITER)
|
|
insert into C6MartPeriodico.W6CKADEG
|
|
SELECT
|
|
wsei.Rete,
|
|
wsei.Chiave_Acn,
|
|
wsei.Codfis,
|
|
wsei.Codman,
|
|
wsei.Dttrim,
|
|
CASE
|
|
WHEN 'N' IN (Adeg_Rischio, Adeg_Riserva, Adeg_Invl_Period, Adeg_Compl, Adeg_Conc_ProdCompl, Adeg_Freq_Oper, Adeg_Conc_Emitt, Adeg_Conc_Valut) THEN 'N'
|
|
ELSE 'S'
|
|
END AS Adeg_Check,
|
|
wsei.Adeg_Rischio,
|
|
wsei.Adeg_Riserva,
|
|
wsei.Adeg_Invl_Period,
|
|
wsei.Adeg_Compl,
|
|
wsei.Adeg_Conc_ProdCompl,
|
|
wsei.Adeg_Freq_Oper,
|
|
wsei.Adeg_Conc_Emitt,
|
|
wsei.Adeg_Conc_Valut,
|
|
wsei.Rfa_tot,
|
|
wsei.Rfa_sei,
|
|
wsei.Riserva,
|
|
wsei.Profilo,
|
|
wsei.Profilo_EC,
|
|
wsei.Indicatore_ChiamataR4,
|
|
wsei.Flg_Legali_Rappresentanti
|
|
--into C6MartPeriodico.W6CKADEG
|
|
FROM C6MartPeriodico.vW6CKADEG wsei
|
|
inner join C6StagingPeriodico.APPO_CONTRATTI_LIMITER appo on appo.rete=wsei.Rete and appo.cod_fiscale=wsei.Chiave_Acn
|
|
end
|
|
--casi particolari
|
|
update C6MartPeriodico.W6CKADEG
|
|
set Adeg_Check='N'
|
|
where Indicatore_ChiamataR4='Z' --clcompl=Z
|
|
and Profilo=0 -- profilo Scaduto
|
|
--and isnull(Rfa_sei,0.00)=0.00 -- Rfa_sei = 0 e >0 adeg_check deve essere comunque = N
|
|
update C6MartPeriodico.W6CKADEG
|
|
set Adeg_Check='S'
|
|
where Indicatore_ChiamataR4='Z' --clcompl=Z
|
|
and Profilo>0 -- profilo non scaduto
|
|
and isnull(Rfa_tot,0.00)=0.00 --rfa totale =0
|
|
and isnull(Riserva,0.00)=0.00 -- riserva =0
|
|
update C6MartPeriodico.W6CKADEG
|
|
set Adeg_Check='N'
|
|
where Indicatore_ChiamataR4='Z' --clcompl=Z
|
|
and Profilo>0 -- profilo non scaduto
|
|
and isnull(Rfa_tot,0.00)=0.00 --rfa totale =0
|
|
and isnull(Riserva,0.00)>0.00 -- riserva >0
|
|
update C6MartPeriodico.W6CKADEG
|
|
set Adeg_Check='S'
|
|
where Indicatore_ChiamataR4='Z' --clcompl=Z
|
|
and Profilo>0 -- profilo non scaduto
|
|
and isnull(Rfa_tot,0.00)<>0.00
|
|
----Clienti Solo CC
|
|
--drop table if exists #clienti_soloCC
|
|
--SELECT DISTINCT RETE, Cod_fiscale
|
|
--into #clienti_soloCC
|
|
--FROM C6MartPeriodico.PATRIMONIO_BF
|
|
--WHERE TIPO_PRODOTTO = 'CC' AND ID_AREA = 'liq'
|
|
--AND Cod_fiscale NOT IN (
|
|
-- SELECT Cod_fiscale
|
|
-- FROM C6MartPeriodico.PATRIMONIO_BF
|
|
-- WHERE (TIPO_PRODOTTO <> 'CC' OR ID_AREA <> 'liq')
|
|
--)
|
|
--update a
|
|
--set a.Adeg_Check='S'
|
|
--from C6MartPeriodico.W6CKADEG a
|
|
--inner join #clienti_soloCC cc
|
|
--on a.rete=cc.rete and a.Chiave_Acn=cc.cod_fiscale
|
|
--where a.Indicatore_ChiamataR4='Z' --clcompl=Z
|
|
--and a.Profilo>0 -- profilo non scaduto
|
|
--and isnull(Rfa_tot,0.00)<>0.00 --rfa totale <>0
|
|
---- Clienti prodotti Fuori perimetro
|
|
-- drop table if exists #clienti_prodotti_fuori_adeg
|
|
-- drop table if exists #clienti_prodotti_fuori_adeg2
|
|
-- select rete,cod_fiscale, count(senza.CodInterno) as Contatore_Prodotti_fuori_Adeguatezza,count(patr.cod_Interno) as contatore_tutti_prodotti
|
|
-- into #clienti_prodotti_fuori_adeg
|
|
-- from c6martperiodico.patrimonio_bf patr
|
|
-- left join [C6StagingPeriodico].[Prodotti_Fuori_Adeguatezza] senza
|
|
-- on patr.cod_interno = senza.codinterno and patr.cod_sottoprodotto=senza.codsottoprodotto
|
|
-- group by rete,COD_FISCALE
|
|
-- select rete,cod_fiscale,Contatore_Prodotti_fuori_Adeguatezza,contatore_tutti_prodotti
|
|
-- into #clienti_prodotti_fuori_adeg2
|
|
-- from #clienti_prodotti_fuori_adeg
|
|
-- where Contatore_Prodotti_fuori_Adeguatezza=contatore_tutti_prodotti
|
|
---- select * from #clienti_prodotti_fuori_adeg2
|
|
-- update a
|
|
--set a.Adeg_Check='S'
|
|
--from C6MartPeriodico.W6CKADEG a
|
|
--inner join #clienti_prodotti_fuori_adeg2 cc
|
|
--on a.rete=cc.rete and a.Chiave_Acn=cc.cod_fiscale
|
|
--where a.Indicatore_ChiamataR4='Z' --clcompl=Z
|
|
--and a.Profilo>0 -- profilo non scaduto
|
|
--and isnull(Rfa_tot,0.00)<>0.00 --rfa totale <>0
|
|
----EC -1
|
|
--update C6MartPeriodico.W6CKADEG
|
|
--set Adeg_Check='S'
|
|
--where Indicatore_ChiamataR4='Z' --clcompl=Z
|
|
--and Profilo>0 -- profilo non scaduto
|
|
--and isnull(Rfa_tot,0.00)<>0.00 --rfa totale =0
|
|
--and Profilo_EC='-1'
|
|
----Flag Legali Rappresentanti
|
|
--update C6MartPeriodico.W6CKADEG
|
|
--set Adeg_Check='S'
|
|
--where Indicatore_ChiamataR4='Z' --clcompl=Z
|
|
--and Profilo>0 -- profilo non scaduto
|
|
--and isnull(Rfa_tot,0.00)<>0.00 --rfa totale =0
|
|
--and Flg_Legali_Rappresentanti='S'
|
|
--SI
|
|
--NO
|
|
--NA Non Applicabile
|
|
--NR Non restituito, Professionale
|
|
END |