﻿set xact_abort on
go

begin transaction
go

set ANSI_NULLS on
go

/*************************************
* STORED PROCEDURE stp_DDB_getDataFiltered
* 	ottiene i dati nel diario di bordo filtrati x macchina, periodo e durata
*
* modif.:	S.E.L. - 2010.07.13
**************************************/
alter PROCEDURE stp_DDB_getDataFiltered
(
	@IdxMacchina NVARCHAR(50),
	@Inizio DATETIME,
	@Fine DATETIME,
	@durataMin FLOAT		
)
AS

-- controllo fine sia max uguale ad istante attuale
DECLARE @adesso DATETIME
SET @adesso = GETDATE()

IF @fine > @adesso
	BEGIN
		SET @fine = @adesso
	END

SELECT	IdxMacchina, InizioStato, ISNULL(FineStato, @Fine) AS FineStato, IdxStato, 
		ISNULL(DurataMinuti, DATEDIFF(s, InizioStato, @Fine)/60) AS DurataMinuti, Value, MatricolaKanban, KanbanCode, TempoCicloBase, 
		PzPalletProd, MatrOpr, pallet
FROM	DiarioDiBordo 
WHERE		((IdxMacchina = @IdxMacchina) AND (InizioStato >= @Inizio) AND (InizioStato <= @Fine)) OR
			((IdxMacchina = @IdxMacchina) AND (FineStato >= @Inizio) AND (FineStato <= @Fine))
ORDER BY InizioStato DESC

RETURN
go

commit
go






-- registro versione...
INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(236, GETDATE())
GO
