PDC_REPORT_CreazioneDB/sql/Produzione/procedure/C6Mart_RP_AggiornaFlagContratto.sql
2025-06-10 15:29:00 +02:00

134 lines
4.1 KiB
SQL

--select * from C6Mart.CONTRATTOSEI_METADATI
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE PROCEDURE [C6Mart].[RP_AggiornaFlagContratto]
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
-- SET NOCOUNT ON;
-- Log esecuzione
INSERT INTO LOG_ESECUZIONE
(Nome, Inizio, Nota)
VALUES (
'RP_AggiornaFlagContratto',
GETDATE(),
'Elaborazione giornaliera'
)
/*
select top 1 *
from C6Mart.CONTRATTOSEI_METADATI where risorseNa is null
*/
--AGGIORNAMENTO TABELLA CONTRATTOSEI
--FLAG RISORSE NON ASSOCIATE
--SOLO PER I CLIENTI A CUI ANDREBBE INVIATO IL REPORT
UPDATE C6Mart.CONTRATTOSEI_METADATI
SET
RisorseNA =
CASE
WHEN CLIENTIRISNA.percRisorseNA >= CAST(dbo.GETPARAMETRO('PercMaxRisorseNA') AS DECIMAL(5,2)) THEN 'S'
ELSE 'N'
END
--AGGIUNTA perchè mancava, FABRIZIO E VALERIO per Azzeramento numero solleciti email
--,NumSolleciti =
-- CASE
-- WHEN (C6.ClienteMigrato = 'S') and (CLIENTIRISNA.percRisorseNA < CAST(dbo.GETPARAMETRO('PercMaxRisorseNA') AS DECIMAL(5,2))) THEN 0
-- ELSE NumSolleciti
-- END
FROM C6Mart.CONTRATTOSEI_METADATI C6
JOIN
C6MART.VCONTRATTI VCONTR
ON
C6.CHIAVECLIENTEPB = VCONTR.CHIAVECLIENTEPB
LEFT JOIN (
SELECT
NA.RETE,
NA.COD_FISCALE,
CASE
WHEN TOT.CTVTOTALE = 0 THEN 0
ELSE 100 * NA.CTVNA / TOT.CTVTOTALE
END AS percRisorseNA
FROM (
SELECT
ISNULL(SUM(PATRBF.CTV),0) AS CTVNA,
PATRBF.RETE, PATRBF.COD_FISCALE
FROM C6Mart.PATRIMONIO_BF PATRBF
--INNER JOIN C6Mart.RP_vTuttiIContratti VCONTRATTIPERSEI
-- ON PATRBF.RETE = VCONTRATTIPERSEI.RETE
-- AND PATRBF.COD_FISCALE = VCONTRATTIPERSEI.COD_FISCALE
WHERE ID_AREA = 'Na'
GROUP BY
PATRBF.RETE, PATRBF.COD_FISCALE
) NA
INNER JOIN (
SELECT
SUM(PATRBF.CTV) AS CTVTOTALE,
PATRBF.RETE, PATRBF.COD_FISCALE
FROM C6Mart.PATRIMONIO_BF PATRBF
WHERE ID_AREA <> 'Cc'
GROUP BY
PATRBF.RETE, PATRBF.COD_FISCALE
) TOT
ON TOT.RETE = NA.RETE AND TOT.COD_FISCALE = NA.COD_FISCALE
) CLIENTIRISNA
ON VCONTR.RETE = CLIENTIRISNA.RETE
AND VCONTR.COD_FISCALE = CLIENTIRISNA.COD_FISCALE
WHERE C6.InvioBenvenuto = 'N'
--V Aggiorna il flag Profilo Attivo per i clienti che non hanno ricevuto il report
UPDATE C6MART.CONTRATTOSEI_METADATI
SET profiloAttivo = CASE WHEN (ISNULL(MIFID.SCADUTO,1) = 1) THEN 0 ELSE 1 end
FROM C6MART.CONTRATTOSEI_METADATI
JOIN C6MART.VCONTRATTI
ON VCONTRATTI.CHIAVECLIENTEPB = CONTRATTOSEI_METADATI.CHIAVECLIENTEPB
LEFT JOIN C6MART.MIFID
--ON CONTRATTOSEI_METADATI.chiaveClientePB = MIFID.chiaveClientePB
ON MIFID.RETE = VCONTRATTI.RETE
AND MIFID.COD_FISCALE = VCONTRATTI.COD_FISCALE
WHERE InvioBenvenuto = 'N'
--select * from C6MART.VCONTRATTI
--V Aggiorna i dati di migrazione
UPDATE C6MART.CONTRATTOSEI_METADATI
-------------en 20161026 clienti automaticamente migrati
SET clienteMigrato = 'S'
--case when (C6Staging.RP_Migraz_Pianificazione.chiaveClientePB is null) then 'N'
--else 'S'
--END
FROM C6MART.CONTRATTOSEI_METADATI
LEFT JOIN C6Staging.RP_Pianificazione
ON CONTRATTOSEI_METADATI.chiaveClientePB = C6Staging.RP_Pianificazione.chiaveClientePb
--LEFT JOIN C6Staging.RP_Migraz_Pianificazione
--ON CONTRATTOSEI_METADATI.chiaveClientePB = C6Staging.RP_Migraz_Pianificazione.chiaveClientePb
WHERE InvioBenvenuto = 'N'
-- Profilo Esperienze e Conoscenze EC aggiunto 30/06/2022
update C6MART.CONTRATTOSEI_METADATI
set PROFILO_EC= case when MIFID.EXPERIENCE>=1 then 1
when MIFID.EXPERIENCE<1 then 0
else NULL end
from C6MART.CONTRATTOSEI_METADATI
JOIN C6MART.VCONTRATTI
ON VCONTRATTI.CHIAVECLIENTEPB = CONTRATTOSEI_METADATI.CHIAVECLIENTEPB
LEFT join C6Mart.MIFID
ON MIFID.RETE = VCONTRATTI.RETE
AND MIFID.COD_FISCALE = VCONTRATTI.COD_FISCALE
--fine EC
-- Log esecuzione
UPDATE
LOG_ESECUZIONE
SET
Fine = GETDATE(),
Tipo = 'UPDATE',
Righe = @@ROWCOUNT
WHERE
Nome = 'RP_AggiornaFlagContratto' AND
Inizio = (
SELECT
MAX(Inizio)
FROM
LOG_ESECUZIONE
WHERE
Nome = 'RP_AggiornaFlagContratto'
)
END