Fix stored creazione note MP
git-svn-id: https://keyhammer.ath.cx/svn/GMW/trunk@468 365432ac-a1b5-4ffd-bb28-6d3099d32164
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -318,6 +318,8 @@
|
||||
<None Include="SqlScripts\V1.2\GMW_410_TEKAL\SincVocabolario_TK_409.sql" />
|
||||
<None Include="SqlScripts\V1.2\GMW_440_POST Installazione_SP.sql" />
|
||||
<None Include="SqlScripts\V1.2\GMW_440_POST Installazione_TK.sql" />
|
||||
<None Include="SqlScripts\V2.0\GMW_00451_eventoGian.sql" />
|
||||
<None Include="SqlScripts\V2.0\GMW_00451_storedGian.sql" />
|
||||
<None Include="SqlScripts\V2.0\GMW_00450_dati.sql" />
|
||||
<None Include="SqlScripts\V2.0\GMW_00449_struttura.sql" />
|
||||
<None Include="SqlScripts\Vocabolario\vocab_435.sql" />
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
set xact_abort on
|
||||
go
|
||||
|
||||
begin transaction
|
||||
go
|
||||
|
||||
INSERT INTO dbo.AnagTipoEvento
|
||||
VALUES (N'UDC_MPRQ', N'Modifca UDC MP x Modifica RQ')
|
||||
go
|
||||
|
||||
commit transaction
|
||||
go
|
||||
|
||||
set xact_abort on
|
||||
go
|
||||
|
||||
begin transaction
|
||||
go
|
||||
|
||||
UPDATE dbo.TabSyncMovMag SET
|
||||
codMagExtTo=N'6'
|
||||
WHERE CodCS=N'SP' and CodStatoFrom=N'MP' and CodStatoTo=N'MP' and IdxPosizioneFrom=-6 and IdxPosizioneTo=6
|
||||
UPDATE dbo.TabSyncMovMag SET
|
||||
codMagExtFrom=N'6'
|
||||
WHERE CodCS=N'SP' and CodStatoFrom=N'MP' and CodStatoTo=N'MP' and IdxPosizioneFrom=6 and IdxPosizioneTo=-6
|
||||
INSERT INTO dbo.TabSyncMovMag
|
||||
VALUES (N'SP', N'MP', N'MP-NA', 6, 6, 0, N'6', N'6', NULL, N'Cambio Stato in MP-NA non Accettata')
|
||||
INSERT INTO dbo.TabSyncMovMag
|
||||
VALUES (N'SP', N'MP-NA', N'MP', 6, 6, 0, N'6', N'6', NULL, N'Cambio Stato in MP - Accettata')
|
||||
go
|
||||
|
||||
commit transaction
|
||||
go
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
-- registro versione...
|
||||
INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(451, GETDATE())
|
||||
GO
|
||||
@@ -0,0 +1,224 @@
|
||||
set xact_abort on
|
||||
go
|
||||
|
||||
begin transaction
|
||||
go
|
||||
|
||||
set ANSI_NULLS on
|
||||
go
|
||||
|
||||
/***************************************
|
||||
* STORED stp_batch_RapQual_S02
|
||||
*
|
||||
* Esegue lo step 2 (travaso dati RAW in RilPro) per la tab dei rapporti di qualità
|
||||
*
|
||||
* Steamware, S.E.L.
|
||||
* mod: 2011.11.25
|
||||
*
|
||||
****************************************/
|
||||
alter PROCEDURE BatchQueue.stp_batch_RapQual_S02
|
||||
(
|
||||
@CodMagMpNONacc NVARCHAR(50) = '6666',
|
||||
@CodMagMpAcc NVARCHAR(50) = '6',
|
||||
@CodStatoMpNONacc NVARCHAR(50) = 'MP-NA',
|
||||
@CodStatoMpAcc NVARCHAR(50) = 'MP'
|
||||
)
|
||||
|
||||
AS
|
||||
|
||||
SET XACT_ABORT ON;
|
||||
SET NOCOUNT ON;
|
||||
-- eseguo UPSERT x tutti i dati disponibili in tab Raw...
|
||||
BEGIN TRAN;
|
||||
|
||||
-- ===============================================================================================
|
||||
-- PRIMA DI AGGIORNARE VERIFICO SE CI SONO MODIFICHE DI MP ACCETTATA / NON ACCETTATA
|
||||
-- ===============================================================================================
|
||||
--DECLARE @CodMagMpNONacc AS VARCHAR(50) = '6666' -- Setto il Magazzino per MP NON ACCETTATA
|
||||
--DECLARE @CodMagMpAcc AS VARCHAR(50) = '6' -- Setto il Magazzino per MP ACCETTATA
|
||||
|
||||
DECLARE @CellaOK AS INT
|
||||
DECLARE @MagAccOK AS INT
|
||||
DECLARE @MagNNAccOK AS INT
|
||||
DECLARE @CodEven AS NVARCHAR(10) = 'UDC_MPRQ';
|
||||
|
||||
-- ===============================================================================================
|
||||
-- SPOSTAMENTO DI MAGAZZINO DELLA MP che da ACCETTATA diventa NON ACCETTATA
|
||||
-- ===============================================================================================
|
||||
-- Controllo che il magazzino dest. NON ACCETTATA sia a cella singola( a terra ), attivo e non pieno
|
||||
SELECT @MagAccOK = COUNT(*) FROM dbo.Celle AS c INNER JOIN Blocchi b ON c.IdxBlocco=b.IdxBlocco
|
||||
WHERE b.CodMag = @CodMagMpNONacc AND c.Attiva = 1 AND c.Piena = 0
|
||||
|
||||
IF @MagAccOK = 1 -- Se mag. NON ACCETTATA è OK
|
||||
BEGIN
|
||||
-- Vado a leggere la cella corretta
|
||||
SELECT @CellaOK = c.IdxCella FROM Celle AS c INNER JOIN Blocchi b ON c.IdxBlocco=b.IdxBlocco
|
||||
WHERE b.CodMag = @CodMagMpNONacc AND c.Attiva = 1 AND c.Piena = 0
|
||||
|
||||
-- Se ci sono cartellini di materia prima che sono passati da accettati a non accettati li sposto
|
||||
UPDATE dbo.PosizioneUdcCorrente
|
||||
SET IdxCella = @CellaOK,
|
||||
DataRif = GETDATE()
|
||||
FROM dbo.PosizioneUdcCorrente AS po
|
||||
INNER JOIN RilPro.RapQual rq
|
||||
ON rq.UDC = po.UDC
|
||||
INNER JOIN RawData.XOGIX00F u
|
||||
ON u.XNRETI = rq.ProgUDC
|
||||
INNER JOIN dbo.ElencoCartellini AS el
|
||||
ON rq.UDC = el.UDC
|
||||
INNER JOIN Celle c
|
||||
ON po.IdxCella=c.IdxCella
|
||||
INNER JOIN Blocchi b
|
||||
ON c.IdxBlocco=b.IdxBlocco
|
||||
WHERE ( rq.BenesQual = 'S' AND u.XBENQL = 'N' ) -- da Accettata a NON accettata
|
||||
AND XMATSC = 'N' -- solo Lega non ancora Scaricata
|
||||
AND b.CodMag <> @CodMagMpNONacc -- Che non è in Magazzino NON Accettati
|
||||
|
||||
UPDATE dbo.ElencoCartellini
|
||||
SET CodStato = @CodStatoMpNONacc,
|
||||
CodEvento= @CodEven,
|
||||
ModDate = GETDATE()
|
||||
|
||||
FROM dbo.ElencoCartellini AS el
|
||||
INNER JOIN RilPro.RapQual rq
|
||||
ON rq.UDC = el.UDC
|
||||
INNER JOIN RawData.XOGIX00F u
|
||||
ON u.XNRETI = rq.ProgUDC
|
||||
WHERE ( rq.BenesQual = 'S' AND u.XBENQL = 'N' ) -- da Accettata a NON accettata
|
||||
AND XMATSC = 'N' -- solo Lega non ancora Scaricata
|
||||
AND el.CodStato = @CodStatoMpAcc -- Modifico solo UDC in stato 'MP' (accettata)
|
||||
AND el.IdxPosizione = 6 -- Modifico solo se cartellini non scaricati Mod. 2012-05
|
||||
END
|
||||
|
||||
-- ===============================================================================================
|
||||
-- SPOSTAMENTO DI MAGAZZINO DELLA MP che da NON ACCETTATA diventa ACCETTATA
|
||||
-- ===============================================================================================
|
||||
-- Controllo che il magazzino dest. ACCETTATA sia a cella singola( a terra ), attivo e non pieno
|
||||
SELECT @MagNNAccOK = COUNT(*) FROM dbo.Celle AS c INNER JOIN Blocchi b ON c.IdxBlocco=b.IdxBlocco
|
||||
WHERE b.CodMag = @CodMagMpAcc AND c.Attiva = 1 AND c.Piena = 0
|
||||
|
||||
IF @MagNNAccOK = 1 -- Se mag. ACCETTATA è OK
|
||||
BEGIN
|
||||
-- Vado a leggere la cella corretta
|
||||
SELECT @CellaOK = c.IdxCella FROM Celle AS c INNER JOIN Blocchi b ON c.IdxBlocco=b.IdxBlocco
|
||||
WHERE b.CodMag = @CodMagMpAcc AND c.Attiva = 1 AND c.Piena = 0
|
||||
|
||||
-- Se ci sono cartellini di materia prima che sono passati da accettati a non accettati li sposto
|
||||
UPDATE dbo.PosizioneUdcCorrente
|
||||
SET IdxCella = @CellaOK,
|
||||
DataRif = GETDATE()
|
||||
FROM dbo.PosizioneUdcCorrente AS po
|
||||
INNER JOIN RilPro.RapQual rq
|
||||
ON rq.UDC = po.UDC
|
||||
INNER JOIN RawData.XOGIX00F u
|
||||
ON u.XNRETI = rq.ProgUDC
|
||||
INNER JOIN dbo.ElencoCartellini AS el
|
||||
ON rq.UDC = el.UDC
|
||||
INNER JOIN Celle c
|
||||
ON po.IdxCella=c.IdxCella
|
||||
INNER JOIN Blocchi b
|
||||
ON c.IdxBlocco=b.IdxBlocco
|
||||
WHERE ( rq.BenesQual = 'N' AND u.XBENQL = 'S' ) -- da NON Accettata ad Accettata
|
||||
AND XMATSC = 'N' -- solo Lega non ancora Scaricata
|
||||
AND b.CodMag <> @CodMagMpAcc -- Modifico solo UDC in stato MP non Accettata
|
||||
|
||||
UPDATE dbo.ElencoCartellini
|
||||
SET CodStato = @CodStatoMpAcc,
|
||||
CodEvento= @CodEven,
|
||||
ModDate = GETDATE()
|
||||
FROM dbo.ElencoCartellini AS el
|
||||
INNER JOIN RilPro.RapQual rq
|
||||
ON rq.UDC = el.UDC
|
||||
INNER JOIN RawData.XOGIX00F u
|
||||
ON u.XNRETI = rq.ProgUDC
|
||||
WHERE ( rq.BenesQual = 'N' AND u.XBENQL = 'S' ) -- da NON Accettata ad Accettata
|
||||
AND XMATSC = 'N' -- solo Lega non ancora Scaricata
|
||||
AND el.CodStato = @CodStatoMpNONacc -- Che ha è in stato MP NON accettata
|
||||
AND el.IdxPosizione = 6 -- Modifico solo se cartellini non scaricati Mod. 2012-05
|
||||
END
|
||||
|
||||
-- ===============================================================================================
|
||||
-- ADESSO POSSO FARE UPDATE DI RilPro.RapQual
|
||||
-- ===============================================================================================
|
||||
-- se il dato esiste faccio UPDATE!!!
|
||||
UPDATE RilPro.RapQual
|
||||
SET CodFor = RTRIM(u.XCDFOR),
|
||||
DestTerz = RTRIM(u.XCDTER),
|
||||
CodLega = RTRIM(u.XCDPAR),
|
||||
-- DataPrelFus = u.XDTPRO,
|
||||
-- TurnoPrelFus = u.XTRPRO, -- non lo aggiorno perchè in AS400 è blank nel caso di consumo verso terzista e quindi lo perderei
|
||||
Qta = u.XQTPRO, -- non lo aggiorno x non perdere il mio dato di scaricamento
|
||||
DestLega = RTRIM(u.XDESMT),
|
||||
LegaScaric = u.XMATSC,
|
||||
BenesQual = u.XBENQL
|
||||
FROM RilPro.RapQual rq
|
||||
INNER JOIN RawData.XOGIX00F u ON u.XNRETI = rq.ProgUDC; -- AND u.XRPQLN = rq.nRapQual AND u.XRPQLD = rq.DataRapQual; -- se XNRETI è univoco ...
|
||||
|
||||
-- verifico che non ci siano cartellini scaricati in AS400 e non sul mio sistema...
|
||||
UPDATE RilPro.RapQual
|
||||
SET CodFor = RTRIM(u.XCDFOR),
|
||||
DestTerz = RTRIM(u.XCDTER),
|
||||
CodLega = RTRIM(u.XCDPAR),
|
||||
DataPrelFus = u.XDTPRO,
|
||||
TurnoPrelFus = RTRIM(u.XTRPRO),
|
||||
Qta = u.XQTPRO,
|
||||
DestLega = RTRIM(u.XDESMT),
|
||||
LegaScaric = u.XMATSC,
|
||||
BenesQual = u.XBENQL
|
||||
FROM RilPro.RapQual rq
|
||||
INNER JOIN RawData.XOGIX00F u ON u.XNRETI = rq.ProgUDC
|
||||
WHERE rq.DataPrelFus = 0 AND u.XDTPRO > 0;
|
||||
|
||||
-- creo tab temporanea x i dati inesistenti...
|
||||
WITH cteInsert AS
|
||||
(SELECT x.*
|
||||
FROM RawData.XOGIX00F x LEFT OUTER JOIN RilPro.RapQual rq
|
||||
ON x.XNRETI = rq.ProgUDC -- AND u.XRPQLN = rq.nRapQual AND u.XRPQLD = rq.DataRapQual; -- se XNRETI è univoco ...
|
||||
WHERE rq.ProgUDC IS NULL )
|
||||
|
||||
-- se il dato non c'è faccio INSERT!!!
|
||||
INSERT INTO RilPro.RapQual(nRapQual, DataRapQual, ProgUDC, CodFor, DestTerz, CodLega, DataPrelFus, TurnoPrelFus, Qta, DestLega, LegaScaric, BenesQual)
|
||||
SELECT XRPQLN AS nRapQual,
|
||||
XRPQLD AS DataRapQual,
|
||||
RTRIM(XNRETI) AS ProgUDC,
|
||||
RTRIM(XCDFOR) AS CodFor,
|
||||
RTRIM(XCDTER) AS DestTerz,
|
||||
RTRIM(XCDPAR) AS CodLega,
|
||||
XDTPRO AS DataPrelFus,
|
||||
RTRIM(XTRPRO) AS TurnoPrelFus,
|
||||
XQTPRO AS Qta,
|
||||
RTRIM(XDESMT) AS DestLega,
|
||||
XMATSC AS LegaScaric,
|
||||
XBENQL AS BenesQual
|
||||
FROM cteInsert
|
||||
|
||||
-- ===============================================================================================
|
||||
-- DOPO UPDATE aggiorno la QTA nei Cartellini GMW se diversi da quelli in RilPro.RapQual ( AS400 )
|
||||
-- ===============================================================================================
|
||||
UPDATE e
|
||||
SET
|
||||
e.Qta = r.Qta
|
||||
,e.PesoTot = r.Qta
|
||||
,CodEvento= @CodEven
|
||||
,ModDate = GETDATE() -- memorizzo la modifica
|
||||
-- OUTPUT deleted.* INTO dbo.ElencoCartellini_Copy -- deve essere già presente
|
||||
FROM RilPro.RapQual AS r
|
||||
INNER JOIN dbo.ElencoCartellini AS e
|
||||
ON e.UDC = r.UDC
|
||||
WHERE ( r.Qta <> e.Qta ) -- Solo se la quantità è diversa
|
||||
|
||||
COMMIT TRAN;
|
||||
|
||||
RETURN
|
||||
go
|
||||
|
||||
commit
|
||||
go
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
-- registro versione...
|
||||
INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(451, GETDATE())
|
||||
GO
|
||||
@@ -0,0 +1,48 @@
|
||||
set xact_abort on
|
||||
go
|
||||
|
||||
begin transaction
|
||||
go
|
||||
|
||||
set ANSI_NULLS on
|
||||
go
|
||||
|
||||
/*****************************************
|
||||
* STORED stp_UDC_updateNoteByRQ
|
||||
*
|
||||
* Aggiorna note UDC dato il rapp di qualità cui sono legate
|
||||
*
|
||||
* Steamware, S.E.L.
|
||||
* mod: 2012.02.14
|
||||
*
|
||||
****************************************/
|
||||
alter PROCEDURE stp_UDC_updateNoteByRQ
|
||||
(
|
||||
@nRapQual NUMERIC(6,0),
|
||||
@note NVARCHAR(500)
|
||||
)
|
||||
AS
|
||||
|
||||
UPDATE ElencoCartellini
|
||||
SET note = @note
|
||||
,ModDate=GETDATE(),
|
||||
CodEvento = 'UDC_RDQ'
|
||||
FROM ElencoCartellini AS ec INNER JOIN v_RapQualNote AS rq ON ec.UDC = rq.UDC
|
||||
WHERE (rq.nRapQual = @nRapQual) AND ec.note <> @note
|
||||
|
||||
RETURN
|
||||
go
|
||||
|
||||
commit
|
||||
go
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
-- registro versione...
|
||||
INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(452, GETDATE())
|
||||
GO
|
||||
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user