224 lines
5.4 KiB
Transact-SQL
224 lines
5.4 KiB
Transact-SQL
set xact_abort on
|
|
go
|
|
|
|
begin transaction
|
|
go
|
|
|
|
set ANSI_NULLS on
|
|
go
|
|
|
|
/*************************************
|
|
* STORED PROCEDURE stp_TC_getMaxByMacchinaPeriodo
|
|
* recupera tempi ciclo x macchina e periodo
|
|
*
|
|
* modif.: S.E.L. - 2010.12.15
|
|
**************************************/
|
|
create PROCEDURE stp_TC_getMaxByMacchinaPeriodo
|
|
(
|
|
@IdxMacchina NVARCHAR(50),
|
|
@Inizio DATETIME,
|
|
@Fine DATETIME
|
|
)
|
|
AS
|
|
|
|
SELECT @IdxMacchina AS IdxMacchina, '' AS CodArticolo, GETDATE() as DataOraRif, MAX(TCMedio) AS TCMedio, 0 AS PzProd FROM TempiCicloRilevati
|
|
WHERE IdxMacchina = @IdxMacchina AND
|
|
(DataOraRif >= @Inizio) AND (DataOraRif <= @Fine)
|
|
|
|
RETURN
|
|
go
|
|
|
|
/*************************************
|
|
* STORED PROCEDURE stp_TC_getMinByMacchinaPeriodo
|
|
* recupera tempi ciclo x macchina e periodo
|
|
*
|
|
* modif.: S.E.L. - 2010.12.15
|
|
**************************************/
|
|
create PROCEDURE stp_TC_getMinByMacchinaPeriodo
|
|
(
|
|
@IdxMacchina NVARCHAR(50),
|
|
@Inizio DATETIME,
|
|
@Fine DATETIME
|
|
)
|
|
AS
|
|
|
|
SELECT @IdxMacchina AS IdxMacchina, '' AS CodArticolo, GETDATE() as DataOraRif, MIN(TCMedio) AS TCMedio, 0 AS PzProd 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_getMaxByMacchinaPeriodo
|
|
* recupera tempi ciclo x macchina e periodo
|
|
*
|
|
* modif.: S.E.L. - 2010.12.15
|
|
**************************************/
|
|
alter PROCEDURE stp_TC_getMaxByMacchinaPeriodo
|
|
(
|
|
@IdxMacchina NVARCHAR(50),
|
|
@Inizio DATETIME,
|
|
@Fine DATETIME
|
|
)
|
|
AS
|
|
|
|
SELECT @IdxMacchina AS IdxMacchina, '' AS CodArticolo, GETDATE() as DataOraRif, MAX(TCMedio) AS TCMedio, 0 AS PzProd FROM TempiCicloRilevati
|
|
WHERE IdxMacchina = @IdxMacchina AND
|
|
(DataOraRif >= @Inizio) AND (DataOraRif <= @Fine)
|
|
AND TCMedio > 0
|
|
|
|
RETURN
|
|
go
|
|
|
|
/*************************************
|
|
* STORED PROCEDURE stp_TC_getMedByMacchinaPeriodo
|
|
* recupera tempi ciclo x macchina e periodo
|
|
*
|
|
* modif.: S.E.L. - 2010.12.24
|
|
**************************************/
|
|
create PROCEDURE stp_TC_getMedByMacchinaPeriodo
|
|
(
|
|
@IdxMacchina NVARCHAR(50),
|
|
@Inizio DATETIME,
|
|
@Fine DATETIME
|
|
)
|
|
AS
|
|
|
|
SELECT @IdxMacchina AS IdxMacchina, '' AS CodArticolo, GETDATE() as DataOraRif, SUM(TCMedio * PzProd) / SUM(PzProd) AS TCMedio, 0 AS PzProd FROM TempiCicloRilevati
|
|
WHERE IdxMacchina = @IdxMacchina AND
|
|
(DataOraRif >= @Inizio) AND (DataOraRif <= @Fine)
|
|
AND TCMedio > 0
|
|
|
|
RETURN
|
|
go
|
|
|
|
/*************************************
|
|
* STORED PROCEDURE stp_TC_getMinByMacchinaPeriodo
|
|
* recupera tempi ciclo x macchina e periodo
|
|
*
|
|
* modif.: S.E.L. - 2010.12.15
|
|
**************************************/
|
|
alter PROCEDURE stp_TC_getMinByMacchinaPeriodo
|
|
(
|
|
@IdxMacchina NVARCHAR(50),
|
|
@Inizio DATETIME,
|
|
@Fine DATETIME
|
|
)
|
|
AS
|
|
|
|
SELECT @IdxMacchina AS IdxMacchina, '' AS CodArticolo, GETDATE() as DataOraRif, MIN(TCMedio) AS TCMedio, 0 AS PzProd FROM TempiCicloRilevati
|
|
WHERE IdxMacchina = @IdxMacchina AND
|
|
(DataOraRif >= @Inizio) AND (DataOraRif <= @Fine)
|
|
AND TCMedio > 0
|
|
|
|
RETURN
|
|
go
|
|
|
|
-- =============================================
|
|
-- Author: Samuele E. Locatelli
|
|
-- Create date: 2009-03-04
|
|
-- mod date: 2010-07-14
|
|
--
|
|
-- Description: riallineamento con update massivo dati db
|
|
-- aggiorna i dati nel db per portarli ad essere "odierni" ovvero ultimo evento appena successo
|
|
-- =============================================
|
|
alter PROCEDURE stp_ZZZ_riallineaDateDb
|
|
AS
|
|
|
|
DBCC SHOWCONTIG(EventList)
|
|
DBCC SHOWCONTIG(DiarioDiBordo)
|
|
|
|
EXEC USP_DisableEnableNonClusteredIndexes 'Mapo_ColMecc',null, 1 --disabilito indici
|
|
|
|
|
|
PRINT 'inizio UPDATE tabelle...'
|
|
|
|
DECLARE @lastData AS DATETIME
|
|
DECLARE @diff_min as INT
|
|
|
|
-- calcolo l'ultima data degli eventi
|
|
SET @lastData = (SELECT MAX(InizioStato) AS inizio FROM EventList)
|
|
|
|
-- ora calcolo la differenza tra quello e la data/ora odierna
|
|
SET @diff_min = (SELECT DATEDIFF(n, @lastData, getdate()))
|
|
|
|
-- aggiorno tabelle di conseguenza modificando le date
|
|
|
|
-- aggiorno EventList
|
|
UPDATE EventList SET InizioStato = DATEADD(n, @diff_min, InizioStato)
|
|
|
|
-- aggiorno DiarioDiBordo
|
|
UPDATE DiarioDiBordo SET InizioStato = DATEADD(n, @diff_min, InizioStato),FineStato = DATEADD(n, @diff_min, FineStato)
|
|
|
|
|
|
-- aggiorno StatoMacchine
|
|
UPDATE StatoMacchine SET InizioStato = DATEADD(n, @diff_min, InizioStato)
|
|
|
|
-- aggiorno KeepAlive
|
|
UPDATE KeepAlive SET DataOraServer = DATEADD(n, @diff_min, DataOraServer), DataOraMacchina = DATEADD(n, @diff_min, DataOraMacchina), DataOraStart = DATEADD(n, @diff_min, DataOraStart)
|
|
|
|
-- aggiorno TC teorici
|
|
UPDATE TempiCicloTeorici SET DataOraFrom = DATEADD(n, @diff_min, DataOraFrom), DataOraTo = DATEADD(n, @diff_min, DataOraTo)
|
|
|
|
-- aggiorno TC rilevati
|
|
UPDATE TempiCicloRilevati SET DataOraRif = DATEADD(n, @diff_min, DataOraRif)
|
|
|
|
|
|
PRINT 'concluso UPDATE tabelle...'
|
|
|
|
|
|
DBCC SHOWCONTIG(EventList)
|
|
DBCC SHOWCONTIG(DiarioDiBordo)
|
|
EXEC USP_DisableEnableNonClusteredIndexes 'Mapo_ColMecc',null, 2 --riattivo indici
|
|
|
|
|
|
--ricostruisco indici
|
|
PRINT 'ricostruisco indici...'
|
|
DBCC DBREINDEX(EventList)
|
|
DBCC DBREINDEX(DiarioDiBordo)
|
|
DBCC DBREINDEX(TransizioneIngressi)
|
|
DBCC DBREINDEX(Kanban2ins)
|
|
DBCC DBREINDEX(Kanban)
|
|
DBCC DBREINDEX(AnagraficaOperatori)
|
|
DBCC DBREINDEX(AnagraficaOperatori2ins)
|
|
|
|
DBCC SHOWCONTIG(EventList)
|
|
DBCC SHOWCONTIG(DiarioDiBordo)
|
|
|
|
--shrink del db
|
|
PRINT 'compatto DB...'
|
|
DBCC SHRINKDATABASE (Mapo_ColMecc)
|
|
|
|
|
|
RETURN
|
|
go
|
|
|
|
commit
|
|
go
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- registro versione...
|
|
INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(30, GETDATE())
|
|
GO
|