Files
C2P/C2P_Project/dbo/Stored Procedures/stp_TI_upsert.sql
T
2014-07-18 16:58:50 +02:00

65 lines
1.9 KiB
Transact-SQL

-- =============================================
-- Author: S.E. Locatelli
-- Create date: 2013.12.20
-- Description: Crea TabImb (tabella imballi)
-- NON SERVE PIU' le due tabelle sono state inglobate in Package2/Item/Client
-- =============================================
CREATE PROCEDURE [dbo].[stp_TI_upsert]
(
@dateFrom DATETIME, -- data da cui iniziare a caricare
@dateTo DATETIME -- data fino a cui caricare
)
AS
BEGIN
SET XACT_ABORT ON;
BEGIN TRAN
SET NOCOUNT ON;
-- svuoto tabella...
TRUNCATE TABLE TabImbArt
TRUNCATE TABLE TabImbGrp
-- riempio di nuovo valori x articolo!
INSERT INTO TabImbArt
SELECT
dd.CodItem as KeyA
, ROUND(SUM(QtyOUT* QuotaMan) / CASE WHEN SUM(QtyOUT) = 0 THEN 1 ELSE SUM(QtyOUT) END,0) as NumImb
, SUM(QtyOUT) AS TotOut
, SUM(Duration) AS Durata
FROM ProductionLog pl INNER JOIN DiesDet dd ON pl.CodDies=dd.CodDies
WHERE pl.ProcessNum = '04'
AND pl.okPr = 1 AND pl.okQM = 1
AND pl.EventStart BETWEEN @dateFrom AND @dateTo
GROUP BY dd.CodItem
ORDER BY dd.CodItem
-- riempio di nuovo valori x gruppo imballo!
INSERT INTO TabImbGrp
SELECT
pl.CodPackag
, ROUND(SUM(QtyOUT* QuotaMan) / CASE WHEN SUM(QtyOUT) = 0 THEN 1 ELSE SUM(QtyOUT) END,0) as NumImb
, SUM(QtyOUT) AS TotOut
, SUM(Duration) AS Durata
FROM ProductionLog pl INNER JOIN DiesDet dd ON pl.CodDies=dd.CodDies
WHERE pl.ProcessNum = '04'
AND pl.okPr = 1 AND pl.okQM = 1
AND pl.EventStart BETWEEN @dateFrom AND @dateTo
GROUP BY pl.CodPackag
ORDER BY pl.CodPackag
-- salvo nuova revisione dati di produzione...
INSERT INTO RevHistory
SELECT 'P', ISNULL(MAX(RevNum),0) + 1, GETDATE(), 'Aggiornamento dati di produzione x fase 04 ' + CONVERT(NVARCHAR(20), @dateFrom, 120) + ' --> ' +CONVERT(NVARCHAR(20), @dateTo, 120)
FROM RevHistory
WHERE RevType = 'P'
COMMIT TRAN
END