-- Stored procedure  
-- =============================================  
-- Author:  Paolo Giovanetti  
-- Create date: 19 marzo 2009  
-- Description:   
-- =============================================  
CREATE procedure [C6MartPeriodico].[DM_MONITORAGGIO_STORICO]  
AS  
BEGIN  
 SET NOCOUNT ON;  
 DECLARE @ID_ELAB INT  
 SET @ID_ELAB = [C6MartPeriodico].GETIDELAB()  
 -- Log esecuzione  
 INSERT INTO LOG_ESECUZIONE  
  (Nome, Inizio, Nota)  
 VALUES (  
  'DM_MONITORAGGIO_STORICO',  
  GETDATE(),  
  'Elaborazione trimestrale'  
 )  
 TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_STORICO]   
 INSERT INTO [C6MartPeriodico].[MONITORAGGIO_STORICO]  
           ([RETE]  
           ,[COD_FISCALE]  
           ,[ID_AREA]  
           ,[NOME_PROGETTO]  
           ,[DATA_CTV]  
           ,[CTV_MONITORATO]  
           ,[RISORSE_ASSOCIATE]  
           ,[ID_ELAB]  
           ,CEDOLE_DIV  
   ,ordinamento_progetto)  
 SELECT  
           TANAB.RETE AS RETE,  
     CASE  
    WHEN MANDATI.CODMAND IS NULL THEN TANAB.CODFIS  
    ELSE dbo.getFiduciariaByCodMand(MANDATI.CODMAND)  
     END AS COD_FISCALE,  
     CASE  
    WHEN TANAB.CODAREA = 'INV' THEN 'Inv'  
    WHEN TANAB.CODAREA = 'RIS' THEN 'Ris'  
    WHEN TANAB.CODAREA = 'EXR' THEN 'Ext'  
    WHEN TANAB.CODAREA = 'LIQ' THEN 'Liq'  
     END AS ID_AREA,  
           ISNULL(CASE  
    WHEN PROGETTO_BOZZA.C_PROJECTIDR_51E22 IS NULL THEN LTRIM(RTRIM(PRCONSUL.C_PROJECTNAM_11D1A))  
    ELSE LTRIM(RTRIM(PROGETTO_BOZZA.NUOVO_NOME_PROGETTO))  
     END, 'XXX') AS NOME_PROGETTO,  
           CAST(CAST(WRENAB.DTVALORIZ AS VARCHAR(8)) AS DATETIME) AS DATA_CTV,  
           WRENAB.CTV AS CTV_MONITORATO,  
           WRENAB.CVN AS RISORSE_ASSOCIATE,  
           @ID_ELAB AS ID_ELAB,  
           (TANAB.TOT_CED + TANAB.TOT_DIV) AS CEDOLE_DIV,  
   tanab.codprog  
 FROM C6STAGINGPERIODICO.TANAB AS TANAB  
 INNER JOIN C6StagingPeriodico.TRENAB AS WRENAB  
  ON TANAB.CODPROG = WRENAB.CODPROG  
  AND TANAB.DTRIF = WRENAB.DTRIF  
 INNER JOIN C6StagingPeriodico.PRCONSUL AS PRCONSUL  
  ON TANAB.CODPROG = PRCONSUL.C_PROJECTIDM_1AF31  
 INNER JOIN C6StagingPeriodico.CONSAREA AS AREA  
  ON PRCONSUL.F_PCONSULENZ_B69E4 = AREA.OID$  
 INNER JOIN C6StagingPeriodico.CONSUL AS CONSUL  
  ON AREA.F_PCONSULENZ_7FBE3 = CONSUL.OID$  
 INNER JOIN C6StagingPeriodico.ALL_CF_STATO AS SCELTA_STATO  
  ON CONSUL.ADBKID = SCELTA_STATO.CF_CLIENTE  
  AND CONSUL.INSTID = SCELTA_STATO.RETE  
  AND CONSUL.TYPE$_TIPOCO_1EA7C = SCELTA_STATO.STATO_CONSULENZA  
 LEFT JOIN C6StagingPeriodico.NOME_PROGETTO_BOZZA AS PROGETTO_BOZZA  
  ON PRCONSUL.C_PROJECTIDR_51E22 = PROGETTO_BOZZA.C_PROJECTIDR_51E22  
 LEFT OUTER JOIN C6StagingPeriodico.WMANDATI AS MANDATI  
  ON TANAB.CODFIS = MANDATI.CODMAND  
 WHERE 1 = 1  
 AND TANAB.DTFINE = '99991231'  
 AND SCELTA_STATO.FLAG_UTILIZZO_STATO = 1  
 --and tanab.codfis not in('GRVMRZ63C14L566J','DNGMRA56E66D542Z')  
-- UNION  
--  
-- SELECT  
--           TANAB.RETE AS RETE,  
--     CASE  
--    WHEN MANDATI.CODMAND IS NULL THEN TANAB.CODFIS  
--    ELSE dbo.getFiduciariaByCodMand(MANDATI.CODMAND)  
--     END AS COD_FISCALE,  
--     CASE  
--    WHEN TANAB.CODAREA = 'INV' THEN 'Inv'  
--    WHEN TANAB.CODAREA = 'RIS' THEN 'Ris'  
--    WHEN TANAB.CODAREA = 'EXR' THEN 'Ext'  
--    WHEN TANAB.CODAREA = 'LIQ' THEN 'Liq'  
--     END AS ID_AREA,  
--           ISNULL(CASE  
--    WHEN PROGETTO_BOZZA.C_PROJECTIDR_51E22 IS NULL THEN PRCONSUL.C_PROJECTNAM_11D1A  
--    ELSE PROGETTO_BOZZA.NUOVO_NOME_PROGETTO  
--     END, 'XXX') AS NOME_PROGETTO,  
--           CAST(CAST(TRENAB.DTVALORIZ AS VARCHAR(8)) AS DATETIME) AS DATA_CTV,  
--           TRENAB.CTV AS CTV_MONITORATO,  
--           TRENAB.CVN AS RISORSE_ASSOCIATE,  
--           @ID_ELAB AS ID_ELAB  
--  
-- FROM C6STAGINGPERIODICO.TANAB AS TANAB  
-- INNER JOIN C6StagingPeriodico.TRENAB AS TRENAB  
--  ON TANAB.CODPROG = TRENAB.CODPROG  
--  AND TANAB.DTRIF = TRENAB.DTRIF  
-- INNER JOIN C6StagingPeriodico.PRCONSUL AS PRCONSUL  
--  ON TANAB.CODPROG = PRCONSUL.C_PROJECTIDM_1AF31  
-- INNER JOIN C6StagingPeriodico.CONSAREA AS AREA  
--  ON PRCONSUL.F_PCONSULENZ_B69E4 = AREA.OID$  
-- INNER JOIN C6StagingPeriodico.CONSUL AS CONSUL  
--  ON AREA.F_PCONSULENZ_7FBE3 = CONSUL.OID$  
-- INNER JOIN C6StagingPeriodico.ALL_CF_STATO AS SCELTA_STATO  
--  ON CONSUL.ADBKID = SCELTA_STATO.CF_CLIENTE  
--  AND CONSUL.INSTID = SCELTA_STATO.RETE  
--  AND CONSUL.TYPE$_TIPOCO_1EA7C = SCELTA_STATO.STATO_CONSULENZA  
-- LEFT JOIN C6StagingPeriodico.NOME_PROGETTO_BOZZA AS PROGETTO_BOZZA  
--  ON PRCONSUL.C_PROJECTIDR_51E22 = PROGETTO_BOZZA.C_PROJECTIDR_51E22  
-- LEFT OUTER JOIN C6StagingPeriodico.WMANDATI AS MANDATI  
--  ON TANAB.CODFIS = MANDATI.CODMAND  
-- WHERE 1 = 1  
-- AND TANAB.DTFINE = '99991231'  
-- AND SCELTA_STATO.FLAG_UTILIZZO_STATO = 1  
-- Log esecuzione  
 UPDATE  
  LOG_ESECUZIONE  
 SET  
  Fine = GETDATE(),  
  Tipo = 'INSERT',  
  Righe = @@ROWCOUNT  
 WHERE  
  Nome = 'DM_MONITORAGGIO_STORICO' AND  
  Inizio = (  
   SELECT  
    MAX(Inizio)  
   FROM  
    LOG_ESECUZIONE  
   WHERE  
    Nome = 'DM_MONITORAGGIO_STORICO'  
  )  
END  
---------------------------------------------------------------------------------------------------------------------  
/****** Object:  StoredProcedure [C6MartPeriodico].[PL_S84ControvaloreRisorseApportate]    Script Date: 12/02/2010 13:24:00 ******/  
SET ANSI_NULLS ON