-- Schema: C6Mart
-- Stored Procedure: zzzSRV_CHECK_C6_GIORNALIERO_AND



-- =============================================
-- Author:		<Nobili,,Andrea>
-- Create date: <Create Date,,>
-- Description:	<Email Log Giornaliero>
-- =============================================
CREATE procedure [C6Mart].[zzzSRV_CHECK_C6_GIORNALIERO_AND]
AS
BEGIN
	SET NOCOUNT ON;



	 
SELECT DISTINCT * INTO #TEST_QUALITY FROM (

SELECT *,12 AS ISLOG FROM C6MART.TEST_QUALITY

UNION

SELECT DISTINCT VC.RETE,VC.COD_FISCALE,'Cliente con VaR discordante '+ convert(varchar,RA.VAR_PERC_PTF) + ' ' + convert(varchar,VC.VAR_COMPLESSIVO_BF) AS MOTIVO,0
FROM
	C6Mart.RISCHIO_AGGREGATO AS RA
	INNER JOIN C6staging.VAR_ADEGUATEZZA AS VC
		ON RA.RETE = VC.RETE
		AND RA.COD_FISCALE = VC.COD_FISCALE
WHERE
	RA.COD_AGGREG = 'COMPLESSIVO|BF'
	AND ABS(RA.VAR_PERC_PTF - VC.VAR_COMPLESSIVO_BF) > 0.02
	AND (VC.FiduMulitMand = 'N')

UNION
	
SELECT DISTINCT RETE,COD_FISCALE,'Indirizzo pił lunghi di 36 caratteri' AS MOTIVO,6	 
FROM C6Mart.vcontrattisei 
WHERE	data_fineavanzato > GETDATE() 
		AND isnull(numrevoche,0) = 0
		AND inviobenvenuto = 'N'
		AND LEN(Indirizzo) > 36 		

UNION
 
 SELECT DISTINCT RETE,CODICEFISCALE			    
	,'Prodotto non a catalogo ' + isnull(codiceContratto,'') +', '+  ltrim(rtrim(isnull(codiceinterno,''))) + '/'+ ltrim(rtrim(isnull(codicesottoprodotto,''))) + '/'+ ltrim(rtrim(isnull(codicemaf,''))) + '/'+ ltrim(rtrim(isnull(isin,'')))  As motivo  ,7 
FROM C6Staging.SPB_CONTR_SINTESI WHERE POSITIONID IS NULL



UNION
  
SELECT DISTINCT CM.Rete,CM.Cod_Fiscale,'Cliente senza righe Contratto Sintesi' AS MOTIVO,8 
FROM  C6Mart.RP_VContrattiMigrati CM
LEFT JOIN C6Staging.SPB_CONTR_SINTESI CS
ON CM.Cod_Fiscale = CS.CODICEFISCALE AND CM.RETE = CS.RETE
WHERE CS.CODICEFISCALE IS NULL

UNION

SELECT DISTINCT PB.RETE,PB.COD_FISCALE,'Cliente senza data sottoscrizione ' + dbo.toShortDateString(PB.ID_CONTRATTO)  AS MOTIVO,9		 
	FROM
		C6Mart.vcontratti AS C
		INNER JOIN C6Mart.PATRIMONIO_BF AS PB
			ON C.Rete = PB.RETE
			AND C.Cod_Fiscale = PB.COD_FISCALE
		INNER JOIN C6Mart.RISCHIO_AGGREGATO AS RA
			ON PB.RETE = RA.RETE
			AND PB.COD_FISCALE = RA.COD_FISCALE
	WHERE
		PB.DATA_SOTTOSCRIZIONE IS NULL
		AND PB.TIPO_PRODOTTO = 'DT'

		
UNION

SELECT DISTINCT VC.Rete,VC.Cod_Fiscale,'Cliente senza piramide modello' AS MOTIVO,10
FROM C6Mart.vcontrattiSEI VC
	 LEFT JOIN C6Mart.PIRAMIDE_MOD PM
	 ON VC.Cod_Fiscale=PM.Cod_Fiscale AND VC.RETE=PM.RETE
WHERE	 
	VC.Data_FineAvanzato > getDate()
	AND VC.inviobenvenuto = 'N'
	AND VC.clientemigrato = 'S'
	AND VC.risorseNA = 'N'
	AND VC.profiloAttivo = 1
	AND DATEDIFF(d, VC.Data_Perf, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT)
	AND ISNULL(VC.NUMREVOCHE,0) = 0
	AND PM.Cod_Fiscale IS NULL
 
UNION
 
SELECT DISTINCT CM.RETE,CM.Cod_Fiscale,'Cliente senza righe profilo MIFID' AS MOTIVO,11
FROM  C6Mart.RP_VContrattiMigrati CM
LEFT JOIN  C6Staging.SPB_MIFID MD
ON CM.Cod_Fiscale = MD.CODICEFISCALE AND CM.RETE = MD.RETE
WHERE MD.CODICEFISCALE IS NULL


	 
) T

INSERT INTO #TEST_QUALITY
SELECT DISTINCT VC.RETE,VC.COD_FISCALE,'Cliente con VaR discordante '+ convert(varchar,RA.VAR_PERC_PTF) + ' ' + convert(varchar,VC.VAR_COMPLESSIVO_BF) + CASE  WHEN VC.FiduMulitMand = 'S' THEN ' FiduMulitMand' ELSE ' ' END AS MOTIVO,5
FROM
	C6Mart.RISCHIO_AGGREGATO AS RA
	INNER JOIN C6staging.VAR_ADEGUATEZZA AS VC
		ON RA.RETE = VC.RETE
		AND RA.COD_FISCALE = VC.COD_FISCALE
WHERE
	RA.COD_AGGREG = 'COMPLESSIVO|BF'
	AND ABS(RA.VAR_PERC_PTF - VC.VAR_COMPLESSIVO_BF) <> 0.00	 
	
INSERT INTO #TEST_QUALITY
SELECT DISTINCT RETE,Cod_Fiscale,'Caratteri non validi in EMAIL' AS MOTIVO,12
FROM C6Mart.vcontratti WHERE  [C6Mart].[CARATTERINONVALIDI](email) = 'S' and data_fineavanzato > getdate()  
		
INSERT INTO #TEST_QUALITY
SELECT DISTINCT RETE,Cod_Fiscale,'Caratteri non validi in INDIRIZZO' AS MOTIVO,13
FROM C6Mart.vcontratti	WHERE [C6Mart].[CARATTERINONVALIDI](Indirizzo) = 'S' and data_fineavanzato > getdat
