diff --git a/GMW/GMW/bin/GMW.dll b/GMW/GMW/bin/GMW.dll
index 278bc74f..50d08b90 100644
Binary files a/GMW/GMW/bin/GMW.dll and b/GMW/GMW/bin/GMW.dll differ
diff --git a/GMW/GMW/bin/GMW_data.dll b/GMW/GMW/bin/GMW_data.dll
index bc186127..ac83aad6 100644
Binary files a/GMW/GMW/bin/GMW_data.dll and b/GMW/GMW/bin/GMW_data.dll differ
diff --git a/GMW/GMW/obj/Debug/GMW.dll b/GMW/GMW/obj/Debug/GMW.dll
index 681de4b8..50d08b90 100644
Binary files a/GMW/GMW/obj/Debug/GMW.dll and b/GMW/GMW/obj/Debug/GMW.dll differ
diff --git a/GMW/GMW/obj/Debug/ResolveAssemblyReference.cache b/GMW/GMW/obj/Debug/ResolveAssemblyReference.cache
index 52ab366e..6668378a 100644
Binary files a/GMW/GMW/obj/Debug/ResolveAssemblyReference.cache and b/GMW/GMW/obj/Debug/ResolveAssemblyReference.cache differ
diff --git a/GMW/GMW_data/GMW_data.csproj b/GMW/GMW_data/GMW_data.csproj
index a74145cc..371d3295 100644
--- a/GMW/GMW_data/GMW_data.csproj
+++ b/GMW/GMW_data/GMW_data.csproj
@@ -318,6 +318,8 @@
+
+
diff --git a/GMW/GMW_data/SqlScripts/V2.0/GMW_00451_eventoGian.sql b/GMW/GMW_data/SqlScripts/V2.0/GMW_00451_eventoGian.sql
new file mode 100644
index 00000000..924cb655
--- /dev/null
+++ b/GMW/GMW_data/SqlScripts/V2.0/GMW_00451_eventoGian.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
diff --git a/GMW/GMW_data/SqlScripts/V2.0/GMW_00451_storedGian.sql b/GMW/GMW_data/SqlScripts/V2.0/GMW_00451_storedGian.sql
new file mode 100644
index 00000000..737c46c6
--- /dev/null
+++ b/GMW/GMW_data/SqlScripts/V2.0/GMW_00451_storedGian.sql
@@ -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
diff --git a/GMW/GMW_data/SqlScripts/V2.0/GMW_00452_stored.sql b/GMW/GMW_data/SqlScripts/V2.0/GMW_00452_stored.sql
new file mode 100644
index 00000000..9e74903f
--- /dev/null
+++ b/GMW/GMW_data/SqlScripts/V2.0/GMW_00452_stored.sql
@@ -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
diff --git a/GMW/GMW_data/bin/Debug/GMW_data.dll b/GMW/GMW_data/bin/Debug/GMW_data.dll
index 05072cd4..ac83aad6 100644
Binary files a/GMW/GMW_data/bin/Debug/GMW_data.dll and b/GMW/GMW_data/bin/Debug/GMW_data.dll differ
diff --git a/GMW/GMW_data/obj/Debug/GMW_data.dll b/GMW/GMW_data/obj/Debug/GMW_data.dll
index 05072cd4..ac83aad6 100644
Binary files a/GMW/GMW_data/obj/Debug/GMW_data.dll and b/GMW/GMW_data/obj/Debug/GMW_data.dll differ