-- =============================================
-- Author:		<Author,,Name>
-- Create date: <Create Date,,>
-- Description:	<Description,,>
-- =============================================
CREATE procedure [C6StagingPeriodico].[ST_SPB_CONTR_SINTESI_asu2]
AS
BEGIN
	SET NOCOUNT ON;
	-- Log esecuzione
	INSERT INTO LOG_ESECUZIONE
		(Nome, Inizio, Nota)
	VALUES (
		'ST_SPB_CONTR_SINTESI',
		GETDATE(),
		'Elaborazione trimestrale'
	)
	TRUNCATE TABLE [C6StagingPeriodico].[SPB_CONTR_SINTESI]
	INSERT INTO [C6StagingPeriodico].[SPB_CONTR_SINTESI]
			   ([POSITIONID]
			  ,[DTTRIM]
			  ,[DTRIFE]
			  ,[RETE]
			  ,[CODFIS]
			  ,[CODCONF]
			  ,[NUMPOL]
			  ,[CONTO]
			  ,[RUBR]
			  ,[CUSTGAR]
			  ,[TIPPROD]
			  ,[CODINT]
			  ,[CODPROD]
			  ,[SUBPROD]
			  ,[MAF]
			  ,[CODABI]
			  ,[PCTKEY]
			  ,[DESTIT]
			  ,[CTV]
			  ,[PARTVIA]
			  ,[PARTVIAAL]
			  ,[DTSOTTOS]
			  ,[RENDINIZ]
			  ,[RENDANNO]
			  ,[VALORE]
			  ,[SUBSET]
			  ,[CVN]
			  ,[SALRISC])
	SELECT 
		   NULL AS [POSITIONID]
	      ,[DTTRIM]
		  ,[DTRIFE]
           ,[CS].[RETE]
		   ,CASE
		WHEN CODMAN ='' THEN CODFIS
		ELSE 'FF@'+CODMAN
		    END AS CODFIS
		  ,[CODCONF]
		  ,[NUMPOL]
		  ,[CONTO]
		  ,case when (tipprod = 'CC' and rubr =' ') then '000'
			else RUBR end as RUBR
		  ,case when (tipprod = 'CC' and rubr =' ') then '0'
			else CUSTGAR end as custgar
		  ,[TIPPROD]
		  ,[CODINT]
		  ,[CODPROD]
		  ,[SUBPROD]
		  ,[MAF]
		  ,[CODABI]
		  ,case when (tipprod = 'CC' and rubr =' ') then '0'
			else PCTKEY end as pctkey
		  ,[DESTIT]
		  ,[CTV]
		  ,[PARTVIA]
		  ,[PARTVIAAL]
		  ,[DTSOTTOS]
		  ,[RENDINIZ]
		  ,[RENDANNO]
		  ,[VALORE]
		  ,[SUBSET]
		  ,[CVN]
		  ,[SALRISC]
	  FROM [C6StagingPeriodico].[WSEICS] AS CS INNER JOIN
			[C6Mart].[CONTRATTOSEI] AS C6 ON
			CS.RETE = C6.RETE AND
-- TRINGALI 19022010
	(case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale
--      LEFT JOIN C6StagingPeriodico.WMANDATI AS MANDATI
--      ON cs.codman = ltrim(rtrim(MANDATI.CODMAND))
	  WHERE [DTTRIM] = c6martperiodico.gettrimestre2(getdate(),0)
--V Bisogna inserire una funzione che calcoli il trimestre precedente getPreviousTrim()
      AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > 
		--select c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0)
       '20110331'
		-- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0)
       --     AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0)
	-- Log esecuzione
	UPDATE
		LOG_ESECUZIONE
	SET
		Fine = GETDATE(),
		Tipo = 'INSERT',
		Righe = @@ROWCOUNT
	WHERE
		Nome = 'ST_SPB_CONTR_SINTESI' AND
		Inizio = (
			SELECT
				MAX(Inizio)
			FROM
				LOG_ESECUZIONE
			WHERE
				Nome = 'ST_SPB_CONTR_SINTESI'
		)
END