-- =============================================
-- Author:		Fabrizio Caruso	
-- Create date: 17/09/2014
-- Description:	
-- TODO --- Da ottimizzare per Data Quality 
-- =============================================
CREATE procedure [C6MartPeriodico].[SP_DQ_DataValorizzazioneTRenab_pre_selective]
@idFaseElaborazione int
AS
BEGIN
Declare @idTipoControllo int
set @idTipoControllo=10	
	SELECT @idTipoControllo as idtipocontrollo,
           TANAB.RETE AS RETE,
		   VC.COD_FISCALE as codfis,
		   'DTVALORIZZ non valida - Area: ' +  
		   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 + ' Nome Progetto: ' +
           ISNULL(CS.nomeProgetto, 'XXX') + ' - DTVALORIZZ: ' +
          CAST(WRENAB.DTVALORIZ AS VARCHAR(8)) +  
           ' - CTV_MONITORATO: ' + ltrim(rtrim(cast(WRENAB.CTV AS VARCHAR(20)))) +
           ' - RISORSE_ASSOCIATE: ' + ltrim(rtrim(cast(WRENAB.CVN AS VARCHAR(20)))) +
           ' - CEDOLE_DIV: ' + ltrim(rtrim(cast((TANAB.TOT_CED + TANAB.TOT_DIV) AS VARCHAR(20)))) + 
		   ' - ChiaveProgetto: ' + cast(isnull(CM.ChiaveProgetto, '') as varchar(10)) as descerror
		   into #TbErrori
	FROM C6STAGINGPERIODICO.TANAB AS TANAB
	INNER JOIN C6StagingPeriodico.TRENAB AS WRENAB
		ON TANAB.CODPROG = WRENAB.CODPROG
		AND TANAB.DTRIF = WRENAB.DTRIF
    INNER JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM
        ON TANAB.CODPROG = CM.idmonitoraggio
--    INNER JOIN C6StagingPeriodico.RP_Consulenza CS
--        ON CM.chiaveprogetto = CS.chiaveProgetto
    INNER JOIN C6StagingPeriodico.RP_Progetto PR
        ON CM.chiaveprogetto = PR.chiaveProgetto
    INNER JOIN C6StagingPeriodico.RP_ProgettiPiramideModello CS
        ON PR.chiaveprogettoMod = CS.chiaveProgettoMod
    INNER JOIN C6stagingperiodico.appo_contratti VC
		ON TANAB.CODFIS = CASE WHEN VC.COD_MANDATO IS NULL OR VC.COD_MANDATO = '' 
                              THEN CASE WHEN VC.PIVA_FIDUCIARIA IS NULL OR VC.PIVA_FIDUCIARIA = '' 
                                    THEN VC.COD_FISCALE 
                             ELSE VC.PIVA_FIDUCIARIA END 
                             ELSE VC.COD_MANDATO
                          END
        AND TANAB.RETE = VC.RETE
--        AND VC.DATA_FINEAVANZATO > getDate() 
	WHERE 1 = 1
	AND TANAB.DTFINE = '99991231'
	AND ISDATE(WRENAB.DTVALORIZ) = 0
declare @idElab  int
select @idElab=max(id_elab) from  c6martperiodico.elaborazioni
Insert into C6MartPeriodico.TB_SegnalazioniDataQuality
( 
idTipoControllo,
rete,
codiceFiscale,
descSegnalazione,
idElaborazione,
richiesta,
idFaseElaborazione)
select tbErr.idTipoControllo,rete,codfis,descerror,@idelab,'',@idFaseElaborazione
from #TbErrori tbErr
inner join c6martperiodico.tb_tipocontrollo Tipo
on tbErr.idtipocontrollo = tipo.idTipoControllo
end