173 lines
4.4 KiB
Transact-SQL
173 lines
4.4 KiB
Transact-SQL
set xact_abort on
|
|
go
|
|
|
|
begin transaction
|
|
go
|
|
|
|
set ANSI_NULLS on
|
|
go
|
|
|
|
-- =============================================
|
|
-- Author: Samuele E. Locatelli
|
|
-- Create date: 2011-02-20
|
|
-- Description:
|
|
-- =============================================
|
|
create PROCEDURE stp_zzz_rimuoviDuplicatiConsecutivi
|
|
-- Add the parameters for the stored procedure here
|
|
@idxMacchina int
|
|
AS
|
|
BEGIN
|
|
SET NOCOUNT ON;
|
|
|
|
DECLARE @InizioStato DATETIME, @IdxTipo INT, @MatricolaKanban NVARCHAR(50);
|
|
DECLARE @InizioStatoPrec DATETIME, @IdxTipoPrec INT, @MatricolaKanbanPrec NVARCHAR(50);
|
|
DECLARE @messaggio NVARCHAR(500);
|
|
|
|
-- mostro conteggio eventi
|
|
SELECT count(*), DATEPART(DD,InizioStato) AS inizio FROM EventList
|
|
WHERE IdxMacchina=37
|
|
GROUP BY DATEPART(DD,InizioStato)
|
|
|
|
-- inizializzo valori precedenti
|
|
SET @InizioStatoPrec = (SELECT Top 1 InizioStato FROM EventList WHERE idxMacchina = @idxMacchina ORDER BY InizioStato ASC);
|
|
SET @IdxTipoPrec = (SELECT Top 1 IdxTipo FROM EventList WHERE idxMacchina = @idxMacchina ORDER BY InizioStato ASC);
|
|
SET @MatricolaKanbanPrec = (SELECT Top 1 MatricolaKanban FROM EventList WHERE idxMacchina = @idxMacchina ORDER BY InizioStato ASC);
|
|
|
|
-- uso un cursore x percorrere i dati...
|
|
DECLARE eventiDuplicati CURSOR FOR
|
|
SELECT InizioStato, IdxTipo, MatricolaKanban
|
|
FROM EventList
|
|
WHERE IdxMacchina = @idxMacchina
|
|
ORDER BY InizioStato;
|
|
|
|
OPEN eventiDuplicati;
|
|
|
|
FETCH NEXT FROM eventiDuplicati
|
|
INTO @InizioStato, @IdxTipo,@MatricolaKanban;
|
|
|
|
WHILE @@FETCH_STATUS = 0
|
|
BEGIN
|
|
-- controllo: se uguali i valori ai precedenti elimino attuale...
|
|
IF((@InizioStato > @InizioStatoPrec) AND (@IdxTipo = @IdxTipoPrec) AND (@MatricolaKanban = @MatricolaKanbanPrec))
|
|
BEGIN
|
|
SELECT @messaggio = '--> Old tipo: ' + CAST(@IdxTipoPrec AS NVARCHAR(50)) + ' - new: ' + CAST(@IdxTipo AS NVARCHAR(50)) + ' | old time: ' + CAST(@InizioStatoPrec AS NVARCHAR(250)) + ' - new: ' +CAST(@InizioStato AS NVARCHAR(250)) + ' | old kanban: ' + CAST(@MatricolaKanbanPrec AS NVARCHAR(250)) + ' - new: ' +CAST(@MatricolaKanban AS NVARCHAR(250));
|
|
PRINT @messaggio;
|
|
-- elimino riga errata
|
|
DELETE FROM EventList
|
|
WHERE InizioStato=@InizioStato and IdxMacchina=@idxMacchina and IdxTipo=@IdxTipo and MatricolaKanban=@MatricolaKanban;
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
SELECT @messaggio = 'Ok Old tipo: ' + CAST(@IdxTipoPrec AS NVARCHAR(50)) + ' - new: ' + CAST(@IdxTipo AS NVARCHAR(50)) + ' | old time: ' + CAST(@InizioStatoPrec AS NVARCHAR(250)) + ' - new: ' +CAST(@InizioStato AS NVARCHAR(250)) + ' | old kanban: ' + CAST(@MatricolaKanbanPrec AS NVARCHAR(250)) + ' - new: ' +CAST(@MatricolaKanban AS NVARCHAR(250));
|
|
--PRINT @messaggio;
|
|
END
|
|
|
|
|
|
SET @InizioStatoPrec = @InizioStato;
|
|
SET @IdxTipoPrec = @IdxTipo;
|
|
SET @MatricolaKanbanPrec = @MatricolaKanban;
|
|
|
|
-- Get the next values.
|
|
FETCH NEXT FROM eventiDuplicati
|
|
INTO @InizioStato, @IdxTipo, @MatricolaKanban;
|
|
END
|
|
CLOSE eventiDuplicati;
|
|
DEALLOCATE eventiDuplicati;
|
|
|
|
-- mostro conteggio eventi
|
|
SELECT count(*), DATEPART(DD,InizioStato) AS inizio FROM EventList
|
|
WHERE IdxMacchina=37
|
|
GROUP BY DATEPART(DD,InizioStato)
|
|
|
|
END
|
|
go
|
|
|
|
commit
|
|
go
|
|
|
|
|
|
set xact_abort on
|
|
go
|
|
|
|
begin transaction
|
|
go
|
|
|
|
set ANSI_NULLS on
|
|
go
|
|
|
|
/*************************************
|
|
* STORED PROCEDURE stp_TC_getCodArticoliByMacchinaPeriodo
|
|
* recupera tempi ciclo x machcian e periodo
|
|
*
|
|
* modif.: S.E.L. - 2010.12.18
|
|
**************************************/
|
|
create PROCEDURE stp_TC_getCodArticoliByMacchinaPeriodo
|
|
(
|
|
@IdxMacchina NVARCHAR(50),
|
|
@Inizio DATETIME,
|
|
@Fine DATETIME
|
|
)
|
|
AS
|
|
|
|
SELECT DISTINCT(CodArticolo) FROM TempiCicloRilevati
|
|
WHERE IdxMacchina = @IdxMacchina AND
|
|
(DataOraRif >= @Inizio) AND (DataOraRif <= @Fine)
|
|
|
|
|
|
RETURN
|
|
go
|
|
|
|
commit
|
|
go
|
|
|
|
|
|
set xact_abort on
|
|
go
|
|
|
|
begin transaction
|
|
go
|
|
|
|
set ANSI_NULLS on
|
|
go
|
|
|
|
/*************************************
|
|
* STORED PROCEDURE stp_TC_getByMacchinaPeriodoArticolo
|
|
* recupera tempi ciclo x macchina, articolo e periodo
|
|
*
|
|
* modif.: S.E.L. - 2010.12.18
|
|
**************************************/
|
|
create PROCEDURE stp_TC_getByMacchinaPeriodoArticolo
|
|
(
|
|
@IdxMacchina NVARCHAR(50),
|
|
@CodArticolo NVARCHAR(50),
|
|
@Inizio DATETIME,
|
|
@Fine DATETIME
|
|
)
|
|
AS
|
|
|
|
SELECT * FROM TempiCicloRilevati
|
|
WHERE IdxMacchina = @IdxMacchina AND CodArticolo = @CodArticolo AND
|
|
(DataOraRif >= @Inizio) AND (DataOraRif <= @Fine)
|
|
ORDER BY DataOraRif
|
|
|
|
RETURN
|
|
go
|
|
|
|
commit
|
|
go
|
|
|
|
|
|
|
|
alter table DatiMacchine add
|
|
constraint PK_DatiMacchine primary key(idxMacchina)
|
|
go
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- registro versione...
|
|
INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(230, GETDATE())
|
|
GO
|