spostamento update SQL
This commit is contained in:
@@ -0,0 +1,100 @@
|
||||
set xact_abort on;
|
||||
go
|
||||
|
||||
begin transaction;
|
||||
go
|
||||
|
||||
set ANSI_NULLS on;
|
||||
go
|
||||
|
||||
/*************************************
|
||||
* STORED PROCEDURE stp_repDonati_getDatiProdMacchina
|
||||
* restituisce i dati di produzione di una macchina
|
||||
*
|
||||
* modif.: S.E.L. - 2012.03.08
|
||||
**************************************/
|
||||
alter PROCEDURE stp_repDonati_getDatiProdMacchina
|
||||
(
|
||||
@idxMacchina NVARCHAR(50)
|
||||
)
|
||||
AS
|
||||
|
||||
-- calcolo codice articolo
|
||||
DECLARE @CodArticolo NVARCHAR (50)
|
||||
SET @CodArticolo = (
|
||||
SELECT CodArticolo FROM Kanban k
|
||||
INNER JOIN StatoMacchine sm ON k.MatricolaKanban=sm.MatricolaKanban
|
||||
WHERE sm.IdxMacchina = @idxMacchina
|
||||
)
|
||||
-- calcolo il codice operatore
|
||||
DECLARE @CodOperatore INT
|
||||
SET @CodOperatore = (
|
||||
SELECT MatrOpr FROM StatoMacchine
|
||||
WHERE IdxMacchina = @idxMacchina
|
||||
)
|
||||
-- calcolo il codice ODL
|
||||
DECLARE @idxODL INT
|
||||
SET @idxODL = (
|
||||
SELECT idxODL FROM ODL
|
||||
WHERE CodArticolo = @CodArticolo AND IdxMacchina = @idxMacchina AND (ISNULL(DataFine,DATEADD(hh,1,GETDATE())) > GETDATE())
|
||||
)
|
||||
|
||||
|
||||
DECLARE @PezziConf INT
|
||||
SET @PezziConf = (
|
||||
SELECT ISNULL(SUM(TotPzProd),0) FROM DatiConfermati
|
||||
WHERE idxODL = @idxOdl
|
||||
)
|
||||
|
||||
DECLARE @PezziLanciati INT
|
||||
SET @PezziLanciati =(
|
||||
SELECT ISNULL(SUM(NumPezzi),0) FROM ODL
|
||||
WHERE idxODL = @idxOdl
|
||||
)
|
||||
|
||||
DECLARE @TCAss DECIMAL(18,8)
|
||||
SET @TCAss = (
|
||||
SELECT ISNULL(SUM(TCAssegnato),0) FROM ODL
|
||||
WHERE idxODL = @idxOdl
|
||||
)
|
||||
|
||||
-- dato l'ODL calcolo il TC Medio ed i pezzi prodotti per l'ODL
|
||||
DECLARE @inizioOdl DATETIME
|
||||
SET @inizioOdl = (
|
||||
SELECT DataInizio FROM ODL
|
||||
WHERE idxODL = @idxOdl
|
||||
)
|
||||
|
||||
DECLARE @PezziProd INT
|
||||
SET @PezziProd = (
|
||||
SELECT COUNT(*) FROM TempiCicloRilevati
|
||||
WHERE DataOraRif >= @inizioOdl
|
||||
AND TCMedio < 3 * @TCAss
|
||||
)
|
||||
|
||||
DECLARE @TCMed DECIMAL(18,8)
|
||||
SET @TCMed = (
|
||||
SELECT SUM(TCMedio)/@PezziProd FROM TempiCicloRilevati
|
||||
WHERE DataOraRif >= @inizioOdl
|
||||
AND TCMedio < 3 * @TCAss
|
||||
)
|
||||
|
||||
|
||||
SELECT @CodArticolo as CodArticolo, @PezziLanciati as PezziLanciati, @PezziProd as PezziProd, @PezziConf as PezziConf, @TCAss AS TCAssegnato, @TCMed AS TCMedio, @CodOperatore AS CodOperatore
|
||||
|
||||
|
||||
RETURN
|
||||
go
|
||||
|
||||
commit;
|
||||
go
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
-- registro versione...
|
||||
INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(305, GETDATE())
|
||||
GO
|
||||
Reference in New Issue
Block a user