-- =============================================
-- Author:		<Author,,Name>
-- Create date: <Create Date,,>
-- Description:	<Description,,>
-- =============================================
CREATE procedure [C6Mart].[DM_ANAG_CONTRATTI_ASS]
AS
BEGIN
	SET NOCOUNT ON;
	DECLARE @ID_ELAB INT
	DECLARE @TIPO_ELAB VARCHAR(1)
	SET @ID_ELAB = C6MART.GETIDELAB()
	SET @TIPO_ELAB = C6MART.GETTIPOELAB()
	-- Log esecuzione
	INSERT INTO LOG_ESECUZIONE
		(Nome, Inizio, Nota)
	VALUES (
		'DM_ANAG_CONTRATTI_ASS',
		GETDATE(),
		'Elaborazione giornaliera'
	)
	TRUNCATE TABLE C6MART.ANAG_CONTRATTI_ASS
	INSERT INTO [C6Mart].[ANAG_CONTRATTI_ASS]
		   ([RETE]
		   ,[COD_FISCALE]
		   ,[NUM_POLIZZA]
		   ,[ID_CONTRATTO]
		   ,[TIPO_PRODOTTO]
		   ,[PREMIO]
		   ,[IMPORTO_RATA]
		   ,[FREQ_RATA]
		   ,[IMPORTO_ASSICURATO]
		   ,[DURATA_POLIZZA]
		   ,[ALIQUOTA]
		   ,[COD_SOTTOPRODOTTO]
		   ,[COD_INTERNO]
		   ,[DATA_APERTURA]
		   ,[DATA_CHIUSURA]
		   ,[INTERMEDIARIO]
		   ,[STATO]
		   ,[DIV_RIFERIMENTO]
		   ,[CAMBIO]
		   ,[ID_ELAB]
		   ,[TIPO_ELAB])
	SELECT
		SPB_CONTR_SINTESI.RETE AS RETE,
		SPB_CONTR_SINTESI.CODICEFISCALE AS COD_FISCALE,
		SPB_CONTR_SINTESI.NUMEROPOLIZZA AS NUM_POLIZZA,		
		SPB_CONTR_SINTESI.CODICECONTRATTO AS ID_CONTRATTO,
		SPB_CONTR_SINTESI.TIPOPRODOTTO AS TIPO_PRODOTTO,
		NULL AS PREMIO,
		NULL AS IMPORTO_RATA,
		NULL AS FREQ_RATA,
		SPB_CONTR_SINTESI.CTV AS IMPORTO_ASSICURATO,
		NULL AS DURATA_POLIZZA,
		NULL AS ALIQUOTA,
		SPB_CONTR_SINTESI.CODICESOTTOPRODOTTO AS COD_SOTTOPRODOTTO,
		SPB_CONTR_SINTESI.CODICEINTERNO AS COD_INTERNO,
		CONVERT(DATETIME, SPB_CONTR_SINTESI.DATADISOTTOSCRIZIONE,103) AS DATA_APERTURA,
		NULL AS DATA_CHIUSURA,
		NULL AS INTERMEDIARIO,
		SPB_CONTR_SINTESI.CODICESTATO AS STATO,
		NULL AS DIV_RIFERIMENTO,
		NULL AS CAMBIO,
		@ID_ELAB AS ID_ELAB,
		@TIPO_ELAB AS TIPO_ELAB
	FROM C6STAGING.SPB_CONTR_SINTESI
	WHERE TIPOPRODOTTO LIKE 'AS%' AND NUMEROPOLIZZA <>  '' 
	-- Log esecuzione
	UPDATE
		LOG_ESECUZIONE
	SET
		Fine = GETDATE(),
		Tipo = 'INSERT',
		Righe = @@ROWCOUNT
	WHERE
		Nome = 'DM_ANAG_CONTRATTI_ASS' AND
		Inizio = (
			SELECT
				MAX(Inizio)
			FROM
				LOG_ESECUZIONE
			WHERE
				Nome = 'DM_ANAG_CONTRATTI_ASS'
		)
END