56 lines
1.2 KiB
Transact-SQL
56 lines
1.2 KiB
Transact-SQL
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
|