PDC_REPORT_CreazioneDB/sql/storedProduzione/C6MartPeriodico_RP_DM_W6CKADEG.sql
2025-06-06 19:02:52 +02:00

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