--select * from C6MartPeriodico.CONTRATTOSEI_METADATI -- ============================================= -- Author: -- Create date: -- Description: -- ============================================= CREATE PROCEDURE [C6MartPeriodico].[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 C6MartPeriodico.CONTRATTOSEI_METADATI where risorseNa is null */ --AGGIORNAMENTO TABELLA CONTRATTOSEI --FLAG RISORSE NON ASSOCIATE --SOLO PER I CLIENTI A CUI ANDREBBE INVIATO IL REPORT UPDATE C6MartPeriodico.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 C6MartPeriodico.CONTRATTOSEI_METADATI C6 JOIN C6MartPeriodico.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 C6MartPeriodico.PATRIMONIO_BF PATRBF --INNER JOIN C6MartPeriodico.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 C6MartPeriodico.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 C6MartPeriodico.CONTRATTOSEI_METADATI SET profiloAttivo = CASE WHEN (ISNULL(MIFID.SCADUTO,1) = 1) THEN 0 ELSE 1 end FROM C6MartPeriodico.CONTRATTOSEI_METADATI JOIN C6MartPeriodico.VCONTRATTI ON VCONTRATTI.CHIAVECLIENTEPB = CONTRATTOSEI_METADATI.CHIAVECLIENTEPB LEFT JOIN C6MartPeriodico.MIFID --ON CONTRATTOSEI_METADATI.chiaveClientePB = MIFID.chiaveClientePB ON MIFID.RETE = VCONTRATTI.RETE AND MIFID.COD_FISCALE = VCONTRATTI.COD_FISCALE WHERE InvioBenvenuto = 'N' --select * from C6MartPeriodico.VCONTRATTI --V Aggiorna i dati di migrazione UPDATE C6MartPeriodico.CONTRATTOSEI_METADATI SET clienteMigrato = case when (C6Staging.RP_Migraz_Pianificazione.chiaveClientePB is null) then 'N' else 'S' END FROM C6MartPeriodico.CONTRATTOSEI_METADATI LEFT JOIN C6Staging.RP_Migraz_Pianificazione ON CONTRATTOSEI_METADATI.chiaveClientePB = C6Staging.RP_Migraz_Pianificazione.chiaveClientePb WHERE InvioBenvenuto = 'N' -- 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