diff --git a/GMW/GMW/Web.config b/GMW/GMW/Web.config
index 62bed826..4a378813 100644
--- a/GMW/GMW/Web.config
+++ b/GMW/GMW/Web.config
@@ -184,7 +184,7 @@
-
+
diff --git a/GMW/GMW/WebUserControls/mod_anagBlocchi.ascx b/GMW/GMW/WebUserControls/mod_anagBlocchi.ascx
index b800a8f0..9caa5647 100644
--- a/GMW/GMW/WebUserControls/mod_anagBlocchi.ascx
+++ b/GMW/GMW/WebUserControls/mod_anagBlocchi.ascx
@@ -46,7 +46,7 @@
@@ -127,7 +127,7 @@
diff --git a/GMW/GMW/WebUserControls/mod_anagBlocchi.ascx.designer.cs b/GMW/GMW/WebUserControls/mod_anagBlocchi.ascx.designer.cs
index e04e0376..61de8f28 100644
--- a/GMW/GMW/WebUserControls/mod_anagBlocchi.ascx.designer.cs
+++ b/GMW/GMW/WebUserControls/mod_anagBlocchi.ascx.designer.cs
@@ -1,7 +1,7 @@
//------------------------------------------------------------------------------
//
// This code was generated by a tool.
-// Runtime Version:2.0.50727.4927
+// Runtime Version:2.0.50727.4963
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
diff --git a/GMW/GMW/WebUserControls/mod_anagCelle.ascx b/GMW/GMW/WebUserControls/mod_anagCelle.ascx
index 669f0657..7e422d08 100644
--- a/GMW/GMW/WebUserControls/mod_anagCelle.ascx
+++ b/GMW/GMW/WebUserControls/mod_anagCelle.ascx
@@ -59,7 +59,7 @@
@@ -190,7 +190,7 @@
diff --git a/GMW/GMW/WebUserControls/mod_anagCelle.ascx.designer.cs b/GMW/GMW/WebUserControls/mod_anagCelle.ascx.designer.cs
index f46fb662..02a4a48d 100644
--- a/GMW/GMW/WebUserControls/mod_anagCelle.ascx.designer.cs
+++ b/GMW/GMW/WebUserControls/mod_anagCelle.ascx.designer.cs
@@ -1,7 +1,7 @@
//------------------------------------------------------------------------------
//
// This code was generated by a tool.
-// Runtime Version:2.0.50727.4927
+// Runtime Version:2.0.50727.4963
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
diff --git a/GMW/GMW/WebUserControls/mod_anagMagazzini.ascx b/GMW/GMW/WebUserControls/mod_anagMagazzini.ascx
index 43054d5c..e0c53e9f 100644
--- a/GMW/GMW/WebUserControls/mod_anagMagazzini.ascx
+++ b/GMW/GMW/WebUserControls/mod_anagMagazzini.ascx
@@ -35,7 +35,7 @@
@@ -94,7 +94,7 @@
diff --git a/GMW/GMW/WebUserControls/mod_anagMagazzini.ascx.designer.cs b/GMW/GMW/WebUserControls/mod_anagMagazzini.ascx.designer.cs
index 244c1e65..bbaafc50 100644
--- a/GMW/GMW/WebUserControls/mod_anagMagazzini.ascx.designer.cs
+++ b/GMW/GMW/WebUserControls/mod_anagMagazzini.ascx.designer.cs
@@ -1,7 +1,7 @@
//------------------------------------------------------------------------------
//
// This code was generated by a tool.
-// Runtime Version:2.0.50727.4927
+// Runtime Version:2.0.50727.4963
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
diff --git a/GMW/GMW/WebUserControls/mod_tipoCella.ascx b/GMW/GMW/WebUserControls/mod_tipoCella.ascx
index 6a1feb0f..23f9a7a7 100644
--- a/GMW/GMW/WebUserControls/mod_tipoCella.ascx
+++ b/GMW/GMW/WebUserControls/mod_tipoCella.ascx
@@ -40,7 +40,7 @@
@@ -171,7 +171,7 @@
diff --git a/GMW/GMW/WebUserControls/mod_tipoCella.ascx.designer.cs b/GMW/GMW/WebUserControls/mod_tipoCella.ascx.designer.cs
index 44840e15..a9571017 100644
--- a/GMW/GMW/WebUserControls/mod_tipoCella.ascx.designer.cs
+++ b/GMW/GMW/WebUserControls/mod_tipoCella.ascx.designer.cs
@@ -1,7 +1,7 @@
//------------------------------------------------------------------------------
//
// This code was generated by a tool.
-// Runtime Version:2.0.50727.4927
+// Runtime Version:2.0.50727.4963
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
diff --git a/GMW/GMW/bin/GMW.dll b/GMW/GMW/bin/GMW.dll
index 31cc6bdd..80f90e99 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 bc5bc0a5..2d1f1686 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/Release/GMW.dll b/GMW/GMW/obj/Release/GMW.dll
index 31cc6bdd..80f90e99 100644
Binary files a/GMW/GMW/obj/Release/GMW.dll and b/GMW/GMW/obj/Release/GMW.dll differ
diff --git a/GMW/GMW/obj/Release/ResolveAssemblyReference.cache b/GMW/GMW/obj/Release/ResolveAssemblyReference.cache
index 44daf2bf..f1a2d18d 100644
Binary files a/GMW/GMW/obj/Release/ResolveAssemblyReference.cache and b/GMW/GMW/obj/Release/ResolveAssemblyReference.cache differ
diff --git a/GMW/GMW_data/GMW_data.csproj b/GMW/GMW_data/GMW_data.csproj
index 10606d67..a42ed46c 100644
--- a/GMW/GMW_data/GMW_data.csproj
+++ b/GMW/GMW_data/GMW_data.csproj
@@ -191,70 +191,73 @@
SettingsSingleFileGenerator
Settings.Designer.cs
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
80
+SET @IdxCella= (SELECT IdxCella FROM Celle c INNER JOIN Blocchi b ON c.IdxBlocco=b.IdxBlocco WHERE CodMag='80')
+
+insert into PosizioneUdcCorrente
+select ec.UDC, @IdxCella as idxCella, 'MA' as codCS, GETDATE() as datarif
+from ElencoCartellini ec
+left outer join PosizioneUdcCorrente puc on ec.UDC= puc.UDC
+where puc.IdxCella is null and IdxPosizione=0
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+alter VIEW v_UdcDetail
+AS
+SELECT dbo.ElencoCartellini.UDC, dbo.ElencoCartellini.RagSociale, dbo.ElencoCartellini.Particolare, dbo.ElencoCartellini.DescParticolare,
+ dbo.ElencoCartellini.DisegnoGrezzo, dbo.ElencoCartellini.Esponente, dbo.ElencoCartellini.DescImpianto, dbo.ElencoCartellini.DataFus,
+ dbo.ElencoCartellini.TurnoFus, dbo.ElencoCartellini.CodImballo, dbo.ElencoCartellini.Qta, dbo.AnagStatiProdotto.DescStato, dbo.ElencoCartellini.ModDate,
+ ISNULL(dbo.Blocchi.CodMag, N'') AS CodMag, ISNULL(dbo.Blocchi.CodBlocco, N'') AS CodBlocco, ISNULL(dbo.Celle.CodCella, N'') AS CodCella,
+ ISNULL(dbo.Celle.IdxCella, 0) AS IdxCella, ISNULL(dbo.Celle.X, 0) AS X, ISNULL(dbo.Celle.Y, 0) AS Y, ISNULL(dbo.Celle.Z, 0) AS Z,
+ dbo.ElencoCartellini.IdxPosizione
+FROM dbo.AnagStatiProdotto RIGHT OUTER JOIN
+ dbo.ElencoCartellini ON dbo.AnagStatiProdotto.CodStato = dbo.ElencoCartellini.CodStato AND
+ dbo.AnagStatiProdotto.CodStato = dbo.ElencoCartellini.CodStato LEFT OUTER JOIN
+ dbo.Celle INNER JOIN
+ dbo.PosizioneUdcCorrente ON dbo.Celle.IdxCella = dbo.PosizioneUdcCorrente.IdxCella AND dbo.Celle.IdxCella = dbo.PosizioneUdcCorrente.IdxCella AND
+ dbo.Celle.IdxCella = dbo.PosizioneUdcCorrente.IdxCella INNER JOIN
+ dbo.Blocchi ON dbo.Celle.IdxBlocco = dbo.Blocchi.IdxBlocco INNER JOIN
+ dbo.AnagMag ON dbo.Blocchi.CodMag = dbo.AnagMag.CodMag AND dbo.Blocchi.CodCS = dbo.AnagMag.CodCS AND
+ dbo.Blocchi.CodMag = dbo.AnagMag.CodMag AND dbo.Blocchi.CodCS = dbo.AnagMag.CodCS AND dbo.Blocchi.CodMag = dbo.AnagMag.CodMag AND
+ dbo.Blocchi.CodCS = dbo.AnagMag.CodCS ON dbo.ElencoCartellini.UDC = dbo.PosizioneUdcCorrente.UDC
+go
+
+exec sp_updateextendedproperty 'MS_DiagramPane1', '[0E232FF0-B466-11cf-A24F-00AA00A3EFFF, 1.00]
+Begin DesignProperties =
+ Begin PaneConfigurations =
+ Begin PaneConfiguration = 0
+ NumPanes = 4
+ Configuration = "(H (1[40] 4[20] 2[20] 3) )"
+ End
+ Begin PaneConfiguration = 1
+ NumPanes = 3
+ Configuration = "(H (1 [50] 4 [25] 3))"
+ End
+ Begin PaneConfiguration = 2
+ NumPanes = 3
+ Configuration = "(H (1 [50] 2 [25] 3))"
+ End
+ Begin PaneConfiguration = 3
+ NumPanes = 3
+ Configuration = "(H (4 [30] 2 [40] 3))"
+ End
+ Begin PaneConfiguration = 4
+ NumPanes = 2
+ Configuration = "(H (1 [56] 3))"
+ End
+ Begin PaneConfiguration = 5
+ NumPanes = 2
+ Configuration = "(H (2 [66] 3))"
+ End
+ Begin PaneConfiguration = 6
+ NumPanes = 2
+ Configuration = "(H (4 [50] 3))"
+ End
+ Begin PaneConfiguration = 7
+ NumPanes = 1
+ Configuration = "(V (3))"
+ End
+ Begin PaneConfiguration = 8
+ NumPanes = 3
+ Configuration = "(H (1[56] 4[18] 2) )"
+ End
+ Begin PaneConfiguration = 9
+ NumPanes = 2
+ Configuration = "(H (1 [75] 4))"
+ End
+ Begin PaneConfiguration = 10
+ NumPanes = 2
+ Configuration = "(H (1[66] 2) )"
+ End
+ Begin PaneConfiguration = 11
+ NumPanes = 2
+ Configuration = "(H (4 [60] 2))"
+ End
+ Begin PaneConfiguration = 12
+ NumPanes = 1
+ Configuration = "(H (1) )"
+ End
+ Begin PaneConfiguration = 13
+ NumPanes = 1
+ Configuration = "(V (4))"
+ End
+ Begin PaneConfiguration = 14
+ NumPanes = 1
+ Configuration = "(V (2))"
+ End
+ ActivePaneConfig = 0
+ End
+ Begin DiagramPane =
+ Begin Origin =
+ Top = 0
+ Left = 0
+ End
+ Begin Tables =
+ Begin Table = "AnagStatiProdotto"
+ Begin Extent =
+ Top = 6
+ Left = 38
+ Bottom = 101
+ Right = 208
+ End
+ DisplayFlags = 280
+ TopColumn = 0
+ End
+ Begin Table = "ElencoCartellini"
+ Begin Extent =
+ Top = 6
+ Left = 246
+ Bottom = 309
+ Right = 416
+ End
+ DisplayFlags = 280
+ TopColumn = 11
+ End
+ Begin Table = "Celle"
+ Begin Extent =
+ Top = 27
+ Left = 818
+ Bottom = 156
+ Right = 988
+ End
+ DisplayFlags = 280
+ TopColumn = 0
+ End
+ Begin Table = "PosizioneUdcCorrente"
+ Begin Extent =
+ Top = 71
+ Left = 548
+ Bottom = 200
+ Right = 718
+ End
+ DisplayFlags = 280
+ TopColumn = 0
+ End
+ Begin Table = "Blocchi"
+ Begin Extent =
+ Top = 70
+ Left = 1080
+ Bottom = 199
+ Right = 1250
+ End
+ DisplayFlags = 280
+ TopColumn = 0
+ End
+ Begin Table = "AnagMag"
+ Begin Extent =
+ Top = 188
+ Left = 799
+ Bottom = 334
+ Right = 969
+ End
+ DisplayFlags = 280
+ TopColumn = 0
+ End
+ End
+ End
+ Begin SQLPane =
+ End
+ Begin DataPane =
+ Begin ParameterDefaults = ""
+ End
+ Begin ColumnWidths = 21
+ Width = 284
+ Width = 15', 'SCHEMA', 'dbo', 'VIEW', 'v_UdcDetail'
+go
+
+exec sp_updateextendedproperty 'MS_DiagramPane2', '00
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ End
+ End
+ Begin CriteriaPane =
+ Begin ColumnWidths = 11
+ Column = 1440
+ Alias = 900
+ Table = 1170
+ Output = 720
+ Append = 1400
+ NewValue = 1170
+ SortType = 1350
+ SortOrder = 1410
+ GroupBy = 1350
+ Filter = 1350
+ Or = 1350
+ Or = 1350
+ Or = 1350
+ End
+ End
+End
+', 'SCHEMA', 'dbo', 'VIEW', 'v_UdcDetail'
+go
+
+commit
+go
+
+
+--
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_getUdcDetailFullCode
+*
+* ottiene l'elenco degli UDC con i dati significativi partendo da un codice UDC COMPLETO
+*
+* Steamware, S.E.L.
+* mod: 2010.05.24
+*
+****************************************/
+alter PROCEDURE stp_getUdcDetailFullCode
+(
+ @UDC VARCHAR(50),
+ @CodCS VARCHAR(2)
+)
+AS
+
+SELECT ElencoCartellini.UDC, ElencoCartellini.RagSociale, ElencoCartellini.Particolare, ElencoCartellini.DescParticolare, ElencoCartellini.DisegnoGrezzo,
+ ElencoCartellini.Esponente, ElencoCartellini.DescImpianto, ElencoCartellini.DataFus, ElencoCartellini.TurnoFus, ElencoCartellini.CodImballo,
+ ElencoCartellini.Qta, AnagStatiProdotto.DescStato, ElencoCartellini.ModDate, ISNULL(Blocchi.CodMag, N'') AS CodMag,
+ ISNULL(Blocchi.CodBlocco, N'') AS CodBlocco, ISNULL(Celle.CodCella, N'') AS CodCella, ISNULL(dbo.Celle.IdxCella, 0) AS IdxCella,
+ ISNULL(Celle.X, 0) AS X, ISNULL(Celle.Y, 0) AS Y, ISNULL(Celle.Z, 0) AS Z, ElencoCartellini.IdxPosizione
+FROM AnagStatiProdotto RIGHT OUTER JOIN
+ ElencoCartellini ON AnagStatiProdotto.CodStato = ElencoCartellini.CodStato AND AnagStatiProdotto.CodStato = ElencoCartellini.CodStato
+ LEFT OUTER JOIN Celle INNER JOIN PosizioneUdcCorrente ON Celle.IdxCella = PosizioneUdcCorrente.IdxCella
+ AND Celle.IdxCella = PosizioneUdcCorrente.IdxCella AND Celle.IdxCella = PosizioneUdcCorrente.IdxCella
+ INNER JOIN Blocchi ON Celle.IdxBlocco = Blocchi.IdxBlocco INNER JOIN AnagMag ON Blocchi.CodMag = AnagMag.CodMag
+ AND Blocchi.CodCS = AnagMag.CodCS AND Blocchi.CodMag = AnagMag.CodMag AND Blocchi.CodCS = AnagMag.CodCS AND Blocchi.CodMag = AnagMag.CodMag
+ AND Blocchi.CodCS = AnagMag.CodCS ON ElencoCartellini.UDC = PosizioneUdcCorrente.UDC
+WHERE (ElencoCartellini.UDC = @UDC) AND (ElencoCartellini.CodCS = @CodCS)
+
+RETURN
+go
+
+commit
+go
+
+
+--
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_getUdcDetailFullCode
+*
+* ottiene l'elenco degli UDC con i dati significativi partendo da un valore da cercare come LIKE in
+* - UDC
+* - Particolare
+*
+* Steamware, S.E.L.
+* mod: 2010.05.24
+*
+****************************************/
+alter PROCEDURE stp_getUdcDetailLikeSearch
+(
+ @searchVal VARCHAR(50),
+ @CodCS VARCHAR(2)
+)
+AS
+
+SELECT ElencoCartellini.UDC, ElencoCartellini.RagSociale, ElencoCartellini.Particolare, ElencoCartellini.DescParticolare,
+ ElencoCartellini.DisegnoGrezzo, ElencoCartellini.Esponente, ElencoCartellini.DescImpianto, ElencoCartellini.DataFus,
+ ElencoCartellini.TurnoFus, ElencoCartellini.CodImballo, ElencoCartellini.Qta, AnagStatiProdotto.DescStato, ElencoCartellini.ModDate,
+ ISNULL(Blocchi.CodMag, N'') AS CodMag, ISNULL(Blocchi.CodBlocco, N'') AS CodBlocco, ISNULL(Celle.CodCella, N'') AS CodCella,
+ ISNULL(dbo.Celle.IdxCella, 0) AS IdxCella, ISNULL(Celle.X, 0) AS X, ISNULL(Celle.Y, 0) AS Y, ISNULL(Celle.Z, 0) AS Z, ElencoCartellini.IdxPosizione
+FROM AnagStatiProdotto RIGHT OUTER JOIN ElencoCartellini
+ ON AnagStatiProdotto.CodStato = ElencoCartellini.CodStato AND AnagStatiProdotto.CodStato = ElencoCartellini.CodStato
+ LEFT OUTER JOIN Celle INNER JOIN PosizioneUdcCorrente
+ ON Celle.IdxCella = PosizioneUdcCorrente.IdxCella AND Celle.IdxCella = PosizioneUdcCorrente.IdxCella AND
+ Celle.IdxCella = PosizioneUdcCorrente.IdxCella INNER JOIN
+ Blocchi ON Celle.IdxBlocco = Blocchi.IdxBlocco INNER JOIN
+ AnagMag ON Blocchi.CodMag = AnagMag.CodMag AND Blocchi.CodCS = AnagMag.CodCS AND Blocchi.CodMag = AnagMag.CodMag AND
+ Blocchi.CodCS = AnagMag.CodCS AND Blocchi.CodMag = AnagMag.CodMag AND Blocchi.CodCS = AnagMag.CodCS ON
+ ElencoCartellini.UDC = PosizioneUdcCorrente.UDC
+WHERE (ElencoCartellini.CodCS = @CodCS) AND
+ ((ElencoCartellini.UDC like '%'+ @searchVal+'%') OR (ElencoCartellini.Particolare like '%'+ @searchVal+'%') OR
+ (ElencoCartellini.RagSociale like '%'+ @searchVal+'%'))
+
+RETURN
+go
+
+commit
+go
+
+
+--
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_UdcDetailGetByIdxBlocco
+*
+* ottiene l'elenco degli UDC con dettaglio posizioni OCCUPATE associati ad un dato blocco di magazzino
+*
+* Steamware, S.E.L.
+* mod: 2010.07.19
+*
+****************************************/
+alter PROCEDURE stp_UdcDetailGetByIdxBlocco
+(
+ @IdxBlocco INT
+)
+AS
+
+SELECT ElencoCartellini.UDC, ElencoCartellini.RagSociale, ElencoCartellini.Particolare, ElencoCartellini.DescParticolare,
+ ElencoCartellini.DisegnoGrezzo, ElencoCartellini.Esponente, ElencoCartellini.DescImpianto, ElencoCartellini.DataFus,
+ ElencoCartellini.TurnoFus, ElencoCartellini.CodImballo, ElencoCartellini.Qta, AnagStatiProdotto.DescStato,
+ ElencoCartellini.ModDate, ISNULL(Blocchi.CodMag, N'') AS CodMag, ISNULL(Blocchi.CodBlocco, N'') AS CodBlocco,
+ ISNULL(Celle.CodCella, N'') AS CodCella, ISNULL(dbo.Celle.IdxCella, 0) AS IdxCella,
+ ISNULL(Celle.X, 0) AS X, ISNULL(Celle.Y, 0) AS Y, ISNULL(Celle.Z, 0) AS Z, ElencoCartellini.IdxPosizione
+FROM Celle INNER JOIN
+ PosizioneUdcCorrente ON Celle.IdxCella = PosizioneUdcCorrente.IdxCella AND Celle.IdxCella = PosizioneUdcCorrente.IdxCella AND
+ Celle.IdxCella = PosizioneUdcCorrente.IdxCella INNER JOIN
+ Blocchi ON Celle.IdxBlocco = Blocchi.IdxBlocco INNER JOIN
+ AnagMag ON Blocchi.CodMag = AnagMag.CodMag AND Blocchi.CodCS = AnagMag.CodCS AND Blocchi.CodMag = AnagMag.CodMag AND
+ Blocchi.CodCS = AnagMag.CodCS AND Blocchi.CodMag = AnagMag.CodMag AND Blocchi.CodCS = AnagMag.CodCS INNER JOIN
+ ElencoCartellini ON PosizioneUdcCorrente.UDC = ElencoCartellini.UDC LEFT OUTER JOIN
+ AnagStatiProdotto ON ElencoCartellini.CodStato = AnagStatiProdotto.CodStato AND ElencoCartellini.CodStato = AnagStatiProdotto.CodStato
+WHERE (Celle.IdxBlocco = @IdxBlocco)
+
+RETURN
+go
+
+commit
+go
+
+--
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_UdcDetailGetByIdxBloccoCodMagLog
+*
+* ottiene l'elenco degli UDC con dettaglio posizioni OCCUPATE associati ad un dato blocco di magazzino ed ad un dato STATO LOGICO
+*
+* Steamware, S.E.L.
+* mod: 2010.09.15
+*
+****************************************/
+alter PROCEDURE stp_UdcDetailGetByIdxBloccoCodMagLog
+(
+ @IdxBlocco INT,
+ @CodMagLog INT
+)
+AS
+
+SELECT ElencoCartellini.UDC, ElencoCartellini.RagSociale, ElencoCartellini.Particolare, ElencoCartellini.DescParticolare,
+ ElencoCartellini.DisegnoGrezzo, ElencoCartellini.Esponente, ElencoCartellini.DescImpianto, ElencoCartellini.DataFus,
+ ElencoCartellini.TurnoFus, ElencoCartellini.CodImballo, ElencoCartellini.Qta, AnagStatiProdotto.DescStato,
+ ElencoCartellini.ModDate, ISNULL(Blocchi.CodMag, N'') AS CodMag, ISNULL(Blocchi.CodBlocco, N'') AS CodBlocco,
+ ISNULL(Celle.CodCella, N'') AS CodCella, ISNULL(dbo.Celle.IdxCella, 0) AS IdxCella,
+ ISNULL(Celle.X, 0) AS X, ISNULL(Celle.Y, 0) AS Y, ISNULL(Celle.Z, 0) AS Z, ElencoCartellini.IdxPosizione
+FROM Celle INNER JOIN
+ PosizioneUdcCorrente ON Celle.IdxCella = PosizioneUdcCorrente.IdxCella AND Celle.IdxCella = PosizioneUdcCorrente.IdxCella AND
+ Celle.IdxCella = PosizioneUdcCorrente.IdxCella INNER JOIN
+ Blocchi ON Celle.IdxBlocco = Blocchi.IdxBlocco INNER JOIN
+ AnagMag ON Blocchi.CodMag = AnagMag.CodMag AND Blocchi.CodCS = AnagMag.CodCS AND Blocchi.CodMag = AnagMag.CodMag AND
+ Blocchi.CodCS = AnagMag.CodCS AND Blocchi.CodMag = AnagMag.CodMag AND Blocchi.CodCS = AnagMag.CodCS INNER JOIN
+ ElencoCartellini ON PosizioneUdcCorrente.UDC = ElencoCartellini.UDC LEFT OUTER JOIN
+ AnagStatiProdotto ON ElencoCartellini.CodStato = AnagStatiProdotto.CodStato AND ElencoCartellini.CodStato = AnagStatiProdotto.CodStato
+WHERE (Celle.IdxBlocco = @IdxBlocco) AND ElencoCartellini.IdxPosizione = @CodMagLog
+
+RETURN
+go
+
+commit
+go
+
+
+--
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_UdcDetailGetByIdxCella
+*
+* ottiene l'elenco degli UDC con dettaglio per una data cella
+*
+* Steamware, S.E.L.
+* mod: 2010.07.20
+*
+****************************************/
+alter PROCEDURE stp_UdcDetailGetByIdxCella
+(
+ @IdxCella INT
+)
+AS
+
+SELECT ElencoCartellini.UDC, ElencoCartellini.RagSociale, ElencoCartellini.Particolare, ElencoCartellini.DescParticolare,
+ ElencoCartellini.DisegnoGrezzo, ElencoCartellini.Esponente, ElencoCartellini.DescImpianto, ElencoCartellini.DataFus,
+ ElencoCartellini.TurnoFus, ElencoCartellini.CodImballo, ElencoCartellini.Qta, AnagStatiProdotto.DescStato,
+ ElencoCartellini.ModDate, ISNULL(Blocchi.CodMag, N'') AS CodMag, ISNULL(Blocchi.CodBlocco, N'') AS CodBlocco,
+ ISNULL(Celle.CodCella, N'') AS CodCella, ISNULL(dbo.Celle.IdxCella, 0) AS IdxCella,
+ ISNULL(Celle.X, 0) AS X, ISNULL(Celle.Y, 0) AS Y, ISNULL(Celle.Z, 0) AS Z, ElencoCartellini.IdxPosizione
+FROM Celle INNER JOIN
+ PosizioneUdcCorrente ON Celle.IdxCella = PosizioneUdcCorrente.IdxCella AND Celle.IdxCella = PosizioneUdcCorrente.IdxCella AND
+ Celle.IdxCella = PosizioneUdcCorrente.IdxCella INNER JOIN
+ Blocchi ON Celle.IdxBlocco = Blocchi.IdxBlocco INNER JOIN
+ AnagMag ON Blocchi.CodMag = AnagMag.CodMag AND Blocchi.CodCS = AnagMag.CodCS AND Blocchi.CodMag = AnagMag.CodMag AND
+ Blocchi.CodCS = AnagMag.CodCS AND Blocchi.CodMag = AnagMag.CodMag AND Blocchi.CodCS = AnagMag.CodCS INNER JOIN
+ ElencoCartellini ON PosizioneUdcCorrente.UDC = ElencoCartellini.UDC LEFT OUTER JOIN
+ AnagStatiProdotto ON ElencoCartellini.CodStato = AnagStatiProdotto.CodStato AND ElencoCartellini.CodStato = AnagStatiProdotto.CodStato
+WHERE (Celle.IdxCella = @IdxCella)
+
+RETURN
+go
+
+commit
+go
+
+
+
+
+-- registro versione...
+INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(250, GETDATE())
+GO
\ No newline at end of file
diff --git a/GMW/GMW_data/SqlScripts/V1.1/GMW_00255.sql b/GMW/GMW_data/SqlScripts/V1.1/GMW_00255.sql
new file mode 100644
index 00000000..1ae81278
--- /dev/null
+++ b/GMW/GMW_data/SqlScripts/V1.1/GMW_00255.sql
@@ -0,0 +1,292 @@
+--- nuovi eventi x gestione triggers variazioni quantità magazzino AS
+set xact_abort on
+go
+
+begin transaction
+go
+
+INSERT INTO dbo.AnagTipoEvento
+ VALUES (N'UDC_DEL', N'Eliminato un UDC (per movimento AS400)')
+INSERT INTO dbo.AnagTipoEvento
+ VALUES (N'UDC_MOV', N'Movimentazione contabile tra magazzini UDC')
+INSERT INTO dbo.AnagTipoEvento
+ VALUES (N'UDC_NEW', N'Creato un nuovo UDC (per movimento AS400)')
+INSERT INTO dbo.AnagTipoEvento
+ VALUES (N'UDC_NOQTY', N'Rettifica qta UDC creato se già in AS')
+INSERT INTO dbo.AnagTipoEvento
+ VALUES (N'UDC_POS', N'Spostamento posizilne logica UDC')
+go
+
+commit transaction
+go
+
+
+-- tab x gestioen batch AS400
+set xact_abort on
+go
+
+begin transaction
+go
+
+create table AS400_BatchMovimenti(
+ DataIns datetime not null,
+ CodEvento nvarchar(10) not null,
+ Particolare nvarchar(15) not null,
+ CodMagAS nvarchar(50) not null,
+ Quantita decimal(10,2) not null,
+ DataBatch datetime,
+ DataVerifica datetime,
+
+ constraint PK_AS400_BatchMovimenti primary key(DataIns,CodEvento,Particolare,CodMagAS)
+)
+go
+
+alter table AS400_BatchMovimenti add
+ constraint FK_AS400_BatchMovimenti_AnagTipoEvento foreign key(CodEvento) references AnagTipoEvento(CodEvento) on update cascade
+go
+
+exec sp_addextendedproperty 'MS_Description', 'dataora inserimento in coda caricamento', 'SCHEMA', 'dbo', 'TABLE', 'AS400_BatchMovimenti', 'COLUMN', 'DataIns'
+go
+
+exec sp_addextendedproperty 'MS_Description', 'NON MODIFICARE: nel codice si usano questi campi x chiamate...', 'SCHEMA', 'dbo', 'TABLE', 'AS400_BatchMovimenti', 'COLUMN', 'CodEvento'
+go
+
+exec sp_addextendedproperty 'MS_Description', 'dataora di caricamento batch verso AS', 'SCHEMA', 'dbo', 'TABLE', 'AS400_BatchMovimenti', 'COLUMN', 'DataBatch'
+go
+
+exec sp_addextendedproperty 'MS_Description', N'dataora in cui è stato verificato il caricamento su AS', 'SCHEMA', 'dbo', 'TABLE', 'AS400_BatchMovimenti', 'COLUMN', 'DataVerifica'
+go
+
+create table AS400_MagCont(
+ CodMagAS nvarchar(50) not null constraint PK_AS400_MagCont primary key,
+ Descrizione nvarchar(50),
+ Attivo bit
+)
+go
+
+alter table AS400_BatchMovimenti add
+ constraint FK_AS400_BatchMovimenti_AS400_MagCont foreign key(CodMagAS) references AS400_MagCont(CodMagAS) on update cascade
+go
+
+commit
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+INSERT INTO dbo.AS400_MagCont
+ VALUES (N'54', N'Finiti', 1)
+INSERT INTO dbo.AS400_MagCont
+ VALUES (N'56', N'Materia Prima', 1)
+INSERT INTO dbo.AS400_MagCont
+ VALUES (N'80', N'Fusi', 1)
+INSERT INTO dbo.AS400_MagCont
+ VALUES (N'84', N'WIP', 1)
+INSERT INTO dbo.AS400_MagCont
+ VALUES (N'88', N'Rientro da terzista', 1)
+go
+
+commit transaction
+go
+
+
+-- triggers!
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+-- =============================================
+-- Author: Samuele E. Locatelli
+-- Create date: 2009-09-20
+-- Description: trigger x inserimento movimenti
+-- nella coda di trasferimento batch
+-- verso AS400 x UPDATE UDC
+-- =============================================
+create TRIGGER trg_updMovAS
+ ON ElencoCartellini
+ AFTER UPDATE
+AS
+BEGIN
+
+ -- setup variabili e verbosità
+ SET NOCOUNT ON;
+ DECLARE @partOk AS BIT
+ DECLARE @IdxPosFrom AS INT
+ DECLARE @IdxPosTo AS INT
+ DECLARE @magFrom AS NVARCHAR(50)
+ DECLARE @magTo AS NVARCHAR(50)
+ DECLARE @qta AS DECIMAL(10,2)
+
+ -- controllo che CI SIA il particolare (altrimenti non eseguo)
+ SET @partOk = (SELECT CASE WHEN ISNULL(Particolare,'n.d.') = 'n.d.' THEN 0 ELSE 1 END FROM deleted)
+
+ IF(@partOk = 1)
+ SET @qta = (SELECT Qta FROM inserted)
+ -- se c'è stata modifica di quantità inizio a rettificare quella
+ IF UPDATE(Qta)
+ BEGIN
+ INSERT INTO AS400_BatchMovimenti(DataIns, CodEvento, Particolare, CodMagAS, Quantita)
+ (
+ SELECT GETDATE(), 'UDC_MOD', Particolare, CAST(IdxPosizione AS NVARCHAR(50)), @qta-Qta
+ FROM deleted
+ )
+ END
+
+ -- controllo poi se sia cambiato il magazzino, altrimenti non lo inserisco
+ IF UPDATE(IdxPosizione)
+ BEGIN
+ -- Prendo le posizioni di magazzino precedente e nuova
+ SET @IdxPosFrom = (SELECT IdxPosizione FROM deleted)
+ SET @IdxPosTo = (SELECT IdxPosizione FROM inserted)
+ -- Le trasformo nelle equivalenti stringhe del codMag SE attive
+ SET @magFrom = (SELECT ISNULL(CodMagAS,'---') FROM AS400_MagCont WHERE Attivo = 1 AND CodMagAs = CAST(@IdxPosFrom AS NVARCHAR(50)))
+ SET @magTo = (SELECT ISNULL(CodMagAS,'---') FROM AS400_MagCont WHERE Attivo = 1 AND CodMagAs = CAST(@IdxPosTo AS NVARCHAR(50)))
+
+ -- inserisco un movimento di deposito verso mag nuovo (SE attivo)
+ IF (@magFrom <> '---')
+ BEGIN
+ INSERT INTO AS400_BatchMovimenti(DataIns, CodEvento, Particolare, CodMagAS, Quantita)
+ (
+ SELECT GETDATE(), 'UDC_MOV', Particolare, CAST(IdxPosizione AS NVARCHAR(50)), -@qta
+ FROM deleted
+ )
+ END
+ -- inserisco un movimento di prelievo verso mag vecchio (SE attivo)
+ IF (@magTo <> '---')
+ BEGIN
+ INSERT INTO AS400_BatchMovimenti(DataIns, CodEvento, Particolare, CodMagAS, Quantita)
+ (
+ SELECT GETDATE(), 'UDC_MOV', Particolare, CAST(IdxPosizione AS NVARCHAR(50)), @qta
+ FROM inserted
+ )
+ END
+ END
+
+END
+go
+
+-- =============================================
+-- Author: Samuele E. Locatelli
+-- Create date: 2009-09-20
+-- Description: trigger x inserimento movimenti
+-- nella coda di trasferimento batch
+-- verso AS400 x DELETE UDC
+-- =============================================
+create TRIGGER trg_DelMovAS
+ ON ElencoCartellini
+ AFTER DELETE
+AS
+BEGIN
+
+ -- setup variabili e verbosità
+ SET NOCOUNT ON;
+ DECLARE @partOk AS BIT
+
+ -- controllo che CI SIA il particoalre (altrimenti non eseguo)
+ SET @partOk = (SELECT CASE WHEN ISNULL(Particolare,'n.d.') = 'n.d.' THEN 0 ELSE 1 END FROM deleted)
+
+ IF(@partOk = 1)
+ BEGIN
+ -- metto in storico la posizione attuale dell'UDC (SE esiste) CANCELLATO
+ INSERT INTO AS400_BatchMovimenti(DataIns, CodEvento, Particolare, CodMagAS, Quantita)
+ (
+ SELECT GETDATE(), 'UDC_DEL', Particolare, CAST(IdxPosizione AS NVARCHAR(50)), -Qta
+ FROM deleted
+ )
+ END
+
+END
+go
+
+-- =============================================
+-- Author: Samuele E. Locatelli
+-- Create date: 2009-09-20
+-- Description: trigger x inserimento movimenti
+-- nella coda di trasferimento batch
+-- verso AS400 x INSERT UDC
+-- =============================================
+create TRIGGER trg_InsMovAS
+ ON ElencoCartellini
+ AFTER INSERT
+AS
+BEGIN
+
+ -- setup variabili e verbosità
+ SET NOCOUNT ON;
+ DECLARE @partOk AS BIT
+
+ -- controllo che CI SIA il particoalre (altrimenti non eseguo)
+ SET @partOk = (SELECT CASE WHEN ISNULL(Particolare,'n.d.') = 'n.d.' THEN 0 ELSE 1 END FROM inserted)
+
+ IF(@partOk = 1)
+ BEGIN
+ -- metto in storico la posizione attuale dell'UDC (SE esiste) CANCELLATO
+ INSERT INTO AS400_BatchMovimenti(DataIns, CodEvento, Particolare, CodMagAS, Quantita)
+ (
+ SELECT GETDATE(), 'UDC_NEW', Particolare, CAST(IdxPosizione AS NVARCHAR(50)), Qta
+ FROM inserted
+ )
+ END
+
+END
+go
+
+commit
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_rettMovAs400
+*
+* inserisce nella tabella per i trasferimenti batch verso magazzino AS una quantità di rettifica (con segno - )per UDC eventualmente già scaricati a sistema
+*
+* Steamware, S.E.L.
+* mod: 2010.09.20
+*
+****************************************/
+create PROCEDURE stp_rettMovAs400
+(
+ @Particolare NVARCHAR(50),
+ @CodMagAS NVARCHAR(50),
+ @Qta DECIMAL(10,2)
+)
+AS
+
+BEGIN
+
+ INSERT INTO AS400_BatchMovimenti(DataIns, CodEvento, Particolare, CodMagAS, Quantita)
+ VALUES (GETDATE(), 'UDC_NOQTY', @Particolare, @CodMagAS, -@Qta)
+
+END
+
+RETURN
+go
+
+commit
+go
+
+
+
+
+
+-- registro versione...
+INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(255, GETDATE())
+GO
\ No newline at end of file
diff --git a/GMW/GMW_data/SqlScripts/V1.1/GMW_00257.sql b/GMW/GMW_data/SqlScripts/V1.1/GMW_00257.sql
new file mode 100644
index 00000000..93e1fb1d
--- /dev/null
+++ b/GMW/GMW_data/SqlScripts/V1.1/GMW_00257.sql
@@ -0,0 +1,698 @@
+--- alter degli schema AS400 --> RawData (caricamento dati grezzi)
+
+create schema RawData authorization db_accessadmin
+go
+
+-- creo schema x gestione richieste batch
+create schema BatchQueue authorization db_accessadmin
+go
+
+
+-- lascio in schema As400 i dati attuali, creo tab nuove RAW
+create table RawData.XOGIX00F(
+ XRPQLN numeric(6,0) not null constraint DF_XOGIX00F_XRPQLN default (0),
+ XRPQLD numeric(8,0) not null constraint DF_XOGIX00F_XRPQLD default (0),
+ XNRETI char(10) not null constraint DF_XOGIX00F_XNRETI default (''),
+ XCDFOR char(6) not null constraint DF_XOGIX00F_XCDFOR default (''),
+ XCDTER char(6) not null constraint DF_XOGIX00F_XCDTER default (''),
+ XCDPAR char(15) not null constraint DF_XOGIX00F_XCDPAR default (''),
+ XDTPRO numeric(8,0) not null constraint DF_XOGIX00F_XDTPRO default (0),
+ XTRPRO char(5) not null constraint DF_XOGIX00F_XTRPRO default (''),
+ XQTPRO numeric(5,0) not null constraint DF_XOGIX00F_XQTPRO default (0),
+ XDESMT char(3) not null constraint DF_XOGIX00F_XDESMT default (''),
+ XMATSC char(1) not null constraint DF_XOGIX00F_XMATSC default (''),
+ XBENQL char(1) not null
+)
+go
+
+
+
+
+
+-- travaso dati da tab As400 a RawData
+INSERT INTO RawData.XOGIX00F
+SELECT *
+FROM As400.t_XOGIX00F
+GO
+
+-- aggiungo tab rilpro
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+create table RilPro.RapQual(
+ nRapQual numeric(6,0) not null,
+ DataRapQual numeric(8,0) not null,
+ ProgUDC nvarchar(10) not null constraint PK_RapQual primary key,
+ CodFor nvarchar(6) not null,
+ DestTerz nvarchar(6) not null,
+ CodLega nvarchar(15) not null,
+ DataPrelFus numeric(8,0) not null,
+ TurnoPrelFus nvarchar(5) not null,
+ Qta numeric(5,0) not null,
+ DestLega nvarchar(3) not null,
+ LegaScaric nvarchar(1) not null,
+ BenesQual nvarchar(1) not null,
+ UDC nvarchar(13)
+)
+go
+
+create index i_numRap on RilPro.RapQual(nRapQual)
+go
+
+create index i_dataRap on RilPro.RapQual(DataRapQual)
+go
+
+create index i_numDataRap on RilPro.RapQual(nRapQual,DataRapQual)
+go
+
+commit
+go
+
+-- aggiungo stored di travaso!
+set xact_abort on
+go
+
+begin transaction
+go
+
+create schema BatchQueue authorization db_accessadmin
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_batch_RapQual_S01
+*
+* Esegue lo step 1 (caricamento dati RAW da AS400) per la tab dei rapporti di qualità
+*
+* Steamware, S.E.L.
+* mod: 2010.09.23
+*
+****************************************/
+create PROCEDURE BatchQueue.stp_batch_RapQual_S01
+(
+ @minNumRapQual INT
+)
+AS
+ -- BOZZA DA COMPLETARE A CURA MAZZUCCONI!!!
+
+ DECLARE @SQL AS NVARCHAR(1000)
+
+ -- svuoto tab raw attuale
+ /*
+ DELETE FROM RawData.XOGIX00F
+ */
+
+
+ -- INSERISCO DA AS400
+ /*
+ INSERT INTO RawData.XOGIX00F
+ (
+ SET @SQL =
+ N'SELECT
+ XRPQLN
+ ,XRPQLD
+ ,XNRETI
+ ,XCDFOR
+ ,XCDTER
+ ,XCDPAR
+ ,XDTPRO
+ ,XTRPRO
+ ,XQTPRO
+ ,XDESMT
+ ,XMATSC
+ ,XBENQL
+ FROM OPENQUERY( P65220DC, ''SELECT * FROM MAZZT_DTV3.XOGIX00F WHERE XRPQLN >= '
+ SET @SQL = @SQL + @minNumRapQual + ''' )'
+
+ EXEC sp_executesql @SQL
+ )
+ */
+
+RETURN
+go
+
+/***************************************
+* STORED stp_batch_RapQual_S01
+*
+* Esegue lo step 2 (travaso dati RAW in RilPro) per la tab dei rapporti di qualità
+*
+* Steamware, S.E.L.
+* mod: 2010.09.23
+*
+****************************************/
+create PROCEDURE BatchQueue.stp_batch_RapQual_S02
+AS
+ -- eseguo UPSERT x tutti i dati disponibili in tab Raw...
+
+ -- se il dato esiste faccio UPDATE!!!
+ UPDATE RilPro.RapQual
+ SET CodFor = u.XCDFOR,
+ DestTerz = u.XCDTER,
+ CodLega = u.XCDPAR,
+ DataPrelFus = u.XDTPRO,
+ TurnoPrelFus= u.XTRPRO,
+ Qta = u.XQTPRO,
+ DestLega = 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 ...
+
+
+ -- 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,
+ XNRETI AS ProgUDC,
+ XCDFOR AS CodFor,
+ XCDTER AS DestTerz,
+ XCDPAR AS CodLega,
+ XDTPRO AS DataPrelFus,
+ XTRPRO AS TurnoPrelFus,
+ XQTPRO AS Qta,
+ XDESMT AS DestLega,
+ XMATSC AS LegaScaric,
+ XBENQL AS BenesQual
+ FROM cteInsert
+
+
+RETURN
+go
+
+commit
+go
+
+
+- nuove functions
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* function componiUdc
+*
+* compone il cod UDC a partire da
+* - CodCS (codice company sito, 2 char)
+* - Flusso (codice flusso-bilancia 2 char)
+* - @Anno (anno, 2 char)
+* - @numUdc (progr annuale, 2 char)
+*
+* Steamware, S.E.L.
+* mod: 2010.09.23
+*
+****************************************/
+create FUNCTION componiUdc
+(
+ @CodCS NVARCHAR(2),
+ @Flusso NVARCHAR(2),
+ @Anno NVARCHAR(2),
+ @numUdc INT
+)
+RETURNS NVARCHAR(13)
+AS
+ BEGIN
+
+ DECLARE @answ AS NVARCHAR(50)
+
+ SET @answ = 'U' + @CodCS + @Flusso + @Anno + dbo.f_padLeft(CAST(@numUdc AS VARCHAR(6)), 6, '0')
+
+ RETURN @answ
+ END
+go
+
+commit
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* function getUdcComp
+*
+* effettua la "compattazione" dell'UDC, andando a prendere un sottoinsieme dei dati iniziali (UAAxxxx dove AA = anno...)
+*
+* Steamware, S.E.L.
+* mod: 2010.09.23
+*
+****************************************/
+create FUNCTION getUdcComp
+(
+ @fullUDC NVARCHAR(50),
+ @maxLen INTEGER
+)
+RETURNS NVARCHAR(20)
+AS
+ BEGIN
+ -- calcolo lunghezza originale
+ DECLARE @fullLen AS INT
+ SET @fullLen = LEN(@fullUDC)
+
+ -- dichiaro stringa out (max 20 char)
+ DECLARE @answ NVARCHAR(20)
+
+ -- recupero parte finale (ultimi @maxLen caratteri...)
+
+
+ -- compongo codice
+ SET @answ = 'U' + RIGHT(LEFT(@fullUDC, 7), 2) + RIGHT(@fullUDC,@maxLen-3) -- tolgo 3 char: U + anno...
+
+ RETURN @answ
+ END
+go
+
+commit
+go
+
+
+
+
+
+-- altre stored
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_rappQualAssociaUdc
+*
+* Associa l'UDC (creato) ad un rapp qualità di AS esistente SOLO SE UDC è NULL
+*
+* Steamware, S.E.L.
+* mod: 2010.09.23
+*
+****************************************/
+create PROCEDURE stp_rappQualAssociaUdc
+(
+ @ProgUDC NVARCHAR(10),
+ @UDC NVARCHAR(13)
+)
+AS
+ UPDATE RilPro.RapQual
+ SET UDC = @UDC
+ WHERE (ProgUDC = @ProgUDC) AND (UDC IS NULL)
+
+ -- restituisce la riga aggiornata
+ SELECT *
+ FROM RilPro.RapQual
+ WHERE ProgUDC = @ProgUDC
+
+RETURN
+go
+
+/***************************************
+* STORED stp_rappQualGetByNumRapQual
+*
+* Ottiene l'elenco dei record di rapp qualità di AS dato il numero del rapporto di qualità che NON HANNO UDC
+*
+* Steamware, S.E.L.
+* mod: 2010.09.23
+*
+****************************************/
+create PROCEDURE stp_rappQualGetByNumRapQual
+(
+ @nRapQual INT
+)
+AS
+ -- restituisce le righe richieste
+ SELECT *
+ FROM RilPro.RapQual
+ WHERE (nRapQual = @nRapQual) AND (UDC IS NULL)
+
+RETURN
+go
+
+commit
+go
+
+
+
+
+-- update stored
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_UDC_insNew
+*
+* crea un nuovo record nella TabStatoOdpUdc e restituisce il codice UDC appena creato
+*
+* Steamware, S.E.L.
+* mod: 2010.04.28
+*
+****************************************/
+alter PROCEDURE stp_UDC_insNew
+(
+ @CodCS VARCHAR(2),
+ @Flusso VARCHAR(2),
+ @Anno VARCHAR(2),
+ @Tara FLOAT,
+ @CodImballo AS VARCHAR(50),
+ @CodTipoDichiaraz CHAR(1),
+ @CodOperatore AS VARCHAR(50),
+ @CodEvento VARCHAR(10)
+)
+AS
+
+-- DECLARE iniziali
+DECLARE @UDC AS VARCHAR(20)
+DECLARE @numFlu AS INT
+DECLARE @numUdc AS INT
+DECLARE @nextUdc AS INT
+
+------------------------------------------------------------------------------------------------------
+-- Flusso
+------------------------------------------------------------------------------------------------------
+-- controllo se esiste il flusso (bilancia)...
+SET @numFlu = (
+ SELECT count(*)
+ FROM AnagBilance
+ WHERE CodBilancia = @Flusso
+)
+-- ...sennò lo creo...
+IF(@numFlu = 0)
+ BEGIN
+ -- se c'è inserisco in tab
+ INSERT INTO AnagBilance(CodBilancia, DescrImpianto, CodCS)
+ VALUES (@Flusso, @Flusso, @CodCS)
+ END
+------------------------------------------------------------------------------------------------------
+
+
+------------------------------------------------------------------------------------------------------
+-- UDC
+------------------------------------------------------------------------------------------------------
+-- controllo se ci sia già un UDC per company / flusso anno
+BEGIN TRAN
+ -- cerco nella tab contatori UDC l'ultimo valido
+ SET @numUdc = (
+ SELECT count(*)
+ FROM ContatoriUdc
+ WHERE CodCS = @CodCS
+ AND Flusso = @Flusso
+ AND Anno = @Anno
+ )
+ -- controllo se record c'è...
+ IF(@numUdc > 0)
+ BEGIN
+ -- se c'è incremento di 1 in tab
+ UPDATE ContatoriUdc
+ SET LastIdx = LastIdx + 1
+ WHERE CodCS = @CodCS
+ AND Flusso = @Flusso
+ AND Anno = @Anno
+ END
+ ELSE
+ BEGIN
+ -- lo creo!
+ INSERT INTO ContatoriUdc(CodCS, Flusso, Anno, LastIdx)
+ VALUES (@CodCS, @Flusso, @Anno, 1)
+ END
+ -- aggiorno numero UDC
+ SET @numUdc = (
+ SELECT LastIdx
+ FROM ContatoriUdc
+ WHERE CodCS = @CodCS
+ AND Flusso = @Flusso
+ AND Anno = @Anno
+ )
+COMMIT TRAN
+------------------------------------------------------------------------------------------------------
+
+------------------------------------------------------------------------------------------------------
+-- Ciclo principale x inserimento nuovo record
+------------------------------------------------------------------------------------------------------
+-- ottengo il nuovo codice UDC completo
+--SET @UDC = 'U' + @CodCS + @Flusso + @Anno + dbo.f_padLeft(CAST(@numUdc AS VARCHAR(6)), 6, '0')
+SET @UDC = dbo.componiUdc(@CodCS, @Flusso, @Anno, @numUdc)
+
+-- inserisco un nuovo record
+INSERT INTO ElencoCartellini(CodCS, UDC, Tara, IdxPosizione, Qta, CodImballo, CreateDate, ModDate)
+VALUES (@CodCS, @UDC, @Tara, 0, 0, @CodImballo, GETDATE(), GETDATE())
+------------------------------------------------------------------------------------------------------
+
+------------------------------------------------------------------------------------------------------
+-- restituisco la tab dati con l'udc appena inserito
+------------------------------------------------------------------------------------------------------
+SELECT *
+FROM ElencoCartellini
+WHERE UDC = @UDC
+------------------------------------------------------------------------------------------------------
+
+RETURN
+go
+
+/***************************************
+* STORED stp_UDC_insNewFull
+*
+* crea un nuovo record nella TabStatoOdpUdc FULL (con pesi, qta...) e restituisce il codice UDC appena creato
+*
+* Steamware, S.E.L.
+* mod: 2010.04.28
+*
+****************************************/
+alter PROCEDURE stp_UDC_insNewFull
+(
+ @CodCS VARCHAR(2),
+ @Flusso VARCHAR(2),
+ @Anno VARCHAR(2),
+ @CodCliente VARCHAR(6),
+ @Particolare VARCHAR(15),
+ @CodImpianto AS VARCHAR(50),
+ @CodStampo VARCHAR(8),
+ @Esponente VARCHAR(6),
+ @Figura VARCHAR(4),
+ @DataFus DATETIME,
+ @TurnoFus INT,
+ @CodImballo VARCHAR(15),
+ @CodSoggetto VARCHAR(17),
+ @Tara FLOAT,
+ @IdxPosizione INT,
+ @CodTipoDichiaraz CHAR(1),
+ @CodEvento VARCHAR(10),
+ @Qta DECIMAL(10,2),
+ @PesoTot FLOAT,
+ @PesoCad FLOAT,
+ @CodStato VARCHAR(50),
+ @UDC_parent VARCHAR(20)
+)
+AS
+
+-- DECLARE iniziali
+DECLARE @UDC AS VARCHAR(20)
+DECLARE @RagSociale AS VARCHAR(35)
+DECLARE @DescParticolare AS VARCHAR(30)
+DECLARE @DescImpianto AS VARCHAR(50)
+DECLARE @DisegnoGrezzo AS VARCHAR(30)
+DECLARE @NumCont AS INT
+DECLARE @numFlu AS INT
+DECLARE @numUdc AS INT
+DECLARE @nextUdc AS INT
+
+------------------------------------------------------------------------------------------------------
+-- Caricamento Dati da anagrafica
+------------------------------------------------------------------------------------------------------
+-- cerco la ragione sociale...
+SET @RagSociale = (
+ SELECT ISNULL(RagSociale, 'ND') AS RagSociale
+ FROM RilPro.AnagClienti
+ WHERE (CodCliente = @CodCliente)
+)
+
+-- Cerco descrizione del particolare...
+SET @DescParticolare = (
+ SELECT ISNULL(DescParticolare, 'ND') AS DescParticolare
+ FROM RilPro.AnagParticolari
+ WHERE (Particolare = @Particolare)
+)
+
+-- cerco codice disegno grezzo
+SET @DisegnoGrezzo = (
+ SELECT ISNULL(DisegnoGrezzo, 'ND') AS DescParticolare
+ FROM RilPro.AnagParticolari
+ WHERE (Particolare = @Particolare)
+)
+
+-- cerco descrizione Impianto
+SET @DescImpianto = (
+ SELECT ISNULL(DescImpianto, 'ND') AS DescImpianto
+ FROM AnagImpianti
+ WHERE (CodImpianto = @CodImpianto)
+)
+
+
+
+-- Calcolo contatore intero successivo x il contenitore...
+SET @NumCont = (
+ SELECT ISNULL(MAX(NumCont), 0) + 1 AS NumCont
+ FROM ElencoCartellini
+ WHERE (Particolare = @Particolare)
+ AND (DataFus = @DataFus)
+ AND (TurnoFus = @TurnoFus)
+ AND (CodImpianto = @CodImpianto)
+ AND (CodStampo = @CodStampo)
+ AND (Figura = @Figura)
+)
+
+
+------------------------------------------------------------------------------------------------------
+
+------------------------------------------------------------------------------------------------------
+-- Flusso
+------------------------------------------------------------------------------------------------------
+-- controllo se esiste il flusso (bilancia)...
+SET @numFlu = (
+ SELECT count(*)
+ FROM AnagBilance
+ WHERE CodBilancia = @Flusso
+)
+-- ...sennò lo creo...
+IF(@numFlu = 0)
+ BEGIN
+ -- se c'è inserisco in tab
+ INSERT INTO AnagBilance(CodBilancia, DescrImpianto, CodCS)
+ VALUES (@Flusso, @Flusso, @CodCS)
+ END
+------------------------------------------------------------------------------------------------------
+
+
+------------------------------------------------------------------------------------------------------
+-- UDC
+------------------------------------------------------------------------------------------------------
+-- controllo se ci sia già un UDC per company / flusso anno
+BEGIN TRAN
+ -- cerco nella tab contatori UDC l'ultimo valido
+ SET @numUdc = (
+ SELECT count(*)
+ FROM ContatoriUdc
+ WHERE CodCS = @CodCS
+ AND Flusso = @Flusso
+ AND Anno = @Anno
+ )
+ -- controllo se record c'è...
+ IF(@numUdc > 0)
+ BEGIN
+ -- se c'è incremento di 1 in tab
+ UPDATE ContatoriUdc
+ SET LastIdx = LastIdx + 1
+ WHERE CodCS = @CodCS
+ AND Flusso = @Flusso
+ AND Anno = @Anno
+ END
+ ELSE
+ BEGIN
+ -- lo creo!
+ INSERT INTO ContatoriUdc(CodCS, Flusso, Anno, LastIdx)
+ VALUES (@CodCS, @Flusso, @Anno, 1)
+ END
+ -- aggiorno numero UDC
+ SET @numUdc = (
+ SELECT LastIdx
+ FROM ContatoriUdc
+ WHERE CodCS = @CodCS
+ AND Flusso = @Flusso
+ AND Anno = @Anno
+ )
+COMMIT TRAN
+------------------------------------------------------------------------------------------------------
+
+------------------------------------------------------------------------------------------------------
+-- Ciclo principale x inserimento nuovo record
+------------------------------------------------------------------------------------------------------
+BEGIN TRAN
+ -- ottengo il nuovo codice UDC completo
+ --SET @UDC = 'U' + @CodCS + @Flusso + @Anno + dbo.f_padLeft(CAST(@numUdc AS VARCHAR(6)), 6, '0')
+ SET @UDC = dbo.componiUdc(@CodCS, @Flusso, @Anno, @numUdc)
+
+
+ -- inserisco un nuovo record
+ INSERT INTO ElencoCartellini(UDC, CodCS, CodCliente, RagSociale, Particolare, DescParticolare, DisegnoGrezzo, Esponente, CodImpianto, DescImpianto, CodStampo, Figura, DataFus, TurnoFus, CodImballo, CodSoggetto, NumCont, Tara, Qta, CodStato, IdxPosizione, PesoTot, PesoCad, CreateDate, ModDate)
+ VALUES (@UDC, @CodCS, @CodCliente, @RagSociale, @Particolare, @DescParticolare, @DisegnoGrezzo, @Esponente, @CodImpianto, @DescImpianto, @CodStampo, @Figura, @DataFus, @TurnoFus, @CodImballo, @CodSoggetto, @NumCont, @Tara, @Qta, @CodStato, @IdxPosizione, @PesoTot, @PesoCad, GETDATE(), GETDATE())
+
+ -- inserisco relazione aprent-child tra UDC vecchio (tara) e nuovo (pesa)
+ INSERT INTO RelazUDC(UDC_parent, UDC_child)
+ VALUES (@UDC_parent, @UDC)
+COMMIT TRAN
+------------------------------------------------------------------------------------------------------
+
+/*
+------------------------------------------------------------------------------------------------------
+-- Salvataggio dati evento in tab StoricoEventi
+------------------------------------------------------------------------------------------------------
+INSERT INTO StoricoEventi(DataEv, CodEvento, CodOperatore, CodTipoDichiaraz, CodCS, UDC, Qta, PesoTot, PesoCad, Particolare, CodStato, CodStampo, Figura, FiguraIncisa)
+VALUES (GETDATE(), @CodEvento, @CodOperatore, @CodTipoDichiaraz, @CodCS, @UDC, @Qta, @PesoTot, @PesoCad, @Particolare, @CodStato, @CodStampo, @Figura, @FiguraIncisa)
+------------------------------------------------------------------------------------------------------
+*/
+
+------------------------------------------------------------------------------------------------------
+-- restituisco la tab dati con l'udc appena inserito
+------------------------------------------------------------------------------------------------------
+SELECT *
+FROM ElencoCartellini
+WHERE UDC = @UDC
+------------------------------------------------------------------------------------------------------
+
+RETURN
+go
+
+commit
+go
+
+
+-- aggiungo stato MP
+set xact_abort on
+go
+
+begin transaction
+go
+
+INSERT INTO dbo.AnagStatiProdotto
+ VALUES (N'MP', N'Materia Prima')
+go
+
+commit transaction
+go
+
+
+
+
+
+-- registro versione...
+INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(257, GETDATE())
+GO
\ No newline at end of file
diff --git a/GMW/GMW_data/SqlScripts/V1.1/GMW_00258.sql b/GMW/GMW_data/SqlScripts/V1.1/GMW_00258.sql
new file mode 100644
index 00000000..96b7740a
--- /dev/null
+++ b/GMW/GMW_data/SqlScripts/V1.1/GMW_00258.sql
@@ -0,0 +1,132 @@
+-- svuotamento tabelle e dati test da UDC, posizioni e storici
+-- eliminazione posizioni storiche
+delete from PosizioneUdcStorico
+go
+
+-- eliminazione posizioni attuali
+delete from PosizioneUdcCorrente
+go
+
+-- eliminazione posizioni storiche
+delete from PosizioneUdcStorico
+go
+
+
+-- elimino da tab batch AS400
+delete from AS400_BatchMovimenti
+go
+
+
+-- elimino storico cartellini
+delete from StoricoCartellini
+go
+
+-- elimino righe liste di prelievo AS
+delete from RigheListePrelievo_AS
+go
+
+-- elimino righe liste di prelievo
+delete from RigheListePrelievo
+go
+
+-- elimino liste di prelievo AS
+delete from ElencoListePrelievo_as
+go
+
+-- elimino liste di prelievo
+delete from ElencoListePrelievo
+go
+
+-- elimino da delibere
+delete from Delibere
+go
+
+-- =============================================
+-- Author: Samuele E. Locatelli
+-- Create date: 2009-09-20
+-- Description: trigger x inserimento movimenti
+-- nella coda di trasferimento batch
+-- verso AS400 x DELETE UDC
+-- =============================================
+ALTER TRIGGER dbo.trg_DelMovAS
+ ON dbo.ElencoCartellini
+ AFTER DELETE
+AS
+BEGIN
+
+ -- setup variabili e verbosità
+ SET NOCOUNT ON;
+ DECLARE @partOk AS BIT
+
+ -- rifare: se c'è delete in blocco DEVE andare ad operare 1 riga alla volta...
+
+ /*
+ -- controllo che CI SIA il particolare (altrimenti non eseguo)
+ SET @partOk = (SELECT CASE WHEN ISNULL(Particolare,'n.d.') = 'n.d.' THEN 0 ELSE 1 END FROM deleted)
+
+ IF(@partOk = 1)
+ BEGIN
+ -- metto in storico la posizione attuale dell'UDC (SE esiste) CANCELLATO
+ INSERT INTO AS400_BatchMovimenti(DataIns, CodEvento, Particolare, CodMagAS, Quantita)
+ (
+ SELECT GETDATE(), 'UDC_DEL', Particolare, CAST(IdxPosizione AS NVARCHAR(50)), -Qta
+ FROM deleted
+ WHERE CAST(IdxPosizione AS NVARCHAR(50)) IN (SELECT CodMagAS FROM AS400_MagCont WHERE Attivo = 1)
+ )
+ END
+ */
+END
+
+
+-- elimino cartellini correnti
+delete from ElencoCartellini
+go
+
+-- rimetto trigger
+-- =============================================
+-- Author: Samuele E. Locatelli
+-- Create date: 2009-09-20
+-- Description: trigger x inserimento movimenti
+-- nella coda di trasferimento batch
+-- verso AS400 x DELETE UDC
+-- =============================================
+ALTER TRIGGER dbo.trg_DelMovAS
+ ON dbo.ElencoCartellini
+ AFTER DELETE
+AS
+BEGIN
+
+ -- setup variabili e verbosità
+ SET NOCOUNT ON;
+ -- inserisco movimenti AS
+ INSERT INTO AS400_BatchMovimenti(DataIns, CodEvento, Particolare, CodMagAS, Quantita)
+ (
+ SELECT GETDATE(), 'UDC_DEL', Particolare, CAST(IdxPosizione AS NVARCHAR(50)), -Qta
+ FROM deleted
+ WHERE CAST(IdxPosizione AS NVARCHAR(50)) IN (SELECT CodMagAS FROM AS400_MagCont WHERE Attivo = 1) AND ((CASE WHEN ISNULL(Particolare,'n.d.') = 'n.d.' THEN 0 ELSE 1 END) = 1)
+ )
+
+END
+go
+
+
+-- elimino storico cartellini
+DELETE FROM StoricoCartellini
+go
+
+-- indico tutte celle vuote!
+update Celle
+set Piena = 0
+GO
+
+-- resetto contatori!
+delete from ContatoriListePrelievo
+go
+
+delete from ContatoriUdc
+go
+
+
+-- registro versione...
+INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(258, GETDATE())
+GO
\ No newline at end of file
diff --git a/GMW/GMW_data/SqlScripts/V1.1/GMW_00259.sql b/GMW/GMW_data/SqlScripts/V1.1/GMW_00259.sql
new file mode 100644
index 00000000..c349dd55
--- /dev/null
+++ b/GMW/GMW_data/SqlScripts/V1.1/GMW_00259.sql
@@ -0,0 +1,694 @@
+-- update tab transizione eventi
+
+update AnagTipoDelibere
+set CodEvento='DelWipPost'
+where CodTipoDelibera='DelibWipPost'
+go
+
+-- aggiunta valori nuovi in AnagTipoEvento e TabTranPosizEventi
+set xact_abort on
+go
+
+begin transaction
+go
+
+INSERT INTO dbo.AnagTipoEvento
+ VALUES (N'UDC_CONS', N'Consumo UDC')
+go
+
+commit transaction
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+INSERT INTO dbo.AnagPosizioni
+ VALUES (-84, N'AM - WIP consumati')
+INSERT INTO dbo.AnagPosizioni
+ VALUES (-56, N'AM - MP consumati')
+go
+
+commit transaction
+go
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+INSERT INTO dbo.TabTranPosizEventi
+ VALUES (N'UDC_CONS', 56, -56)
+INSERT INTO dbo.TabTranPosizEventi
+ VALUES (N'UDC_CONS', 84, -84)
+go
+
+commit transaction
+go
+
+
+--- update tabelle varie: anag mag!
+set xact_abort on
+go
+
+begin transaction
+go
+
+alter table AnagMag add
+ Nascosto bit constraint DF_AnagMag_Nascosto default (0)
+go
+
+update AnagMag set Nascosto=0
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_ParticolariOverview
+*
+* elenco di overview sullo stato dei magazzini (dettaglio a "maglie larghe")
+*
+* Steamware, S.E.L.
+* mod: 2010.06.02
+*
+****************************************/
+alter PROCEDURE stp_magazzinoOverview
+(
+ @CodCS VARCHAR(2)
+)
+AS
+
+ SELECT AnagMag.CodCS, AnagMag.CodMag, AnagMag.DescMag, Blocchi.IdxBlocco, Blocchi.CodBlocco,
+ TipoCella.Capienza * Blocchi.NumX * Blocchi.NumY * Blocchi.NumZ AS TotCelle,
+ TipoCella.Capienza * COUNT(DISTINCT Celle.IdxCella) AS CelleAttive,
+ COUNT(PosizioneUdcCorrente.UDC) AS CelleOccupate,
+ TipoCella.Capienza * COUNT(DISTINCT Celle.IdxCella) - COUNT(PosizioneUdcCorrente.UDC) AS CelleLibere,
+ ISNULL(MIN(PosizioneUdcCorrente.DataRif), GETDATE()) AS Oldest, ISNULL(MAX(PosizioneUdcCorrente.DataRif), GETDATE()) AS Newest
+FROM TipoCella INNER JOIN
+ AnagMag INNER JOIN
+ Blocchi ON AnagMag.CodMag = Blocchi.CodMag AND AnagMag.CodCS = Blocchi.CodCS ON TipoCella.CodMag = AnagMag.CodMag AND
+ TipoCella.CodCS = AnagMag.CodCS LEFT OUTER JOIN
+ Celle ON TipoCella.IdxTipoCella = Celle.IdxTipoCella AND Blocchi.IdxBlocco = Celle.IdxBlocco LEFT OUTER JOIN
+ PosizioneUdcCorrente ON Celle.IdxCella = PosizioneUdcCorrente.IdxCella
+WHERE (Celle.Attiva = 1) AND (AnagMag.CodCS = @CodCS) AND (ISNULL(AnagMag.Nascosto, 0) = 0)
+GROUP BY AnagMag.CodCS, AnagMag.CodMag, AnagMag.DescMag, Blocchi.IdxBlocco, Blocchi.CodBlocco, Blocchi.NumX, Blocchi.NumY, Blocchi.NumZ,
+ TipoCella.Capienza
+ORDER BY AnagMag.CodMag, Blocchi.CodBlocco
+
+RETURN
+go
+
+/***************************************
+* STORED stp_ParticolariOverview
+*
+* elenco di overview sullo stato dei magazzini LOGICI (dettaglio a "maglie larghe")
+*
+* Steamware, S.E.L.
+* mod: 2010.09.15
+*
+****************************************/
+alter PROCEDURE stp_magazzinoLogicoOverview
+(
+ @CodCS VARCHAR(2)
+)
+AS
+
+SELECT ElencoCartellini.CodCS, AnagPosizioni.IdxPosizione AS CodMagLogico, AnagPosizioni.DescPosizione AS DescMagLogico, Blocchi.IdxBlocco, AnagMag.CodMag,
+ Blocchi.CodBlocco, COUNT(ElencoCartellini.UDC) AS CelleOccupate, ISNULL(MIN(PosizioneUdcCorrente.DataRif), GETDATE()) AS Oldest,
+ ISNULL(MAX(PosizioneUdcCorrente.DataRif), GETDATE()) AS Newest
+FROM Celle INNER JOIN
+ Blocchi INNER JOIN
+ AnagMag ON Blocchi.CodMag = AnagMag.CodMag AND Blocchi.CodCS = AnagMag.CodCS ON Celle.IdxBlocco = Blocchi.IdxBlocco INNER JOIN
+ ElencoCartellini INNER JOIN
+ PosizioneUdcCorrente ON ElencoCartellini.UDC = PosizioneUdcCorrente.UDC INNER JOIN
+ AnagPosizioni ON ElencoCartellini.IdxPosizione = AnagPosizioni.IdxPosizione ON Celle.IdxCella = PosizioneUdcCorrente.IdxCella
+WHERE (ElencoCartellini.CodCS = @CodCS) AND (ISNULL(AnagMag.Nascosto, 0) = 0)
+GROUP BY ElencoCartellini.CodCS, AnagPosizioni.IdxPosizione, AnagPosizioni.DescPosizione, Blocchi.IdxBlocco, Blocchi.CodBlocco, AnagMag.CodMag
+ORDER BY CodMagLogico, Blocchi.CodBlocco
+
+RETURN
+go
+
+commit
+go
+
+
+-- update triggers cartellini
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+-- =============================================
+-- Author: Samuele E. Locatelli
+-- Create date: 2009-09-20
+-- Description: trigger x inserimento movimenti
+-- nella coda di trasferimento batch
+-- verso AS400 x UPDATE UDC
+-- =============================================
+alter TRIGGER trg_updMovAS
+ ON ElencoCartellini
+ AFTER UPDATE
+AS
+BEGIN
+
+ -- setup variabili e verbosità
+ SET NOCOUNT ON;
+ DECLARE @partOk AS BIT
+ DECLARE @IdxPosFrom AS INT
+ DECLARE @IdxPosTo AS INT
+ DECLARE @magFrom AS NVARCHAR(50)
+ DECLARE @magTo AS NVARCHAR(50)
+ DECLARE @qta AS DECIMAL(10,2)
+
+ -- controllo che CI SIA il particolare (altrimenti non eseguo)
+ SET @partOk = (SELECT CASE WHEN ISNULL(Particolare,'n.d.') = 'n.d.' THEN 0 ELSE 1 END FROM deleted)
+
+ IF(@partOk = 1)
+ SET @qta = (SELECT Qta FROM inserted)
+ -- se c'è stata modifica di quantità inizio a rettificare quella
+ IF UPDATE(Qta)
+ BEGIN
+ INSERT INTO AS400_BatchMovimenti(DataIns, CodEvento, Particolare, CodMagAS, Quantita)
+ (
+ SELECT GETDATE(), 'UDC_MOD', Particolare, CAST(IdxPosizione AS NVARCHAR(50)), @qta-Qta
+ FROM deleted
+ WHERE CAST(IdxPosizione AS NVARCHAR(50)) IN (SELECT CodMagAS FROM AS400_MagCont WHERE Attivo = 1)
+ )
+ END
+
+ -- controllo poi se sia cambiato il magazzino, altrimenti non lo inserisco
+ IF UPDATE(IdxPosizione)
+ BEGIN
+ -- Prendo le posizioni di magazzino precedente e nuova
+ SET @IdxPosFrom = (SELECT IdxPosizione FROM deleted)
+ SET @IdxPosTo = (SELECT IdxPosizione FROM inserted)
+ -- Le trasformo nelle equivalenti stringhe del codMag SE attive
+ SET @magFrom = (SELECT ISNULL(CodMagAS,'---') FROM AS400_MagCont WHERE Attivo = 1 AND CodMagAs = CAST(@IdxPosFrom AS NVARCHAR(50)))
+ SET @magTo = (SELECT ISNULL(CodMagAS,'---') FROM AS400_MagCont WHERE Attivo = 1 AND CodMagAs = CAST(@IdxPosTo AS NVARCHAR(50)))
+
+ -- inserisco un movimento di deposito verso mag nuovo (SE attivo)
+ IF (@magFrom <> '---')
+ BEGIN
+ INSERT INTO AS400_BatchMovimenti(DataIns, CodEvento, Particolare, CodMagAS, Quantita)
+ (
+ SELECT GETDATE(), 'UDC_MOV', Particolare, CAST(IdxPosizione AS NVARCHAR(50)), -@qta
+ FROM deleted
+ WHERE CAST(IdxPosizione AS NVARCHAR(50)) IN (SELECT CodMagAS FROM AS400_MagCont WHERE Attivo = 1)
+ )
+ END
+ -- inserisco un movimento di prelievo verso mag vecchio (SE attivo)
+ IF (@magTo <> '---')
+ BEGIN
+ INSERT INTO AS400_BatchMovimenti(DataIns, CodEvento, Particolare, CodMagAS, Quantita)
+ (
+ SELECT GETDATE(), 'UDC_MOV', Particolare, CAST(IdxPosizione AS NVARCHAR(50)), @qta
+ FROM inserted
+ WHERE CAST(IdxPosizione AS NVARCHAR(50)) IN (SELECT CodMagAS FROM AS400_MagCont WHERE Attivo = 1)
+ )
+ END
+ END
+
+END
+go
+
+-- =============================================
+-- Author: Samuele E. Locatelli
+-- Create date: 2009-09-20
+-- Description: trigger x inserimento movimenti
+-- nella coda di trasferimento batch
+-- verso AS400 x DELETE UDC
+-- =============================================
+alter TRIGGER trg_DelMovAS
+ ON ElencoCartellini
+ AFTER DELETE
+AS
+BEGIN
+
+ -- setup variabili e verbosità
+ SET NOCOUNT ON;
+ -- inserisco movimenti AS
+ INSERT INTO AS400_BatchMovimenti(DataIns, CodEvento, Particolare, CodMagAS, Quantita)
+ (
+ SELECT GETDATE(), 'UDC_DEL', Particolare, CAST(IdxPosizione AS NVARCHAR(50)), -Qta
+ FROM deleted
+ WHERE CAST(IdxPosizione AS NVARCHAR(50)) IN (SELECT CodMagAS FROM AS400_MagCont WHERE Attivo = 1) AND ((CASE WHEN ISNULL(Particolare,'n.d.') = 'n.d.' THEN 0 ELSE 1 END) = 1)
+ )
+
+END
+go
+
+-- =============================================
+-- Author: Samuele E. Locatelli
+-- Create date: 2009-09-20
+-- Description: trigger x inserimento movimenti
+-- nella coda di trasferimento batch
+-- verso AS400 x INSERT UDC
+-- =============================================
+alter TRIGGER trg_InsMovAS
+ ON ElencoCartellini
+ AFTER INSERT
+AS
+BEGIN
+
+ -- setup variabili e verbosità
+ SET NOCOUNT ON;
+ DECLARE @partOk AS BIT
+
+ -- controllo che CI SIA il particoalre (altrimenti non eseguo)
+ SET @partOk = (SELECT CASE WHEN ISNULL(Particolare,'n.d.') = 'n.d.' THEN 0 ELSE 1 END FROM inserted)
+
+ IF(@partOk = 1)
+ BEGIN
+ -- metto in storico la posizione attuale dell'UDC (SE esiste) CANCELLATO
+ INSERT INTO AS400_BatchMovimenti(DataIns, CodEvento, Particolare, CodMagAS, Quantita)
+ (
+ SELECT GETDATE(), 'UDC_NEW', Particolare, CAST(IdxPosizione AS NVARCHAR(50)), Qta
+ FROM inserted
+ WHERE CAST(IdxPosizione AS NVARCHAR(50)) IN (SELECT CodMagAS FROM AS400_MagCont WHERE Attivo = 1)
+ )
+ END
+
+END
+go
+
+commit
+go
+
+
+-- fix dei codSoggetto
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+alter table StoricoCartellini alter column
+ CodSoggetto nchar(17)
+go
+
+commit
+go
+
+-- aggiungo vista
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+create VIEW v_posizioniDelibere
+AS
+SELECT DISTINCT tpe.IdxPosizione, atd.CodTipoDelibera
+FROM dbo.TabTranPosizEventi AS tpe INNER JOIN
+ dbo.AnagTipoEvento AS ate ON tpe.CodEvento = ate.CodEvento INNER JOIN
+ dbo.AnagTipoDelibere AS atd ON ate.CodEvento = atd.CodEvento
+go
+
+exec sp_addextendedproperty 'MS_DiagramPane1', '[0E232FF0-B466-11cf-A24F-00AA00A3EFFF, 1.00]
+Begin DesignProperties =
+ Begin PaneConfigurations =
+ Begin PaneConfiguration = 0
+ NumPanes = 4
+ Configuration = "(H (1[40] 4[20] 2[20] 3) )"
+ End
+ Begin PaneConfiguration = 1
+ NumPanes = 3
+ Configuration = "(H (1 [50] 4 [25] 3))"
+ End
+ Begin PaneConfiguration = 2
+ NumPanes = 3
+ Configuration = "(H (1 [50] 2 [25] 3))"
+ End
+ Begin PaneConfiguration = 3
+ NumPanes = 3
+ Configuration = "(H (4 [30] 2 [40] 3))"
+ End
+ Begin PaneConfiguration = 4
+ NumPanes = 2
+ Configuration = "(H (1 [56] 3))"
+ End
+ Begin PaneConfiguration = 5
+ NumPanes = 2
+ Configuration = "(H (2 [66] 3))"
+ End
+ Begin PaneConfiguration = 6
+ NumPanes = 2
+ Configuration = "(H (4 [50] 3))"
+ End
+ Begin PaneConfiguration = 7
+ NumPanes = 1
+ Configuration = "(V (3))"
+ End
+ Begin PaneConfiguration = 8
+ NumPanes = 3
+ Configuration = "(H (1[56] 4[18] 2) )"
+ End
+ Begin PaneConfiguration = 9
+ NumPanes = 2
+ Configuration = "(H (1 [75] 4))"
+ End
+ Begin PaneConfiguration = 10
+ NumPanes = 2
+ Configuration = "(H (1[66] 2) )"
+ End
+ Begin PaneConfiguration = 11
+ NumPanes = 2
+ Configuration = "(H (4 [60] 2))"
+ End
+ Begin PaneConfiguration = 12
+ NumPanes = 1
+ Configuration = "(H (1) )"
+ End
+ Begin PaneConfiguration = 13
+ NumPanes = 1
+ Configuration = "(V (4))"
+ End
+ Begin PaneConfiguration = 14
+ NumPanes = 1
+ Configuration = "(V (2))"
+ End
+ ActivePaneConfig = 0
+ End
+ Begin DiagramPane =
+ Begin Origin =
+ Top = 0
+ Left = 0
+ End
+ Begin Tables =
+ Begin Table = "tpe"
+ Begin Extent =
+ Top = 6
+ Left = 38
+ Bottom = 118
+ Right = 208
+ End
+ DisplayFlags = 280
+ TopColumn = 0
+ End
+ Begin Table = "ate"
+ Begin Extent =
+ Top = 6
+ Left = 246
+ Bottom = 101
+ Right = 416
+ End
+ DisplayFlags = 280
+ TopColumn = 0
+ End
+ Begin Table = "atd"
+ Begin Extent =
+ Top = 6
+ Left = 454
+ Bottom = 118
+ Right = 632
+ End
+ DisplayFlags = 280
+ TopColumn = 0
+ End
+ End
+ End
+ Begin SQLPane =
+ End
+ Begin DataPane =
+ Begin ParameterDefaults = ""
+ End
+ Begin ColumnWidths = 9
+ Width = 284
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ End
+ End
+ Begin CriteriaPane =
+ Begin ColumnWidths = 11
+ Column = 1440
+ Alias = 900
+ Table = 1170
+ Output = 720
+ Append = 1400
+ NewValue = 1170
+ SortType = 1350
+ SortOrder = 1410
+ GroupBy = 1350
+ Filter = 1350
+ Or = 1350
+ Or = 1350
+ Or = 1350
+ End
+ End
+End
+', 'SCHEMA', 'dbo', 'VIEW', 'v_posizioniDelibere'
+go
+
+exec sp_addextendedproperty 'MS_DiagramPaneCount', 1, 'SCHEMA', 'dbo', 'VIEW', 'v_posizioniDelibere'
+go
+
+commit
+go
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+alter VIEW v_UdcDetail
+AS
+SELECT dbo.ElencoCartellini.UDC, ISNULL(dbo.ElencoCartellini.RagSociale, N'') AS RagSociale, ISNULL(dbo.ElencoCartellini.Particolare, N'') AS Particolare,
+ ISNULL(dbo.ElencoCartellini.DescParticolare, N'') AS DescParticolare, ISNULL(dbo.ElencoCartellini.DisegnoGrezzo, N'') AS DisegnoGrezzo,
+ ISNULL(dbo.ElencoCartellini.Esponente, N'') AS Esponente, ISNULL(dbo.ElencoCartellini.DescImpianto, N'') AS DescImpianto, ISNULL(dbo.ElencoCartellini.DataFus,
+ N'') AS DataFus, ISNULL(dbo.ElencoCartellini.TurnoFus, 0) AS TurnoFus, dbo.ElencoCartellini.CodImballo, dbo.ElencoCartellini.Qta,
+ ISNULL(dbo.AnagStatiProdotto.DescStato, N'') AS DescStato, dbo.ElencoCartellini.ModDate, ISNULL(dbo.Blocchi.CodMag, N'') AS CodMag,
+ ISNULL(dbo.Blocchi.CodBlocco, N'') AS CodBlocco, ISNULL(dbo.Celle.CodCella, N'') AS CodCella, ISNULL(dbo.Celle.IdxCella, 0) AS IdxCella, ISNULL(dbo.Celle.X, 0)
+ AS X, ISNULL(dbo.Celle.Y, 0) AS Y, ISNULL(dbo.Celle.Z, 0) AS Z, dbo.ElencoCartellini.IdxPosizione
+FROM dbo.AnagStatiProdotto RIGHT OUTER JOIN
+ dbo.ElencoCartellini ON dbo.AnagStatiProdotto.CodStato = dbo.ElencoCartellini.CodStato AND
+ dbo.AnagStatiProdotto.CodStato = dbo.ElencoCartellini.CodStato LEFT OUTER JOIN
+ dbo.Celle INNER JOIN
+ dbo.PosizioneUdcCorrente ON dbo.Celle.IdxCella = dbo.PosizioneUdcCorrente.IdxCella AND dbo.Celle.IdxCella = dbo.PosizioneUdcCorrente.IdxCella AND
+ dbo.Celle.IdxCella = dbo.PosizioneUdcCorrente.IdxCella INNER JOIN
+ dbo.Blocchi ON dbo.Celle.IdxBlocco = dbo.Blocchi.IdxBlocco INNER JOIN
+ dbo.AnagMag ON dbo.Blocchi.CodMag = dbo.AnagMag.CodMag AND dbo.Blocchi.CodCS = dbo.AnagMag.CodCS AND
+ dbo.Blocchi.CodMag = dbo.AnagMag.CodMag AND dbo.Blocchi.CodCS = dbo.AnagMag.CodCS AND dbo.Blocchi.CodMag = dbo.AnagMag.CodMag AND
+ dbo.Blocchi.CodCS = dbo.AnagMag.CodCS ON dbo.ElencoCartellini.UDC = dbo.PosizioneUdcCorrente.UDC
+go
+
+exec sp_updateextendedproperty 'MS_DiagramPane1', '[0E232FF0-B466-11cf-A24F-00AA00A3EFFF, 1.00]
+Begin DesignProperties =
+ Begin PaneConfigurations =
+ Begin PaneConfiguration = 0
+ NumPanes = 4
+ Configuration = "(H (1[40] 4[20] 2[20] 3) )"
+ End
+ Begin PaneConfiguration = 1
+ NumPanes = 3
+ Configuration = "(H (1 [50] 4 [25] 3))"
+ End
+ Begin PaneConfiguration = 2
+ NumPanes = 3
+ Configuration = "(H (1 [50] 2 [25] 3))"
+ End
+ Begin PaneConfiguration = 3
+ NumPanes = 3
+ Configuration = "(H (4 [30] 2 [40] 3))"
+ End
+ Begin PaneConfiguration = 4
+ NumPanes = 2
+ Configuration = "(H (1 [56] 3))"
+ End
+ Begin PaneConfiguration = 5
+ NumPanes = 2
+ Configuration = "(H (2 [66] 3))"
+ End
+ Begin PaneConfiguration = 6
+ NumPanes = 2
+ Configuration = "(H (4 [50] 3))"
+ End
+ Begin PaneConfiguration = 7
+ NumPanes = 1
+ Configuration = "(V (3))"
+ End
+ Begin PaneConfiguration = 8
+ NumPanes = 3
+ Configuration = "(H (1[56] 4[18] 2) )"
+ End
+ Begin PaneConfiguration = 9
+ NumPanes = 2
+ Configuration = "(H (1 [75] 4))"
+ End
+ Begin PaneConfiguration = 10
+ NumPanes = 2
+ Configuration = "(H (1[66] 2) )"
+ End
+ Begin PaneConfiguration = 11
+ NumPanes = 2
+ Configuration = "(H (4 [60] 2))"
+ End
+ Begin PaneConfiguration = 12
+ NumPanes = 1
+ Configuration = "(H (1) )"
+ End
+ Begin PaneConfiguration = 13
+ NumPanes = 1
+ Configuration = "(V (4))"
+ End
+ Begin PaneConfiguration = 14
+ NumPanes = 1
+ Configuration = "(V (2))"
+ End
+ ActivePaneConfig = 0
+ End
+ Begin DiagramPane =
+ Begin Origin =
+ Top = 0
+ Left = 0
+ End
+ Begin Tables =
+ Begin Table = "AnagStatiProdotto"
+ Begin Extent =
+ Top = 6
+ Left = 38
+ Bottom = 101
+ Right = 208
+ End
+ DisplayFlags = 280
+ TopColumn = 0
+ End
+ Begin Table = "ElencoCartellini"
+ Begin Extent =
+ Top = 6
+ Left = 246
+ Bottom = 309
+ Right = 416
+ End
+ DisplayFlags = 280
+ TopColumn = 11
+ End
+ Begin Table = "Celle"
+ Begin Extent =
+ Top = 27
+ Left = 818
+ Bottom = 156
+ Right = 988
+ End
+ DisplayFlags = 280
+ TopColumn = 0
+ End
+ Begin Table = "PosizioneUdcCorrente"
+ Begin Extent =
+ Top = 71
+ Left = 548
+ Bottom = 200
+ Right = 718
+ End
+ DisplayFlags = 280
+ TopColumn = 0
+ End
+ Begin Table = "Blocchi"
+ Begin Extent =
+ Top = 70
+ Left = 1080
+ Bottom = 199
+ Right = 1250
+ End
+ DisplayFlags = 280
+ TopColumn = 0
+ End
+ Begin Table = "AnagMag"
+ Begin Extent =
+ Top = 188
+ Left = 799
+ Bottom = 334
+ Right = 969
+ End
+ DisplayFlags = 280
+ TopColumn = 0
+ End
+ End
+ End
+ Begin SQLPane =
+ End
+ Begin DataPane =
+ Begin ParameterDefaults = ""
+ End
+ Begin ColumnWidths = 22
+ Width = 284
+ Width = 15', 'SCHEMA', 'dbo', 'VIEW', 'v_UdcDetail'
+go
+
+exec sp_updateextendedproperty 'MS_DiagramPane2', '00
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ End
+ End
+ Begin CriteriaPane =
+ Begin ColumnWidths = 11
+ Column = 1440
+ Alias = 900
+ Table = 1170
+ Output = 720
+ Append = 1400
+ NewValue = 1170
+ SortType = 1350
+ SortOrder = 1410
+ GroupBy = 1350
+ Filter = 1350
+ Or = 1350
+ Or = 1350
+ Or = 1350
+ End
+ End
+End
+', 'SCHEMA', 'dbo', 'VIEW', 'v_UdcDetail'
+go
+
+commit
+go
+
+
+
+
+
+-- registro versione...
+INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(259, GETDATE())
+GO
\ No newline at end of file
diff --git a/GMW/GMW_data/SqlScripts/V1.1/GMW_00260.sql b/GMW/GMW_data/SqlScripts/V1.1/GMW_00260.sql
new file mode 100644
index 00000000..622334c3
--- /dev/null
+++ b/GMW/GMW_data/SqlScripts/V1.1/GMW_00260.sql
@@ -0,0 +1,1103 @@
+-- update stored varie
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_consumaMP
+*
+* Salva il movimento di consumo dell'UDC di MP indicato
+*
+* Steamware, S.E.L.
+* mod: 2010.09.24
+*
+****************************************/
+create PROCEDURE BatchQueue.stp_consumaMP
+(
+ @XRPQLN INT, --è il num rap qualità
+ @XNRETI NVARCHAR(10), -- è il numRapQual
+ @XDTPRO INT, -- data 8 cifre aaaammgg
+ @XTRPRO NVARCHAR(5) -- turno
+)
+AS
+ -- BOZZA DA COMPLETARE A CURA MAZZUCCONI!!!
+
+ DECLARE @SQL AS NVARCHAR(1000)
+
+ -- Faccio chiamata su AS400
+
+ SET @SQL = N' OPENQUERY( P65220DC, ''UPDATE MAZZT_DTV3.XOGIX00F'
+ SET @SQL = @SQL + 'SET XDTPRO = ' + @XDTPRO + ', XTRPRO = ' + @XTRPRO
+ SET @SQL = @SQL + ', XDESMT = ''F01'', XMATSC=''S'' '
+ SET @SQL = @SQL + 'WHERE XRPQLN =' + @XRPQLN + ' AND XNRETI = ' + @XNRETI + ''' )'
+
+ EXEC sp_executesql @SQL
+
+RETURN
+go
+
+/***************************************
+* STORED stp_annullaUDC
+*
+* annulla un UDC
+*
+* Steamware, S.E.L.
+* mod: 2010.04.28
+*
+****************************************/
+alter PROCEDURE stp_annullaUDC
+(
+ @UDC VARCHAR(20),
+ @CodSoggetto VARCHAR(17)
+)
+AS
+
+DECLARE @CodEvento VARCHAR(10)
+DECLARE @CodTipoDichiaraz VARCHAR(1)
+
+SET @CodEvento = 'UDC_ANN'
+SET @CodTipoDichiaraz = 'U'
+
+BEGIN TRAN
+ -- registro in StoricoCartellini
+ INSERT INTO StoricoCartellini(DataEv, CodEvento, CodTipoDichiaraz, UDC, CodCS,CodCliente, RagSociale, Particolare, DescParticolare,
+ DisegnoGrezzo, Esponente, CodImpianto, DescImpianto, CodStampo, Figura, DataFus, TurnoFus, CodImballo, CodSoggetto,
+ NumCont, Tara, Qta, CodStato, IdxPosizione, PesoTot, PesoCad)
+ SELECT GETDATE() AS DataEv, @CodEvento AS CodEvento, @CodTipoDichiaraz AS CodTipoDichiaraz, UDC, CodCS,
+ CodCliente, RagSociale, Particolare, DescParticolare, DisegnoGrezzo, Esponente, CodImpianto, DescImpianto, CodStampo, Figura,
+ DataFus, TurnoFus, CodImballo, @CodSoggetto AS CodSoggetto, NumCont, Tara, Qta, CodStato, IdxPosizione, PesoTot, PesoCad
+ FROM ElencoCartellini
+ WHERE (UDC = @UDC)
+
+ -- faccio update
+ UPDATE ElencoCartellini
+ SET IdxPosizione = 0
+ WHERE UDC = @UDC
+
+
+COMMIT TRAN
+
+RETURN
+go
+
+commit
+go
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_getUdcDetailFullCode
+*
+* ottiene l'elenco degli UDC con i dati significativi partendo da un codice UDC COMPLETO
+*
+* Steamware, S.E.L.
+* mod: 2010.05.24
+*
+****************************************/
+alter PROCEDURE stp_getUdcDetailFullCode
+(
+ @UDC VARCHAR(50),
+ @CodCS VARCHAR(2)
+)
+AS
+
+SELECT ElencoCartellini.UDC, ISNULL(ElencoCartellini.RagSociale, N'') AS RagSociale, ISNULL(ElencoCartellini.Particolare, N'') AS Particolare,
+ ISNULL(ElencoCartellini.DescParticolare, N'') AS DescParticolare, ISNULL(ElencoCartellini.DisegnoGrezzo, N'') AS DisegnoGrezzo,
+ ISNULL(ElencoCartellini.Esponente, N'') AS Esponente, ISNULL(ElencoCartellini.DescImpianto, N'') AS DescImpianto,
+ ISNULL(ElencoCartellini.DataFus, N'') AS DataFus, ISNULL(ElencoCartellini.TurnoFus, 0) AS TurnoFus, ElencoCartellini.CodImballo,
+ ElencoCartellini.Qta, ISNULL(AnagStatiProdotto.DescStato, N'') AS DescStato, ElencoCartellini.ModDate,
+ ISNULL(Blocchi.CodMag, N'') AS CodMag,
+ ISNULL(Blocchi.CodBlocco, N'') AS CodBlocco, ISNULL(Celle.CodCella, N'') AS CodCella, ISNULL(dbo.Celle.IdxCella, 0) AS IdxCella,
+ ISNULL(Celle.X, 0) AS X, ISNULL(Celle.Y, 0) AS Y, ISNULL(Celle.Z, 0) AS Z, ElencoCartellini.IdxPosizione
+FROM AnagStatiProdotto RIGHT OUTER JOIN
+ ElencoCartellini ON AnagStatiProdotto.CodStato = ElencoCartellini.CodStato AND AnagStatiProdotto.CodStato = ElencoCartellini.CodStato
+ LEFT OUTER JOIN Celle INNER JOIN PosizioneUdcCorrente ON Celle.IdxCella = PosizioneUdcCorrente.IdxCella
+ AND Celle.IdxCella = PosizioneUdcCorrente.IdxCella AND Celle.IdxCella = PosizioneUdcCorrente.IdxCella
+ INNER JOIN Blocchi ON Celle.IdxBlocco = Blocchi.IdxBlocco INNER JOIN AnagMag ON Blocchi.CodMag = AnagMag.CodMag
+ AND Blocchi.CodCS = AnagMag.CodCS AND Blocchi.CodMag = AnagMag.CodMag AND Blocchi.CodCS = AnagMag.CodCS AND Blocchi.CodMag = AnagMag.CodMag
+ AND Blocchi.CodCS = AnagMag.CodCS ON ElencoCartellini.UDC = PosizioneUdcCorrente.UDC
+WHERE (ElencoCartellini.UDC = @UDC) AND (ElencoCartellini.CodCS = @CodCS)
+
+RETURN
+go
+
+/***************************************
+* STORED stp_getUdcDetailFullCode
+*
+* ottiene l'elenco degli UDC con i dati significativi partendo da un valore da cercare come LIKE in
+* - UDC
+* - Particolare
+*
+* Steamware, S.E.L.
+* mod: 2010.05.24
+*
+****************************************/
+alter PROCEDURE stp_getUdcDetailLikeSearch
+(
+ @searchVal VARCHAR(50),
+ @CodCS VARCHAR(2)
+)
+AS
+
+SELECT ElencoCartellini.UDC, ISNULL(ElencoCartellini.RagSociale, N'') AS RagSociale, ISNULL(ElencoCartellini.Particolare, N'') AS Particolare,
+ ISNULL(ElencoCartellini.DescParticolare, N'') AS DescParticolare, ISNULL(ElencoCartellini.DisegnoGrezzo, N'') AS DisegnoGrezzo,
+ ISNULL(ElencoCartellini.Esponente, N'') AS Esponente, ISNULL(ElencoCartellini.DescImpianto, N'') AS DescImpianto,
+ ISNULL(ElencoCartellini.DataFus, N'') AS DataFus, ISNULL(ElencoCartellini.TurnoFus, 0) AS TurnoFus, ElencoCartellini.CodImballo,
+ ElencoCartellini.Qta, ISNULL(AnagStatiProdotto.DescStato, N'') AS DescStato, ElencoCartellini.ModDate,
+ ISNULL(Blocchi.CodMag, N'') AS CodMag, ISNULL(Blocchi.CodBlocco, N'') AS CodBlocco, ISNULL(Celle.CodCella, N'') AS CodCella,
+ ISNULL(dbo.Celle.IdxCella, 0) AS IdxCella, ISNULL(Celle.X, 0) AS X, ISNULL(Celle.Y, 0) AS Y, ISNULL(Celle.Z, 0) AS Z, ElencoCartellini.IdxPosizione
+FROM AnagStatiProdotto RIGHT OUTER JOIN ElencoCartellini
+ ON AnagStatiProdotto.CodStato = ElencoCartellini.CodStato AND AnagStatiProdotto.CodStato = ElencoCartellini.CodStato
+ LEFT OUTER JOIN Celle INNER JOIN PosizioneUdcCorrente
+ ON Celle.IdxCella = PosizioneUdcCorrente.IdxCella AND Celle.IdxCella = PosizioneUdcCorrente.IdxCella AND
+ Celle.IdxCella = PosizioneUdcCorrente.IdxCella INNER JOIN
+ Blocchi ON Celle.IdxBlocco = Blocchi.IdxBlocco INNER JOIN
+ AnagMag ON Blocchi.CodMag = AnagMag.CodMag AND Blocchi.CodCS = AnagMag.CodCS AND Blocchi.CodMag = AnagMag.CodMag AND
+ Blocchi.CodCS = AnagMag.CodCS AND Blocchi.CodMag = AnagMag.CodMag AND Blocchi.CodCS = AnagMag.CodCS ON
+ ElencoCartellini.UDC = PosizioneUdcCorrente.UDC
+WHERE (ElencoCartellini.CodCS = @CodCS) AND
+ ((ElencoCartellini.UDC like '%'+ @searchVal+'%') OR (ElencoCartellini.Particolare like '%'+ @searchVal+'%') OR
+ (ElencoCartellini.RagSociale like '%'+ @searchVal+'%'))
+
+RETURN
+go
+
+commit
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_rappQualGetByNumRapQual
+*
+* Ottiene l'elenco dei record di rapp qualità di AS dato il numero del rapporto di qualità che NON HANNO UDC
+*
+* Steamware, S.E.L.
+* mod: 2010.09.23
+*
+****************************************/
+alter PROCEDURE stp_rappQualGetByNumRapQual
+(
+ @nRapQual INT
+)
+AS
+ -- restituisce le righe richieste
+ SELECT *
+ FROM RilPro.RapQual
+ WHERE (nRapQual = @nRapQual)-- AND (UDC IS NULL)
+
+RETURN
+go
+
+/***************************************
+* STORED stp_sbloccaUdc
+*
+* sblocca un dato UDC per modifica
+*
+* Steamware, S.E.L.
+* mod: 2010.04.28
+*
+****************************************/
+alter PROCEDURE stp_sbloccaUdc
+(
+ @UDC VARCHAR(20),
+ @CodSoggetto VARCHAR(17)
+)
+AS
+
+DECLARE @CodEvento VARCHAR(10)
+DECLARE @CodTipoDichiaraz VARCHAR(1)
+
+SET @CodEvento = 'UDC_SBL'
+SET @CodTipoDichiaraz = 'U'
+
+BEGIN TRAN
+ -- registro in StoricoCartellini
+ INSERT INTO StoricoCartellini(DataEv, CodEvento, CodTipoDichiaraz, UDC, CodCS,CodCliente, RagSociale, Particolare, DescParticolare,
+ DisegnoGrezzo, Esponente, CodImpianto, DescImpianto, CodStampo, Figura, DataFus, TurnoFus, CodImballo, CodSoggetto,
+ NumCont, Tara, Qta, CodStato, IdxPosizione, PesoTot, PesoCad)
+ SELECT GETDATE() AS DataEv, @CodEvento AS CodEvento, @CodTipoDichiaraz AS CodTipoDichiaraz, UDC, CodCS,
+ CodCliente, RagSociale, Particolare, DescParticolare, DisegnoGrezzo, Esponente, CodImpianto, DescImpianto, CodStampo, Figura,
+ DataFus, TurnoFus, CodImballo, @CodSoggetto AS CodSoggetto, NumCont, Tara, Qta, CodStato, IdxPosizione, PesoTot, PesoCad
+ FROM ElencoCartellini
+ WHERE (UDC = @UDC)
+
+ -- faccio update
+ UPDATE ElencoCartellini
+ SET ModDate = GETDATE()
+ WHERE UDC = @UDC
+
+COMMIT TRAN
+
+RETURN
+go
+
+/***************************************
+* STORED stp_scaricaUdc
+*
+* elimina dalle posizioni correnti un UDC, salvandone la posizione precedente nella tab storica (per scaricamento / spedizione)
+*
+* Steamware, S.E.L.
+* mod: 2010.09.28
+*
+****************************************/
+alter PROCEDURE stp_scaricaUdc
+(
+ @UDC VARCHAR(50),
+ @IdxCellaFrom INT,
+ @IdxPosizione INT
+)
+AS
+
+BEGIN TRAN
+ /*
+ -- inizio mettendo in storico la posizione attuale dell'UDC (SE esiste)
+ INSERT INTO PosizioneUdcStorico(UDC, IdxCella, CodCS, DataInizio, DataFine)
+ (
+ SELECT UDC, IdxCella, CodCS, DataRif as DataInizio, GETDATE() as DataFine
+ FROM PosizioneUdcCorrente
+ WHERE UDC = @UDC AND IdxCella = @IdxCellaFrom
+ )
+ */
+ -- libero la posizione attuale dell'UDC (se c'è...)
+ DELETE
+ FROM PosizioneUdcCorrente
+ WHERE UDC = @UDC AND IdxCella = @IdxCellaFrom
+
+ -- aggiorno l'UDC come posizione finale...
+ UPDATE ElencoCartellini
+ SET IdxPosizione = @IdxPosizione
+ WHERE UDC = @UDC
+
+COMMIT TRAN
+
+RETURN
+go
+
+commit
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_UDC_insNew
+*
+* crea un nuovo record nella TabStatoOdpUdc e restituisce il codice UDC appena creato
+*
+* Steamware, S.E.L.
+* mod: 2010.04.28
+*
+****************************************/
+alter PROCEDURE stp_UDC_insNew
+(
+ @CodCS VARCHAR(2),
+ @Flusso VARCHAR(2),
+ @Anno VARCHAR(2),
+ @Tara FLOAT,
+ @CodImballo AS VARCHAR(50),
+ @CodTipoDichiaraz CHAR(1),
+ @CodSoggetto VARCHAR(17)
+)
+AS
+
+-- DECLARE iniziali
+DECLARE @UDC AS VARCHAR(20)
+DECLARE @numFlu AS INT
+DECLARE @numUdc AS INT
+DECLARE @nextUdc AS INT
+
+------------------------------------------------------------------------------------------------------
+-- Flusso
+------------------------------------------------------------------------------------------------------
+-- controllo se esiste il flusso (bilancia)...
+SET @numFlu = (
+ SELECT count(*)
+ FROM AnagBilance
+ WHERE CodBilancia = @Flusso
+)
+-- ...sennò lo creo...
+IF(@numFlu = 0)
+ BEGIN
+ -- se c'è inserisco in tab
+ INSERT INTO AnagBilance(CodBilancia, DescrImpianto, CodCS)
+ VALUES (@Flusso, @Flusso, @CodCS)
+ END
+------------------------------------------------------------------------------------------------------
+
+
+------------------------------------------------------------------------------------------------------
+-- UDC
+------------------------------------------------------------------------------------------------------
+-- controllo se ci sia già un UDC per company / flusso anno
+BEGIN TRAN
+ -- cerco nella tab contatori UDC l'ultimo valido
+ SET @numUdc = (
+ SELECT count(*)
+ FROM ContatoriUdc
+ WHERE CodCS = @CodCS
+ AND Flusso = @Flusso
+ AND Anno = @Anno
+ )
+ -- controllo se record c'è...
+ IF(@numUdc > 0)
+ BEGIN
+ -- se c'è incremento di 1 in tab
+ UPDATE ContatoriUdc
+ SET LastIdx = LastIdx + 1
+ WHERE CodCS = @CodCS
+ AND Flusso = @Flusso
+ AND Anno = @Anno
+ END
+ ELSE
+ BEGIN
+ -- lo creo!
+ INSERT INTO ContatoriUdc(CodCS, Flusso, Anno, LastIdx)
+ VALUES (@CodCS, @Flusso, @Anno, 1)
+ END
+ -- aggiorno numero UDC
+ SET @numUdc = (
+ SELECT LastIdx
+ FROM ContatoriUdc
+ WHERE CodCS = @CodCS
+ AND Flusso = @Flusso
+ AND Anno = @Anno
+ )
+COMMIT TRAN
+------------------------------------------------------------------------------------------------------
+
+------------------------------------------------------------------------------------------------------
+-- Ciclo principale x inserimento nuovo record
+------------------------------------------------------------------------------------------------------
+-- ottengo il nuovo codice UDC completo
+--SET @UDC = 'U' + @CodCS + @Flusso + @Anno + dbo.f_padLeft(CAST(@numUdc AS VARCHAR(6)), 6, '0')
+SET @UDC = dbo.componiUdc(@CodCS, @Flusso, @Anno, @numUdc)
+
+-- inserisco un nuovo record
+INSERT INTO ElencoCartellini(CodCS, UDC, Tara, IdxPosizione, Qta, CodImballo, CreateDate, ModDate)
+VALUES (@CodCS, @UDC, @Tara, 0, 0, @CodImballo, GETDATE(), GETDATE())
+------------------------------------------------------------------------------------------------------
+
+------------------------------------------------------------------------------------------------------
+-- restituisco la tab dati con l'udc appena inserito
+------------------------------------------------------------------------------------------------------
+SELECT *
+FROM ElencoCartellini
+WHERE UDC = @UDC
+------------------------------------------------------------------------------------------------------
+
+RETURN
+go
+
+/***************************************
+* STORED stp_UDC_insNewFull
+*
+* crea un nuovo record nella TabStatoOdpUdc FULL (con pesi, qta...) e restituisce il codice UDC appena creato
+*
+* Steamware, S.E.L.
+* mod: 2010.04.28
+*
+****************************************/
+alter PROCEDURE stp_UDC_insNewFull
+(
+ @CodCS VARCHAR(2),
+ @Flusso VARCHAR(2),
+ @Anno VARCHAR(2),
+ @CodCliente VARCHAR(6),
+ @Particolare VARCHAR(15),
+ @CodImpianto AS VARCHAR(50),
+ @CodStampo VARCHAR(8),
+ @Esponente VARCHAR(6),
+ @Figura VARCHAR(4),
+ @DataFus DATETIME,
+ @TurnoFus INT,
+ @CodImballo VARCHAR(15),
+ @CodSoggetto VARCHAR(17),
+ @Tara FLOAT,
+ @IdxPosizione INT,
+ @CodTipoDichiaraz CHAR(1),
+ @CodEvento VARCHAR(10),
+ @Qta DECIMAL(10,2),
+ @PesoTot FLOAT,
+ @PesoCad FLOAT,
+ @CodStato VARCHAR(50),
+ @UDC_parent VARCHAR(20),
+ @DoDeleteUdcParent BIT
+)
+AS
+
+-- DECLARE iniziali
+DECLARE @UDC AS VARCHAR(20)
+DECLARE @RagSociale AS VARCHAR(35)
+DECLARE @DescParticolare AS VARCHAR(30)
+DECLARE @DescImpianto AS VARCHAR(50)
+DECLARE @DisegnoGrezzo AS VARCHAR(30)
+DECLARE @NumCont AS INT
+DECLARE @numFlu AS INT
+DECLARE @numUdc AS INT
+DECLARE @nextUdc AS INT
+DECLARE @IdxCella AS INT
+
+------------------------------------------------------------------------------------------------------
+-- Caricamento Dati da anagrafica
+------------------------------------------------------------------------------------------------------
+-- cerco la ragione sociale...
+SET @RagSociale = (
+ SELECT ISNULL(RagSociale, 'ND') AS RagSociale
+ FROM RilPro.AnagClienti
+ WHERE (CodCliente = @CodCliente)
+)
+
+-- Cerco descrizione del particolare...
+SET @DescParticolare = (
+ SELECT ISNULL(DescParticolare, 'ND') AS DescParticolare
+ FROM RilPro.AnagParticolari
+ WHERE (Particolare = @Particolare)
+)
+
+-- cerco codice disegno grezzo
+SET @DisegnoGrezzo = (
+ SELECT ISNULL(DisegnoGrezzo, 'ND') AS DescParticolare
+ FROM RilPro.AnagParticolari
+ WHERE (Particolare = @Particolare)
+)
+
+-- cerco descrizione Impianto
+SET @DescImpianto = (
+ SELECT ISNULL(DescImpianto, 'ND') AS DescImpianto
+ FROM AnagImpianti
+ WHERE (CodImpianto = @CodImpianto)
+)
+
+
+
+-- Calcolo contatore intero successivo x il contenitore...
+SET @NumCont = (
+ SELECT ISNULL(MAX(NumCont), 0) + 1 AS NumCont
+ FROM ElencoCartellini
+ WHERE (Particolare = @Particolare)
+ AND (DataFus = @DataFus)
+ AND (TurnoFus = @TurnoFus)
+ AND (CodImpianto = @CodImpianto)
+ AND (CodStampo = @CodStampo)
+ AND (Figura = @Figura)
+)
+
+
+------------------------------------------------------------------------------------------------------
+
+------------------------------------------------------------------------------------------------------
+-- Flusso
+------------------------------------------------------------------------------------------------------
+-- controllo se esiste il flusso (bilancia)...
+SET @numFlu = (
+ SELECT count(*)
+ FROM AnagBilance
+ WHERE CodBilancia = @Flusso
+)
+-- ...sennò lo creo...
+IF(@numFlu = 0)
+ BEGIN
+ -- se c'è inserisco in tab
+ INSERT INTO AnagBilance(CodBilancia, DescrImpianto, CodCS)
+ VALUES (@Flusso, @Flusso, @CodCS)
+ END
+------------------------------------------------------------------------------------------------------
+
+
+------------------------------------------------------------------------------------------------------
+-- UDC
+------------------------------------------------------------------------------------------------------
+-- controllo se ci sia già un UDC per company / flusso anno
+BEGIN TRAN
+ -- cerco nella tab contatori UDC l'ultimo valido
+ SET @numUdc = (
+ SELECT count(*)
+ FROM ContatoriUdc
+ WHERE CodCS = @CodCS
+ AND Flusso = @Flusso
+ AND Anno = @Anno
+ )
+ -- controllo se record c'è...
+ IF(@numUdc > 0)
+ BEGIN
+ -- se c'è incremento di 1 in tab
+ UPDATE ContatoriUdc
+ SET LastIdx = LastIdx + 1
+ WHERE CodCS = @CodCS
+ AND Flusso = @Flusso
+ AND Anno = @Anno
+ END
+ ELSE
+ BEGIN
+ -- lo creo!
+ INSERT INTO ContatoriUdc(CodCS, Flusso, Anno, LastIdx)
+ VALUES (@CodCS, @Flusso, @Anno, 1)
+ END
+ -- aggiorno numero UDC
+ SET @numUdc = (
+ SELECT LastIdx
+ FROM ContatoriUdc
+ WHERE CodCS = @CodCS
+ AND Flusso = @Flusso
+ AND Anno = @Anno
+ )
+COMMIT TRAN
+------------------------------------------------------------------------------------------------------
+
+------------------------------------------------------------------------------------------------------
+-- Ciclo principale x inserimento nuovo record
+------------------------------------------------------------------------------------------------------
+BEGIN TRAN
+ -- ottengo il nuovo codice UDC completo
+ --SET @UDC = 'U' + @CodCS + @Flusso + @Anno + dbo.f_padLeft(CAST(@numUdc AS VARCHAR(6)), 6, '0')
+ SET @UDC = dbo.componiUdc(@CodCS, @Flusso, @Anno, @numUdc)
+
+
+ -- inserisco un nuovo record
+ INSERT INTO ElencoCartellini(UDC, CodCS, CodCliente, RagSociale, Particolare, DescParticolare, DisegnoGrezzo, Esponente, CodImpianto, DescImpianto, CodStampo, Figura, DataFus, TurnoFus, CodImballo, CodSoggetto, NumCont, Tara, Qta, CodStato, IdxPosizione, PesoTot, PesoCad, CreateDate, ModDate)
+ VALUES (@UDC, @CodCS, @CodCliente, @RagSociale, @Particolare, @DescParticolare, @DisegnoGrezzo, @Esponente, @CodImpianto, @DescImpianto, @CodStampo, @Figura, @DataFus, @TurnoFus, @CodImballo, @CodSoggetto, @NumCont, @Tara, @Qta, @CodStato, @IdxPosizione, @PesoTot, @PesoCad, GETDATE(), GETDATE())
+
+ -- inserisco relazione parent-child tra UDC vecchio (tara) e nuovo (pesa)
+ INSERT INTO RelazUDC(UDC_parent, UDC_child)
+ VALUES (@UDC_parent, @UDC)
+COMMIT TRAN
+
+------------------------------------------------------------------------------------------------------
+
+------------------------------------------------------------------------------------------------------
+-- Ciclo secondario x eventuale cancelalzione UDC tara parent e inserimento in posizione
+------------------------------------------------------------------------------------------------------
+ -- se richiesto elimino l'UDC parent (tara)
+ IF(@DoDeleteUdcParent = 1)
+ BEGIN
+ DELETE FROM ElencoCartellini WHERE UDC = @UDC_parent
+ END
+
+ -- calcolo la prima cella della posizione indicata..
+ SET @IdxCella = (
+ SELECT TOP 1 c.IdxCella
+ FROM Celle c INNER JOIN Blocchi b ON c.IdxBlocco=b.IdxBlocco
+ WHERE b.CodMag = CAST(@IdxPosizione AS NVARCHAR(50))
+ )
+ -- inserisco il cartellino nella prima cella della posizione indicata..
+ INSERT INTO PosizioneUdcCorrente
+ VALUES (@UDC, @IdxCella, @CodCS, GETDATE())
+------------------------------------------------------------------------------------------------------
+
+/*
+------------------------------------------------------------------------------------------------------
+-- Salvataggio dati evento in tab StoricoEventi
+------------------------------------------------------------------------------------------------------
+INSERT INTO StoricoEventi(DataEv, CodEvento, CodOperatore, CodTipoDichiaraz, CodCS, UDC, Qta, PesoTot, PesoCad, Particolare, CodStato, CodStampo, Figura, FiguraIncisa)
+VALUES (GETDATE(), @CodEvento, @CodOperatore, @CodTipoDichiaraz, @CodCS, @UDC, @Qta, @PesoTot, @PesoCad, @Particolare, @CodStato, @CodStampo, @Figura, @FiguraIncisa)
+------------------------------------------------------------------------------------------------------
+*/
+
+------------------------------------------------------------------------------------------------------
+-- restituisco la tab dati con l'udc appena inserito
+------------------------------------------------------------------------------------------------------
+SELECT *
+FROM ElencoCartellini
+WHERE UDC = @UDC
+------------------------------------------------------------------------------------------------------
+
+RETURN
+go
+
+/***************************************
+* STORED stp_UDC_update
+*
+* aggiorna un cartellino dato il suo codice UDC e tutti i parametri da aggiornare
+*
+* Steamware, S.E.L.
+* mod: 2010.04.30
+*
+****************************************/
+alter PROCEDURE stp_UDC_update
+(
+ @UDC_edit VARCHAR(20),
+ @CodCS VARCHAR(2),
+ @Flusso VARCHAR(2),
+ @Anno VARCHAR(2),
+ @CodCliente VARCHAR(6),
+ @Particolare VARCHAR(15),
+ @CodImpianto AS VARCHAR(50),
+ @CodStampo VARCHAR(8),
+ @Esponente VARCHAR(6),
+ @Figura VARCHAR(4),
+ @DataFus DATETIME,
+ @TurnoFus INT,
+ @CodImballo VARCHAR(15),
+ @CodSoggetto VARCHAR(17),
+ @Tara FLOAT,
+ @IdxPosizione INT,
+ @CodTipoDichiaraz CHAR(1),
+ @CodEvento VARCHAR(10),
+ @Qta DECIMAL(10,2),
+ @PesoTot FLOAT,
+ @PesoCad FLOAT,
+ @CodStato VARCHAR(50),
+ @UDC_parent VARCHAR(20)
+)
+AS
+
+-- DECLARE iniziali
+DECLARE @RagSociale AS VARCHAR(35)
+DECLARE @DescParticolare AS VARCHAR(30)
+DECLARE @DescImpianto AS VARCHAR(50)
+DECLARE @DisegnoGrezzo AS VARCHAR(30)
+DECLARE @NumCont AS INT
+DECLARE @numFlu AS INT
+DECLARE @numUdc AS INT
+DECLARE @nextUdc AS INT
+
+------------------------------------------------------------------------------------------------------
+-- Caricamento Dati da anagrafica
+------------------------------------------------------------------------------------------------------
+-- cerco la ragione sociale...
+SET @RagSociale = (
+ SELECT ISNULL(RagSociale, 'ND') AS RagSociale
+ FROM RilPro.AnagClienti
+ WHERE (CodCliente = @CodCliente)
+)
+
+-- Cerco descrizione del particolare...
+SET @DescParticolare = (
+ SELECT ISNULL(DescParticolare, 'ND') AS DescParticolare
+ FROM RilPro.AnagParticolari
+ WHERE (Particolare = @Particolare)
+)
+
+-- cerco codice disegno grezzo
+SET @DisegnoGrezzo = (
+ SELECT ISNULL(DisegnoGrezzo, 'ND') AS DescParticolare
+ FROM RilPro.AnagParticolari
+ WHERE (Particolare = @Particolare)
+)
+
+-- cerco descrizione Impianto
+SET @DescImpianto = (
+ SELECT ISNULL(DescImpianto, 'ND') AS DescImpianto
+ FROM AnagImpianti
+ WHERE (CodImpianto = @CodImpianto)
+)
+
+
+
+-- Calcolo contatore intero successivo x il contenitore...
+SET @NumCont = (
+ SELECT NumCont
+ FROM ElencoCartellini
+ WHERE (UDC = @UDC_edit)
+)
+
+
+------------------------------------------------------------------------------------------------------
+
+------------------------------------------------------------------------------------------------------
+-- Flusso
+------------------------------------------------------------------------------------------------------
+-- controllo se esiste il flusso (bilancia)...
+SET @numFlu = (
+ SELECT count(*)
+ FROM AnagBilance
+ WHERE CodBilancia = @Flusso
+)
+-- ...sennò lo creo...
+IF(@numFlu = 0)
+ BEGIN
+ -- se c'è inserisco in tab
+ INSERT INTO AnagBilance(CodBilancia, DescrImpianto, CodCS)
+ VALUES (@Flusso, @Flusso, @CodCS)
+ END
+------------------------------------------------------------------------------------------------------
+
+------------------------------------------------------------------------------------------------------
+-- Ciclo principale x edit record
+------------------------------------------------------------------------------------------------------
+BEGIN TRAN
+ -- registro in StoricoCartellini
+ INSERT INTO StoricoCartellini(DataEv, CodEvento, CodTipoDichiaraz, UDC, CodCS,CodCliente, RagSociale, Particolare, DescParticolare,
+ DisegnoGrezzo, Esponente, CodImpianto, DescImpianto, CodStampo, Figura, DataFus, TurnoFus, CodImballo, CodSoggetto,
+ NumCont, Tara, Qta, CodStato, IdxPosizione, PesoTot, PesoCad)
+ SELECT GETDATE() AS DataEv, @CodEvento AS CodEvento, @CodTipoDichiaraz AS CodTipoDichiaraz, UDC, CodCS,
+ CodCliente, RagSociale, Particolare, DescParticolare, DisegnoGrezzo, Esponente, CodImpianto, DescImpianto, CodStampo, Figura,
+ DataFus, TurnoFus, CodImballo, @CodSoggetto AS CodSoggetto, NumCont, Tara, Qta, CodStato, IdxPosizione, PesoTot, PesoCad
+ FROM ElencoCartellini
+ WHERE (UDC = @UDC_edit)
+
+ -- elimino vecchio record parent/child
+ DELETE FROM RelazUDC
+ WHERE (UDC_child = @UDC_edit)
+
+ -- modifico il record
+ UPDATE ElencoCartellini
+ SET CodCS = @CodCS, CodCliente = @CodCliente, RagSociale = @RagSociale, Particolare = @Particolare, DescParticolare = @DescParticolare,
+ DisegnoGrezzo = @DisegnoGrezzo, Esponente = @Esponente, CodImpianto = @CodImpianto, DescImpianto = @DescImpianto, CodStampo = @CodStampo,
+ Figura = @Figura, DataFus = @DataFus, TurnoFus = @TurnoFus, CodImballo = @CodImballo, CodSoggetto = @CodSoggetto, NumCont = @NumCont,
+ Tara = @Tara, Qta = @Qta, CodStato = @CodStato, IdxPosizione = @IdxPosizione, PesoTot = @PesoTot, PesoCad = @PesoCad, ModDate = GETDATE()
+ WHERE UDC = @UDC_edit
+
+ -- inserisco relazione aprent-child tra UDC vecchio (tara) e nuovo (pesa)
+ INSERT INTO RelazUDC(UDC_parent, UDC_child)
+ VALUES (@UDC_parent, @UDC_edit)
+COMMIT TRAN
+------------------------------------------------------------------------------------------------------
+
+------------------------------------------------------------------------------------------------------
+-- restituisco la tab dati con l'udc appena inserito
+------------------------------------------------------------------------------------------------------
+SELECT *
+FROM ElencoCartellini
+WHERE UDC = @UDC_edit
+------------------------------------------------------------------------------------------------------
+
+RETURN
+go
+
+/***************************************
+* STORED stp_UDC_updateIdxPosizione
+*
+* aggiorna un cartellino x la sua posizione logica
+*
+* Steamware, S.E.L.
+* mod: 2010.06.12
+*
+****************************************/
+alter PROCEDURE stp_UDC_updateIdxPosizione
+(
+ @UDC VARCHAR(20),
+ @CodSoggetto VARCHAR(17),
+ @CodTipoDichiaraz CHAR(1),
+ @CodEvento VARCHAR(10),
+ @IdxPosizione INT
+)
+AS
+
+
+------------------------------------------------------------------------------------------------------
+-- Ciclo principale x edit record
+------------------------------------------------------------------------------------------------------
+BEGIN TRAN
+
+ -- registro in StoricoCartellini
+ INSERT INTO StoricoCartellini(DataEv, CodEvento, CodTipoDichiaraz, UDC, CodCS,CodCliente, RagSociale, Particolare, DescParticolare,
+ DisegnoGrezzo, Esponente, CodImpianto, DescImpianto, CodStampo, Figura, DataFus, TurnoFus, CodImballo, CodSoggetto,
+ NumCont, Tara, Qta, CodStato, IdxPosizione, PesoTot, PesoCad)
+ SELECT GETDATE() AS DataEv, @CodEvento AS CodEvento, @CodTipoDichiaraz AS CodTipoDichiaraz, UDC, CodCS,
+ CodCliente, RagSociale, Particolare, DescParticolare, DisegnoGrezzo, Esponente, CodImpianto, DescImpianto, CodStampo, Figura,
+ DataFus, TurnoFus, CodImballo, @CodSoggetto AS CodSoggetto, NumCont, Tara, Qta, CodStato, IdxPosizione, PesoTot, PesoCad
+ FROM ElencoCartellini
+ WHERE (UDC = @UDC)
+
+ -- modifico il record
+ UPDATE ElencoCartellini
+ SET IdxPosizione = @IdxPosizione, ModDate = GETDATE()
+ WHERE UDC = @UDC
+
+COMMIT TRAN
+------------------------------------------------------------------------------------------------------
+
+------------------------------------------------------------------------------------------------------
+-- restituisco la tab dati con l'udc appena inserito
+------------------------------------------------------------------------------------------------------
+SELECT *
+FROM ElencoCartellini
+WHERE UDC = @UDC
+------------------------------------------------------------------------------------------------------
+
+RETURN
+go
+
+/***************************************
+* STORED stp_UDC_updateQty
+*
+* aggiorna un cartellino x la sua quantità
+*
+* Steamware, S.E.L.
+* mod: 2010.06.12
+*
+****************************************/
+alter PROCEDURE stp_UDC_updateQty
+(
+ @UDC VARCHAR(20),
+ @CodSoggetto VARCHAR(17),
+ @CodTipoDichiaraz CHAR(1),
+ @CodEvento VARCHAR(10),
+ @Qta DECIMAL(10,2)
+)
+AS
+
+
+------------------------------------------------------------------------------------------------------
+-- Ciclo principale x edit record
+------------------------------------------------------------------------------------------------------
+BEGIN TRAN
+
+ -- registro in StoricoCartellini
+ INSERT INTO StoricoCartellini(DataEv, CodEvento, CodTipoDichiaraz, UDC, CodCS,CodCliente, RagSociale, Particolare, DescParticolare,
+ DisegnoGrezzo, Esponente, CodImpianto, DescImpianto, CodStampo, Figura, DataFus, TurnoFus, CodImballo, CodSoggetto,
+ NumCont, Tara, Qta, CodStato, IdxPosizione, PesoTot, PesoCad)
+ SELECT GETDATE() AS DataEv, @CodEvento AS CodEvento, @CodTipoDichiaraz AS CodTipoDichiaraz, UDC, CodCS,
+ CodCliente, RagSociale, Particolare, DescParticolare, DisegnoGrezzo, Esponente, CodImpianto, DescImpianto, CodStampo, Figura,
+ DataFus, TurnoFus, CodImballo, @CodSoggetto AS CodSoggetto, NumCont, Tara, Qta, CodStato, IdxPosizione, PesoTot, PesoCad
+ FROM ElencoCartellini
+ WHERE (UDC = @UDC)
+
+ -- modifico il record
+ UPDATE ElencoCartellini
+ SET Qta = @Qta, ModDate = GETDATE()
+ WHERE UDC = @UDC
+
+COMMIT TRAN
+------------------------------------------------------------------------------------------------------
+
+------------------------------------------------------------------------------------------------------
+-- restituisco la tab dati con l'udc appena inserito
+------------------------------------------------------------------------------------------------------
+SELECT *
+FROM ElencoCartellini
+WHERE UDC = @UDC
+------------------------------------------------------------------------------------------------------
+
+RETURN
+go
+
+commit
+go
+
+
+-- ulteriori fix
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+INSERT INTO dbo.AnagBilance
+ VALUES (N'MP', N'MP', N'MA')
+go
+
+commit transaction
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+UPDATE dbo.AnagTipoDelibere SET
+ CodEvento=N'DelWipPost'
+ WHERE CodTipoDelibera=N'DelibWipPost'
+go
+
+commit transaction
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+DELETE FROM dbo.AS400_MagCont WHERE CodMagAS=N'56'
+go
+
+commit transaction
+go
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+INSERT INTO dbo.Permessi
+ VALUES ('LAB', 'menu.aspx', 3, 0, 'GestLaboratorioMP', 'GestLaboratorioMPExpl')
+INSERT INTO dbo.Permessi
+ VALUES ('LAB_consumaUdc', 'LabConsumaUdc.aspx', 3, 2, 'ConsUDC', 'ConsUDCExpl')
+INSERT INTO dbo.Permessi
+ VALUES ('LAB_stampaUdc', 'LabStampaUdc.aspx', 3, 1, 'AcqPrntUdc', 'AcqPrntUdcExpl')
+go
+
+commit transaction
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+INSERT INTO dbo.Permessi2Funzione
+ VALUES ('LAB', N'GMW_lab', 'S')
+INSERT INTO dbo.Permessi2Funzione
+ VALUES ('LAB_consumaUdc', N'GMW_lab', 'S')
+INSERT INTO dbo.Permessi2Funzione
+ VALUES ('LAB_stampaUdc', N'GMW_lab', 'S')
+go
+
+commit transaction
+go
+
+
+
+/****** Object: StoredProcedure [dbo].[stp_UDC_insNew] Script Date: 09/29/2010 14:53:58 ******/
+SET ANSI_NULLS ON
+GO
+
+SET QUOTED_IDENTIFIER ON
+GO
+
+
+/***************************************
+* STORED stp_UDC_insNew
+*
+* crea un nuovo record nella TabStatoOdpUdc e restituisce il codice UDC appena creato
+*
+* Steamware, S.E.L.
+* mod: 2010.04.28
+*
+****************************************/
+ALTER PROCEDURE [dbo].[stp_UDC_insNew]
+(
+ @CodCS VARCHAR(2),
+ @Flusso VARCHAR(2),
+ @Anno VARCHAR(2),
+ @Tara FLOAT,
+ @CodImballo AS VARCHAR(50),
+ @CodTipoDichiaraz CHAR(1),
+ @CodSoggetto VARCHAR(17)
+)
+AS
+
+-- DECLARE iniziali
+DECLARE @UDC AS VARCHAR(20)
+DECLARE @numFlu AS INT
+DECLARE @numUdc AS INT
+DECLARE @nextUdc AS INT
+
+------------------------------------------------------------------------------------------------------
+-- Flusso
+------------------------------------------------------------------------------------------------------
+-- controllo se esiste il flusso (bilancia)...
+SET @numFlu = (
+ SELECT count(*)
+ FROM AnagBilance
+ WHERE CodBilancia = @Flusso
+)
+-- ...sennò lo creo...
+IF(@numFlu = 0)
+ BEGIN
+ -- se c'è inserisco in tab
+ INSERT INTO AnagBilance(CodBilancia, DescrImpianto, CodCS)
+ VALUES (@Flusso, @Flusso, @CodCS)
+ END
+------------------------------------------------------------------------------------------------------
+
+
+------------------------------------------------------------------------------------------------------
+-- UDC
+------------------------------------------------------------------------------------------------------
+-- controllo se ci sia già un UDC per company / flusso anno
+BEGIN TRAN
+ -- cerco nella tab contatori UDC l'ultimo valido
+ SET @numUdc = (
+ SELECT count(*)
+ FROM ContatoriUdc
+ WHERE CodCS = @CodCS
+ AND Flusso = @Flusso
+ AND Anno = @Anno
+ )
+ -- controllo se record c'è...
+ IF(@numUdc > 0)
+ BEGIN
+ -- se c'è incremento di 1 in tab
+ UPDATE ContatoriUdc
+ SET LastIdx = LastIdx + 1
+ WHERE CodCS = @CodCS
+ AND Flusso = @Flusso
+ AND Anno = @Anno
+ END
+ ELSE
+ BEGIN
+ -- lo creo!
+ INSERT INTO ContatoriUdc(CodCS, Flusso, Anno, LastIdx)
+ VALUES (@CodCS, @Flusso, @Anno, 1)
+ END
+ -- aggiorno numero UDC
+ SET @numUdc = (
+ SELECT LastIdx
+ FROM ContatoriUdc
+ WHERE CodCS = @CodCS
+ AND Flusso = @Flusso
+ AND Anno = @Anno
+ )
+COMMIT TRAN
+------------------------------------------------------------------------------------------------------
+
+------------------------------------------------------------------------------------------------------
+-- Ciclo principale x inserimento nuovo record
+------------------------------------------------------------------------------------------------------
+-- ottengo il nuovo codice UDC completo
+--SET @UDC = 'U' + @CodCS + @Flusso + @Anno + dbo.f_padLeft(CAST(@numUdc AS VARCHAR(6)), 6, '0')
+SET @UDC = dbo.componiUdc(@CodCS, @Flusso, @Anno, @numUdc)
+
+-- inserisco un nuovo record
+INSERT INTO ElencoCartellini(CodCS, UDC, Tara, IdxPosizione, Qta, CodImballo, CodSoggetto, CreateDate, ModDate)
+VALUES (@CodCS, @UDC, @Tara, 0, 0, @CodImballo, @CodSoggetto, GETDATE(), GETDATE())
+------------------------------------------------------------------------------------------------------
+
+------------------------------------------------------------------------------------------------------
+-- restituisco la tab dati con l'udc appena inserito
+------------------------------------------------------------------------------------------------------
+SELECT *
+FROM ElencoCartellini
+WHERE UDC = @UDC
+------------------------------------------------------------------------------------------------------
+
+RETURN
+
+GO
+
+
+
+
+
+-- registro versione...
+INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(260, GETDATE())
+GO
diff --git a/GMW/GMW_data/SqlScripts/V1.1/GMW_00265.sql b/GMW/GMW_data/SqlScripts/V1.1/GMW_00265.sql
new file mode 100644
index 00000000..d5de3376
--- /dev/null
+++ b/GMW/GMW_data/SqlScripts/V1.1/GMW_00265.sql
@@ -0,0 +1,435 @@
+-- update
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* function dateToAsFormat
+*
+* converte le date da DATETIME al formato AS 8 cifre AAAAMMGG
+*
+* Steamware, S.E.L.
+* mod: 2010.09.29
+*
+****************************************/
+create FUNCTION dateToAsFormat
+(
+ @data DATETIME
+)
+RETURNS NVARCHAR(8)
+AS
+ BEGIN
+ RETURN CONVERT(NVARCHAR(8), @data, 112)
+ END
+go
+
+commit
+go
+
+
+
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+alter table PosizioneUdcStorico drop
+ constraint FK_PosizioneUdcStorico_ElencoCartellini
+go
+
+exec sp_rename 'PK_PosizioneUdcStorico_1', 'tmp__PK_PosizioneUdcStorico_1', 'OBJECT'
+go
+
+exec sp_rename 'PosizioneUdcStorico', 'tmp__PosizioneUdcStorico_0', 'OBJECT'
+go
+
+create table PosizioneUdcStorico(
+ UDC nvarchar(50) not null,
+ IdxCella int not null,
+ DataInizio datetime not null,
+ CodCS nchar(2) not null,
+ DataFine datetime,
+
+ constraint PK_PosizioneUdcStorico_1 primary key(UDC,IdxCella,DataInizio)
+)
+go
+
+alter table PosizioneUdcStorico add
+ constraint FK_PosizioneUdcStorico_ElencoCartellini foreign key(UDC) references ElencoCartellini(UDC) on update cascade
+go
+
+insert into PosizioneUdcStorico(UDC,IdxCella,DataInizio,CodCS,DataFine) select UDC,IdxCella,DataInizio,CodCS,DataFine from tmp__PosizioneUdcStorico_0
+go
+
+drop table tmp__PosizioneUdcStorico_0
+go
+
+commit
+go
+
+
+create index [] on RilPro.RapQual(DataRapQual)
+ include(nRapQual,CodFor,CodLega,Qta,BenesQual,UDC)
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+create VIEW v_RapQualSunto
+AS
+SELECT TOP (100) PERCENT CAST(nRapQual AS NVARCHAR(20)) AS nRapQual, DataRapQual, CodFor, CodLega, SUM(Qta) AS Qta, BenesQual, COUNT(*) AS UdcTot,
+ COUNT(UDC) AS UdcAssoc
+FROM RilPro.RapQual
+GROUP BY nRapQual, DataRapQual, CodFor, CodLega, BenesQual
+ORDER BY nRapQual
+go
+
+exec sp_addextendedproperty 'MS_DiagramPane1', '[0E232FF0-B466-11cf-A24F-00AA00A3EFFF, 1.00]
+Begin DesignProperties =
+ Begin PaneConfigurations =
+ Begin PaneConfiguration = 0
+ NumPanes = 4
+ Configuration = "(H (1[40] 4[20] 2[20] 3) )"
+ End
+ Begin PaneConfiguration = 1
+ NumPanes = 3
+ Configuration = "(H (1 [50] 4 [25] 3))"
+ End
+ Begin PaneConfiguration = 2
+ NumPanes = 3
+ Configuration = "(H (1 [50] 2 [25] 3))"
+ End
+ Begin PaneConfiguration = 3
+ NumPanes = 3
+ Configuration = "(H (4 [30] 2 [40] 3))"
+ End
+ Begin PaneConfiguration = 4
+ NumPanes = 2
+ Configuration = "(H (1 [56] 3))"
+ End
+ Begin PaneConfiguration = 5
+ NumPanes = 2
+ Configuration = "(H (2 [66] 3))"
+ End
+ Begin PaneConfiguration = 6
+ NumPanes = 2
+ Configuration = "(H (4 [50] 3))"
+ End
+ Begin PaneConfiguration = 7
+ NumPanes = 1
+ Configuration = "(V (3))"
+ End
+ Begin PaneConfiguration = 8
+ NumPanes = 3
+ Configuration = "(H (1[56] 4[18] 2) )"
+ End
+ Begin PaneConfiguration = 9
+ NumPanes = 2
+ Configuration = "(H (1 [75] 4))"
+ End
+ Begin PaneConfiguration = 10
+ NumPanes = 2
+ Configuration = "(H (1[66] 2) )"
+ End
+ Begin PaneConfiguration = 11
+ NumPanes = 2
+ Configuration = "(H (4 [60] 2))"
+ End
+ Begin PaneConfiguration = 12
+ NumPanes = 1
+ Configuration = "(H (1) )"
+ End
+ Begin PaneConfiguration = 13
+ NumPanes = 1
+ Configuration = "(V (4))"
+ End
+ Begin PaneConfiguration = 14
+ NumPanes = 1
+ Configuration = "(V (2))"
+ End
+ ActivePaneConfig = 0
+ End
+ Begin DiagramPane =
+ Begin Origin =
+ Top = 0
+ Left = 0
+ End
+ Begin Tables =
+ Begin Table = "RapQual (RilPro)"
+ Begin Extent =
+ Top = 6
+ Left = 38
+ Bottom = 314
+ Right = 208
+ End
+ DisplayFlags = 280
+ TopColumn = 0
+ End
+ End
+ End
+ Begin SQLPane =
+ End
+ Begin DataPane =
+ Begin ParameterDefaults = ""
+ End
+ Begin ColumnWidths = 9
+ Width = 284
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ End
+ End
+ Begin CriteriaPane =
+ Begin ColumnWidths = 12
+ Column = 1440
+ Alias = 1305
+ Table = 1170
+ Output = 720
+ Append = 1400
+ NewValue = 1170
+ SortType = 1350
+ SortOrder = 1410
+ GroupBy = 1350
+ Filter = 1350
+ Or = 1350
+ Or = 1350
+ Or = 1350
+ End
+ End
+End
+', 'SCHEMA', 'dbo', 'VIEW', 'v_RapQualSunto'
+go
+
+exec sp_addextendedproperty 'MS_DiagramPaneCount', 1, 'SCHEMA', 'dbo', 'VIEW', 'v_RapQualSunto'
+go
+
+alter VIEW v_selMagLogico
+AS
+SELECT DISTINCT TOP (100) PERCENT CAST(IdxPosizione AS NVARCHAR(20)) AS value, 'Mag. ' + CAST(IdxPosizione AS NVARCHAR(20)) AS label, CodCS AS conditio
+FROM dbo.ElencoCartellini
+WHERE (IdxPosizione > 0)
+ORDER BY label
+go
+
+commit
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_batch_RapQual_S01
+*
+* Esegue lo step 1 (caricamento dati RAW da AS400) per la tab dei rapporti di qualità
+*
+* Steamware, S.E.L.
+* mod: 2010.09.23
+*
+****************************************/
+alter PROCEDURE BatchQueue.stp_batch_RapQual_S01
+(
+ @minData DATETIME
+)
+AS
+ -- BOZZA DA COMPLETARE A CURA MAZZUCCONI!!!
+
+ DECLARE @SQL AS NVARCHAR(1000)
+ DECLARE @dataAs400 AS VARCHAR(8)
+
+ SET @dataAs400 = (SELECT dbo.dateToAsFormat(@minData))
+
+ -- svuoto tab raw attuale
+ /*
+ DELETE FROM RawData.XOGIX00F
+ */
+
+
+ -- INSERISCO DA AS400
+ /*
+ INSERT INTO RawData.XOGIX00F
+ (
+ SET @SQL =
+ N'SELECT
+ XRPQLN
+ ,XRPQLD
+ ,XNRETI
+ ,XCDFOR
+ ,XCDTER
+ ,XCDPAR
+ ,XDTPRO
+ ,XTRPRO
+ ,XQTPRO
+ ,XDESMT
+ ,XMATSC
+ ,XBENQL
+ FROM OPENQUERY( P65220DC, ''SELECT * FROM MAZZT_DTV3.XOGIX00F WHERE XRPQLD >= '
+ SET @SQL = @SQL + @dataAs400 + ''' )'
+
+ EXEC sp_executesql @SQL
+ )
+ */
+
+RETURN
+go
+
+commit
+go
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_rappQualSuntoGetByDataRange
+*
+* Ottiene l'elenco dei record di rapp qualità di AS dato il range delle date
+*
+* Steamware, S.E.L.
+* mod: 2010.09.29
+*
+****************************************/
+create PROCEDURE stp_rappQualSuntoGetByDataRange
+(
+ @dataFrom DATETIME,
+ @dataTo DATETIME
+)
+AS
+ -- restituisce le righe richieste
+ SELECT *
+ FROM v_RapQualSunto
+ WHERE (DataRapQual > dbo.dateToAsFormat(@dataFrom)) AND (DataRapQual < dbo.dateToAsFormat(@dataTo))
+ ORDER BY nRapQual
+RETURN
+go
+
+/***************************************
+* STORED stp_rappQualSuntoGetByNumRap
+*
+* Ottiene il record di rapp qualità di AS dato il numero del rapporto di qualità
+*
+* Steamware, S.E.L.
+* mod: 2010.09.29
+*
+****************************************/
+create PROCEDURE stp_rappQualSuntoGetByNumRap
+(
+ @nRapQual NVARCHAR(20)
+)
+AS
+ -- restituisce le righe richieste
+ SELECT *
+ FROM v_RapQualSunto
+ WHERE (nRapQual = @nRapQual)
+RETURN
+go
+
+/***************************************
+* STORED stp_spostaUdc
+*
+* sposta un UDC, salvandone la posizione precedente (se esiste) nella tab storica
+*
+* Steamware, S.E.L.
+* mod: 2010.06.11
+*
+****************************************/
+alter PROCEDURE stp_spostaUdc
+(
+ @CodCS VARCHAR(2),
+ @UDC VARCHAR(50),
+ @IdxCellaTo INT
+)
+AS
+
+BEGIN TRAN
+
+ -- DICHIARAZIONI iniziali variabili
+ DECLARE @IdxCellaFrom INT
+ DECLARE @capienza INT
+ DECLARE @numUdc INT
+
+ -- controllo cella di partenza
+ SET @IdxCellaFrom = (SELECT IdxCella FROM PosizioneUdcCorrente WHERE UDC = @UDC)
+ -- controllo se la cella di dest vada indicata come piena
+ SET @capienza = (
+ SELECT tc.Capienza
+ FROM TipoCella TC INNER JOIN Celle c ON TC.IdxTipoCella=c.IdxTipoCella
+ WHERE c.IdxCella = @IdxCellaFrom
+ )
+ SET @numUdc = (SELECT COUNT(*) FROM PosizioneUdcCorrente WHERE IdxCella = @IdxCellaFrom)
+ -- se capienza raggiunta aggiorno...
+ IF(@numUdc -1 < @capienza)
+ BEGIN
+ EXEC stp_celle_updPiena @IdxCellaFrom, 0
+ END
+
+ -- cancello posizione occupata
+ DELETE
+ FROM PosizioneUdcCorrente
+ WHERE UDC = @UDC
+
+ -- creo una nuova posizione per l'UDC
+ INSERT INTO PosizioneUdcCorrente(UDC, IdxCella, CodCS, DataRif)
+ VALUES(@UDC, @IdxCellaTo, @CodCS, GETDATE())
+
+ -- controllo se la cella di dest vada indicata come piena
+ SET @capienza = (
+ SELECT tc.Capienza
+ FROM TipoCella TC INNER JOIN Celle c ON TC.IdxTipoCella=c.IdxTipoCella
+ WHERE c.IdxCella = @IdxCellaTo
+ )
+ SET @numUdc = (SELECT COUNT(*) FROM PosizioneUdcCorrente WHERE IdxCella = @IdxCellaTo)
+ -- se capienza raggiunta aggiorno...
+ IF(@numUdc >= @capienza)
+ BEGIN
+ EXEC stp_celle_updPiena @IdxCellaTo, 1
+ END
+
+COMMIT TRAN
+
+RETURN
+go
+
+commit
+go
+
+
+
+
+
+
+-- registro versione...
+INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(265, GETDATE())
+GO
diff --git a/GMW/GMW_data/SqlScripts/V1.1/GMW_00270.sql b/GMW/GMW_data/SqlScripts/V1.1/GMW_00270.sql
new file mode 100644
index 00000000..c4a72242
--- /dev/null
+++ b/GMW/GMW_data/SqlScripts/V1.1/GMW_00270.sql
@@ -0,0 +1,425 @@
+-- svuoto tab x procedere...
+delete from AS400_BatchMovimenti
+GO
+
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+alter table AS400_BatchMovimenti drop
+ constraint FK_AS400_BatchMovimenti_AS400_MagCont ,
+ constraint FK_AS400_BatchMovimenti_AnagTipoEvento
+go
+
+exec sp_rename 'PK_AS400_BatchMovimenti', 'tmp__PK_AS400_BatchMovimenti', 'OBJECT'
+go
+
+exec sp_rename 'AS400_BatchMovimenti', 'tmp__AS400_BatchMovimenti_1', 'OBJECT'
+go
+
+create table AS400_BatchMovimenti(
+ DataIns datetime not null,
+ CodEvento nvarchar(10) not null,
+ Particolare nvarchar(15) not null,
+ UDC nvarchar(50) not null,
+ CodMagAS nvarchar(50) not null,
+ Quantita decimal(10,2) not null,
+ DataBatch datetime,
+ DataVerifica datetime,
+
+ constraint PK_AS400_BatchMovimenti primary key(DataIns,CodEvento,Particolare,UDC,CodMagAS)
+)
+go
+
+alter table AS400_BatchMovimenti add
+ constraint FK_AS400_BatchMovimenti_AnagTipoEvento foreign key(CodEvento) references AnagTipoEvento(CodEvento) on update cascade,
+ constraint FK_AS400_BatchMovimenti_AS400_MagCont foreign key(CodMagAS) references AS400_MagCont(CodMagAS) on update cascade
+go
+
+exec sp_addextendedproperty 'MS_Description', 'dataora inserimento in coda caricamento', 'SCHEMA', 'dbo', 'TABLE', 'AS400_BatchMovimenti', 'COLUMN', 'DataIns'
+go
+
+exec sp_addextendedproperty 'MS_Description', 'NON MODIFICARE: nel codice si usano questi campi x chiamate...', 'SCHEMA', 'dbo', 'TABLE', 'AS400_BatchMovimenti', 'COLUMN', 'CodEvento'
+go
+
+exec sp_addextendedproperty 'MS_Description', 'dataora di caricamento batch verso AS', 'SCHEMA', 'dbo', 'TABLE', 'AS400_BatchMovimenti', 'COLUMN', 'DataBatch'
+go
+
+exec sp_addextendedproperty 'MS_Description', N'dataora in cui è stato verificato il caricamento su AS', 'SCHEMA', 'dbo', 'TABLE', 'AS400_BatchMovimenti', 'COLUMN', 'DataVerifica'
+go
+
+insert into AS400_BatchMovimenti(DataIns,CodEvento,Particolare,UDC,CodMagAS,Quantita,DataBatch,DataVerifica) select DataIns,CodEvento,Particolare,N'',CodMagAS,Quantita,DataBatch,DataVerifica from tmp__AS400_BatchMovimenti_1
+go
+
+drop table tmp__AS400_BatchMovimenti_1
+go
+
+commit
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+-- =============================================
+-- Author: Samuele E. Locatelli
+-- Create date: 2009-09-20
+-- Description: trigger x inserimento movimenti
+-- nella coda di trasferimento batch
+-- verso AS400 x UPDATE UDC
+-- =============================================
+alter TRIGGER trg_updMovAS
+ ON ElencoCartellini
+ AFTER UPDATE
+AS
+BEGIN
+
+ -- setup variabili e verbosità
+ SET NOCOUNT ON;
+ DECLARE @partOk AS BIT
+ DECLARE @IdxPosFrom AS INT
+ DECLARE @IdxPosTo AS INT
+ DECLARE @magFrom AS NVARCHAR(50)
+ DECLARE @magTo AS NVARCHAR(50)
+ DECLARE @qta AS DECIMAL(10,2)
+
+ -- controllo che CI SIA il particolare (altrimenti non eseguo)
+ SET @partOk = (SELECT CASE WHEN ISNULL(Particolare,'n.d.') = 'n.d.' THEN 0 ELSE 1 END FROM deleted)
+
+ IF(@partOk = 1)
+ SET @qta = (SELECT Qta FROM inserted)
+ -- se c'è stata modifica di quantità inizio a rettificare quella
+ IF UPDATE(Qta)
+ BEGIN
+ INSERT INTO AS400_BatchMovimenti(DataIns, CodEvento, Particolare, UDC, CodMagAS, Quantita)
+ (
+ SELECT GETDATE(), 'UDC_MOD', Particolare, UDC, CAST(IdxPosizione AS NVARCHAR(50)), @qta-Qta
+ FROM deleted
+ WHERE CAST(IdxPosizione AS NVARCHAR(50)) IN (SELECT CodMagAS FROM AS400_MagCont WHERE Attivo = 1)
+ )
+ END
+
+ -- controllo poi se sia cambiato il magazzino, altrimenti non lo inserisco
+ IF UPDATE(IdxPosizione)
+ BEGIN
+ -- Prendo le posizioni di magazzino precedente e nuova
+ SET @IdxPosFrom = (SELECT IdxPosizione FROM deleted)
+ SET @IdxPosTo = (SELECT IdxPosizione FROM inserted)
+ -- Le trasformo nelle equivalenti stringhe del codMag SE attive
+ SET @magFrom = (SELECT ISNULL(CodMagAS,'---') FROM AS400_MagCont WHERE Attivo = 1 AND CodMagAs = CAST(@IdxPosFrom AS NVARCHAR(50)))
+ SET @magTo = (SELECT ISNULL(CodMagAS,'---') FROM AS400_MagCont WHERE Attivo = 1 AND CodMagAs = CAST(@IdxPosTo AS NVARCHAR(50)))
+
+ -- inserisco un movimento di deposito verso mag nuovo (SE attivo)
+ IF (@magFrom <> '---')
+ BEGIN
+ INSERT INTO AS400_BatchMovimenti(DataIns, CodEvento, Particolare, UDC, CodMagAS, Quantita)
+ (
+ SELECT GETDATE(), 'UDC_MOV', Particolare, UDC, CAST(IdxPosizione AS NVARCHAR(50)), -@qta
+ FROM deleted
+ WHERE CAST(IdxPosizione AS NVARCHAR(50)) IN (SELECT CodMagAS FROM AS400_MagCont WHERE Attivo = 1)
+ )
+ END
+ -- inserisco un movimento di prelievo verso mag vecchio (SE attivo)
+ IF (@magTo <> '---')
+ BEGIN
+ INSERT INTO AS400_BatchMovimenti(DataIns, CodEvento, Particolare, UDC, CodMagAS, Quantita)
+ (
+ SELECT GETDATE(), 'UDC_MOV', Particolare, UDC, CAST(IdxPosizione AS NVARCHAR(50)), @qta
+ FROM inserted
+ WHERE CAST(IdxPosizione AS NVARCHAR(50)) IN (SELECT CodMagAS FROM AS400_MagCont WHERE Attivo = 1)
+ )
+ END
+ END
+
+END
+go
+
+-- =============================================
+-- Author: Samuele E. Locatelli
+-- Create date: 2009-09-20
+-- Description: trigger x inserimento movimenti
+-- nella coda di trasferimento batch
+-- verso AS400 x INSERT UDC
+-- =============================================
+alter TRIGGER trg_InsMovAS
+ ON ElencoCartellini
+ AFTER INSERT
+AS
+BEGIN
+
+ -- setup variabili e verbosità
+ SET NOCOUNT ON;
+ DECLARE @partOk AS BIT
+
+ -- controllo che CI SIA il particoalre (altrimenti non eseguo)
+ SET @partOk = (SELECT CASE WHEN ISNULL(Particolare,'n.d.') = 'n.d.' THEN 0 ELSE 1 END FROM inserted)
+
+ IF(@partOk = 1)
+ BEGIN
+ -- metto in storico la posizione attuale dell'UDC (SE esiste) CANCELLATO
+ INSERT INTO AS400_BatchMovimenti(DataIns, CodEvento, Particolare, UDC, CodMagAS, Quantita)
+ (
+ SELECT GETDATE(), 'UDC_NEW', Particolare, UDC, CAST(IdxPosizione AS NVARCHAR(50)), Qta
+ FROM inserted
+ WHERE CAST(IdxPosizione AS NVARCHAR(50)) IN (SELECT CodMagAS FROM AS400_MagCont WHERE Attivo = 1)
+ )
+ END
+
+END
+go
+
+-- =============================================
+-- Author: Samuele E. Locatelli
+-- Create date: 2009-09-20
+-- Description: trigger x inserimento movimenti
+-- nella coda di trasferimento batch
+-- verso AS400 x DELETE UDC
+-- =============================================
+alter TRIGGER trg_DelMovAS
+ ON ElencoCartellini
+ AFTER DELETE
+AS
+BEGIN
+
+ -- setup variabili e verbosità
+ SET NOCOUNT ON;
+ -- inserisco movimenti AS
+ INSERT INTO AS400_BatchMovimenti(DataIns, CodEvento, Particolare, UDC, CodMagAS, Quantita)
+ (
+ SELECT GETDATE(), 'UDC_DEL', Particolare, UDC, CAST(IdxPosizione AS NVARCHAR(50)), -Qta
+ FROM deleted
+ WHERE CAST(IdxPosizione AS NVARCHAR(50)) IN (SELECT CodMagAS FROM AS400_MagCont WHERE Attivo = 1) AND ((CASE WHEN ISNULL(Particolare,'n.d.') = 'n.d.' THEN 0 ELSE 1 END) = 1)
+ )
+
+END
+go
+
+commit
+go
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_batch_RapQual_S01
+*
+* Esegue lo step 1 (caricamento dati RAW da AS400) per la tab dei rapporti di qualità
+*
+* Steamware, S.E.L.
+* mod: 2010.09.23
+*
+****************************************/
+alter PROCEDURE BatchQueue.stp_batch_RapQual_S01
+(
+ @minData DATETIME
+)
+AS
+ -- BOZZA DA COMPLETARE A CURA MAZZUCCONI!!!
+
+ DECLARE @SQL AS NVARCHAR(1000)
+ DECLARE @dataAs400 AS VARCHAR(8)
+
+ SET @dataAs400 = (SELECT dbo.dateToAsFormat(@minData))
+
+ -- svuoto tab raw attuale
+ /*
+ DELETE FROM RawData.XOGIX00F
+ */
+
+
+ -- INSERISCO DA AS400
+ /*
+ INSERT INTO RawData.XOGIX00F
+ (
+ SET @SQL =
+ N'SELECT
+ XRPQLN
+ ,XRPQLD
+ ,XNRETI
+ ,XCDFOR
+ ,XCDTER
+ ,XCDPAR
+ ,XDTPRO
+ ,XTRPRO
+ ,XQTPRO
+ ,XDESMT
+ ,XMATSC
+ ,XBENQL
+ FROM OPENQUERY( P65220DC, ''SELECT * FROM MAZZT_DTV3.XOGIX00F WHERE XRPQLD >= '
+ SET @SQL = @SQL + @dataAs400 + ''' )'
+
+ EXEC sp_executesql @SQL
+ )
+ */
+
+RETURN
+go
+
+commit
+go
+
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_rappQualSuntoGetByDataRange
+*
+* Ottiene l'elenco dei record di rapp qualità di AS dato il range delle date
+*
+* Steamware, S.E.L.
+* mod: 2010.09.29
+*
+****************************************/
+create PROCEDURE stp_rappQualSuntoGetByDataRange
+(
+ @dataFrom DATETIME,
+ @dataTo DATETIME
+)
+AS
+ -- restituisce le righe richieste
+ SELECT *
+ FROM v_RapQualSunto
+ WHERE (DataRapQual > dbo.dateToAsFormat(@dataFrom)) AND (DataRapQual < dbo.dateToAsFormat(@dataTo))
+ ORDER BY nRapQual
+RETURN
+go
+
+/***************************************
+* STORED stp_rappQualSuntoGetByNumRap
+*
+* Ottiene il record di rapp qualità di AS dato il numero del rapporto di qualità
+*
+* Steamware, S.E.L.
+* mod: 2010.09.29
+*
+****************************************/
+create PROCEDURE stp_rappQualSuntoGetByNumRap
+(
+ @nRapQual NVARCHAR(20)
+)
+AS
+ -- restituisce le righe richieste
+ SELECT *
+ FROM v_RapQualSunto
+ WHERE (nRapQual = @nRapQual)
+RETURN
+go
+
+commit
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_spostaUdc
+*
+* sposta un UDC, salvandone la posizione precedente (se esiste) nella tab storica
+*
+* Steamware, S.E.L.
+* mod: 2010.06.11
+*
+****************************************/
+alter PROCEDURE stp_spostaUdc
+(
+ @CodCS VARCHAR(2),
+ @UDC VARCHAR(50),
+ @IdxCellaTo INT
+)
+AS
+
+BEGIN TRAN
+
+ -- DICHIARAZIONI iniziali variabili
+ DECLARE @IdxCellaFrom INT
+ DECLARE @capienza INT
+ DECLARE @numUdc INT
+
+ -- controllo cella di partenza
+ SET @IdxCellaFrom = (SELECT IdxCella FROM PosizioneUdcCorrente WHERE UDC = @UDC)
+ -- controllo se la cella di dest vada indicata come piena
+ SET @capienza = (
+ SELECT tc.Capienza
+ FROM TipoCella TC INNER JOIN Celle c ON TC.IdxTipoCella=c.IdxTipoCella
+ WHERE c.IdxCella = @IdxCellaFrom
+ )
+ SET @numUdc = (SELECT COUNT(*) FROM PosizioneUdcCorrente WHERE IdxCella = @IdxCellaFrom)
+ -- se capienza raggiunta aggiorno...
+ IF(@numUdc -1 < @capienza)
+ BEGIN
+ EXEC stp_celle_updPiena @IdxCellaFrom, 0
+ END
+
+ -- cancello posizione occupata
+ DELETE
+ FROM PosizioneUdcCorrente
+ WHERE UDC = @UDC
+
+ -- creo una nuova posizione per l'UDC
+ INSERT INTO PosizioneUdcCorrente(UDC, IdxCella, CodCS, DataRif)
+ VALUES(@UDC, @IdxCellaTo, @CodCS, GETDATE())
+
+ -- controllo se la cella di dest vada indicata come piena
+ SET @capienza = (
+ SELECT tc.Capienza
+ FROM TipoCella TC INNER JOIN Celle c ON TC.IdxTipoCella=c.IdxTipoCella
+ WHERE c.IdxCella = @IdxCellaTo
+ )
+ SET @numUdc = (SELECT COUNT(*) FROM PosizioneUdcCorrente WHERE IdxCella = @IdxCellaTo)
+ -- se capienza raggiunta aggiorno...
+ IF(@numUdc >= @capienza)
+ BEGIN
+ EXEC stp_celle_updPiena @IdxCellaTo, 1
+ END
+
+COMMIT TRAN
+
+RETURN
+go
+
+commit
+go
+
+
+
+
+
+
+
+
+
+
+-- registro versione...
+INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(270, GETDATE())
+GO
diff --git a/GMW/GMW_data/SqlScripts/V1.1/GMW_00275.sql b/GMW/GMW_data/SqlScripts/V1.1/GMW_00275.sql
new file mode 100644
index 00000000..d29cdc26
--- /dev/null
+++ b/GMW/GMW_data/SqlScripts/V1.1/GMW_00275.sql
@@ -0,0 +1,443 @@
+set xact_abort on
+go
+
+begin transaction
+go
+
+drop index [] on RilPro.RapQual
+go
+
+alter table RilPro.RapQual alter column
+ UDC nvarchar(50)
+go
+
+create index [] on RilPro.RapQual(DataRapQual)
+ include(nRapQual,CodFor,CodLega,Qta,BenesQual,UDC)
+go
+
+create index i_dataPrelievo on RilPro.RapQual(DataPrelFus)
+go
+
+commit
+go
+
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_prtCartMatPrimaByUDC
+*
+* ottiene il record del Cartellino Materia Prima dato l'UDC richiesto x la sstampa
+*
+****************************************/
+create PROCEDURE stp_prtCartMatPrimaByUDC
+(
+ @UDC VARCHAR(50)
+)
+AS
+SELECT
+ RQ.nRapQual,
+ RQ.DataRapQual,
+ RQ.ProgUDC,
+ RQ.CodFor,
+ RQ.DestTerz,
+ RQ.CodLega,
+ RQ.DataPrelFus,
+ RQ.TurnoPrelFus,
+ RQ.Qta,
+ RQ.DestLega,
+ RQ.LegaScaric,
+ RQ.BenesQual,
+ RQ.UDC,
+ Fo.DescFornitore,
+ Fo.DescFornitore2,
+ Le.CodLega AS CodLega2,
+ Le.DescLega,
+ Le.DescLega2
+FROM GMW.RilPro.RapQual AS RQ
+INNER JOIN ReportAs400.RilPro.AnagFornitori AS Fo
+ ON RQ.CodFor = Fo.CodFornitore
+INNER JOIN ReportAs400.RilPro.AnagLeghe Le
+ ON RQ.CodLega = 'L' + Le.CodLega
+WHERE RQ.UDC = RTRIM(@UDC) -- 'UB31000000001'
+RETURN
+go
+
+/***************************************
+* STORED stp_rappQualConsumabili
+*
+* Ottiene l'elenco dei record di rapp qualità (e quindi degli UDC) di AS non ancora consumati per range di data di approvazione
+*
+* Steamware, S.E.L.
+* mod: 2010.10.05
+*
+****************************************/
+create PROCEDURE stp_rappQualConsumabili
+(
+ @dataFrom DATETIME,
+ @dataTo DATETIME
+)
+
+AS
+ -- restituisce le righe richieste
+ SELECT *
+ FROM RilPro.RapQual
+ WHERE ((DataPrelFus IS NULL) OR (DataPrelFus = 0)) AND -- condizione sul NON aver fatto ancora il prelievo
+ ((DataRapQual > dbo.dateToAsFormat(@dataFrom)) AND (DataRapQual < dbo.dateToAsFormat(@dataTo))) -- cond data RQ
+
+RETURN
+go
+
+/***************************************
+* STORED stp_rappQualSuntoGetByDataRange
+*
+* Ottiene l'elenco dei record di rapp qualità di AS dato il range delle date
+*
+* Steamware, S.E.L.
+* mod: 2010.09.29
+*
+****************************************/
+create PROCEDURE stp_rappQualSuntoGetByDataRange
+(
+ @dataFrom DATETIME,
+ @dataTo DATETIME
+)
+AS
+ -- restituisce le righe richieste
+ SELECT *
+ FROM v_RapQualSunto
+ WHERE (DataRapQual > dbo.dateToAsFormat(@dataFrom)) AND (DataRapQual < dbo.dateToAsFormat(@dataTo))
+ ORDER BY nRapQual
+RETURN
+go
+
+/***************************************
+* STORED stp_rappQualSuntoGetByNumRap
+*
+* Ottiene il record di rapp qualità di AS dato il numero del rapporto di qualità
+*
+* Steamware, S.E.L.
+* mod: 2010.09.29
+*
+****************************************/
+create PROCEDURE stp_rappQualSuntoGetByNumRap
+(
+ @nRapQual NVARCHAR(20)
+)
+AS
+ -- restituisce le righe richieste
+ SELECT *
+ FROM v_RapQualSunto
+ WHERE (nRapQual = @nRapQual)
+RETURN
+go
+
+commit
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_spostaUdc
+*
+* sposta un UDC, salvandone la posizione precedente (se esiste) nella tab storica
+*
+* Steamware, S.E.L.
+* mod: 2010.06.11
+*
+****************************************/
+alter PROCEDURE stp_spostaUdc
+(
+ @CodCS VARCHAR(2),
+ @UDC VARCHAR(50),
+ @IdxCellaTo INT
+)
+AS
+
+BEGIN TRAN
+
+ -- DICHIARAZIONI iniziali variabili
+ DECLARE @IdxCellaFrom INT
+ DECLARE @capienza INT
+ DECLARE @numUdc INT
+
+ -- controllo cella di partenza
+ SET @IdxCellaFrom = (SELECT IdxCella FROM PosizioneUdcCorrente WHERE UDC = @UDC)
+ -- controllo se la cella di dest vada indicata come piena
+ SET @capienza = (
+ SELECT tc.Capienza
+ FROM TipoCella TC INNER JOIN Celle c ON TC.IdxTipoCella=c.IdxTipoCella
+ WHERE c.IdxCella = @IdxCellaFrom
+ )
+ SET @numUdc = (SELECT COUNT(*) FROM PosizioneUdcCorrente WHERE IdxCella = @IdxCellaFrom)
+ -- se capienza raggiunta aggiorno...
+ IF(@numUdc -1 < @capienza)
+ BEGIN
+ EXEC stp_celle_updPiena @IdxCellaFrom, 0
+ END
+
+ -- cancello posizione occupata
+ DELETE
+ FROM PosizioneUdcCorrente
+ WHERE UDC = @UDC
+
+ -- creo una nuova posizione per l'UDC
+ INSERT INTO PosizioneUdcCorrente(UDC, IdxCella, CodCS, DataRif)
+ VALUES(@UDC, @IdxCellaTo, @CodCS, GETDATE())
+
+ -- controllo se la cella di dest vada indicata come piena
+ SET @capienza = (
+ SELECT tc.Capienza
+ FROM TipoCella TC INNER JOIN Celle c ON TC.IdxTipoCella=c.IdxTipoCella
+ WHERE c.IdxCella = @IdxCellaTo
+ )
+ SET @numUdc = (SELECT COUNT(*) FROM PosizioneUdcCorrente WHERE IdxCella = @IdxCellaTo)
+ -- se capienza raggiunta aggiorno...
+ IF(@numUdc >= @capienza)
+ BEGIN
+ EXEC stp_celle_updPiena @IdxCellaTo, 1
+ END
+
+COMMIT TRAN
+
+RETURN
+go
+
+commit
+go
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_batch_RapQual_S01
+*
+* Esegue lo step 1 (caricamento dati RAW da AS400) per la tab dei rapporti di qualità
+*
+* Steamware, S.E.L.
+* mod: 2010.09.23
+*
+****************************************/
+alter PROCEDURE BatchQueue.stp_batch_RapQual_S01
+(
+ @minData DATETIME
+)
+AS
+ -- BOZZA DA COMPLETARE A CURA MAZZUCCONI!!!
+
+ DECLARE @SQL AS NVARCHAR(1000)
+ DECLARE @dataAs400 AS VARCHAR(8)
+
+ SET @dataAs400 = (SELECT dbo.dateToAsFormat(@minData))
+
+ -- svuoto tab raw attuale
+ /*
+ DELETE FROM RawData.XOGIX00F
+ */
+
+
+ -- INSERISCO DA AS400
+ /*
+ INSERT INTO RawData.XOGIX00F
+ (
+ SET @SQL =
+ N'SELECT
+ XRPQLN
+ ,XRPQLD
+ ,XNRETI
+ ,XCDFOR
+ ,XCDTER
+ ,XCDPAR
+ ,XDTPRO
+ ,XTRPRO
+ ,XQTPRO
+ ,XDESMT
+ ,XMATSC
+ ,XBENQL
+ FROM OPENQUERY( P65220DC, ''SELECT * FROM MAZZT_DTV3.XOGIX00F WHERE XRPQLD >= '
+ SET @SQL = @SQL + @dataAs400 + ''' )'
+
+ EXEC sp_executesql @SQL
+ )
+ */
+
+RETURN
+go
+
+commit
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+create table RilPro.AnagFornitori(
+ CodFornitore nvarchar(6) not null constraint PK_AnagFornitori primary key,
+ DescFornitore nvarchar(35),
+ DescFornitore2 nvarchar(35)
+)
+go
+
+create table RilPro.AnagLeghe(
+ CodLega nvarchar(12) not null constraint PK_AnagLeghe primary key,
+ CodLega2 nvarchar(12),
+ DescLega nvarchar(25),
+ DescLega2 nvarchar(25)
+)
+go
+
+commit
+go
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+alter table AS400_BatchMovimenti drop
+ constraint FK_AS400_BatchMovimenti_AS400_MagCont ,
+ constraint FK_AS400_BatchMovimenti_AnagTipoEvento
+go
+
+exec sp_rename 'PK_AS400_BatchMovimenti', 'tmp__PK_AS400_BatchMovimenti', 'OBJECT'
+go
+
+exec sp_rename 'AS400_BatchMovimenti', 'tmp__AS400_BatchMovimenti_0', 'OBJECT'
+go
+
+create table AS400_BatchMovimenti(
+ DataIns datetime not null,
+ CodEvento nvarchar(10) not null,
+ Particolare nvarchar(15) not null,
+ UDC nvarchar(50) not null,
+ CodMagAS nvarchar(50) not null,
+ Quantita decimal(10,2) not null,
+ DataBatch datetime,
+ DataVerifica datetime,
+
+ constraint PK_AS400_BatchMovimenti primary key(DataIns,CodEvento,Particolare,UDC,CodMagAS)
+)
+go
+
+alter table AS400_BatchMovimenti add
+ constraint FK_AS400_BatchMovimenti_AnagTipoEvento foreign key(CodEvento) references AnagTipoEvento(CodEvento) on update cascade,
+ constraint FK_AS400_BatchMovimenti_AS400_MagCont foreign key(CodMagAS) references AS400_MagCont(CodMagAS) on update cascade
+go
+
+exec sp_addextendedproperty 'MS_Description', 'dataora inserimento in coda caricamento', 'SCHEMA', 'dbo', 'TABLE', 'AS400_BatchMovimenti', 'COLUMN', 'DataIns'
+go
+
+exec sp_addextendedproperty 'MS_Description', 'NON MODIFICARE: nel codice si usano questi campi x chiamate...', 'SCHEMA', 'dbo', 'TABLE', 'AS400_BatchMovimenti', 'COLUMN', 'CodEvento'
+go
+
+exec sp_addextendedproperty 'MS_Description', 'dataora di caricamento batch verso AS', 'SCHEMA', 'dbo', 'TABLE', 'AS400_BatchMovimenti', 'COLUMN', 'DataBatch'
+go
+
+exec sp_addextendedproperty 'MS_Description', N'dataora in cui è stato verificato il caricamento su AS', 'SCHEMA', 'dbo', 'TABLE', 'AS400_BatchMovimenti', 'COLUMN', 'DataVerifica'
+go
+
+insert into AS400_BatchMovimenti(DataIns,CodEvento,Particolare,UDC,CodMagAS,Quantita,DataBatch,DataVerifica) select DataIns,CodEvento,Particolare,N'',CodMagAS,Quantita,DataBatch,DataVerifica from tmp__AS400_BatchMovimenti_0
+go
+
+drop table tmp__AS400_BatchMovimenti_0
+go
+
+commit
+go
+
+
+
+
+
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+alter table AS400_BatchMovimenti drop
+ constraint FK_AS400_BatchMovimenti_AS400_MagCont ,
+ constraint FK_AS400_BatchMovimenti_AnagTipoEvento
+go
+
+exec sp_rename 'PK_AS400_BatchMovimenti', 'tmp__PK_AS400_BatchMovimenti', 'OBJECT'
+go
+
+exec sp_rename 'AS400_BatchMovimenti', 'tmp__AS400_BatchMovimenti_0', 'OBJECT'
+go
+
+create table AS400_BatchMovimenti(
+ DataIns datetime not null,
+ CodEvento nvarchar(10) not null,
+ Particolare nvarchar(15) not null,
+ UDC nvarchar(50) not null,
+ CodMagAS nvarchar(50) not null,
+ Quantita decimal(10,2) not null,
+ DataBatch datetime,
+ DataVerifica datetime,
+
+ constraint PK_AS400_BatchMovimenti primary key(DataIns,CodEvento,Particolare,UDC,CodMagAS)
+)
+go
+
+alter table AS400_BatchMovimenti add
+ constraint FK_AS400_BatchMovimenti_AnagTipoEvento foreign key(CodEvento) references AnagTipoEvento(CodEvento) on update cascade,
+ constraint FK_AS400_BatchMovimenti_AS400_MagCont foreign key(CodMagAS) references AS400_MagCont(CodMagAS) on update cascade
+go
+
+exec sp_addextendedproperty 'MS_Description', 'dataora inserimento in coda caricamento', 'SCHEMA', 'dbo', 'TABLE', 'AS400_BatchMovimenti', 'COLUMN', 'DataIns'
+go
+
+exec sp_addextendedproperty 'MS_Description', 'NON MODIFICARE: nel codice si usano questi campi x chiamate...', 'SCHEMA', 'dbo', 'TABLE', 'AS400_BatchMovimenti', 'COLUMN', 'CodEvento'
+go
+
+exec sp_addextendedproperty 'MS_Description', 'dataora di caricamento batch verso AS', 'SCHEMA', 'dbo', 'TABLE', 'AS400_BatchMovimenti', 'COLUMN', 'DataBatch'
+go
+
+exec sp_addextendedproperty 'MS_Description', N'dataora in cui è stato verificato il caricamento su AS', 'SCHEMA', 'dbo', 'TABLE', 'AS400_BatchMovimenti', 'COLUMN', 'DataVerifica'
+go
+
+insert into AS400_BatchMovimenti(DataIns,CodEvento,Particolare,UDC,CodMagAS,Quantita,DataBatch,DataVerifica) select DataIns,CodEvento,Particolare,N'',CodMagAS,Quantita,DataBatch,DataVerifica from tmp__AS400_BatchMovimenti_0
+go
+
+drop table tmp__AS400_BatchMovimenti_0
+go
+
+commit
+go
+
+
+
+
+
+-- registro versione...
+INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(275, GETDATE())
+GO
diff --git a/GMW/GMW_data/SqlScripts/V1.1/GMW_00276.sql b/GMW/GMW_data/SqlScripts/V1.1/GMW_00276.sql
new file mode 100644
index 00000000..b3428038
--- /dev/null
+++ b/GMW/GMW_data/SqlScripts/V1.1/GMW_00276.sql
@@ -0,0 +1,268 @@
+create table AS400_BatchConsumoMP(
+ ProgUDC char(10) not null constraint PK_AS400_BatchPrelievoMP primary key,
+ UDC nvarchar(50) not null,
+ DataPrelFus numeric(8,0) not null,
+ TurnoPrelFus char(5) not null,
+ DestLega char(3),
+ DestTerz char(6),
+ DataInvioAs datetime
+)
+go
+
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+-- =============================================
+-- Author: Samuele E. Locatelli
+-- Create date: 2009-09-20
+-- Description: trigger x inserimento movimenti
+-- nella coda di trasferimento batch
+-- verso AS400 x UPDATE UDC
+-- =============================================
+alter TRIGGER trg_updMovAS
+ ON ElencoCartellini
+ AFTER UPDATE
+AS
+BEGIN
+
+ -- setup variabili e verbosità
+ SET NOCOUNT ON;
+ DECLARE @partOk AS BIT
+ DECLARE @IdxPosFrom AS INT
+ DECLARE @IdxPosTo AS INT
+ DECLARE @magFrom AS NVARCHAR(50)
+ DECLARE @magTo AS NVARCHAR(50)
+ DECLARE @qta AS DECIMAL(10,2)
+ DECLARE @qtaOld AS DECIMAL(10,2)
+
+ -- controllo che CI SIA il particolare (altrimenti non eseguo)
+ SET @partOk = (SELECT CASE WHEN ISNULL(Particolare,'n.d.') = 'n.d.' THEN 0 ELSE 1 END FROM deleted)
+
+ IF(@partOk = 1)
+ SET @qta = (SELECT Qta FROM inserted)
+ SET @qtaOld = (SELECT Qta FROM deleted)
+ -- se c'è stata modifica di quantità inizio a rettificare quella
+ IF (UPDATE(Qta)) AND(@qta <> @qtaOld)
+ BEGIN
+ INSERT INTO AS400_BatchMovimenti(DataIns, CodEvento, Particolare, UDC, CodMagAS, Quantita)
+ (
+ SELECT GETDATE(), 'UDC_MOD', Particolare, UDC, CAST(IdxPosizione AS NVARCHAR(50)), @qta-Qta
+ FROM deleted
+ WHERE CAST(IdxPosizione AS NVARCHAR(50)) IN (SELECT CodMagAS FROM AS400_MagCont WHERE Attivo = 1)
+ )
+ END
+
+ -- controllo poi se sia cambiato il magazzino, altrimenti non lo inserisco
+ IF UPDATE(IdxPosizione)
+ BEGIN
+ -- Prendo le posizioni di magazzino precedente e nuova
+ SET @IdxPosFrom = (SELECT IdxPosizione FROM deleted)
+ SET @IdxPosTo = (SELECT IdxPosizione FROM inserted)
+ -- Le trasformo nelle equivalenti stringhe del codMag SE attive
+ SET @magFrom = (SELECT ISNULL(CodMagAS,'---') FROM AS400_MagCont WHERE Attivo = 1 AND CodMagAs = CAST(@IdxPosFrom AS NVARCHAR(50)))
+ SET @magTo = (SELECT ISNULL(CodMagAS,'---') FROM AS400_MagCont WHERE Attivo = 1 AND CodMagAs = CAST(@IdxPosTo AS NVARCHAR(50)))
+
+ -- inserisco un movimento di deposito verso mag nuovo (SE attivo)
+ IF (@magFrom <> '---')
+ BEGIN
+ INSERT INTO AS400_BatchMovimenti(DataIns, CodEvento, Particolare, UDC, CodMagAS, Quantita)
+ (
+ SELECT GETDATE(), 'UDC_MOV', Particolare, UDC, CAST(IdxPosizione AS NVARCHAR(50)), -@qta
+ FROM deleted
+ WHERE CAST(IdxPosizione AS NVARCHAR(50)) IN (SELECT CodMagAS FROM AS400_MagCont WHERE Attivo = 1)
+ )
+ END
+ -- inserisco un movimento di prelievo verso mag vecchio (SE attivo)
+ IF (@magTo <> '---')
+ BEGIN
+ INSERT INTO AS400_BatchMovimenti(DataIns, CodEvento, Particolare, UDC, CodMagAS, Quantita)
+ (
+ SELECT GETDATE(), 'UDC_MOV', Particolare, UDC, CAST(IdxPosizione AS NVARCHAR(50)), @qta
+ FROM inserted
+ WHERE CAST(IdxPosizione AS NVARCHAR(50)) IN (SELECT CodMagAS FROM AS400_MagCont WHERE Attivo = 1)
+ )
+ END
+ END
+
+END
+go
+
+commit
+go
+
+
+create index i_update on As400.t_CQNOC98L(NumDocRNC,TipoInterv,CodArticolo,MatrPezzo)
+go
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+create index i_update on As400.t_MOMA200F(NumSessione,NumMovimento)
+go
+
+create index i_update on As400.t_MWMV200F(NomeUtente,CodCausale,CodParticolare,CodMagazzino,QtaMovimento,DataMovimento)
+go
+
+create index i_update on As400.t_PACKL00F(CodStabilimento,ProgUDC,CodParticolare,CodContenitore,MatrContenitore)
+go
+
+alter table As400.t_XOGIX00F add
+ XRPQLN numeric(6,0) not null constraint DFX_03434E4C default(0),
+ XRPQLD numeric(8,0) not null constraint DFX_03452060 default(0),
+ XNRETI char(10) not null constraint DFX_03434DA4 default(''),
+ XCDFOR char(6) not null constraint DFX_03463944 default(''),
+ XCDTER char(6) not null constraint DFX_03460E6C default(''),
+ XCDPAR char(15) not null constraint DFX_0345A2BC default(''),
+ XDTPRO numeric(8,0) not null constraint DFX_0345CC28 default(0),
+ XTRPRO char(5) not null constraint DFX_03434DDC default(''),
+ XQTPRO numeric(5,0) not null constraint DFX_034583E0 default(0),
+ XDESMT char(3) not null constraint DFX_037522B8 default(''),
+ XMATSC char(1) not null constraint DFX_03453C08 default(''),
+ XBENQL char(1) not null constraint DFX_03E1D3BC default('')
+go
+
+alter table As400.t_XOGIX00F drop
+ column nRapQual,
+ column DataRapQual,
+ column ProgUDC,
+ column CodFor,
+ column DestTerz,
+ column CodLega,
+ column DataPrelFus,
+ column TurnoPrelFus,
+ column Qta,
+ column DestLega,
+ column LegaScaric,
+ column BenesQual
+go
+
+create index i_update on As400.t_XOGIX00F(XRPQLN,XRPQLD,XNRETI)
+go
+
+alter table As400.t_XOGIX00F drop
+ constraint DFX_03E1D3BC,
+ constraint DFX_03453C08,
+ constraint DFX_037522B8,
+ constraint DFX_034583E0,
+ constraint DFX_03434DDC,
+ constraint DFX_0345CC28,
+ constraint DFX_0345A2BC,
+ constraint DFX_03460E6C,
+ constraint DFX_03463944,
+ constraint DFX_03434DA4,
+ constraint DFX_03452060,
+ constraint DFX_03434E4C
+go
+
+commit
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_accodaConsumoUdcMP
+*
+* Accoda alla tab Batch il consumo di un UDC
+*
+* Steamware, S.E.L.
+* mod: 2010.10.10
+*
+****************************************/
+create PROCEDURE stp_accodaConsumoUdcMP
+(
+ @UDC NVARCHAR(50),
+ @DataPrelFus DATETIME,
+ @TurnoPrelFus CHAR(5),
+ @DestLega CHAR(3),
+ @DestTerz CHAR(3)
+
+)
+AS
+
+BEGIN TRAN
+
+ -- registro movimento da riconciliare
+ INSERT INTO AS400_BatchConsumoMP(ProgUDC, UDC, DataPrelFus, TurnoPrelFus, DestLega, DestTerz)
+ SELECT ProgUdc, UDC, dbo.dateToAsFormat(@DataPrelFus), @TurnoPrelFus, @DestLega, @DestTerz FROM RilPro.RapQual WHERE UDC = @UDC
+
+ -- aggiorno con data e turno di prelievo su tab RilPro (locale)
+ UPDATE RilPro.RapQual
+ SET DataPrelFus = dbo.dateToAsFormat(@DataPrelFus), TurnoPrelFus = @TurnoPrelFus
+ WHERE UDC = @UDC
+
+COMMIT TRAN
+
+RETURN
+go
+
+commit
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_rappQualConsumabili
+*
+* Ottiene l'elenco dei record di rapp qualità (e quindi degli UDC) di AS non ancora consumati per range di data di approvazione
+*
+* Steamware, S.E.L.
+* mod: 2010.10.05
+*
+****************************************/
+alter PROCEDURE stp_rappQualConsumabili
+(
+ @dataFrom DATETIME,
+ @dataTo DATETIME
+)
+
+AS
+ -- restituisce le righe richieste
+ SELECT *
+ FROM RilPro.RapQual
+ WHERE ((DataPrelFus IS NULL) OR (DataPrelFus = 0)) AND -- condizione sul NON aver fatto ancora il prelievo
+ ((DataRapQual > dbo.dateToAsFormat(@dataFrom)) AND (DataRapQual < dbo.dateToAsFormat(@dataTo))) -- cond data RQ
+ AND (ISNULL(UDC,'') <>'') -- non nullo UDC, quindi stampati...
+
+RETURN
+go
+
+commit
+go
+
+
+
+
+
+
+
+
+-- registro versione...
+INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(276, GETDATE())
+GO
diff --git a/GMW/GMW_data/SqlScripts/V1.1/GMW_00280.sql b/GMW/GMW_data/SqlScripts/V1.1/GMW_00280.sql
new file mode 100644
index 00000000..52f9833a
--- /dev/null
+++ b/GMW/GMW_data/SqlScripts/V1.1/GMW_00280.sql
@@ -0,0 +1,253 @@
+create index i_UDC on AS400_BatchConsumoMP(UDC)
+go
+
+
+create index i_UDC on RilPro.RapQual(UDC)
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_consumaMP
+*
+* Salva il movimento di consumo dell'UDC di MP indicato
+*
+* Steamware, S.E.L.
+* mod: 2010.10.12
+*
+****************************************/
+alter PROCEDURE BatchQueue.stp_consumaMP
+(
+ @XRPQLN INT, --è il num rap qualità
+ @XNRETI NVARCHAR(10), -- è il numUdc prog
+ @XDTPRO INT, -- data 8 cifre aaaammgg
+ @XTRPRO NVARCHAR(5), -- turno
+ @XDESMT NVARCHAR(3), -- destinatario int/terzista
+ @XCDTER NVARCHAR(6) -- cod terzista
+)
+AS
+ -- BOZZA DA VERIFICARE E COMPLETARE A CURA MAZZUCCONI!!!
+
+ DECLARE @SQL AS NVARCHAR(1000)
+
+ -- Faccio chiamata su AS400
+
+ SET @SQL = N' OPENQUERY( P65220DC, ''UPDATE MAZZT_DTV3.XOGIX00F'
+ SET @SQL = @SQL + 'SET XDTPRO = ' + @XDTPRO + ', XTRPRO = ' + @XTRPRO
+ SET @SQL = @SQL + ', XDESMT = ''' + @XDESMT +''', XMATSC=''S'' , XCDTER = ''' + @XCDTER + ''' '
+ SET @SQL = @SQL + 'WHERE XRPQLN =' + @XRPQLN + ' AND XNRETI = ' + @XNRETI + ''' )'
+
+ EXEC sp_executesql @SQL
+
+RETURN
+go
+
+commit
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_processaCodaConsumoMP
+*
+* Processa la coda dei consumo di UDC di MP e chiaam procedura x salvataggio dato su AS400
+*
+* Steamware, S.E.L.
+* mod: 2010.10.12
+*
+****************************************/
+create PROCEDURE BatchQueue.stp_processaCodaConsumoMP
+AS
+ -- BOZZA DA VERIFICARE E COMPLETARE A CURA MAZZUCCONI!!!
+
+ -- faccio una query con un cursore x processare tutte le righe da inviare ad AS400..
+ DECLARE @UDC NVARCHAR(50)
+ DECLARE @XRPQLN INT
+ DECLARE @XNRETI NVARCHAR(10)
+ DECLARE @XDTPRO INT
+ DECLARE @XTRPRO NVARCHAR(5)
+ DECLARE @XDESMT NVARCHAR(3)
+ DECLARE @XCDTER NVARCHAR(6)
+
+ DECLARE @SqlCode NVARCHAR(1000)
+
+ DECLARE UdcMpList CURSOR FOR
+ SELECT UDC FROM AS400_BatchConsumoMP WHERE DataInvioAs IS NULL
+ OPEN UdcMpList
+ FETCH NEXT FROM UdcMpList
+ INTO @UDC
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ -- controllo ci sia la riga
+ IF (SELECT COUNT(UDC) FROM AS400_BatchConsumoMP WHERE UDC=@UDC) > 0
+ BEGIN
+ -- carico valori che mi servono
+ SELECT @XRPQLN=rq.nRapQual, @XNRETI=rq.ProgUDC, @XDTPRO=bcu.DataPrelFus, @XTRPRO=bcu.TurnoPrelFus,
+ @XDESMT=bcu.DestLega, @XCDTER=bcu.DestTerz
+ FROM AS400_BatchConsumoMP as bcu INNER JOIN RilPro.RapQual as rq ON bcu.UDC = rq.UDC
+ WHERE bcu.UDC=@UDC
+ -- compongo testo x exec
+ SET @SqlCode = N'EXEC BatchQueue.stp_consumaMP ' + CAST(@XRPQLN AS NVARCHAR(50)) + ' ' + @XNRETI + ' ' + CAST(@XDTPRO AS NVARCHAR(8)) + ' ' + LTRIM(RTRIM(@XTRPRO)) + ' ' + LTRIM(RTRIM(@XDESMT)) + ' ' + LTRIM(RTRIM(@XCDTER))
+ -- lo mostro
+ print '%' + LTRIM(RTRIM(@SqlCode)) + '%'
+
+ -- chiamo la stored ed eseguo invio
+ --EXEC sp_executesql @SqlCode -- decommentare se va bene...
+ FETCH NEXT FROM UdcMpList INTO @UDC
+ END
+ END
+ CLOSE UdcMpList
+ DEALLOCATE UdcMpList
+
+
+RETURN
+go
+
+commit
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_processaCodaConsumoMP
+*
+* Processa la coda dei consumo di UDC di MP e chiaam procedura x salvataggio dato su AS400
+*
+* Steamware, S.E.L.
+* mod: 2010.10.12
+*
+****************************************/
+create PROCEDURE BatchQueue.stp_processaCodaConsumoMP
+AS
+ -- BOZZA DA VERIFICARE E COMPLETARE A CURA MAZZUCCONI!!!
+
+ -- faccio una query con un cursore x processare tutte le righe da inviare ad AS400..
+ DECLARE @UDC NVARCHAR(50)
+ DECLARE @XRPQLN INT
+ DECLARE @XNRETI NVARCHAR(10)
+ DECLARE @XDTPRO INT
+ DECLARE @XTRPRO NVARCHAR(5)
+ DECLARE @XDESMT NVARCHAR(3)
+ DECLARE @XCDTER NVARCHAR(6)
+
+ DECLARE @SqlCode NVARCHAR(1000)
+
+ DECLARE UdcMpList CURSOR FOR
+ SELECT UDC FROM AS400_BatchConsumoMP WHERE DataInvioAs IS NULL
+ OPEN UdcMpList
+ FETCH NEXT FROM UdcMpList
+ INTO @UDC
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ -- controllo ci sia la riga
+ IF (SELECT COUNT(UDC) FROM AS400_BatchConsumoMP WHERE UDC=@UDC) > 0
+ BEGIN
+ -- carico valori che mi servono
+ SELECT @XRPQLN=rq.nRapQual, @XNRETI=rq.ProgUDC, @XDTPRO=bcu.DataPrelFus, @XTRPRO=bcu.TurnoPrelFus,
+ @XDESMT=bcu.DestLega, @XCDTER=bcu.DestTerz
+ FROM AS400_BatchConsumoMP as bcu INNER JOIN RilPro.RapQual as rq ON bcu.UDC = rq.UDC
+ WHERE bcu.UDC=@UDC
+ -- compongo testo x exec
+ SET @SqlCode = N'EXEC BatchQueue.stp_consumaMP ' + CAST(@XRPQLN AS NVARCHAR(50)) + ' ' + @XNRETI + ' ' + CAST(@XDTPRO AS NVARCHAR(8)) + ' ' + LTRIM(RTRIM(@XTRPRO)) + ' ' + LTRIM(RTRIM(@XDESMT)) + ' ' + LTRIM(RTRIM(@XCDTER))
+ -- lo mostro
+ print '%' + LTRIM(RTRIM(@SqlCode)) + '%'
+
+ -- chiamo la stored ed eseguo invio
+ --EXEC sp_executesql @SqlCode -- decommentare se va bene...
+ FETCH NEXT FROM UdcMpList INTO @UDC
+ END
+ END
+ CLOSE UdcMpList
+ DEALLOCATE UdcMpList
+
+
+RETURN
+go
+
+commit
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_accodaConsumoUdcMP
+*
+* Accoda alla tab Batch il consumo di un UDC
+*
+* Steamware, S.E.L.
+* mod: 2010.10.10
+*
+****************************************/
+alter PROCEDURE stp_accodaConsumoUdcMP
+(
+ @UDC NVARCHAR(50),
+ @DataPrelFus DATETIME,
+ @TurnoPrelFus CHAR(5),
+ @DestLega CHAR(3),
+ @DestTerz CHAR(6)
+)
+AS
+
+BEGIN TRAN
+
+ -- registro movimento da riconciliare
+ INSERT INTO AS400_BatchConsumoMP(ProgUDC, UDC, DataPrelFus, TurnoPrelFus, DestLega, DestTerz)
+ SELECT ProgUdc, UDC, dbo.dateToAsFormat(@DataPrelFus), @TurnoPrelFus, @DestLega, @DestTerz FROM RilPro.RapQual WHERE UDC = @UDC
+
+ -- aggiorno con data e turno di prelievo su tab RilPro (locale)
+ UPDATE RilPro.RapQual
+ SET DataPrelFus = dbo.dateToAsFormat(@DataPrelFus), TurnoPrelFus = @TurnoPrelFus
+ WHERE UDC = @UDC
+
+COMMIT TRAN
+
+RETURN
+go
+
+commit
+go
+
+
+
+
+
+
+
+
+
+
+-- registro versione...
+INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(280, GETDATE())
+GO
diff --git a/GMW/GMW_data/SqlScripts/V1.1/GMW_00285.sql b/GMW/GMW_data/SqlScripts/V1.1/GMW_00285.sql
new file mode 100644
index 00000000..624c7748
--- /dev/null
+++ b/GMW/GMW_data/SqlScripts/V1.1/GMW_00285.sql
@@ -0,0 +1,827 @@
+set xact_abort on
+go
+
+begin transaction
+go
+
+create index i_dataFus on ElencoCartellini(DataFus)
+go
+
+create index i_idxPosizione on ElencoCartellini(IdxPosizione)
+go
+
+commit
+go
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_ArtiInProd_ByImpData
+*
+* ottiene l'elenco dei particolari in lavorazione in una certa data/ora (già trasformato data+turno in dataora) su un impianto
+* --> con dettaglio su articoli (da anagrafica)
+*
+* Steamware, S.E.L.
+* mod: 2010.04.29
+*
+****************************************/
+alter PROCEDURE stp_ArtiInProd_ByImpData
+(
+ @CodImpianto VARCHAR(50),
+ @DataRif DATETIME
+)
+AS
+
+-- iniziamo definendo le varie viste accessorie
+WITH cteUltStampo AS
+ (SELECT CodStampo, InizioValidita, ProgFigure, FineValidita, NumCommessa, NumFigure, CodCliente, CodArticolo, Particolare
+ FROM RilPro.StampoArticolo AS A
+ WHERE (@DataRif >= InizioValidita AND @DataRif <= ISNULL(FineValidita, DATEADD(year, 2, GETDATE()))) ),
+ cteEspAttivi AS
+ (SELECT s.CodStampo, s.Esponente, s.EspAttivo, s.DataInserim, s.DataValidita
+ FROM RilPro.StampoEsponente AS s INNER JOIN
+ (SELECT CodStampo, MAX(DataValidita) AS DataValidita
+ FROM RilPro.StampoEsponente
+ WHERE (DataValidita <= @DataRif) AND (EspAttivo = 'S')
+ GROUP BY CodStampo) AS s2 ON s.CodStampo = s2.CodStampo AND s.DataValidita = s2.DataValidita),
+ cteLineeAttive AS
+ (SELECT CodImpianto, CodStampo, NumStampate, CONVERT(DATETIME, DataInizio) AS DataInizio, DataFine, TurnoInizio, TurnoFine
+ FROM RilPro.LineaStampi
+ WHERE (@DataRif BETWEEN DataInizio AND ISNULL(DataFine, DATEADD(year, 2, GETDATE())))
+ AND CodImpianto = @CodImpianto)
+
+-- faccio la select principale
+SELECT l.CodImpianto, l.CodStampo, l.NumStampate, l.DataInizio, l.TurnoInizio, g.InizioValidita, g.FineValidita, g.NumFigure,
+ dbo.f_padLeft(CAST(g.CodCliente AS varchar(50)), 5, '0') AS CodCliente, ISNULL(cl.RagSociale,'-') AS RagSociale, CAST(g.CodArticolo AS varchar(50)) AS CodArticolo,
+ g.Particolare, pa.DescParticolare, pa.DisegnoGrezzo, pa.CodFamiglia, fa.DescFamiglia, fi.Figura, es.Esponente
+ FROM cteLineeAttive AS l INNER JOIN cteUltStampo AS g ON l.CodStampo = g.CodStampo LEFT OUTER JOIN
+ RilPro.StampoFigure AS fi ON l.CodStampo = fi.CodStampo LEFT OUTER JOIN
+ cteEspAttivi AS es ON g.CodStampo = es.CodStampo LEFT OUTER JOIN
+ RilPro.AnagParticolari AS pa ON g.Particolare = pa.Particolare LEFT OUTER JOIN
+ RilPro.AnagFamiglie AS fa ON pa.CodFamiglia = fa.CodFamiglia LEFT OUTER JOIN
+ RilPro.AnagClienti AS cl ON g.CodCliente = cl.CodCliente
+ ORDER BY l.CodImpianto
+
+RETURN
+go
+
+commit
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_UDC_delibera
+*
+* fa la delibera dell'UDC andando a processare la state machien e quindi eventualmente cambiando la sua posizione
+*
+* Steamware, S.E.L.
+* mod: 2010.09.13
+*
+************************************/
+alter PROCEDURE stp_UDC_delibera
+(
+ @CodTipoDelibera NVARCHAR(50),
+ @UDC NVARCHAR(50),
+ @CodSoggetto NVARCHAR(17),
+ @CodCS VARCHAR(2)
+)
+
+AS
+
+BEGIN TRAN
+ DECLARE @IdxPosizioneTo AS INT
+ DECLARE @IdxPosizioneFrom AS INT
+ DECLARE @IdxPosizionePre AS NVARCHAR(50)
+ DECLARE @IdxCellaPre AS INT
+ DECLARE @IdxCellaTo AS INT
+
+ -- ricavo cella ATTUALE
+ SET @IdxCellaPre = (SELECT IdxCella FROM PosizioneUdcCorrente WHERE UDC = @UDC)
+
+ -- ricavo posizione ATTUALE
+ SET @IdxPosizionePre = (SELECT TOP 1 b.CodMag FROM Celle c INNER JOIN Blocchi b ON c.IdxBlocco=b.IdxBlocco WHERE c.IdxCella = @IdxCellaPre)
+
+
+ -- registro delibera
+ INSERT INTO DELIBERE
+ VALUES (@CodTipoDelibera, @UDC, GETDATE(), @CodSoggetto)
+
+ -- ricavo nuova posizione
+ SET @IdxPosizioneTo = (SELECT tt.IdxPosizioneTo
+ FROM TabTranPosizEventi tt INNER JOIN AnagTipoDelibere atd ON tt.CodEvento = atd.CodEvento
+ WHERE (atd.CodTipoDelibera = @CodTipoDelibera))
+
+ -- ricavo posizione TEORICA VECCHIA
+ SET @IdxPosizioneFrom = (SELECT tt.IdxPosizione
+ FROM TabTranPosizEventi tt INNER JOIN AnagTipoDelibere atd ON tt.CodEvento = atd.CodEvento
+ WHERE (atd.CodTipoDelibera = @CodTipoDelibera))
+
+ -- calcolo la prima cella della nuova posizione...
+ SET @IdxCellaTo = (
+ SELECT TOP 1 IdxCella FROM Celle
+ WHERE IdxBlocco = (
+ SELECT IdxBlocco FROM Blocchi
+ WHERE CodMag=CAST(@IdxPosizioneTo AS NVARCHAR(50)))
+ )
+
+ -- faccio update posizione
+ UPDATE ElencoCartellini
+ SET IdxPosizione = @IdxPosizioneTo
+ WHERE UDC = @UDC
+
+ -- controllo posizioni act e from teorica: SE e SOLO SE corrispondono faccio spostamento...
+ IF(CAST(@IdxPosizioneFrom AS NVARCHAR(50)) = @IdxPosizionePre)
+ BEGIN
+ -- ora cambio anche la posizione corrente dell'UDC (e tramite trigger storicizza...)
+ EXEC stp_spostaUdc @CodCS, @UDC, @IdxCellaTo
+ END
+
+COMMIT TRAN
+
+
+RETURN
+go
+
+/***************************************
+* STORED stp_UDC_getByFlussoDate
+*
+* elenco cartellini creati su una data bilancia in un periodo ti tempo indicato
+*
+* Steamware, S.E.L.
+* mod: 2010.10.13
+*
+****************************************/
+create PROCEDURE stp_UDC_getByFlussoDate
+(
+
+ @CodCS NVARCHAR(2),
+ @Flusso NVARCHAR(2),
+ @DataFrom DATETIME,
+ @DataTo DATETIME
+)
+AS
+
+SELECT *
+FROM ElencoCartellini
+WHERE (UDC LIKE 'U' + @CodCS + @Flusso + '%')
+ AND (DataFus >= @DataFrom) AND (DataFus <= @DataTo)
+ORDER BY UDC DESC
+
+RETURN
+go
+
+/***************************************
+* STORED stp_UDC_getLast_ByDataTurnoLineaParticolare
+*
+* elenco cartellini ULTIMI creati su una data bilancia dati data, turno, linea e particolare
+*
+* Steamware, S.E.L.
+* mod: 2010.10.13
+*
+****************************************/
+create PROCEDURE stp_UDC_getLast_ByDataTurnoLineaParticolare
+(
+ @CodCS VARCHAR(2),
+ @Particolare VARCHAR(15),
+ @CodImpianto AS VARCHAR(50),
+ @DataFus DATETIME,
+ @TurnoFus INT
+)
+AS
+
+-- carico l'elenco dei dati "attivi" x il filtraggio richiesto
+WITH cte_contAttivi AS(
+ SELECT CodCS, Particolare, Esponente, CodImpianto,CodStampo, Figura, DataFus, TurnoFus, MAX(NumCont) AS NumCont
+ FROM ElencoCartellini
+ GROUP BY CodCS, Particolare, Esponente, CodImpianto, CodStampo, Figura, DataFus, TurnoFus
+ HAVING (CodImpianto = @CodImpianto) AND (DataFus = @DataFus) AND (TurnoFus= @TurnoFus) AND (Particolare= @Particolare) AND CodCs = @CodCS
+)
+
+ -- traduco in tab estesa UDC
+ SELECT ec.* FROM ElencoCartellini ec INNER JOIN cte_contAttivi ca
+ ON ec.Particolare = ca.Particolare AND ec.Esponente=ca.Esponente AND ec.CodImpianto=ca.CodImpianto
+ AND ec.CodStampo=ca.CodStampo AND ec.Figura=ca.Figura AND ec.DataFus=ca.DataFus AND ec.TurnoFus=ca.TurnoFus
+ AND ec.NumCont=ca.NumCont AND ec.CodCs=ca.CodCs
+
+RETURN
+go
+
+commit
+go
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+INSERT INTO dbo.TabTranPosizEventi
+ VALUES (N'MagPreFus', 84, 84)
+go
+
+commit transaction
+go
+
+
+
+drop table AS400_BatchMovimenti
+go
+
+
+
+
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+create table AS400_BatchMovimenti(
+ IdxBatch int not null identity constraint PK_AS400_BatchMovimenti primary key,
+ DataIns datetime not null,
+ CodEvento nvarchar(10) not null,
+ Particolare nvarchar(15) not null,
+ UDC nvarchar(50) not null,
+ CodMagAS nvarchar(50) not null,
+ Quantita decimal(10,2) not null,
+ DataBatch datetime,
+ DataVerifica datetime
+)
+go
+
+alter table AS400_BatchMovimenti add
+ constraint FK_AS400_BatchMovimenti_AS400_MagCont foreign key(CodMagAS) references AS400_MagCont(CodMagAS) on update cascade,
+ constraint FK_AS400_BatchMovimenti_AnagTipoEvento foreign key(CodEvento) references AnagTipoEvento(CodEvento) on update cascade
+go
+
+exec sp_addextendedproperty 'MS_Description', 'dataora inserimento in coda caricamento', 'SCHEMA', 'dbo', 'TABLE', 'AS400_BatchMovimenti', 'COLUMN', 'DataIns'
+go
+
+exec sp_addextendedproperty 'MS_Description', 'NON MODIFICARE: nel codice si usano questi campi x chiamate...', 'SCHEMA', 'dbo', 'TABLE', 'AS400_BatchMovimenti', 'COLUMN', 'CodEvento'
+go
+
+exec sp_addextendedproperty 'MS_Description', 'dataora di caricamento batch verso AS', 'SCHEMA', 'dbo', 'TABLE', 'AS400_BatchMovimenti', 'COLUMN', 'DataBatch'
+go
+
+exec sp_addextendedproperty 'MS_Description', N'dataora in cui è stato verificato il caricamento su AS', 'SCHEMA', 'dbo', 'TABLE', 'AS400_BatchMovimenti', 'COLUMN', 'DataVerifica'
+go
+
+commit
+go
+
+
+
+
+
+
+drop table RigheListePrelievo_AS
+go
+
+
+
+create table RigheListePrelievo_AS(
+ IdxRiga int not null identity constraint PK_RigheListePrelievo_AS primary key,
+ CodLista nvarchar(12) not null,
+ UDC nvarchar(50) not null,
+ Qta decimal(10,2) not null,
+ Proposto bit,
+ Prelevato bit
+)
+go
+
+
+drop table ElencoListePrelievo_AS
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+create table ElencoListePrelievo_AS(
+ CodLista nvarchar(12) not null constraint PK_ElencoListePrelievo_AS primary key,
+ CodTipoLista nvarchar(10) not null,
+ CodCS nchar(2) not null,
+ DataCreaz datetime not null,
+ CodCliente nvarchar(6),
+ RagSociale nvarchar(35),
+ CodSoggetto nchar(17) not null,
+ Particolare nvarchar(15) not null,
+ DescParticolare nvarchar(30),
+ DisegnoGrezzo nvarchar(30),
+ Esponente nvarchar(6),
+ Figura nvarchar(4),
+ CodImballo nvarchar(15),
+ QtaTot decimal(10,2) not null,
+ CodStatoLista int not null constraint DF_ElencoListePrelievo_AS_CodStatoLista default (1),
+ Destinatario nvarchar(50),
+ DataBatch datetime,
+ DataVerifica datetime
+)
+go
+
+exec sp_addextendedproperty 'MS_Description', 'dataora di caricamento batch verso AS', 'SCHEMA', 'dbo', 'TABLE', 'ElencoListePrelievo_AS', 'COLUMN', 'DataBatch'
+go
+
+exec sp_addextendedproperty 'MS_Description', N'dataora in cui è stato verificato il caricamento su AS', 'SCHEMA', 'dbo', 'TABLE', 'ElencoListePrelievo_AS', 'COLUMN', 'DataVerifica'
+go
+
+commit
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+create VIEW v_datiPackingList
+AS
+SELECT dbo.RigheListePrelievo_AS.IdxRiga, dbo.ElencoCartellini.UDC, dbo.ElencoListePrelievo_AS.Particolare, dbo.ElencoCartellini.CodImballo,
+ CAST(RIGHT(dbo.RigheListePrelievo_AS.UDC, 6) AS INT) AS matrUdc, CASE WHEN (dbo.ElencoListePrelievo_AS.CodTipoLista = '03-TerWip')
+ THEN 'FO' ELSE 'CL' END AS tipo, dbo.ElencoListePrelievo_AS.Destinatario, dbo.ElencoCartellini.Qta,
+ dbo.ElencoCartellini.PesoTot - dbo.ElencoCartellini.Tara AS PesoNetto, dbo.ElencoCartellini.PesoTot, 'B' AS Stato, GETDATE() AS data,
+ dbo.ElencoListePrelievo_AS.DataBatch
+FROM dbo.ElencoListePrelievo_AS INNER JOIN
+ dbo.RigheListePrelievo_AS ON dbo.ElencoListePrelievo_AS.CodLista = dbo.RigheListePrelievo_AS.CodLista INNER JOIN
+ dbo.ElencoCartellini ON dbo.RigheListePrelievo_AS.UDC = dbo.ElencoCartellini.UDC
+WHERE (dbo.ElencoListePrelievo_AS.DataBatch IS NULL)
+go
+
+exec sp_addextendedproperty 'MS_DiagramPane1', '[0E232FF0-B466-11cf-A24F-00AA00A3EFFF, 1.00]
+Begin DesignProperties =
+ Begin PaneConfigurations =
+ Begin PaneConfiguration = 0
+ NumPanes = 4
+ Configuration = "(H (1[40] 4[20] 2[20] 3) )"
+ End
+ Begin PaneConfiguration = 1
+ NumPanes = 3
+ Configuration = "(H (1 [50] 4 [25] 3))"
+ End
+ Begin PaneConfiguration = 2
+ NumPanes = 3
+ Configuration = "(H (1 [50] 2 [25] 3))"
+ End
+ Begin PaneConfiguration = 3
+ NumPanes = 3
+ Configuration = "(H (4 [30] 2 [40] 3))"
+ End
+ Begin PaneConfiguration = 4
+ NumPanes = 2
+ Configuration = "(H (1 [56] 3))"
+ End
+ Begin PaneConfiguration = 5
+ NumPanes = 2
+ Configuration = "(H (2 [66] 3))"
+ End
+ Begin PaneConfiguration = 6
+ NumPanes = 2
+ Configuration = "(H (4 [50] 3))"
+ End
+ Begin PaneConfiguration = 7
+ NumPanes = 1
+ Configuration = "(V (3))"
+ End
+ Begin PaneConfiguration = 8
+ NumPanes = 3
+ Configuration = "(H (1[56] 4[18] 2) )"
+ End
+ Begin PaneConfiguration = 9
+ NumPanes = 2
+ Configuration = "(H (1 [75] 4))"
+ End
+ Begin PaneConfiguration = 10
+ NumPanes = 2
+ Configuration = "(H (1[66] 2) )"
+ End
+ Begin PaneConfiguration = 11
+ NumPanes = 2
+ Configuration = "(H (4 [60] 2))"
+ End
+ Begin PaneConfiguration = 12
+ NumPanes = 1
+ Configuration = "(H (1) )"
+ End
+ Begin PaneConfiguration = 13
+ NumPanes = 1
+ Configuration = "(V (4))"
+ End
+ Begin PaneConfiguration = 14
+ NumPanes = 1
+ Configuration = "(V (2))"
+ End
+ ActivePaneConfig = 0
+ End
+ Begin DiagramPane =
+ Begin Origin =
+ Top = 0
+ Left = 0
+ End
+ Begin Tables =
+ Begin Table = "ElencoCartellini"
+ Begin Extent =
+ Top = 14
+ Left = 658
+ Bottom = 376
+ Right = 828
+ End
+ DisplayFlags = 280
+ TopColumn = 0
+ End
+ Begin Table = "ElencoListePrelievo_AS"
+ Begin Extent =
+ Top = 6
+ Left = 38
+ Bottom = 367
+ Right = 208
+ End
+ DisplayFlags = 280
+ TopColumn = 0
+ End
+ Begin Table = "RigheListePrelievo_AS"
+ Begin Extent =
+ Top = 5
+ Left = 353
+ Bottom = 200
+ Right = 523
+ End
+ DisplayFlags = 280
+ TopColumn = 0
+ End
+ End
+ End
+ Begin SQLPane =
+ End
+ Begin DataPane =
+ Begin ParameterDefaults = ""
+ End
+ Begin ColumnWidths = 14
+ Width = 284
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ End
+ End
+ Begin CriteriaPane =
+ Begin ColumnWidths = 11
+ Column = 1440
+ Alias = 900
+ Table = 1170
+ Output = 720
+ Append = 1400
+ NewValue = 1170
+ SortType = 1350
+ SortOrder = 1410
+ GroupBy = 1350
+ Filter = 1350
+ Or = 1350
+ Or = 1350
+ Or = 1350
+ End
+ End
+End
+', 'SCHEMA', 'dbo', 'VIEW', 'v_datiPackingList'
+go
+
+exec sp_addextendedproperty 'MS_DiagramPaneCount', 1, 'SCHEMA', 'dbo', 'VIEW', 'v_datiPackingList'
+go
+
+commit
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_consumaMP
+*
+* Salva il movimento di consumo dell'UDC di MP indicato
+*
+* Steamware, S.E.L.
+* mod: 2010.10.12
+*
+****************************************/
+alter PROCEDURE BatchQueue.stp_consumaMP
+(
+ @XRPQLN INT, --è il num rap qualità
+ @XNRETI NVARCHAR(10), -- è il numUdc prog
+ @XDTPRO INT, -- data 8 cifre aaaammgg
+ @XTRPRO NVARCHAR(5), -- turno
+ @XDESMT NVARCHAR(3), -- destinatario int/terzista
+ @XCDTER NVARCHAR(6) -- cod terzista
+)
+AS
+ -- BOZZA DA VERIFICARE E COMPLETARE A CURA MAZZUCCONI!!!
+
+ DECLARE @SQL AS NVARCHAR(1000)
+
+ -- Faccio chiamata su AS400
+
+ SET @SQL = N' OPENQUERY( P65220DC, ''UPDATE MAZZT_DTV3.XOGIX00F'
+ SET @SQL = @SQL + 'SET XDTPRO = ' + CAST(@XDTPRO AS NVARCHAR(8)) + ', XTRPRO = ' + @XTRPRO
+ SET @SQL = @SQL + ', XDESMT = ''' + @XDESMT +''', XMATSC=''S'' , XCDTER = ''' + @XCDTER + ''' '
+ SET @SQL = @SQL + 'WHERE XRPQLN =' + CAST(@XRPQLN AS NVARCHAR(20)) + ' AND XNRETI = ' + @XNRETI + ''' )'
+
+ EXEC sp_executesql @SQL
+
+RETURN
+go
+
+commit
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/*stp_processaCodaMovimMag
+* STORED stp_processaCodaConsumoMP
+*
+* Processa la coda dei movimenti di magazzino e chiama procedura x salvataggio dato su AS400
+*
+* Steamware, S.E.L.
+* mod: 2010.10.15
+*
+****************************************/
+create PROCEDURE BatchQueue.stp_processaCodaMovimMag
+AS
+ -- BOZZA DA VERIFICARE E COMPLETARE A CURA MAZZUCCONI!!!
+
+ -- campi x cursore e valorizzazione riga a riga
+ DECLARE @IdxRiga INT
+ DECLARE @CodStab CHAR(2)
+ DECLARE @UDC NVARCHAR(15)
+ DECLARE @Particolare NVARCHAR(15)
+ DECLARE @CodImb NVARCHAR(15)
+ DECLARE @Matr INT
+ DECLARE @Tipo NVARCHAR(2)
+ DECLARE @Dest NVARCHAR(10)
+ DECLARE @Qta INT
+ DECLARE @PesoNet NUMERIC(7,3)
+ DECLARE @PesoLor NUMERIC(7,3)
+ DECLARE @Stato CHAR(1)
+ DECLARE @Data NVARCHAR(8)
+ -- variabile x composizioen query
+ DECLARE @SqlCode NVARCHAR(1000)
+ -- faccio una query con un cursore x processare tutte le righe da inviare ad AS400..
+ DECLARE RigaPackList CURSOR FOR
+ SELECT IdxRiga FROM v_datiPackingList
+
+ -- setto il codice stabilimento da inviare ad AS... VERIFICARE!!!
+ SET @CodStab = '05'
+
+ -- inizio cursore!
+ OPEN RigaPackList
+ FETCH NEXT FROM RigaPackList
+ INTO @IdxRiga
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ -- controllo ci sia la riga
+ IF (SELECT COUNT(IdxRiga) FROM v_datiPackingList WHERE IdxRiga = @IdxRiga) > 0
+ BEGIN
+ -- carico valori che mi servono
+ SELECT @Particolare=pl.Particolare, @UDC=UDC, @CodImb=pl.CodImballo, @Matr = pl.matrUdc, @Tipo=pl.tipo, @Dest=pl.Destinatario,
+ @Qta=ABS(pl.Qta), @PesoNet=pl.PesoNetto, @PesoLor=pl.PesoTot, @Stato=pl.Stato, @Data=dbo.dateToAsFormat(pl.data)
+ FROM v_datiPackingList pl
+ WHERE IdxRiga = @IdxRiga
+
+ -- compongo testo x exec
+ SET @SqlCode = N'EXEC BatchQueue.stp_registraPackList ' + @CodStab + ' ' + @UDC + ' ' + @Particolare + ' ' + @CodImb + ' ' + CAST(@Matr AS NVARCHAR(8)) + ' ' + @Tipo + ' ' + @Dest + ' ' + CAST(@Qta AS NVARCHAR(8)) + ' ' + CAST(@PesoNet AS NVARCHAR(8)) + ' ' + CAST(@PesoLor AS NVARCHAR(8)) + ' ' + @Stato + ' ' + @Data
+ -- lo mostro
+ print '%' + LTRIM(RTRIM(@SqlCode)) + '%'
+
+ -- !!! TESTARE !!!
+ /*
+ -- chiamo la stored ed eseguo invio
+ EXEC sp_executesql @SqlCode -- decommentare se va bene...
+
+ -- registro la data del movimento BATCH
+ UPDATE AS400_BatchMovimenti SET DataBatch = GETDATE() WHERE IdxRiga = @IdxRiga
+ */
+
+ FETCH NEXT FROM RigaPackList INTO @IdxRiga
+ END
+ END
+ CLOSE RigaPackList
+ DEALLOCATE RigaPackList
+
+
+RETURN
+go
+
+/***************************************
+* STORED stp_registraMovMag
+*
+* Salva il movimento di magazzino indicato
+*
+* Steamware, S.E.L.
+* mod: 2010.10.15
+*
+****************************************/
+create PROCEDURE BatchQueue.stp_registraMovMag
+(
+ @NOMUS NVARCHAR(50), -- è il nome utente
+ @CDCAU NVARCHAR(2), -- è la causale del movimento
+ @CDPAR NVARCHAR(15), -- codice particolare
+ @CDMAG NVARCHAR(2), -- codice magazzino
+ @QTMOV INT, -- quantità movimento
+ @DAMOV NVARCHAR(8), -- data 8 cifre aaaammgg
+ @RIFFO NVARCHAR(8) -- cod UDC compresso
+)
+AS
+ -- BOZZA DA VERIFICARE E COMPLETARE A CURA MAZZUCCONI!!!
+
+ DECLARE @SQL AS NVARCHAR(1000)
+
+ -- Faccio chiamata su AS400
+ SET @SQL = N' OPENQUERY( P65220DC, ''INSERT INTO MAZZT_DTV3.MWMV200F VALUES '
+ SET @SQL = @SQL + @NOMUS + ', ' + @CDCAU + ', ' + @CDPAR + ', ' + @CDMAG + ', '
+ SET @SQL = @SQL + CAST(@QTMOV AS NVARCHAR(8)) + ', ' + @DAMOV + ', ' + @RIFFO + ''' )'
+
+ EXEC sp_executesql @SQL
+
+RETURN
+go
+
+/***************************************
+* STORED stp_registraPackList
+*
+* Salva i dati di packing list indicati
+*
+* Steamware, S.E.L.
+* mod: 2010.10.15
+*
+****************************************/
+create PROCEDURE BatchQueue.stp_registraPackList
+(
+ @PLREPA NVARCHAR(2), -- è il codice reparto/stabilimento (05 pressofusione)
+ @PLCART NVARCHAR(15), -- UDC
+ @PLARTI NVARCHAR(15), -- cod articolo
+ @PLCONT NVARCHAR(15), -- cod contenitore
+ @PLMATR INT, -- matricola contenitore (solo cifre finali INT)
+ @PLTPAN CHAR(2), -- tipo anagrafico CLiente / FOrnitore-terzista
+ @PLCDAN NVARCHAR(6), -- cod terzista / cliente
+ @PLQTA INT, -- quantità
+ @PLPNET NUMERIC(7, 3), -- peso netto
+ @PLPLOR NUMERIC(7, 3), -- peso lordo
+ @PLSTAT CHAR(1), -- stato "P" predisposto per packing list, "B" bolla stampata
+ @PLDTEN INT -- data entrata merce, data di carico dell'UDC 8 cifre aaaammgg
+)
+AS
+ -- BOZZA DA VERIFICARE E COMPLETARE A CURA MAZZUCCONI!!!
+
+ DECLARE @SQL AS NVARCHAR(1000)
+
+ -- Faccio chiamata su AS400
+ SET @SQL = N' OPENQUERY( P65220DC, ''INSERT INTO MAZZT_DTV3.PACKL00F VALUES '
+ SET @SQL = @SQL + @PLREPA + ', ' + @PLCART + ', ' + @PLARTI + ', ' + @PLCONT + ', '
+ SET @SQL = @SQL + CAST(@PLMATR AS NVARCHAR(5)) + ', ' + @PLTPAN + ', ' + @PLCDAN + ', ' + CAST(@PLQTA AS NVARCHAR(10)) + ', '
+ SET @SQL = @SQL + CAST(@PLPNET AS NVARCHAR(10)) + ', ' + CAST(@PLPLOR AS NVARCHAR(10)) + ', ' + @PLSTAT + ', '
+ SET @SQL = @SQL + CAST(@PLDTEN AS NVARCHAR(8)) + ''' )'
+
+ EXEC sp_executesql @SQL
+
+RETURN
+go
+
+commit
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_ParticolariOverview
+*
+* restituisce solo la riga con il num max di celle DI UN DATO magazzino
+*
+* Steamware, S.E.L.
+* mod: 2010.06.02
+*
+****************************************/
+alter PROCEDURE stp_magazzinoOverviewByMag_maxCelle
+(
+ @CodCS VARCHAR(2),
+ @CodMag VARCHAR(50)
+)
+AS
+
+
+WITH cte_celle AS(
+ SELECT b.CodBlocco, c.IdxTipoCella, COUNT(c.IdxCella) * t.Capienza AS numCelle
+ FROM Celle AS c INNER JOIN
+ Blocchi AS b ON c.IdxBlocco = b.IdxBlocco INNER JOIN
+ TipoCella AS t ON c.IdxTipoCella = t.IdxTipoCella
+ WHERE (b.CodCS = @CodCS) AND (b.CodMag = @CodMag)
+ GROUP BY b.CodBlocco, c.IdxTipoCella, t.Capienza
+)
+
+
+ SELECT TOP (1) AnagMag.CodCS, AnagMag.CodMag, AnagMag.DescMag, b.IdxBlocco, b.CodBlocco,
+ ISNULL(c.numCelle,ISNULL(b.NumX * b.NumY * b.NumZ,1)) AS TotCelle,
+ 0 AS CelleAttive, 0 AS CelleOccupate, 0 AS CelleLibere, GETDATE() AS Oldest, GETDATE() AS Newest
+ FROM AnagMag INNER JOIN Blocchi b ON AnagMag.CodMag = b.CodMag AND AnagMag.CodCS = b.CodCS INNER JOIN cte_celle c ON c.CodBlocco = b.CodBlocco
+ WHERE (AnagMag.CodCS = @CodCS) AND AnagMag.CodMag = @CodMag
+ ORDER BY TotCelle DESC
+RETURN
+go
+
+/***************************************
+* STORED stp_ParticolariOverview
+*
+* restituisce solo la riga con il num max di celle
+*
+* Steamware, S.E.L.
+* mod: 2010.06.02
+*
+****************************************/
+alter PROCEDURE stp_magazzinoOverview_maxCelle
+(
+ @CodCS VARCHAR(2)
+)
+AS
+
+WITH cte_celle AS(
+ SELECT b.CodBlocco, c.IdxTipoCella, COUNT(c.IdxCella) * t.Capienza AS numCelle
+ FROM Celle AS c INNER JOIN
+ Blocchi AS b ON c.IdxBlocco = b.IdxBlocco INNER JOIN
+ TipoCella AS t ON c.IdxTipoCella = t.IdxTipoCella
+ WHERE (b.CodCS = @CodCS)
+ GROUP BY b.CodBlocco, c.IdxTipoCella, t.Capienza
+)
+
+
+ SELECT TOP (1) AnagMag.CodCS, AnagMag.CodMag, AnagMag.DescMag, b.IdxBlocco, b.CodBlocco,
+ ISNULL(c.numCelle,ISNULL(b.NumX * b.NumY * b.NumZ,1)) AS TotCelle,
+ 0 AS CelleAttive, 0 AS CelleOccupate, 0 AS CelleLibere, GETDATE() AS Oldest, GETDATE() AS Newest
+ FROM AnagMag INNER JOIN Blocchi b ON AnagMag.CodMag = b.CodMag AND AnagMag.CodCS = b.CodCS INNER JOIN cte_celle c ON c.CodBlocco = b.CodBlocco
+ WHERE (AnagMag.CodCS = @CodCS)
+ ORDER BY TotCelle DESC
+
+RETURN
+go
+
+commit
+go
+
+
+
+
+-- registro versione...
+INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(285, GETDATE())
+GO
diff --git a/GMW/GMW_data/SqlScripts/V1.1/GMW_00286.sql b/GMW/GMW_data/SqlScripts/V1.1/GMW_00286.sql
new file mode 100644
index 00000000..de2770ec
--- /dev/null
+++ b/GMW/GMW_data/SqlScripts/V1.1/GMW_00286.sql
@@ -0,0 +1,198 @@
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+alter VIEW v_selUdcByPart
+AS
+SELECT UDC AS value, ISNULL(RTRIM(UDC), '-') + ' - ' + ISNULL(RTRIM(Particolare), '...') + ' (' + ISNULL(RTRIM(DescParticolare), '') + ') ' + ISNULL(RTRIM(DisegnoGrezzo), '-')
+ + ' pz. ' + ISNULL(CAST(Qta AS varchar), '0') AS label, Particolare AS conditio, IdxPosizione
+FROM dbo.ElencoCartellini
+WHERE (NOT (Particolare IS NULL)) AND (IdxPosizione >= 0)
+go
+
+exec sp_updateextendedproperty 'MS_DiagramPane1', '[0E232FF0-B466-11cf-A24F-00AA00A3EFFF, 1.00]
+Begin DesignProperties =
+ Begin PaneConfigurations =
+ Begin PaneConfiguration = 0
+ NumPanes = 4
+ Configuration = "(H (1[40] 4[20] 2[20] 3) )"
+ End
+ Begin PaneConfiguration = 1
+ NumPanes = 3
+ Configuration = "(H (1 [50] 4 [25] 3))"
+ End
+ Begin PaneConfiguration = 2
+ NumPanes = 3
+ Configuration = "(H (1 [50] 2 [25] 3))"
+ End
+ Begin PaneConfiguration = 3
+ NumPanes = 3
+ Configuration = "(H (4 [30] 2 [40] 3))"
+ End
+ Begin PaneConfiguration = 4
+ NumPanes = 2
+ Configuration = "(H (1 [56] 3))"
+ End
+ Begin PaneConfiguration = 5
+ NumPanes = 2
+ Configuration = "(H (2 [66] 3))"
+ End
+ Begin PaneConfiguration = 6
+ NumPanes = 2
+ Configuration = "(H (4 [50] 3))"
+ End
+ Begin PaneConfiguration = 7
+ NumPanes = 1
+ Configuration = "(V (3))"
+ End
+ Begin PaneConfiguration = 8
+ NumPanes = 3
+ Configuration = "(H (1[56] 4[18] 2) )"
+ End
+ Begin PaneConfiguration = 9
+ NumPanes = 2
+ Configuration = "(H (1 [75] 4))"
+ End
+ Begin PaneConfiguration = 10
+ NumPanes = 2
+ Configuration = "(H (1[66] 2) )"
+ End
+ Begin PaneConfiguration = 11
+ NumPanes = 2
+ Configuration = "(H (4 [60] 2))"
+ End
+ Begin PaneConfiguration = 12
+ NumPanes = 1
+ Configuration = "(H (1) )"
+ End
+ Begin PaneConfiguration = 13
+ NumPanes = 1
+ Configuration = "(V (4))"
+ End
+ Begin PaneConfiguration = 14
+ NumPanes = 1
+ Configuration = "(V (2))"
+ End
+ ActivePaneConfig = 0
+ End
+ Begin DiagramPane =
+ Begin Origin =
+ Top = 0
+ Left = 0
+ End
+ Begin Tables =
+ Begin Table = "ElencoCartellini"
+ Begin Extent =
+ Top = 6
+ Left = 38
+ Bottom = 319
+ Right = 208
+ End
+ DisplayFlags = 280
+ TopColumn = 11
+ End
+ End
+ End
+ Begin SQLPane =
+ End
+ Begin DataPane =
+ Begin ParameterDefaults = ""
+ End
+ Begin ColumnWidths = 9
+ Width = 284
+ Width = 1500
+ Width = 8910
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ End
+ End
+ Begin CriteriaPane =
+ Begin ColumnWidths = 11
+ Column = 1440
+ Alias = 900
+ Table = 1170
+ Output = 720
+ Append = 1400
+ NewValue = 1170
+ SortType = 1350
+ SortOrder = 1410
+ GroupBy = 1350
+ Filter = 1350
+ Or = 1350
+ Or = 1350
+ Or = 1350
+ End
+ End
+End
+', 'SCHEMA', 'dbo', 'VIEW', 'v_selUdcByPart'
+go
+
+commit
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_getUdcDetailFullCode
+*
+* ottiene l'elenco degli UDC con i dati significativi partendo da un codice UDC COMPLETO
+*
+* Steamware, S.E.L.
+* mod: 2010.05.24
+*
+****************************************/
+alter PROCEDURE stp_getUdcDetailFullCode
+(
+ @UDC VARCHAR(50),
+ @CodCS VARCHAR(2)
+)
+AS
+
+SELECT ec.UDC, ISNULL(ec.RagSociale, N'nd') AS RagSociale, ISNULL(ec.Particolare, N'nd') AS Particolare,
+ ISNULL(ec.DescParticolare, N'nd') AS DescParticolare, ISNULL(ec.DisegnoGrezzo, N'nd') AS DisegnoGrezzo,
+ ISNULL(ec.Esponente, N'nd') AS Esponente, ISNULL(ec.DescImpianto, N'nd') AS DescImpianto,
+ ISNULL(ec.DataFus, N'') AS DataFus, ISNULL(ec.TurnoFus, 0) AS TurnoFus, ec.CodImballo,
+ ec.Qta, ISNULL(AnagStatiProdotto.DescStato, N'nd') AS DescStato, ec.ModDate,
+ CASE WHEN(ec.IdxPosizione < 0) THEN 'Consum' ELSE ISNULL(Blocchi.CodMag, N'nd') END AS CodMag,
+ ISNULL(Blocchi.CodBlocco, N'nd') AS CodBlocco, ISNULL(Celle.CodCella, N'nd') AS CodCella, ISNULL(dbo.Celle.IdxCella, 0) AS IdxCella,
+ ISNULL(Celle.X, 0) AS X, ISNULL(Celle.Y, 0) AS Y, ISNULL(Celle.Z, 0) AS Z, ec.IdxPosizione
+FROM AnagStatiProdotto RIGHT OUTER JOIN
+ ElencoCartellini ec ON AnagStatiProdotto.CodStato = ec.CodStato AND AnagStatiProdotto.CodStato = ec.CodStato
+ LEFT OUTER JOIN Celle INNER JOIN PosizioneUdcCorrente ON Celle.IdxCella = PosizioneUdcCorrente.IdxCella
+ AND Celle.IdxCella = PosizioneUdcCorrente.IdxCella AND Celle.IdxCella = PosizioneUdcCorrente.IdxCella
+ INNER JOIN Blocchi ON Celle.IdxBlocco = Blocchi.IdxBlocco INNER JOIN AnagMag ON Blocchi.CodMag = AnagMag.CodMag
+ AND Blocchi.CodCS = AnagMag.CodCS AND Blocchi.CodMag = AnagMag.CodMag AND Blocchi.CodCS = AnagMag.CodCS AND Blocchi.CodMag = AnagMag.CodMag
+ AND Blocchi.CodCS = AnagMag.CodCS ON ec.UDC = PosizioneUdcCorrente.UDC
+WHERE (ec.UDC = @UDC) AND (ec.CodCS = @CodCS)
+
+RETURN
+go
+
+commit
+go
+
+
+
+
+
+
+-- registro versione...
+INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(286, GETDATE())
+GO
diff --git a/GMW/GMW_data/SqlScripts/V1.1/GMW_00287.sql b/GMW/GMW_data/SqlScripts/V1.1/GMW_00287.sql
new file mode 100644
index 00000000..91ee9017
--- /dev/null
+++ b/GMW/GMW_data/SqlScripts/V1.1/GMW_00287.sql
@@ -0,0 +1,78 @@
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+alter table AS400_BatchConsumoMP alter column
+ TurnoPrelFus nvarchar(50) not null
+go
+
+alter table AS400_BatchConsumoMP alter column
+ DestLega nvarchar(50)
+go
+
+alter table AS400_BatchConsumoMP alter column
+ DestTerz nvarchar(50)
+go
+
+commit
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_accodaConsumoUdcMP
+*
+* Accoda alla tab Batch il consumo di un UDC
+*
+* Steamware, S.E.L.
+* mod: 2010.10.10
+*
+****************************************/
+alter PROCEDURE stp_accodaConsumoUdcMP
+(
+ @UDC NVARCHAR(50),
+ @DataPrelFus DATETIME,
+ @TurnoPrelFus NVARCHAR(5),
+ @DestLega NVARCHAR(3),
+ @DestTerz NVARCHAR(6)
+)
+AS
+
+BEGIN TRAN
+
+ -- registro movimento da riconciliare
+ INSERT INTO AS400_BatchConsumoMP(ProgUDC, UDC, DataPrelFus, TurnoPrelFus, DestLega, DestTerz)
+ SELECT ProgUdc, UDC, dbo.dateToAsFormat(@DataPrelFus), LTRIM(RTRIM(@TurnoPrelFus)), LTRIM(RTRIM(@DestLega)), LTRIM(RTRIM(@DestTerz))
+ FROM RilPro.RapQual WHERE UDC = @UDC
+
+ -- aggiorno con data e turno di prelievo su tab RilPro (locale)
+ UPDATE RilPro.RapQual
+ SET DataPrelFus = dbo.dateToAsFormat(@DataPrelFus), TurnoPrelFus = LTRIM(RTRIM(@TurnoPrelFus))
+ WHERE UDC = @UDC
+
+COMMIT TRAN
+
+RETURN
+go
+
+commit
+go
+
+
+
+
+
+-- registro versione...
+INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(287, GETDATE())
+GO
diff --git a/GMW/GMW_data/SqlScripts/V1.1/GMW_00288.sql b/GMW/GMW_data/SqlScripts/V1.1/GMW_00288.sql
new file mode 100644
index 00000000..2fabd384
--- /dev/null
+++ b/GMW/GMW_data/SqlScripts/V1.1/GMW_00288.sql
@@ -0,0 +1,758 @@
+-- FIX parte As400
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+alter VIEW v_datiPackingList
+AS
+SELECT dbo.ElencoListePrelievo_AS.CodLista, dbo.RigheListePrelievo_AS.IdxRiga, dbo.ElencoCartellini.UDC, dbo.ElencoListePrelievo_AS.Particolare,
+ dbo.ElencoCartellini.CodImballo, CAST(RIGHT(dbo.RigheListePrelievo_AS.UDC, 6) AS INT) AS matrUdc,
+ CASE WHEN (dbo.ElencoListePrelievo_AS.CodTipoLista = '03-TerWip') THEN 'FO' ELSE 'CL' END AS tipo, dbo.ElencoListePrelievo_AS.Destinatario,
+ dbo.ElencoCartellini.Qta, dbo.ElencoCartellini.PesoTot - dbo.ElencoCartellini.Tara AS PesoNetto, dbo.ElencoCartellini.PesoTot, 'B' AS Stato, GETDATE() AS data,
+ dbo.ElencoListePrelievo_AS.DataBatch
+FROM dbo.ElencoListePrelievo_AS INNER JOIN
+ dbo.RigheListePrelievo_AS ON dbo.ElencoListePrelievo_AS.CodLista = dbo.RigheListePrelievo_AS.CodLista INNER JOIN
+ dbo.ElencoCartellini ON dbo.RigheListePrelievo_AS.UDC = dbo.ElencoCartellini.UDC
+WHERE (dbo.ElencoListePrelievo_AS.DataBatch IS NULL)
+go
+
+exec sp_updateextendedproperty 'MS_DiagramPane1', '[0E232FF0-B466-11cf-A24F-00AA00A3EFFF, 1.00]
+Begin DesignProperties =
+ Begin PaneConfigurations =
+ Begin PaneConfiguration = 0
+ NumPanes = 4
+ Configuration = "(H (1[40] 4[20] 2[20] 3) )"
+ End
+ Begin PaneConfiguration = 1
+ NumPanes = 3
+ Configuration = "(H (1 [50] 4 [25] 3))"
+ End
+ Begin PaneConfiguration = 2
+ NumPanes = 3
+ Configuration = "(H (1 [50] 2 [25] 3))"
+ End
+ Begin PaneConfiguration = 3
+ NumPanes = 3
+ Configuration = "(H (4 [30] 2 [40] 3))"
+ End
+ Begin PaneConfiguration = 4
+ NumPanes = 2
+ Configuration = "(H (1 [56] 3))"
+ End
+ Begin PaneConfiguration = 5
+ NumPanes = 2
+ Configuration = "(H (2 [66] 3))"
+ End
+ Begin PaneConfiguration = 6
+ NumPanes = 2
+ Configuration = "(H (4 [50] 3))"
+ End
+ Begin PaneConfiguration = 7
+ NumPanes = 1
+ Configuration = "(V (3))"
+ End
+ Begin PaneConfiguration = 8
+ NumPanes = 3
+ Configuration = "(H (1[56] 4[18] 2) )"
+ End
+ Begin PaneConfiguration = 9
+ NumPanes = 2
+ Configuration = "(H (1 [75] 4))"
+ End
+ Begin PaneConfiguration = 10
+ NumPanes = 2
+ Configuration = "(H (1[66] 2) )"
+ End
+ Begin PaneConfiguration = 11
+ NumPanes = 2
+ Configuration = "(H (4 [60] 2))"
+ End
+ Begin PaneConfiguration = 12
+ NumPanes = 1
+ Configuration = "(H (1) )"
+ End
+ Begin PaneConfiguration = 13
+ NumPanes = 1
+ Configuration = "(V (4))"
+ End
+ Begin PaneConfiguration = 14
+ NumPanes = 1
+ Configuration = "(V (2))"
+ End
+ ActivePaneConfig = 0
+ End
+ Begin DiagramPane =
+ Begin Origin =
+ Top = 0
+ Left = 0
+ End
+ Begin Tables =
+ Begin Table = "ElencoListePrelievo_AS"
+ Begin Extent =
+ Top = 6
+ Left = 38
+ Bottom = 367
+ Right = 238
+ End
+ DisplayFlags = 280
+ TopColumn = 0
+ End
+ Begin Table = "RigheListePrelievo_AS"
+ Begin Extent =
+ Top = 5
+ Left = 353
+ Bottom = 200
+ Right = 557
+ End
+ DisplayFlags = 280
+ TopColumn = 0
+ End
+ Begin Table = "ElencoCartellini"
+ Begin Extent =
+ Top = 14
+ Left = 658
+ Bottom = 376
+ Right = 828
+ End
+ DisplayFlags = 280
+ TopColumn = 0
+ End
+ End
+ End
+ Begin SQLPane =
+ End
+ Begin DataPane =
+ Begin ParameterDefaults = ""
+ End
+ Begin ColumnWidths = 14
+ Width = 284
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ End
+ End
+ Begin CriteriaPane =
+ Begin ColumnWidths = 11
+ Column = 1440
+ Alias = 900
+ Table = 1170
+ Output = 720
+ Append = 1400
+ NewValue = 1170
+ SortType = 1350
+ SortOrder = 1410
+ GroupBy = 1350
+ Filter = 1350
+ Or = 1350
+ Or = 1350
+ Or = 1350
+ End
+ End
+End
+', 'SCHEMA', 'dbo', 'VIEW', 'v_datiPackingList'
+go
+
+commit
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_batch_RapQual_S01
+*
+* Esegue lo step 1 (caricamento dati RAW da AS400) per la tab dei rapporti di qualità
+*
+* Steamware, S.E.L.
+* mod: 2010.09.23
+*
+****************************************/
+alter PROCEDURE BatchQueue.stp_batch_RapQual_S01
+(
+ @minData DATETIME
+)
+AS
+ SET NOCOUNT ON;
+
+ -- BOZZA DA TESTARE A CURA MAZZUCCONI!!!
+ /*
+ XRPQLN AS nRapQual
+ XRPQLD AS DataRapQual
+ XNRETI AS ProgUDC
+ XCDFOR AS CodFor
+ XCDTER AS DestTerz
+ XCDPAR AS CodLega
+ XDTPRO AS DataPrelFus
+ XTRPRO AS TurnoPrelFus
+ XQTPRO AS Qta
+ XDESMT AS DestLega
+ XMATSC AS LegaScaric
+ XBENQL AS BenesQual
+
+ WHERE XRPQLN <> 0 -- Se il n. rapporto di qualità è zero non sono cartellini materia prima
+
+ */
+
+ DECLARE @SQL AS NVARCHAR(4000);
+ DECLARE @SqlOK AS INT;
+
+ DECLARE @dataAs400 AS VARCHAR(8)
+
+ SET @dataAs400 = (SELECT dbo.dateToAsFormat(@minData))
+
+ BEGIN TRY
+
+ -- svuoto tab raw attuale
+ DELETE FROM RawData.XOGIX00F
+
+ -- CREO L'ISTRUZIONE SQL DI INSERT PARAMETRICA
+ SET @SQL =
+ N'INSERT INTO RawData.XOGIX00F
+ SELECT XRPQLN
+ ,XRPQLD
+ ,XNRETI
+ ,XCDFOR
+ ,XCDTER
+ ,XCDPAR
+ ,XDTPRO
+ ,XTRPRO
+ ,XQTPRO
+ ,XDESMT
+ ,XMATSC
+ ,XBENQL
+ FROM OPENQUERY( P65220DC, ''SELECT * FROM MAZZT_DTV3.XOGIX00F WHERE XRPQLN <> 0 AND XRPQLD >= '
+
+ SET @SQL = @SQL + @dataAs400 + ' '' ) '
+
+ -- SELECT @SQL
+
+ -- Eseguo il comando T-SQL verso AS400 e testo se OK
+ SET @SqlOK = 0;
+
+ -- EXEC @SqlOK = sp_executesql @SQL se faccio così non mi valorizza la variabile se da errore
+ EXEC sp_executesql @SQL;
+
+ END TRY
+ BEGIN CATCH
+ -- PRINT ERROR_NUMBER()
+ SET @SqlOK = ERROR_NUMBER();
+
+ END CATCH
+
+ -- Memorizzo il comando per verifica T-SQL e l'esito del comando se 0 è OK
+ INSERT INTO RawData.AS400_Comandi
+ SELECT GETDATE(), 'stp_consumaMP', @SQL, @SqlOK;
+
+ -- è possibile sollevare un RAISERROR ??? come si comporta poi il programma?
+
+ -- NON SI FANNO RAISE ERROR E NON SI RESTITUISCE CODICE!!!!!
+
+ --RETURN @SqlOK; -- commentato da Sam
+
+RETURN
+go
+
+commit
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_consumaMP
+*
+* Salva il movimento di consumo dell'UDC di MP indicato
+*
+* Steamware, S.E.L.
+* mod: 2010.10.12
+*
+****************************************/
+alter PROCEDURE BatchQueue.stp_consumaMP
+(
+ @XRPQLN INT, -- è il num rap qualità
+ @XNRETI NVARCHAR(10), -- è il numUdc prog AS400
+ @XDTPRO INT, -- data 8 cifre aaaammgg Data Prelievo Fusione
+ @XTRPRO NVARCHAR(5), -- turno prelievo ( solo se interno )
+ @XDESMT NVARCHAR(3), -- destinatario int/terzista ( F01 / T01 )
+ @XCDTER NVARCHAR(6) -- cod terzista ( Anagrafico Depositi )
+)
+AS
+ -- BOZZA DA VERIFICARE E COMPLETARE A CURA MAZZUCCONI!!!
+ -- L'UPDATE FUNZIONA VERSO AS400 DI TEST MAZZT_DTV3 effetiva MAZZ_DATV3
+
+ /* PER TESTARE
+
+ DECLARE @XRPQLN INT, -- è il num rap qualità
+ @XNRETI NVARCHAR(10), -- è il numUdc prog
+ @XDTPRO INT, -- data 8 cifre aaaammgg
+ @XTRPRO NVARCHAR(5), -- turno
+ @XDESMT NVARCHAR(3), -- destinatario int/terzista
+ @XCDTER NVARCHAR(6) -- cod terzista
+
+ SET @XRPQLN = 905793 -- è il num rap qualità
+ SET @XNRETI = 'U100548151' -- è il numUdc prog
+ SET @XDTPRO = 20100723 -- data 8 cifre aaaammgg
+ SET @XTRPRO = 'S' -- turno
+ SET @XDESMT = 'F01' -- destinatario int/terzista
+ SET @XCDTER = '' -- cod terzista
+ */
+
+ DECLARE @SQL AS NVARCHAR(4000);
+ DECLARE @SqlOK AS INT;
+
+ BEGIN TRY
+
+ -- TEST per generare errore
+ -- SET @XDTPRO = 99999920100723 -- data 8 cifre aaaammgg
+
+ -- Creo l'istruzione SQL e faccio chiamata su AS400
+ -- Forse è meglio controllare prima se già aggiornato e preso in carico da ACG???
+
+ SET @SQL = N'UPDATE OPENQUERY( P65220DC, ''SELECT * FROM MAZZT_DTV3.XOGIX00F '
+
+ SET @SQL = @SQL + 'WHERE XRPQLN = ' + CAST(@XRPQLN AS NVARCHAR(20)) -- Numero Rapporto Qualita
+ SET @SQL = @SQL + ' AND XNRETI = ''''' + @XNRETI + ''''''' ) ' -- Numero UDC AS400
+
+ SET @SQL = @SQL + 'SET XDTPRO = ' + CAST(@XDTPRO AS NVARCHAR(8))
+ SET @SQL = @SQL + ', XTRPRO = ''' + @XTRPRO + ''''
+ SET @SQL = @SQL + ', XDESMT = ''' + @XDESMT + ''''
+ SET @SQL = @SQL + ', XMATSC = ''S''' -- Flag Lega Scaricata
+ SET @SQL = @SQL + ', XCDTER = ''' + @XCDTER + '''';
+
+ -- SELECT @SQL
+
+ -- Eseguo il comando T-SQL verso AS400 e testo se OK
+ SET @SqlOK = 0;
+
+ -- EXEC @SqlOK = sp_executesql @SQL se faccio così non mi valorizza la variabile se da errore
+ EXEC sp_executesql @SQL;
+ END TRY
+ BEGIN CATCH
+ -- PRINT ERROR_NUMBER()
+ SET @SqlOK = ERROR_NUMBER();
+
+ -- Uso RAISERROR mandare in errore la procedura e x per tornare le info
+ -- sull'errore originale che ha portato l'esecuzione nel blocco CATCH
+ --DECLARE @ErrorMessage NVARCHAR(4000);
+ --DECLARE @ErrorSeverity INT;
+ --DECLARE @ErrorState INT;
+ --SELECT @ErrorMessage = ERROR_MESSAGE(),@ErrorSeverity = ERROR_SEVERITY(),@ErrorState = ERROR_STATE();
+ --RAISERROR (@ErrorMessage,@ErrorSeverity,@ErrorState); -- Se non uso RAISERROR la procedura non mi da errore es. se schedulata
+ END CATCH
+
+ -- Memorizzo il comando per verifica T-SQL e l'esito del comando se 0 è OK
+ INSERT INTO RawData.AS400_Comandi
+ SELECT GETDATE(), 'stp_consumaMP', @SQL, @SqlOK;
+
+ -- è possibile sollevare un RAISERROR ??? come si comporta poi il programma?
+
+ -- NON SI FANNO RAISE ERROR E NON SI RESTITUISCE CODICE!!!!!
+
+ --RETURN @SqlOK; -- commentato da Sam
+
+
+
+ -- MANCA IL TEST SE HO AGGIORNATO EFFETTIVAMENTE o MENO
+
+ /*
+ SELECT XRPQLN, XNRETI , XDTPRO, XTRPRO, XDESMT, XMATSC, XCDTER
+ FROM OPENQUERY( P65220DC, 'SELECT * FROM MAZZT_DTV3.XOGIX00F WHERE XRPQLN = 905793 AND XNRETI = ''U100548151'' ')
+
+ -- Resetto l'UDC
+ UPDATE OPENQUERY( P65220DC, 'SELECT * FROM MAZZT_DTV3.XOGIX00F WHERE XRPQLN = 905793 AND XNRETI = ''U100548151'' ')
+ SET XDTPRO = 0 , XTRPRO = '', XDESMT = '', XMATSC = 'N', XCDTER = ''
+
+ -- Comando OK
+ -- UPDATE OPENQUERY( P65220DC, 'SELECT * FROM MAZZT_DTV3.XOGIX00F WHERE XRPQLN = 905793 AND XNRETI = ''U100548151'' ')
+ -- SET XDTPRO = 20100723 , XTRPRO = 'S', XDESMT = 'F01', XMATSC = 'N', XCDTER = ''
+ */
+
+RETURN
+go
+
+commit
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/*****************************************************
+* STORED sstp_processaCodaMovimMag
+*
+* Processa la coda dei movimenti di magazzino e chiama procedura x salvataggio dato su AS400
+*
+* Steamware, S.E.L.
+* mod: 2010.10.15
+*
+****************************************/
+alter PROCEDURE BatchQueue.stp_processaCodaMovimMag
+AS
+
+ -- BOZZA DA VERIFICARE E COMPLETARE A CURA MAZZUCCONI!!!
+ -- campi variabili "globali"
+ DECLARE @IdxBatch INT
+ DECLARE @CodSoggetto NVARCHAR(17)
+ DECLARE @CodMovCarico CHAR(2)
+ DECLARE @CodMovScarico CHAR(2)
+ -- campi x cursore e valorizzazione riga a riga
+ DECLARE @Particolare NVARCHAR(15)
+ DECLARE @Causale NVARCHAR(2)
+ DECLARE @CodMag NVARCHAR(50)
+ DECLARE @Qta INT
+ DECLARE @Data NVARCHAR(8)
+ DECLARE @RIFFO NVARCHAR(8)
+
+ -- faccio una query con un cursore x processare tutte le righe da inviare ad AS400..
+ DECLARE RigaMovMag CURSOR FOR
+ SELECT IdxBatch FROM AS400_BatchMovimenti WHERE DataBatch IS NULL
+
+ -- setto il codice soggetto da inviare ad AS... VERIFICARE!!!
+ SET @CodSoggetto = 'O0000000000099999'
+
+ -- carico i 2 valori di default di carico e scarico da AS400
+ SET @CodMovCarico = (SELECT CauCarico FROM RilPro.AnagCausaliMag)
+ SET @CodMovScarico = (SELECT CauScarico FROM RilPro.AnagCausaliMag)
+
+ -- inizio cursore!
+ OPEN RigaMovMag
+ FETCH NEXT FROM RigaMovMag
+ INTO @IdxBatch
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ -- controllo ci sia la riga
+ IF (SELECT COUNT(IdxBatch) FROM AS400_BatchMovimenti WHERE IdxBatch = @IdxBatch) > 0
+ BEGIN
+ -- carico valori che mi servono
+ SELECT @Particolare=bm.Particolare, @Causale=CASE WHEN bm.Quantita>0 THEN @CodMovCarico ELSE @CodMovScarico END,
+ @CodMag=bm.CodMagAS, @Qta = ABS(bm.Quantita), @Data=dbo.dateToAsFormat(GETDATE()), @RIFFO=dbo.getUdcComp(bm.UDC,8)
+ FROM AS400_BatchMovimenti bm
+ WHERE IdxBatch = @IdxBatch
+
+ -- Eseguo la stored che registra il Packing List ???
+ Execute BatchQueue.stp_registraMovMag @CodSoggetto, @Causale, @Particolare, @CodMag, @Qta, @Data, @RIFFO
+
+ -- registro la data del movimento BATCH
+ UPDATE AS400_BatchMovimenti SET DataBatch = GETDATE() WHERE IdxBatch = @IdxBatch
+
+ FETCH NEXT FROM RigaMovMag INTO @IdxBatch
+ END
+ END
+ CLOSE RigaMovMag
+ DEALLOCATE RigaMovMag
+
+
+RETURN
+go
+
+commit
+go
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/*
+* STORED stp_processaCodaMovimPackList
+*
+* Processa la coda delle packing list e chiama procedura x salvataggio dato su AS400
+*
+* Steamware, S.E.L.
+* mod: 2010.10.22
+*
+****************************************/
+create PROCEDURE BatchQueue.stp_processaCodaMovimPackList
+AS
+
+ -- BOZZA DA VERIFICARE E COMPLETARE A CURA MAZZUCCONI!!!
+
+ -- campi x cursore e valorizzazione riga a riga
+ DECLARE @IdxRiga INT
+ DECLARE @CodLista NVARCHAR(12)
+ DECLARE @CodListaPre NVARCHAR(12)
+ DECLARE @CodStab CHAR(2)
+ DECLARE @UDC NVARCHAR(15)
+ DECLARE @Particolare NVARCHAR(15)
+ DECLARE @CodImb NVARCHAR(15)
+ DECLARE @Matr INT
+ DECLARE @Tipo NVARCHAR(2)
+ DECLARE @Dest NVARCHAR(10)
+ DECLARE @Qta INT
+ DECLARE @PesoNet NUMERIC(7,3)
+ DECLARE @PesoLor NUMERIC(7,3)
+ DECLARE @Stato CHAR(1)
+ DECLARE @Data NVARCHAR(8)
+
+ -- faccio una query con un cursore x processare tutte le righe da inviare ad AS400..
+ DECLARE RigaPackList CURSOR FOR
+ SELECT IdxRiga FROM v_datiPackingList ORDER BY CodLista
+
+ -- setto il codice stabilimento da inviare ad AS... VERIFICARE!!!
+ SET @CodStab = '05';
+
+ -- imposto prima codListaPre a vuoto...
+ SET @CodListaPre = '';
+ -- inizio cursore!
+ OPEN RigaPackList
+ FETCH NEXT FROM RigaPackList
+ INTO @IdxRiga
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ -- controllo ci sia la riga
+ IF (SELECT COUNT(IdxRiga) FROM v_datiPackingList WHERE IdxRiga = @IdxRiga) > 0
+ BEGIN
+ -- carico valori che mi servono
+ SELECT @Particolare=pl.Particolare, @UDC=UDC, @CodImb=pl.CodImballo, @Matr = pl.matrUdc, @Tipo=pl.tipo, @Dest=pl.Destinatario,
+ @Qta=ABS(pl.Qta), @PesoNet=pl.PesoNetto, @PesoLor=pl.PesoTot, @Stato=pl.Stato, @Data=dbo.dateToAsFormat(pl.data),
+ @CodLista=pl.CodLista
+ FROM v_datiPackingList pl
+ WHERE IdxRiga = @IdxRiga
+
+ -- Eseguo la stored che registra il Packing List ???
+ Execute BatchQueue.stp_registraPackList @CodStab, @UDC, @Particolare , @CodImb , @Matr , @Tipo , @Dest , @Qta , @PesoNet , @PesoLor , @Stato , @Data
+
+ FETCH NEXT FROM RigaPackList INTO @IdxRiga
+
+ -- controllo: se la lissta precedente è diversa dall'attuale la indico come scaricata (precedente)
+ IF(@CodListaPre <> @CodLista)
+ BEGIN
+ UPDATE ElencoListePrelievo_AS SET DataBatch = GETDATE() WHERE CodLista = @CodListaPre
+ -- cambio il cod pre da confrontare
+ SET @CodListaPre = @CodLista
+ END
+ END
+ -- registro la data del movimento BATCH dell'ultima lista processata
+ UPDATE ElencoListePrelievo_AS SET DataBatch = GETDATE() WHERE CodLista = @CodLista
+
+ END
+ CLOSE RigaPackList
+ DEALLOCATE RigaPackList
+
+RETURN
+go
+
+commit
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_registraMovMag
+*
+* Salva il movimento di magazzino indicato
+*
+* Steamware, S.E.L.
+* mod: 2010.10.15
+*
+****************************************/
+alter PROCEDURE BatchQueue.stp_registraMovMag
+(
+ @NOMUS NVARCHAR(50), -- è il nome utente
+ @CDCAU NVARCHAR(2), -- è la causale del movimento
+ @CDPAR NVARCHAR(15), -- codice particolare
+ @CDMAG NVARCHAR(2), -- codice magazzino
+ @QTMOV NUMERIC(9,2), -- quantità movimento
+ @DAMOV NVARCHAR(8), -- data 8 cifre aaaammgg Data Movimento
+ @RIFFO NVARCHAR(8) -- cod UDC compresso
+)
+AS
+
+ -- QUESTA FUNZIONA!!! DA VERIFICARE I DATI PASSATI VISTO CHE ATTUALMENTE NON FUNZIONA
+ -- LA STORED CHE LA RICHIAMA-POPOLA ?
+
+ -- Movimentazioni Magazzino
+ -- Tabella MWMV200F libreria MAZZT_AZI per test – MAZZ_AZI effettiva
+
+ /* -- Variabili per test senza Stored
+ DECLARE @NOMUS NVARCHAR(50), -- è il nome utente
+ @CDCAU NVARCHAR(2), -- è la causale del movimento
+ @CDPAR NVARCHAR(15), -- codice particolare
+ @CDMAG NVARCHAR(2), -- codice magazzino
+ @QTMOV NUMERIC(9,2), -- quantità movimento ATTENZIONE QUESTA E' SBAGLIATA SULLA STORED
+ @DAMOV NVARCHAR(8), -- data 8 cifre aaaammgg
+ @RIFFO NVARCHAR(8) -- cod UDC compresso
+
+ -- SETTO LE VARIABILI DI PROVA PER TEST
+ SET @NOMUS = N'PIPPO'
+ SET @CDCAU = N'01'
+ SET @CDPAR = N'P00528503817'
+ SET @CDMAG = N'54'
+ SET @QTMOV = 1234567.51
+ SET @DAMOV = N'20100101'
+ SET @RIFFO = N'UDCPROVA'
+ */
+
+ DECLARE @SqlOK AS INT;
+
+ -- inizio a dire che è andata bene e salvo in tab comandi
+ SET @SqlOk = 1;
+
+ -- Memorizzo il comando per verifica T-SQL
+ INSERT INTO RawData.AS400_Comandi
+ SELECT GETDATE(), 'stp_registraMovMag',
+ 'INSERT INTO OPENQUERY MAZZT_AZI.MWMV200F parametri :'
+ + @NOMUS + ',' + @CDCAU + ',' + @CDPAR + ',' + @CDMAG + ',' + CONVERT(VARCHAR(20) , @QTMOV) + ',' + @DAMOV + ',' + @RIFFO, @SqlOk
+
+ /*
+ INSERT INTO
+ OPENQUERY( P65220DC,
+ '
+ SELECT NOMUS , CDCAU , CDPAR , CDMAG , QTMOV , DAMOV , RIFFO
+ FROM MAZZT_AZI.MWMV200F
+ ' )
+ VALUES ( @NOMUS , @CDCAU , @CDPAR , @CDMAG , @QTMOV , @DAMOV , @RIFFO )
+ */
+
+
+ /* TEST e DELETE
+ SELECT * FROM OPENQUERY( P65220DC, 'SELECT NOMUS ,CDCAU ,CDPAR ,CDMAG ,QTMOV ,DAMOV ,RIFFO FROM MAZZT_AZI.MWMV200F' )
+
+ DELETE
+ OPENQUERY( P65220DC, 'SELECT * FROM MAZZT_AZI.MWMV200F WHERE NOMUS = ''PIPPO'' ')
+ */
+
+RETURN
+go
+
+commit
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_registraPackList
+*
+* Salva i dati di packing list indicati
+*
+* Steamware, S.E.L.
+* mod: 2010.10.15
+*
+****************************************/
+alter PROCEDURE BatchQueue.stp_registraPackList
+(
+ @PLREPA NVARCHAR(2), -- è il codice reparto/stabilimento (05 pressofusione)
+ @PLCART NVARCHAR(15), -- UDC
+ @PLARTI NVARCHAR(15), -- cod articolo
+ @PLCONT NVARCHAR(15), -- cod contenitore
+ @PLMATR INT, -- matricola contenitore (solo cifre finali INT)
+ @PLTPAN CHAR(2), -- tipo anagrafico CLiente / FOrnitore-terzista
+ @PLCDAN NVARCHAR(6), -- cod terzista / cliente
+ @PLQTA INT, -- quantità
+ @PLPNET NUMERIC(7, 3), -- peso netto
+ @PLPLOR NUMERIC(7, 3), -- peso lordo
+ @PLSTAT CHAR(1), -- stato "P" predisposto per packing list, "B" bolla stampata
+ @PLDTEN INT -- data entrata merce, data di carico dell'UDC 8 cifre aaaammgg
+)
+AS
+ -- BOZZA DA VERIFICARE E COMPLETARE A CURA MAZZUCCONI!!!
+
+ --DECLARE @SQL AS NVARCHAR(4000);
+ DECLARE @SqlOK AS INT;
+
+ -- inizio a dire che è andata bene e salvo in tab comandi
+ SET @SqlOk = 1;
+
+ -- Memorizzo il comando per verifica T-SQL
+ INSERT INTO RawData.AS400_Comandi
+ SELECT GETDATE(), 'stp_registraPackList',
+ 'INSERT INTO MAZZT_DTV3.PACKL00F parametri :'
+ + @PLREPA + ', ' + @PLCART + ', ' + @PLARTI + ', ' + @PLCONT + ', ' + CAST(@PLMATR AS NVARCHAR(5)) + ', ' + @PLTPAN + ', ' + @PLCDAN + ', ' + CAST(@PLQTA AS NVARCHAR(10)) + ', ' + CAST(@PLPNET AS NVARCHAR(10)) + ', ' + CAST(@PLPLOR AS NVARCHAR(10)) + ', ' + @PLSTAT + ', ' + CAST(@PLDTEN AS NVARCHAR(8)) , @SqlOk
+
+ /*
+ INSERT INTO
+ OPENQUERY( P65220DC,
+ '
+ SELECT PLREPA , PLCART , PLARTI , PLCONT , PLMATR , PLTPAN , PLCDAN , PLQTA , PLPNET , PLPLOR , PLSTAT , PLDTEN
+ FROM MAZZT_AZI.MWMV200F
+ ' )
+ VALUES ( @PLREPA , @PLCART , @PLARTI , @PLCONT , CAST(@PLMATR AS NVARCHAR(5)) , @PLTPAN , @PLCDAN , CAST(@PLQTA AS NVARCHAR(10)) , CAST(@PLPNET AS NVARCHAR(10)) , CAST(@PLPLOR AS NVARCHAR(10)) , @PLSTAT , CAST(@PLDTEN AS NVARCHAR(8)) )
+ */
+
+
+ /*
+ -- preparo chiamata su AS400
+ SET @SQL = N' OPENQUERY( P65220DC, ''INSERT INTO MAZZT_DTV3.PACKL00F VALUES '
+ SET @SQL = @SQL + @PLREPA + ', ' + @PLCART + ', ' + @PLARTI + ', ' + @PLCONT + ', '
+ SET @SQL = @SQL + CAST(@PLMATR AS NVARCHAR(5)) + ', ' + @PLTPAN + ', ' + @PLCDAN + ', ' + CAST(@PLQTA AS NVARCHAR(10)) + ', '
+ SET @SQL = @SQL + CAST(@PLPNET AS NVARCHAR(10)) + ', ' + CAST(@PLPLOR AS NVARCHAR(10)) + ', ' + @PLSTAT + ', '
+ SET @SQL = @SQL + CAST(@PLDTEN AS NVARCHAR(8)) + ''' )'
+
+ EXEC sp_executesql @SQL
+ */
+
+RETURN
+go
+
+commit
+go
+
+
+
+
+
+
+
+
+
+
+
+
+-- registro versione...
+INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(288, GETDATE())
+GO
diff --git a/GMW/GMW_data/SqlScripts/V1.1/GMW_00289.sql b/GMW/GMW_data/SqlScripts/V1.1/GMW_00289.sql
new file mode 100644
index 00000000..0b21ce7f
--- /dev/null
+++ b/GMW/GMW_data/SqlScripts/V1.1/GMW_00289.sql
@@ -0,0 +1,122 @@
+alter table StoricoCartellini drop
+ constraint FK_StoricoEventi_AnagTipoEvento ,
+ column CodEvento,
+ constraint DF_StoricoEventi_CodTipoDichiaraz ,
+ constraint FK_StoricoEventi_AnagTipoDichiaraz ,
+ column CodTipoDichiaraz
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+-- =============================================
+-- Author: Samuele E. Locatelli
+-- Create date: 2009-10-27
+-- Description: trigger x inserimento valori in archivio storico alla cancellazione/modifica del dato
+-- =============================================
+create TRIGGER trg_storicoUDC
+ ON ElencoCartellini
+ AFTER DELETE,UPDATE
+AS
+BEGIN
+ -- SET NOCOUNT ON added to prevent extra result sets from
+ -- interfering with SELECT statements.
+ SET NOCOUNT ON;
+
+ -- metto in storico la posizione attuale dell'UDC (SE esiste) CANCELLATO
+ INSERT INTO StoricoCartellini(DataEv, UDC, CodCS, CodCliente, RagSociale, Particolare, DescParticolare, DisegnoGrezzo, Esponente, CodImpianto,
+ DescImpianto, CodStampo, Figura, DataFus, TurnoFus, CodImballo, CodSoggetto, NumCont, Tara, Qta, CodStato, IdxPosizione, PesoTot, PesoCad)
+ (
+
+ SELECT GETDATE(), UDC, CodCS, CodCliente, RagSociale, Particolare, DescParticolare, DisegnoGrezzo, Esponente, CodImpianto, DescImpianto,
+ CodStampo, Figura, DataFus, TurnoFus, CodImballo, CodSoggetto, NumCont, Tara, Qta, CodStato, IdxPosizione, PesoTot, PesoCad
+ FROM deleted
+ )
+
+END
+go
+
+commit
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_LP_exportToAs400
+*
+* esporta la lista di prelievo (e le relative righe) verso AS400 andando a copaire nelle relative tabelle _AS
+*
+* Steamware, S.E.L.
+* mod: 2010.07.19
+*
+****************************************/
+alter PROCEDURE stp_LP_exportToAs400
+(
+ @CodLista NVARCHAR(12)
+)
+AS
+
+-- copio la lista (intestazione)
+INSERT INTO ElencoListePrelievo_AS(CodLista, CodTipoLista, CodCS, DataCreaz, CodCliente, RagSociale, CodSoggetto, Particolare, DescParticolare,
+ DisegnoGrezzo, Esponente, Figura, CodImballo, QtaTot, CodStatoLista, Destinatario)
+SELECT CodLista, CodTipoLista, CodCS, DataCreaz, CodCliente, RagSociale, CodSoggetto, Particolare, DescParticolare,
+ DisegnoGrezzo, Esponente, Figura, CodImballo, QtaTot, CodStatoLista, Destinatario
+FROM ElencoListePrelievo
+WHERE (CodLista = @CodLista)
+
+-- copio le righe lista di dettaglio
+INSERT INTO RigheListePrelievo_AS(CodLista, UDC, Qta, Proposto, Prelevato)
+SELECT CodLista, UDC, Qta, Proposto, Prelevato
+FROM RigheListePrelievo
+WHERE (CodLista = @CodLista) AND Prelevato = 1
+
+-- aggiorno le quantità passate ad AS...
+UPDATE ElencoListePrelievo_AS
+SET QtaTot = ( SELECT SUM(Qta) AS QtaTot FROM RigheListePrelievo WHERE (CodLista = @CodLista) AND Prelevato = 1 )
+WHERE (CodLista = @CodLista)
+
+-- IMPORTANTE: in caso siano rimasti riferimenti ad un UDC scaricato in AS in altre liste di prelievo li tolgo in modo da "ripulirle" ed evitare che lo stesso UDC venga prelevato 2 volte...
+DELETE RLP
+FROM RigheListePrelievo RLP
+INNER JOIN ElencoListePrelievo ELP
+ ON RLP.CodLista = ELP.CodLista
+WHERE ELP.CodStatoLista < 4 AND RLP.CodLista <> @CodLista AND RLP.UDC IN (
+ SELECT UDC
+ FROM RigheListePrelievo
+ WHERE (CodLista = @CodLista) AND Prelevato = 1
+ )
+
+RETURN
+go
+
+commit
+go
+
+
+
+
+
+
+
+
+
+
+
+-- registro versione...
+INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(289, GETDATE())
+GO
diff --git a/GMW/GMW_data/SqlScripts/V1.1/GMW_00290.sql b/GMW/GMW_data/SqlScripts/V1.1/GMW_00290.sql
new file mode 100644
index 00000000..e6de1ca3
--- /dev/null
+++ b/GMW/GMW_data/SqlScripts/V1.1/GMW_00290.sql
@@ -0,0 +1,648 @@
+set xact_abort on
+go
+
+begin transaction
+go
+
+alter table AS400_MagCont add
+ CodMagAS_compensaz nvarchar(50) constraint DF_AS400_MagCont_CodMagAS_compensaz default (0)
+go
+
+update AS400_MagCont set CodMagAS_compensaz=0
+go
+
+set ANSI_NULLS on
+go
+
+-- =============================================
+-- Author: Samuele E. Locatelli
+-- Create date: 2009-09-20
+-- Description: trigger x inserimento movimenti
+-- nella coda di trasferimento batch
+-- verso AS400 x UPDATE UDC
+-- =============================================
+alter TRIGGER trg_updMovAS
+ ON ElencoCartellini
+ AFTER UPDATE
+AS
+BEGIN
+
+ -- setup variabili e verbosità
+ SET NOCOUNT ON;
+ DECLARE @partOk AS BIT
+ DECLARE @IdxPosFrom AS INT
+ DECLARE @IdxPosTo AS INT
+ DECLARE @magFrom AS NVARCHAR(50)
+ DECLARE @magTo AS NVARCHAR(50)
+ DECLARE @qta AS DECIMAL(10,2)
+ DECLARE @qtaOld AS DECIMAL(10,2)
+ DECLARE @IdxPosizioneComp INT
+
+ -- controllo che CI SIA il particolare (altrimenti non eseguo)
+ SET @partOk = (SELECT CASE WHEN ISNULL(Particolare,'n.d.') = 'n.d.' THEN 0 ELSE 1 END FROM deleted)
+
+ IF(@partOk = 1)
+ SET @qta = (SELECT Qta FROM inserted)
+ SET @qtaOld = (SELECT Qta FROM deleted)
+ -- se c'è stata modifica di quantità inizio a rettificare quella
+ IF (UPDATE(Qta)) AND(@qta <> @qtaOld)
+ BEGIN
+ -- registro il VERO movimento
+ INSERT INTO AS400_BatchMovimenti(DataIns, CodEvento, Particolare, UDC, CodMagAS, Quantita)
+ (
+ SELECT GETDATE(), 'UDC_MOD', Particolare, UDC, CAST(IdxPosizione AS NVARCHAR(50)), @qta - Qta
+ FROM deleted
+ WHERE CAST(IdxPosizione AS NVARCHAR(50)) IN (SELECT CodMagAS FROM AS400_MagCont WHERE Attivo = 1)
+ )
+ -- controllo: se il magazzino di destinazione richiede una compensazione registro il 2° movimento di compensazione
+ SET @IdxPosFrom = (SELECT IdxPosizione FROM deleted)
+ SET @IdxPosTo = (SELECT IdxPosizione FROM inserted)
+ -- calcolo il mag di compensazione
+ SET @IdxPosizioneComp = (SELECT CAST(ISNULL(CodMagAS_compensaz,0) AS INT) FROM AS400_MagCont WHERE (Attivo = 1) AND (CodMagAS = CAST(@IdxPosFrom AS NVARCHAR(50))))
+ IF (@IdxPosizioneComp > 0)
+ BEGIN
+ INSERT INTO AS400_BatchMovimenti(DataIns, CodEvento, Particolare, UDC, CodMagAS, Quantita)
+ (
+ SELECT GETDATE(), 'UDC_COMP', Particolare, UDC, CAST(@IdxPosizioneComp AS NVARCHAR(50)), Qta - @qta
+ FROM deleted
+ WHERE CAST(IdxPosizione AS NVARCHAR(50)) IN (SELECT CodMagAS FROM AS400_MagCont WHERE Attivo = 1)
+ )
+ END
+ END
+
+ -- controllo poi se sia cambiato il magazzino, altrimenti non lo inserisco
+ IF UPDATE(IdxPosizione)
+ BEGIN
+ -- Prendo le posizioni di magazzino precedente e nuova
+ SET @IdxPosFrom = (SELECT IdxPosizione FROM deleted)
+ SET @IdxPosTo = (SELECT IdxPosizione FROM inserted)
+ -- Le trasformo nelle equivalenti stringhe del codMag SE attive
+ SET @magFrom = (SELECT ISNULL(CodMagAS,'---') FROM AS400_MagCont WHERE Attivo = 1 AND CodMagAs = CAST(@IdxPosFrom AS NVARCHAR(50)))
+ SET @magTo = (SELECT ISNULL(CodMagAS,'---') FROM AS400_MagCont WHERE Attivo = 1 AND CodMagAs = CAST(@IdxPosTo AS NVARCHAR(50)))
+
+ -- inserisco un movimento di deposito verso mag nuovo (SE attivo)
+ IF (@magFrom <> '---')
+ BEGIN
+ INSERT INTO AS400_BatchMovimenti(DataIns, CodEvento, Particolare, UDC, CodMagAS, Quantita)
+ (
+ SELECT GETDATE(), 'UDC_MOV', Particolare, UDC, CAST(IdxPosizione AS NVARCHAR(50)), -@qta
+ FROM deleted
+ WHERE CAST(IdxPosizione AS NVARCHAR(50)) IN (SELECT CodMagAS FROM AS400_MagCont WHERE Attivo = 1)
+ )
+ END
+ -- inserisco un movimento di prelievo verso mag vecchio (SE attivo)
+ IF (@magTo <> '---')
+ BEGIN
+ INSERT INTO AS400_BatchMovimenti(DataIns, CodEvento, Particolare, UDC, CodMagAS, Quantita)
+ (
+ SELECT GETDATE(), 'UDC_MOV', Particolare, UDC, CAST(IdxPosizione AS NVARCHAR(50)), @qta
+ FROM inserted
+ WHERE CAST(IdxPosizione AS NVARCHAR(50)) IN (SELECT CodMagAS FROM AS400_MagCont WHERE Attivo = 1)
+ )
+ END
+ END
+
+END
+go
+
+commit
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+UPDATE dbo.AS400_MagCont SET
+ CodMagAS_compensaz=N'84'
+ WHERE CodMagAS=N'54'
+UPDATE dbo.AS400_MagCont SET
+ CodMagAS_compensaz=N'84'
+ WHERE CodMagAS=N'88'
+go
+
+commit transaction
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+create VIEW v_specParticolari
+AS
+SELECT DISTINCT TOP (100) PERCENT CodCliente, RagSociale, Particolare, DescParticolare, DisegnoGrezzo, Esponente, CodStampo, Figura
+FROM dbo.ElencoCartellini
+WHERE (NOT (Particolare IS NULL)) AND (NOT (DisegnoGrezzo IS NULL))
+go
+
+exec sp_addextendedproperty 'MS_DiagramPane1', '[0E232FF0-B466-11cf-A24F-00AA00A3EFFF, 1.00]
+Begin DesignProperties =
+ Begin PaneConfigurations =
+ Begin PaneConfiguration = 0
+ NumPanes = 4
+ Configuration = "(H (1[40] 4[20] 2[20] 3) )"
+ End
+ Begin PaneConfiguration = 1
+ NumPanes = 3
+ Configuration = "(H (1 [50] 4 [25] 3))"
+ End
+ Begin PaneConfiguration = 2
+ NumPanes = 3
+ Configuration = "(H (1 [50] 2 [25] 3))"
+ End
+ Begin PaneConfiguration = 3
+ NumPanes = 3
+ Configuration = "(H (4 [30] 2 [40] 3))"
+ End
+ Begin PaneConfiguration = 4
+ NumPanes = 2
+ Configuration = "(H (1 [56] 3))"
+ End
+ Begin PaneConfiguration = 5
+ NumPanes = 2
+ Configuration = "(H (2 [66] 3))"
+ End
+ Begin PaneConfiguration = 6
+ NumPanes = 2
+ Configuration = "(H (4 [50] 3))"
+ End
+ Begin PaneConfiguration = 7
+ NumPanes = 1
+ Configuration = "(V (3))"
+ End
+ Begin PaneConfiguration = 8
+ NumPanes = 3
+ Configuration = "(H (1[56] 4[18] 2) )"
+ End
+ Begin PaneConfiguration = 9
+ NumPanes = 2
+ Configuration = "(H (1 [75] 4))"
+ End
+ Begin PaneConfiguration = 10
+ NumPanes = 2
+ Configuration = "(H (1[66] 2) )"
+ End
+ Begin PaneConfiguration = 11
+ NumPanes = 2
+ Configuration = "(H (4 [60] 2))"
+ End
+ Begin PaneConfiguration = 12
+ NumPanes = 1
+ Configuration = "(H (1) )"
+ End
+ Begin PaneConfiguration = 13
+ NumPanes = 1
+ Configuration = "(V (4))"
+ End
+ Begin PaneConfiguration = 14
+ NumPanes = 1
+ Configuration = "(V (2))"
+ End
+ ActivePaneConfig = 0
+ End
+ Begin DiagramPane =
+ Begin Origin =
+ Top = 0
+ Left = 0
+ End
+ Begin Tables =
+ Begin Table = "ElencoCartellini"
+ Begin Extent =
+ Top = 6
+ Left = 246
+ Bottom = 322
+ Right = 416
+ End
+ DisplayFlags = 280
+ TopColumn = 0
+ End
+ End
+ End
+ Begin SQLPane =
+ End
+ Begin DataPane =
+ Begin ParameterDefaults = ""
+ End
+ Begin ColumnWidths = 9
+ Width = 284
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ End
+ End
+ Begin CriteriaPane =
+ Begin ColumnWidths = 11
+ Column = 1440
+ Alias = 900
+ Table = 1170
+ Output = 720
+ Append = 1400
+ NewValue = 1170
+ SortType = 1350
+ SortOrder = 1410
+ GroupBy = 1350
+ Filter = 1350
+ Or = 1350
+ Or = 1350
+ Or = 1350
+ End
+ End
+End
+', 'SCHEMA', 'dbo', 'VIEW', 'v_specParticolari'
+go
+
+exec sp_addextendedproperty 'MS_DiagramPaneCount', 1, 'SCHEMA', 'dbo', 'VIEW', 'v_specParticolari'
+go
+
+commit
+go
+
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/*(
+* STORED stp_ParticolariGetLike
+*
+* elenco dei particolari con ricerca LIKE
+*
+* Steamware, S.E.L.
+* mod: 2010.07.07
+*
+****************************************/
+create PROCEDURE stp_ParticolariGetLike
+(
+ @searchVal VARCHAR(50),
+ @CodCS VARCHAR(2)
+)
+AS
+
+ SELECT RilPro.AnagParticolari.*
+ FROM RilPro.AnagParticolari
+ WHERE (RilPro.AnagParticolari.CodCS = @CodCS) AND (RilPro.AnagParticolari.Particolare LIKE '%' + @searchVal + '%')
+
+RETURN
+go
+
+commit
+go
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_SpecParticolare
+*
+* ottiene il dettaglio delle specifiche di un particolare dato il suo codice
+*
+* Steamware, S.E.L.
+* mod: 2010.10.29
+*
+****************************************/
+create PROCEDURE stp_SpecParticolare
+(
+ @Particolare NVARCHAR(15)
+)
+AS
+
+SELECT *
+FROM v_specParticolari
+WHERE Particolare=@Particolare
+
+
+RETURN
+go
+
+commit
+go
+
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_UDC_updateQty
+*
+* aggiorna un cartellino x la sua quantità
+*
+* Steamware, S.E.L.
+* mod: 2010.06.12
+*
+****************************************/
+alter PROCEDURE stp_UDC_updateQty
+(
+ @UDC VARCHAR(20),
+ @CodSoggetto VARCHAR(17),
+ @CodTipoDichiaraz CHAR(1),
+ @CodEvento VARCHAR(10),
+ @Qta DECIMAL(10,2)
+)
+AS
+
+
+------------------------------------------------------------------------------------------------------
+-- Ciclo principale x edit record
+------------------------------------------------------------------------------------------------------
+BEGIN TRAN
+
+ /*
+ -- registro in StoricoCartellini
+ INSERT INTO StoricoCartellini(DataEv, CodEvento, CodTipoDichiaraz, UDC, CodCS,CodCliente, RagSociale, Particolare, DescParticolare,
+ DisegnoGrezzo, Esponente, CodImpianto, DescImpianto, CodStampo, Figura, DataFus, TurnoFus, CodImballo, CodSoggetto,
+ NumCont, Tara, Qta, CodStato, IdxPosizione, PesoTot, PesoCad)
+ SELECT GETDATE() AS DataEv, @CodEvento AS CodEvento, @CodTipoDichiaraz AS CodTipoDichiaraz, UDC, CodCS,
+ CodCliente, RagSociale, Particolare, DescParticolare, DisegnoGrezzo, Esponente, CodImpianto, DescImpianto, CodStampo, Figura,
+ DataFus, TurnoFus, CodImballo, @CodSoggetto AS CodSoggetto, NumCont, Tara, Qta, CodStato, IdxPosizione, PesoTot, PesoCad
+ FROM ElencoCartellini
+ WHERE (UDC = @UDC)
+ */
+
+ -- modifico il record
+ UPDATE ElencoCartellini
+ SET Qta = @Qta, ModDate = GETDATE()
+ WHERE UDC = @UDC
+
+COMMIT TRAN
+------------------------------------------------------------------------------------------------------
+
+------------------------------------------------------------------------------------------------------
+-- restituisco la tab dati con l'udc appena inserito
+------------------------------------------------------------------------------------------------------
+SELECT *
+FROM ElencoCartellini
+WHERE UDC = @UDC
+------------------------------------------------------------------------------------------------------
+
+RETURN
+go
+
+commit
+go
+
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+alter VIEW v_selDestinatariListePrelievo
+AS
+SELECT CAST('*' AS NVARCHAR(6)) AS value, CAST('*' AS NVARCHAR(50)) AS label, '01-PreFus' AS conditio
+UNION
+SELECT CAST(CodCliente AS NVARCHAR(6)) AS value, CAST(RagSociale AS NVARCHAR(50)) AS label, '02-PreCli' AS conditio
+FROM RilPro.AnagClienti
+UNION
+SELECT CAST(CodTerzista AS NVARCHAR(6)) AS value, CAST(DescTerzista AS NVARCHAR(50)) AS label, '03-TerWip' AS conditio
+FROM RilPro.AnagDepositi
+go
+
+exec sp_updateextendedproperty 'MS_DiagramPane1', '[0E232FF0-B466-11cf-A24F-00AA00A3EFFF, 1.00]
+Begin DesignProperties =
+ Begin PaneConfigurations =
+ Begin PaneConfiguration = 0
+ NumPanes = 4
+ Configuration = "(H (1[40] 4[20] 2[20] 3) )"
+ End
+ Begin PaneConfiguration = 1
+ NumPanes = 3
+ Configuration = "(H (1 [50] 4 [25] 3))"
+ End
+ Begin PaneConfiguration = 2
+ NumPanes = 3
+ Configuration = "(H (1 [50] 2 [25] 3))"
+ End
+ Begin PaneConfiguration = 3
+ NumPanes = 3
+ Configuration = "(H (4 [30] 2 [40] 3))"
+ End
+ Begin PaneConfiguration = 4
+ NumPanes = 2
+ Configuration = "(H (1 [56] 3))"
+ End
+ Begin PaneConfiguration = 5
+ NumPanes = 2
+ Configuration = "(H (2 [66] 3))"
+ End
+ Begin PaneConfiguration = 6
+ NumPanes = 2
+ Configuration = "(H (4 [50] 3))"
+ End
+ Begin PaneConfiguration = 7
+ NumPanes = 1
+ Configuration = "(V (3))"
+ End
+ Begin PaneConfiguration = 8
+ NumPanes = 3
+ Configuration = "(H (1[56] 4[18] 2) )"
+ End
+ Begin PaneConfiguration = 9
+ NumPanes = 2
+ Configuration = "(H (1 [75] 4))"
+ End
+ Begin PaneConfiguration = 10
+ NumPanes = 2
+ Configuration = "(H (1[66] 2) )"
+ End
+ Begin PaneConfiguration = 11
+ NumPanes = 2
+ Configuration = "(H (4 [60] 2))"
+ End
+ Begin PaneConfiguration = 12
+ NumPanes = 1
+ Configuration = "(H (1) )"
+ End
+ Begin PaneConfiguration = 13
+ NumPanes = 1
+ Configuration = "(V (4))"
+ End
+ Begin PaneConfiguration = 14
+ NumPanes = 1
+ Configuration = "(V (2))"
+ End
+ ActivePaneConfig = 0
+ End
+ Begin DiagramPane =
+ Begin Origin =
+ Top = 0
+ Left = 0
+ End
+ Begin Tables =
+ End
+ End
+ Begin SQLPane =
+ End
+ Begin DataPane =
+ Begin ParameterDefaults = ""
+ End
+ Begin ColumnWidths = 9
+ Width = 284
+ Width = 1500
+ Width = 3360
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ End
+ End
+ Begin CriteriaPane =
+ Begin ColumnWidths = 11
+ Column = 1440
+ Alias = 900
+ Table = 1170
+ Output = 720
+ Append = 1400
+ NewValue = 1170
+ SortType = 1350
+ SortOrder = 1410
+ GroupBy = 1350
+ Filter = 1350
+ Or = 1350
+ Or = 1350
+ Or = 1350
+ End
+ End
+End
+', 'SCHEMA', 'dbo', 'VIEW', 'v_selDestinatariListePrelievo'
+go
+
+commit
+go
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_rettMovAs400
+*
+* inserisce nella tabella per i trasferimenti batch verso magazzino AS una quantità di rettifica (con segno - )per UDC eventualmente già scaricati a sistema
+*
+* Steamware, S.E.L.
+* mod: 2010.11.02
+*
+****************************************/
+alter PROCEDURE stp_rettMovAs400
+(
+ @Particolare NVARCHAR(50),
+ @UDC NVARCHAR(20),
+ @CodMagAS NVARCHAR(50),
+ @Qta DECIMAL(10,2)
+)
+AS
+
+BEGIN
+
+ INSERT INTO AS400_BatchMovimenti(DataIns, CodEvento, Particolare, UDC, CodMagAS, Quantita)
+ VALUES (GETDATE(), 'UDC_NOQTY', @Particolare, @UDC, @CodMagAS, -@Qta)
+
+END
+
+RETURN
+go
+
+commit
+go
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_selDestListePrelByConditio
+*
+* Ottiene i destinatari delle liste di prelievo data la condizione indicata
+*
+* Steamware, S.E.L.
+* mod: 2010.11.02
+*
+****************************************/
+create PROCEDURE stp_selDestListePrelByConditio
+(
+ @conditio NVARCHAR(20)
+)
+AS
+
+IF (@conditio='01-PreFus')
+BEGIN
+ SELECT CAST('*' AS NVARCHAR(6)) AS value, CAST('*' AS NVARCHAR(50)) AS label, '01-PreFus' AS conditio
+END
+
+ELSE IF (@conditio='02-PreCli')
+BEGIN
+ SELECT CAST(CodCliente AS NVARCHAR(6)) AS value, CAST(RagSociale AS NVARCHAR(50)) AS label, '02-PreCli' AS conditio
+ FROM RilPro.AnagClienti
+ ORDER BY label
+END
+
+ELSE
+BEGIN
+ SELECT CAST(CodTerzista AS NVARCHAR(6)) AS value, CAST(DescTerzista AS NVARCHAR(50)) AS label, '03-TerWip' AS conditio
+ FROM RilPro.AnagDepositi
+ ORDER BY label
+END
+
+RETURN
+go
+
+commit
+go
+
+
+
+
+
+
+
+-- registro versione...
+INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(290, GETDATE())
+GO
diff --git a/GMW/GMW_data/SqlScripts/V1.1/GMW_00291.sql b/GMW/GMW_data/SqlScripts/V1.1/GMW_00291.sql
new file mode 100644
index 00000000..16a26f08
--- /dev/null
+++ b/GMW/GMW_data/SqlScripts/V1.1/GMW_00291.sql
@@ -0,0 +1,299 @@
+set xact_abort on
+go
+
+begin transaction
+go
+
+alter table RigheListePrelievo_AS add
+ DataBatch datetime
+go
+
+exec sp_addextendedproperty 'MS_Description', 'dataora di caricamento batch verso AS', 'SCHEMA', 'dbo', 'TABLE', 'RigheListePrelievo_AS', 'COLUMN', 'DataBatch'
+go
+
+set ANSI_NULLS on
+go
+
+/*****************************************
+* STORED stp_processaCodaMovimPackList
+*
+* Processa la coda delle packing list e chiama procedura x salvataggio dato su AS400
+*
+* Steamware, S.E.L.
+* mod: 2010.10.22
+*
+****************************************/
+alter PROCEDURE BatchQueue.stp_processaCodaMovimPackList
+AS
+
+ -- BOZZA DA VERIFICARE E COMPLETARE A CURA MAZZUCCONI!!!
+
+ -- campi x cursore e valorizzazione riga a riga
+ DECLARE @IdxRiga INT
+ DECLARE @CodLista NVARCHAR(12)
+ DECLARE @CodListaPre NVARCHAR(12)
+ DECLARE @CodStab CHAR(2)
+ DECLARE @UDC NVARCHAR(15)
+ DECLARE @Particolare NVARCHAR(15)
+ DECLARE @CodImb NVARCHAR(15)
+ DECLARE @Matr INT
+ DECLARE @Tipo NVARCHAR(2)
+ DECLARE @Dest NVARCHAR(10)
+ DECLARE @Qta INT
+ DECLARE @PesoNet NUMERIC(7,3)
+ DECLARE @PesoLor NUMERIC(7,3)
+ DECLARE @Stato CHAR(1)
+ DECLARE @Data NVARCHAR(8)
+
+ DECLARE @ScritturaRigaOK AS INT -- Flag errore su riga ritornato da Stored che va su As400 0 = Ok
+ SET @ScritturaRigaOK = 0;
+
+ DECLARE @ScritturaASOK AS INT -- Flag errore Packing generale su Stored che va su As400 0 = Ok
+ SET @ScritturaASOK = 0;
+
+ -- qui è meglio usare una tabella temporanea o ancor meglio una variabile tabella x pochi
+ -- record per non bloccare le tabelle sottostanti
+ -- query con un cursore x processare tutte le righe di Packing che sono ancora da inviare ad AS400 ( DataBatch IS NULL )
+ DECLARE RigaPackList CURSOR LOCAL FOR
+ SELECT IdxRiga, CodLista FROM v_datiPackingList ORDER BY CodLista
+
+ -- setto il codice stabilimento da inviare ad AS... VERIFICARE!!!
+ SET @CodStab = '05';
+
+ -- imposto prima codListaPre a vuoto...
+ SET @CodListaPre = '';
+
+ -- inizio cursore caricando le righe
+ OPEN RigaPackList
+ FETCH NEXT FROM RigaPackList
+ INTO @IdxRiga , @CodLista
+
+ SET @CodListaPre = @CodLista
+
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ -- controllo ci sia almento una riga di Packing ( PER ME NON SERVE )
+ IF (SELECT COUNT(IdxRiga) FROM v_datiPackingList WHERE IdxRiga = @IdxRiga) > 0
+ BEGIN
+ -- carico valori che mi servono
+ SELECT @Particolare=pl.Particolare, @UDC=UDC, @CodImb=pl.CodImballo, @Matr = pl.matrUdc, @Tipo=pl.tipo, @Dest=pl.Destinatario,
+ @Qta=ABS(pl.Qta), @PesoNet=pl.PesoNetto, @PesoLor=pl.PesoTot, @Stato=pl.Stato, @Data=dbo.dateToAsFormat(pl.data),
+ @CodLista=pl.CodLista
+ FROM v_datiPackingList pl
+ WHERE IdxRiga = @IdxRiga
+
+ -- Eseguo la stored che registra la Packing List con le righe sue righe
+ EXECUTE @ScritturaRigaOK = BatchQueue.stp_registraPackList @CodStab, @UDC, @Particolare , @CodImb , @Matr , @Tipo , @Dest , @Qta , @PesoNet , @PesoLor , @Stato , @Data
+
+ -- se scrittura riga è ok allora salvo sulla riga la data di invio... così poi non la rivedo tra quelle da processare...
+ IF @ScritturaRigaOK = 0
+ UPDATE RigheListePrelievo_AS SET DataBatch = GETDATE() WHERE IdxRiga = @IdxRiga;
+
+
+ -- Se scrittura Riga Packing non ok metto Flag Packing list non Ok
+ IF @ScritturaRigaOK <> 0 SET @ScritturaASOK = @ScritturaRigaOK
+
+ FETCH NEXT FROM RigaPackList
+ INTO @IdxRiga , @CodLista
+
+ -- controllo: se la lista precedente è diversa dall'attuale la indico come scaricata (precedente)
+ IF(@CodListaPre <> @CodLista)
+ BEGIN
+ -- ATTENZIONE!!! Qui è da controllare perchè lo faccio una sola volta per la
+ -- lista e non per riga prelievo ... boh non so se ok ... se UDC già presente in As400 errore 7343
+ IF @ScritturaASOK = 0
+ UPDATE ElencoListePrelievo_AS SET DataBatch = GETDATE() WHERE CodLista = @CodListaPre;
+ ELSE
+ SET @ScritturaASOK = 0; -- resetto il flag di controllo
+
+ -- cambio il cod pre da confrontare
+ SET @CodListaPre = @CodLista
+ END
+ END
+
+ END
+
+ -- Aggiorno anche l'ultima lista prelievo
+ -- **** è corretto ??? se poi ricarico tutto il Packing list che succede???
+ -- x gli UDC già in AS400 da errore 7343
+ IF @ScritturaASOK = 0 -- OR @ScritturaASOK = 7343 ???
+ UPDATE ElencoListePrelievo_AS SET DataBatch = GETDATE() WHERE CodLista = @CodLista
+ -- registro la data del movimento BATCH dell'ultima lista processata
+
+ -- se c'è un errore mi rimane aperto il cursore? nn dovrebbe perchè LOCAL
+ CLOSE RigaPackList
+ DEALLOCATE RigaPackList
+
+RETURN
+go
+
+alter VIEW v_datiPackingList
+AS
+SELECT dbo.ElencoListePrelievo_AS.CodLista, dbo.RigheListePrelievo_AS.IdxRiga, dbo.ElencoCartellini.UDC, dbo.ElencoListePrelievo_AS.Particolare,
+ dbo.ElencoCartellini.CodImballo, CAST(RIGHT(LTRIM(dbo.RigheListePrelievo_AS.UDC), 6) AS INT) AS matrUdc,
+ CASE WHEN (dbo.ElencoListePrelievo_AS.CodTipoLista = '03-TerWip') THEN 'FO' ELSE 'CL' END AS tipo, dbo.ElencoListePrelievo_AS.Destinatario,
+ dbo.ElencoCartellini.Qta, ROUND(dbo.ElencoCartellini.PesoTot - dbo.ElencoCartellini.Tara, 3) AS PesoNetto, ROUND(dbo.ElencoCartellini.PesoTot, 3) AS PesoTot,
+ 'P' AS Stato, GETDATE() AS data, dbo.RigheListePrelievo_AS.DataBatch
+FROM dbo.ElencoListePrelievo_AS INNER JOIN
+ dbo.RigheListePrelievo_AS ON dbo.ElencoListePrelievo_AS.CodLista = dbo.RigheListePrelievo_AS.CodLista INNER JOIN
+ dbo.ElencoCartellini ON dbo.RigheListePrelievo_AS.UDC = dbo.ElencoCartellini.UDC
+WHERE (dbo.RigheListePrelievo_AS.DataBatch IS NULL)
+go
+
+exec sp_updateextendedproperty 'MS_DiagramPane1', '[0E232FF0-B466-11cf-A24F-00AA00A3EFFF, 1.00]
+Begin DesignProperties =
+ Begin PaneConfigurations =
+ Begin PaneConfiguration = 0
+ NumPanes = 4
+ Configuration = "(H (1[40] 4[20] 2[20] 3) )"
+ End
+ Begin PaneConfiguration = 1
+ NumPanes = 3
+ Configuration = "(H (1 [50] 4 [25] 3))"
+ End
+ Begin PaneConfiguration = 2
+ NumPanes = 3
+ Configuration = "(H (1 [50] 2 [25] 3))"
+ End
+ Begin PaneConfiguration = 3
+ NumPanes = 3
+ Configuration = "(H (4 [30] 2 [40] 3))"
+ End
+ Begin PaneConfiguration = 4
+ NumPanes = 2
+ Configuration = "(H (1 [56] 3))"
+ End
+ Begin PaneConfiguration = 5
+ NumPanes = 2
+ Configuration = "(H (2 [66] 3))"
+ End
+ Begin PaneConfiguration = 6
+ NumPanes = 2
+ Configuration = "(H (4 [50] 3))"
+ End
+ Begin PaneConfiguration = 7
+ NumPanes = 1
+ Configuration = "(V (3))"
+ End
+ Begin PaneConfiguration = 8
+ NumPanes = 3
+ Configuration = "(H (1[56] 4[18] 2) )"
+ End
+ Begin PaneConfiguration = 9
+ NumPanes = 2
+ Configuration = "(H (1 [75] 4))"
+ End
+ Begin PaneConfiguration = 10
+ NumPanes = 2
+ Configuration = "(H (1[66] 2) )"
+ End
+ Begin PaneConfiguration = 11
+ NumPanes = 2
+ Configuration = "(H (4 [60] 2))"
+ End
+ Begin PaneConfiguration = 12
+ NumPanes = 1
+ Configuration = "(H (1) )"
+ End
+ Begin PaneConfiguration = 13
+ NumPanes = 1
+ Configuration = "(V (4))"
+ End
+ Begin PaneConfiguration = 14
+ NumPanes = 1
+ Configuration = "(V (2))"
+ End
+ ActivePaneConfig = 0
+ End
+ Begin DiagramPane =
+ Begin Origin =
+ Top = 0
+ Left = 0
+ End
+ Begin Tables =
+ Begin Table = "ElencoListePrelievo_AS"
+ Begin Extent =
+ Top = 6
+ Left = 38
+ Bottom = 367
+ Right = 238
+ End
+ DisplayFlags = 280
+ TopColumn = 0
+ End
+ Begin Table = "ElencoCartellini"
+ Begin Extent =
+ Top = 14
+ Left = 658
+ Bottom = 376
+ Right = 828
+ End
+ DisplayFlags = 280
+ TopColumn = 0
+ End
+ Begin Table = "RigheListePrelievo_AS"
+ Begin Extent =
+ Top = 5
+ Left = 353
+ Bottom = 200
+ Right = 557
+ End
+ DisplayFlags = 280
+ TopColumn = 0
+ End
+ End
+ End
+ Begin SQLPane =
+ End
+ Begin DataPane =
+ Begin ParameterDefaults = ""
+ End
+ Begin ColumnWidths = 15
+ Width = 284
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ End
+ End
+ Begin CriteriaPane =
+ Begin ColumnWidths = 11
+ Column = 1440
+ Alias = 900
+ Table = 1170
+ Output = 720
+ Append = 1400
+ NewValue = 1170
+ SortType = 1350
+ SortOrder = 1410
+ GroupBy = 1350
+ Filter = 1350
+ Or = 1350
+ Or = 1350
+ Or = 1350
+ End
+ End
+End
+', 'SCHEMA', 'dbo', 'VIEW', 'v_datiPackingList'
+go
+
+commit
+go
+
+
+
+
+
+-- registro versione...
+INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(291, GETDATE())
+GO
diff --git a/GMW/GMW_data/SqlScripts/V1.1/GMW_00299.sql b/GMW/GMW_data/SqlScripts/V1.1/GMW_00299.sql
new file mode 100644
index 00000000..ac1b8da1
--- /dev/null
+++ b/GMW/GMW_data/SqlScripts/V1.1/GMW_00299.sql
@@ -0,0 +1,139 @@
+set xact_abort on
+go
+
+begin transaction
+go
+
+alter table AnagPosizioni add
+ IsRiattivaEnabled bit constraint DF_AnagPosizioni_IsRiattivaEnabled default (0)
+go
+
+update AnagPosizioni set IsRiattivaEnabled=0
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_riattivaUdc
+*
+* riattiva un dato UDC (da mag consumato negativo a corrispettivo positivo) --> se era positivo NON FA NULLA!!! (perchè uso ABS e controllo sia < 0)
+*
+* Steamware, S.E.L.
+* mod: 2010.11.04
+*
+****************************************/
+create PROCEDURE stp_riattivaUdc
+(
+ @UDC VARCHAR(20),
+ @CodSoggetto NVARCHAR(17)
+)
+AS
+
+DECLARE @CodEvento VARCHAR(10)
+DECLARE @CodTipoDichiaraz VARCHAR(1)
+
+SET @CodEvento = 'UDC_RIA'
+SET @CodTipoDichiaraz = 'U'
+
+BEGIN TRAN
+
+ -- faccio update
+ UPDATE ElencoCartellini
+ SET IdxPosizione = ABS(IdxPosizione), ModDate=GETDATE(), CodSoggetto = @CodSoggetto
+ WHERE UDC = @UDC AND IdxPosizione IN (SELECT IdxPosizione FROM AnagPosizioni WHERE (IsRiattivaEnabled = 1)
+)
+
+COMMIT TRAN
+
+RETURN
+go
+
+commit
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+UPDATE dbo.AnagPosizioni SET
+ IsRiattivaEnabled=1
+ WHERE IdxPosizione=-84
+go
+
+commit transaction
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+INSERT INTO dbo.AnagTipoEvento
+ VALUES (N'UDC_COMP', N'Compensazione per rettifica UDC')
+INSERT INTO dbo.AnagTipoEvento
+ VALUES (N'UDC_RIA', N'Riattivazione UDC x gestione (se cancellato)')
+go
+
+commit transaction
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_sbloccaUdc
+*
+* sblocca un dato UDC per modifica
+*
+* Steamware, S.E.L.
+* mod: 2010.04.28
+*
+****************************************/
+alter PROCEDURE stp_sbloccaUdc
+(
+ @UDC VARCHAR(20),
+ @CodSoggetto NVARCHAR(17)
+)
+AS
+
+DECLARE @CodEvento VARCHAR(10)
+DECLARE @CodTipoDichiaraz VARCHAR(1)
+
+SET @CodEvento = 'UDC_SBL'
+SET @CodTipoDichiaraz = 'U'
+
+BEGIN TRAN
+
+ -- faccio update
+ UPDATE ElencoCartellini
+ SET ModDate = GETDATE(), CodSoggetto = @CodSoggetto
+ WHERE UDC = @UDC
+
+COMMIT TRAN
+
+RETURN
+go
+
+commit
+go
+
+
+
+
+
+-- registro versione...
+INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(299, GETDATE())
+GO
diff --git a/GMW/GMW_data/SqlScripts/V1.1/GMW_00305.sql b/GMW/GMW_data/SqlScripts/V1.1/GMW_00305.sql
new file mode 100644
index 00000000..278eff71
--- /dev/null
+++ b/GMW/GMW_data/SqlScripts/V1.1/GMW_00305.sql
@@ -0,0 +1,204 @@
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_UDC_getByTipoDelibera
+*
+* elenco cartellini che possono essere oggetto della delibera indicata
+*
+* Steamware, S.E.L.
+* mod: 2010.07.29
+*
+****************************************/
+alter PROCEDURE stp_UDC_getByTipoDelibera
+(
+ @CodTipoDelibera NVARCHAR(50),
+ @DataFrom DATETIME,
+ @DataTo DATETIME
+)
+AS
+
+SELECT *
+FROM ElencoCartellini
+WHERE IdxPosizione IN (
+ SELECT TabTranPosizEventi.IdxPosizione
+ FROM TabTranPosizEventi INNER JOIN AnagTipoEvento ON TabTranPosizEventi.CodEvento = AnagTipoEvento.CodEvento
+ INNER JOIN AnagTipoDelibere ON AnagTipoEvento.CodEvento = AnagTipoDelibere.CodEvento
+ WHERE (AnagTipoDelibere.CodTipoDelibera = @CodTipoDelibera)
+ ) -- vincolo su posizioni accettabili
+ AND DataFus BETWEEN @DataFrom AND @DataTo -- vincolo data
+ AND UDC NOT IN ( SELECT DISTINCT UDC FROM PosizioneUdcCorrente)
+ORDER BY UDC DESC
+
+RETURN
+go
+
+/***************************************
+* STORED stp_UDC_update
+*
+* aggiorna un cartellino dato il suo codice UDC e tutti i parametri da aggiornare
+*
+* Steamware, S.E.L.
+* mod: 2010.04.30
+*
+****************************************/
+alter PROCEDURE stp_UDC_update
+(
+ @UDC_edit VARCHAR(20),
+ @CodCS VARCHAR(2),
+ @Flusso VARCHAR(2),
+ @Anno VARCHAR(2),
+ @CodCliente VARCHAR(6),
+ @Particolare VARCHAR(15),
+ @CodImpianto AS VARCHAR(50),
+ @CodStampo VARCHAR(8),
+ @Esponente VARCHAR(6),
+ @Figura VARCHAR(4),
+ @DataFus DATETIME,
+ @TurnoFus INT,
+ @CodImballo VARCHAR(15),
+ @CodSoggetto VARCHAR(17),
+ @Tara FLOAT,
+ @IdxPosizione INT,
+ @CodTipoDichiaraz CHAR(1),
+ @CodEvento VARCHAR(10),
+ @Qta DECIMAL(10,2),
+ @PesoTot FLOAT,
+ @PesoCad FLOAT,
+ @CodStato VARCHAR(50),
+ @UDC_parent VARCHAR(20)
+)
+AS
+
+-- DECLARE iniziali
+DECLARE @RagSociale AS VARCHAR(35)
+DECLARE @DescParticolare AS VARCHAR(30)
+DECLARE @DescImpianto AS VARCHAR(50)
+DECLARE @DisegnoGrezzo AS VARCHAR(30)
+DECLARE @NumCont AS INT
+DECLARE @numFlu AS INT
+DECLARE @numUdc AS INT
+DECLARE @nextUdc AS INT
+
+------------------------------------------------------------------------------------------------------
+-- Caricamento Dati da anagrafica
+------------------------------------------------------------------------------------------------------
+-- cerco la ragione sociale...
+SET @RagSociale = (
+ SELECT ISNULL(RagSociale, 'ND') AS RagSociale
+ FROM RilPro.AnagClienti
+ WHERE (CodCliente = @CodCliente)
+)
+
+-- Cerco descrizione del particolare...
+SET @DescParticolare = (
+ SELECT ISNULL(DescParticolare, 'ND') AS DescParticolare
+ FROM RilPro.AnagParticolari
+ WHERE (Particolare = @Particolare)
+)
+
+-- cerco codice disegno grezzo
+SET @DisegnoGrezzo = (
+ SELECT ISNULL(DisegnoGrezzo, 'ND') AS DescParticolare
+ FROM RilPro.AnagParticolari
+ WHERE (Particolare = @Particolare)
+)
+
+-- cerco descrizione Impianto
+SET @DescImpianto = (
+ SELECT ISNULL(DescImpianto, 'ND') AS DescImpianto
+ FROM AnagImpianti
+ WHERE (CodImpianto = @CodImpianto)
+)
+
+
+
+-- Calcolo contatore intero successivo x il contenitore...
+SET @NumCont = (
+ SELECT NumCont
+ FROM ElencoCartellini
+ WHERE (UDC = @UDC_edit)
+)
+
+
+------------------------------------------------------------------------------------------------------
+
+------------------------------------------------------------------------------------------------------
+-- Flusso
+------------------------------------------------------------------------------------------------------
+-- controllo se esiste il flusso (bilancia)...
+SET @numFlu = (
+ SELECT count(*)
+ FROM AnagBilance
+ WHERE CodBilancia = @Flusso
+)
+-- ...sennò lo creo...
+IF(@numFlu = 0)
+ BEGIN
+ -- se c'è inserisco in tab
+ INSERT INTO AnagBilance(CodBilancia, DescrImpianto, CodCS)
+ VALUES (@Flusso, @Flusso, @CodCS)
+ END
+------------------------------------------------------------------------------------------------------
+
+------------------------------------------------------------------------------------------------------
+-- Ciclo principale x edit record
+------------------------------------------------------------------------------------------------------
+BEGIN TRAN
+ /*
+ -- registro in StoricoCartellini
+ INSERT INTO StoricoCartellini(DataEv, CodEvento, CodTipoDichiaraz, UDC, CodCS,CodCliente, RagSociale, Particolare, DescParticolare,
+ DisegnoGrezzo, Esponente, CodImpianto, DescImpianto, CodStampo, Figura, DataFus, TurnoFus, CodImballo, CodSoggetto,
+ NumCont, Tara, Qta, CodStato, IdxPosizione, PesoTot, PesoCad)
+ SELECT GETDATE() AS DataEv, @CodEvento AS CodEvento, @CodTipoDichiaraz AS CodTipoDichiaraz, UDC, CodCS,
+ CodCliente, RagSociale, Particolare, DescParticolare, DisegnoGrezzo, Esponente, CodImpianto, DescImpianto, CodStampo, Figura,
+ DataFus, TurnoFus, CodImballo, @CodSoggetto AS CodSoggetto, NumCont, Tara, Qta, CodStato, IdxPosizione, PesoTot, PesoCad
+ FROM ElencoCartellini
+ WHERE (UDC = @UDC_edit)
+ */
+
+ -- elimino vecchio record parent/child
+ DELETE FROM RelazUDC
+ WHERE (UDC_child = @UDC_edit)
+
+ -- modifico il record
+ UPDATE ElencoCartellini
+ SET CodCS = @CodCS, CodCliente = @CodCliente, RagSociale = @RagSociale, Particolare = @Particolare, DescParticolare = @DescParticolare,
+ DisegnoGrezzo = @DisegnoGrezzo, Esponente = @Esponente, CodImpianto = @CodImpianto, DescImpianto = @DescImpianto, CodStampo = @CodStampo,
+ Figura = @Figura, DataFus = @DataFus, TurnoFus = @TurnoFus, CodImballo = @CodImballo, CodSoggetto = @CodSoggetto, NumCont = @NumCont,
+ Tara = @Tara, Qta = @Qta, CodStato = @CodStato, IdxPosizione = @IdxPosizione, PesoTot = @PesoTot, PesoCad = @PesoCad, ModDate = GETDATE()
+ WHERE UDC = @UDC_edit
+
+ -- inserisco relazione aprent-child tra UDC vecchio (tara) e nuovo (pesa)
+ INSERT INTO RelazUDC(UDC_parent, UDC_child)
+ VALUES (@UDC_parent, @UDC_edit)
+COMMIT TRAN
+------------------------------------------------------------------------------------------------------
+
+------------------------------------------------------------------------------------------------------
+-- restituisco la tab dati con l'udc appena inserito
+------------------------------------------------------------------------------------------------------
+SELECT *
+FROM ElencoCartellini
+WHERE UDC = @UDC_edit
+------------------------------------------------------------------------------------------------------
+
+RETURN
+go
+
+commit
+go
+
+
+
+
+
+-- registro versione...
+INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(305, GETDATE())
+GO
diff --git a/GMW/GMW_data/SqlScripts/V1.1/GMW_00310.sql b/GMW/GMW_data/SqlScripts/V1.1/GMW_00310.sql
new file mode 100644
index 00000000..f6387866
--- /dev/null
+++ b/GMW/GMW_data/SqlScripts/V1.1/GMW_00310.sql
@@ -0,0 +1,289 @@
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_getUDC_UnusedOlder
+*
+* ottiene l'elenco degli UDC più vecchi in ordine asc TRA QUELLI NON ANCORA PRELEVATI nè proposti nella lista corrente
+*
+* Steamware, S.E.L.
+* mod: 2010.07.06
+*
+****************************************/
+alter PROCEDURE stp_getUDC_UnusedOlder
+(
+ @CodLista VARCHAR(12)
+)
+AS
+
+ -- variabili locali che mi servono
+ DECLARE @Figura AS VARCHAR(4)
+ DECLARE @Esponente AS VARCHAR(6)
+ DECLARE @CodImballo AS VARCHAR(15)
+ DECLARE @Particolare AS VARCHAR (50)
+ DECLARE @CodTipoLista AS VARCHAR (10)
+ --DECLARE @IdxPosizione AS INT
+ SET @Figura = (SELECT Figura FROM ElencoListePrelievo WHERE CodLista = @CodLista)
+ SET @Esponente = (SELECT Esponente FROM ElencoListePrelievo WHERE CodLista = @CodLista)
+ SET @CodImballo = (SELECT CodImballo FROM ElencoListePrelievo WHERE CodLista = @CodLista)
+ SET @Particolare = (SELECT Particolare FROM ElencoListePrelievo WHERE CodLista = @CodLista)
+ SET @CodTipoLista = (SELECT CodTipoLista FROM ElencoListePrelievo WHERE CodLista = @CodLista)
+ /*
+ SET @IdxPosizione = (SELECT tt.IdxPosizione
+ FROM TipoListaPrelievo tlp INNER JOIN TabTranPosizEventi tt ON tlp.CodEvento = tt.CodEvento
+ WHERE (tlp.CodTipoLista = @CodTipoLista))
+ */
+
+ -- effettuo la selezione
+ SELECT *
+ FROM ElencoCartellini
+ WHERE (Particolare = @Particolare) AND (IdxPosizione IN (SELECT tt.IdxPosizione
+ FROM TipoListaPrelievo tlp INNER JOIN TabTranPosizEventi tt ON tlp.CodEvento = tt.CodEvento
+ WHERE (tlp.CodTipoLista = @CodTipoLista))) AND
+ (Figura = CASE WHEN @Figura = '*' THEN Figura ELSE @Figura END) AND
+ (Esponente = CASE WHEN @Esponente = '*' THEN Esponente ELSE @Esponente END) AND
+ (CodImballo = CASE WHEN @CodImballo = '*' THEN CodImballo ELSE @CodImballo END)
+ AND UDC NOT IN (
+ SELECT DISTINCT UDC
+ FROM RigheListePrelievo INNER JOIN ElencoListePrelievo
+ ON RigheListePrelievo.CodLista = ElencoListePrelievo.CodLista
+ WHERE (ElencoListePrelievo.CodLista = @CodLista)
+ OR (ElencoListePrelievo.CodLista <> @CodLista AND CodStatoLista > 1 AND Prelevato = 1)
+ )
+ ORDER BY ElencoCartellini.DataFus
+
+RETURN
+go
+
+commit
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_ParticolariOverviewPerListaPrelievo
+*
+* elenco di overview sull'impiego dei particolari (dettaglio a "maglie larghe") x una possibile lista di prelievo
+*
+* Steamware, S.E.L.
+* mod: 2010.05.31
+*
+****************************************/
+alter PROCEDURE stp_ParticolariOverviewPerListaPrelievo
+(
+ @Particolare VARCHAR(50),
+ @CodCS VARCHAR(2),
+ @Esponente NVARCHAR(6),
+ @Figura NVARCHAR(4),
+ @CodImballo NVARCHAR(15),
+ @CodTipoLista NVARCHAR (10)
+)
+AS
+ /*
+ DECLARE @IdxPosizione AS INT
+ SET @IdxPosizione = (SELECT tt.IdxPosizione
+ FROM TipoListaPrelievo tlp INNER JOIN TabTranPosizEventi tt ON tlp.CodEvento = tt.CodEvento
+ WHERE (tlp.CodTipoLista = @CodTipoLista))
+ */
+
+ SELECT RilPro.AnagParticolari.Particolare, RilPro.AnagParticolari.DescParticolare, ISNULL(COUNT(dbo.ElencoCartellini.UDC), 0) AS NumUDC,
+ ISNULL(SUM(dbo.ElencoCartellini.Qta), 0) AS TotQta, ISNULL(COUNT(dbo.PosizioneUdcCorrente.IdxCella), 0) AS NumInMag
+ FROM RilPro.AnagParticolari LEFT OUTER JOIN
+ dbo.ElencoCartellini ON RilPro.AnagParticolari.Particolare = dbo.ElencoCartellini.Particolare LEFT OUTER JOIN
+ dbo.PosizioneUdcCorrente ON dbo.ElencoCartellini.UDC = dbo.PosizioneUdcCorrente.UDC
+ WHERE RilPro.AnagParticolari.CodCS = @CodCS AND
+ RilPro.AnagParticolari.Particolare = @Particolare AND
+ (IdxPosizione IN (SELECT tt.IdxPosizione
+ FROM TipoListaPrelievo tlp INNER JOIN TabTranPosizEventi tt ON tlp.CodEvento = tt.CodEvento
+ WHERE (tlp.CodTipoLista = @CodTipoLista))) AND
+ (dbo.ElencoCartellini.Figura = CASE WHEN @Figura = '*' THEN dbo.ElencoCartellini.Figura ELSE @Figura END) AND
+ (dbo.ElencoCartellini.Esponente = CASE WHEN @Esponente = '*' THEN dbo.ElencoCartellini.Esponente ELSE @Esponente END) AND
+ (dbo.ElencoCartellini.CodImballo = CASE WHEN @CodImballo = '*' THEN dbo.ElencoCartellini.CodImballo ELSE @CodImballo END)
+ GROUP BY RilPro.AnagParticolari.Particolare, RilPro.AnagParticolari.DescParticolare
+
+RETURN
+go
+
+commit
+go
+
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_riattivaUdc
+*
+* riattiva un dato UDC (da mag consumato negativo a corrispettivo positivo) --> se era positivo NON FA NULLA!!! (perchè uso ABS e controllo sia < 0)
+*
+* Steamware, S.E.L.
+* mod: 2010.11.04
+*
+****************************************/
+alter PROCEDURE stp_riattivaUdc
+(
+ @UDC VARCHAR(20),
+ @CodSoggetto NVARCHAR(17)
+)
+AS
+
+DECLARE @CodEvento VARCHAR(10)
+DECLARE @CodTipoDichiaraz VARCHAR(1)
+DECLARE @IdxCella INT
+DECLARE @CodCs NVARCHAR(2)
+
+SET @CodEvento = 'UDC_RIA'
+SET @CodTipoDichiaraz = 'U'
+
+BEGIN TRAN
+
+ -- faccio update posizione
+ UPDATE ElencoCartellini
+ SET IdxPosizione = ABS(IdxPosizione), ModDate=GETDATE(), CodSoggetto = @CodSoggetto
+ WHERE UDC = @UDC AND IdxPosizione IN (SELECT IdxPosizione FROM AnagPosizioni WHERE (IsRiattivaEnabled = 1)
+)
+
+ -- lo elimino da eventuali precedenti liste di prelievo sennò poi non potrei + prelevarlo
+ DELETE FROM RigheListePrelievo
+ WHERE UDC = @UDC
+
+ -- imposto posizione CELLA corrente x l'udc nella prima libera
+ SET @IdxCella = (SELECT c.IdxCella FROM Celle c inner join Blocchi b ON c.IdxBlocco=b.IdxBlocco INNER JOIN ElencoCartellini e ON b.CodMag = CAST(e.IdxPosizione AS NVARCHAR(50)) WHERE e.UDC = @UDC)
+ SET @CodCs = (SELECT CodCs FROM ElencoCartellini WHERE UDC = @UDC)
+ INSERT INTO PosizioneUdcCorrente
+ VALUES(@Udc, @IdxCella, @CodCs, GETDATE())
+
+
+COMMIT TRAN
+
+RETURN
+go
+
+commit
+go
+
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_UDC_updateIdxPosizione
+*
+* aggiorna un cartellino x la sua posizione logica
+*
+* Steamware, S.E.L.
+* mod: 2010.06.12
+*
+****************************************/
+alter PROCEDURE stp_UDC_updateIdxPosizione
+(
+ @UDC VARCHAR(20),
+ @IdxPosizione INT
+)
+AS
+
+
+------------------------------------------------------------------------------------------------------
+-- Ciclo principale x edit record
+------------------------------------------------------------------------------------------------------
+BEGIN TRAN
+
+ -- modifico il record
+ UPDATE ElencoCartellini
+ SET IdxPosizione = @IdxPosizione, ModDate = GETDATE()
+ WHERE UDC = @UDC
+
+COMMIT TRAN
+------------------------------------------------------------------------------------------------------
+
+------------------------------------------------------------------------------------------------------
+-- restituisco la tab dati con l'udc appena inserito
+------------------------------------------------------------------------------------------------------
+SELECT *
+FROM ElencoCartellini
+WHERE UDC = @UDC
+------------------------------------------------------------------------------------------------------
+
+RETURN
+go
+
+commit
+go
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+INSERT INTO dbo.AnagPosizioni
+ VALUES (-54, N'AM - FINITI consumati', 0)
+go
+
+commit transaction
+go
+
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+INSERT INTO dbo.AnagTipoEvento
+ VALUES (N'UDC_RITER', N'Richiesta UDC Rientro terzista')
+go
+
+commit transaction
+go
+
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+INSERT INTO dbo.TabTranPosizEventi
+ VALUES (N'UDC_CONS', 54, -54)
+go
+
+commit transaction
+go
+
+
+
+
+-- registro versione...
+INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(310, GETDATE())
+GO
diff --git a/GMW/GMW_data/SqlScripts/V1.1/GMW_00315.sql b/GMW/GMW_data/SqlScripts/V1.1/GMW_00315.sql
new file mode 100644
index 00000000..5bc4ff14
--- /dev/null
+++ b/GMW/GMW_data/SqlScripts/V1.1/GMW_00315.sql
@@ -0,0 +1,449 @@
+alter table PosizioneUdcStorico drop
+ constraint FK_PosizioneUdcStorico_ElencoCartellini
+go
+
+alter table StoricoCartellini drop
+ constraint FK_StoricoEventi_ElencoCartellini
+go
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+UPDATE dbo.TabTranPosizEventi SET
+ IdxPosizioneTo=-84
+ WHERE CodEvento=N'MagPreFus' and IdxPosizione=84
+go
+
+commit transaction
+go
+
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_anagFullParticolare
+*
+* ottiene il dettaglio delle specifiche di un particolare dato il suo codice A PARTIRE DALL'ANAGRAFICA COMPLETA
+*
+* Steamware, S.E.L.
+* mod: 2010.11.17
+*
+****************************************/
+create PROCEDURE stp_anagFullParticolare
+(
+ @Particolare NVARCHAR(15)
+)
+AS
+
+SELECT *
+FROM dbo.v_AnagDatiParticolari
+WHERE Particolare=@Particolare
+
+
+RETURN
+go
+
+commit
+go
+
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_rettMovAs400
+*
+* inserisce nella tabella per i trasferimenti batch verso magazzino AS una quantità di rettifica (con segno - )per UDC eventualmente già scaricati a sistema
+*
+* Steamware, S.E.L.
+* mod: 2010.11.02
+*
+****************************************/
+alter PROCEDURE stp_rettMovAs400
+(
+ @Particolare NVARCHAR(50),
+ @UDC NVARCHAR(20),
+ @CodMagAS NVARCHAR(50),
+ @Qta DECIMAL(10,2),
+ @CodEvento NVARCHAR(10)
+)
+AS
+
+BEGIN
+
+ INSERT INTO AS400_BatchMovimenti(DataIns, CodEvento, Particolare, UDC, CodMagAS, Quantita)
+ VALUES (GETDATE(), @CodEvento, @Particolare, @UDC, @CodMagAS, -@Qta)
+
+END
+
+RETURN
+go
+
+commit
+go
+
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_UDC_getByTipoDelibera
+*
+* elenco cartellini che possono essere oggetto della delibera indicata
+*
+* Steamware, S.E.L.
+* mod: 2010.07.29
+*
+****************************************/
+alter PROCEDURE stp_UDC_getByTipoDelibera
+(
+ @CodTipoDelibera NVARCHAR(50),
+ @DataFrom DATETIME,
+ @DataTo DATETIME
+)
+AS
+
+SELECT *
+FROM ElencoCartellini
+WHERE IdxPosizione IN (
+ SELECT TabTranPosizEventi.IdxPosizione
+ FROM TabTranPosizEventi INNER JOIN AnagTipoEvento ON TabTranPosizEventi.CodEvento = AnagTipoEvento.CodEvento
+ INNER JOIN AnagTipoDelibere ON AnagTipoEvento.CodEvento = AnagTipoDelibere.CodEvento
+ WHERE (AnagTipoDelibere.CodTipoDelibera = @CodTipoDelibera)
+ ) -- vincolo su posizioni accettabili
+ AND DataFus BETWEEN @DataFrom AND @DataTo -- vincolo data
+ AND UDC NOT IN (SELECT DISTINCT UDC FROM PosizioneUdcCorrente puc INNER JOIN Celle c on puc.IdxCella=c.IdxCella INNER JOIN TipoCella tc ON c.IdxTipoCella=tc.IdxTipoCella WHERE tc.CodMag = 'OVAS')
+ORDER BY UDC DESC
+
+RETURN
+go
+
+commit
+go
+
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+alter VIEW v_AnagDatiParticolari
+AS
+SELECT DISTINCT
+ ISNULL(part.CodCliente, N'') AS CodCliente, ISNULL(Cli.RagSociale, N'') AS RagSociale, part.Particolare, part.DescParticolare, ISNULL(part.DisegnoGrezzo, N'')
+ AS DisegnoGrezzo, ISNULL(Espo.Esponente, N'') AS Esponente, ISNULL(Stamp.CodStampo, N'') AS CodStampo, ISNULL(Fig.Figura, N'') AS Figura
+FROM RilPro.AnagParticolari AS part LEFT OUTER JOIN
+ RilPro.StampoArticolo AS Stamp ON part.Particolare = Stamp.Particolare LEFT OUTER JOIN
+ RilPro.StampoEsponente AS Espo ON Stamp.CodStampo = Espo.CodStampo LEFT OUTER JOIN
+ RilPro.StampoFigure AS Fig ON Stamp.CodStampo = Fig.CodStampo LEFT OUTER JOIN
+ RilPro.AnagClienti AS Cli ON part.CodCliente = Cli.CodCliente
+go
+
+exec sp_addextendedproperty 'MS_DiagramPane1', '[0E232FF0-B466-11cf-A24F-00AA00A3EFFF, 1.00]
+Begin DesignProperties =
+ Begin PaneConfigurations =
+ Begin PaneConfiguration = 0
+ NumPanes = 4
+ Configuration = "(H (1[40] 4[20] 2[20] 3) )"
+ End
+ Begin PaneConfiguration = 1
+ NumPanes = 3
+ Configuration = "(H (1 [50] 4 [25] 3))"
+ End
+ Begin PaneConfiguration = 2
+ NumPanes = 3
+ Configuration = "(H (1 [50] 2 [25] 3))"
+ End
+ Begin PaneConfiguration = 3
+ NumPanes = 3
+ Configuration = "(H (4 [30] 2 [40] 3))"
+ End
+ Begin PaneConfiguration = 4
+ NumPanes = 2
+ Configuration = "(H (1 [56] 3))"
+ End
+ Begin PaneConfiguration = 5
+ NumPanes = 2
+ Configuration = "(H (2 [66] 3))"
+ End
+ Begin PaneConfiguration = 6
+ NumPanes = 2
+ Configuration = "(H (4 [50] 3))"
+ End
+ Begin PaneConfiguration = 7
+ NumPanes = 1
+ Configuration = "(V (3))"
+ End
+ Begin PaneConfiguration = 8
+ NumPanes = 3
+ Configuration = "(H (1[56] 4[18] 2) )"
+ End
+ Begin PaneConfiguration = 9
+ NumPanes = 2
+ Configuration = "(H (1 [75] 4))"
+ End
+ Begin PaneConfiguration = 10
+ NumPanes = 2
+ Configuration = "(H (1[66] 2) )"
+ End
+ Begin PaneConfiguration = 11
+ NumPanes = 2
+ Configuration = "(H (4 [60] 2))"
+ End
+ Begin PaneConfiguration = 12
+ NumPanes = 1
+ Configuration = "(H (1) )"
+ End
+ Begin PaneConfiguration = 13
+ NumPanes = 1
+ Configuration = "(V (4))"
+ End
+ Begin PaneConfiguration = 14
+ NumPanes = 1
+ Configuration = "(V (2))"
+ End
+ ActivePaneConfig = 0
+ End
+ Begin DiagramPane =
+ Begin Origin =
+ Top = 0
+ Left = 0
+ End
+ Begin Tables =
+ Begin Table = "part"
+ Begin Extent =
+ Top = 6
+ Left = 38
+ Bottom = 135
+ Right = 208
+ End
+ DisplayFlags = 280
+ TopColumn = 0
+ End
+ Begin Table = "Stamp"
+ Begin Extent =
+ Top = 6
+ Left = 246
+ Bottom = 135
+ Right = 421
+ End
+ DisplayFlags = 280
+ TopColumn = 0
+ End
+ Begin Table = "Espo"
+ Begin Extent =
+ Top = 138
+ Left = 38
+ Bottom = 267
+ Right = 208
+ End
+ DisplayFlags = 280
+ TopColumn = 0
+ End
+ Begin Table = "Fig"
+ Begin Extent =
+ Top = 138
+ Left = 246
+ Bottom = 250
+ Right = 416
+ End
+ DisplayFlags = 280
+ TopColumn = 0
+ End
+ Begin Table = "Cli"
+ Begin Extent =
+ Top = 252
+ Left = 246
+ Bottom = 347
+ Right = 416
+ End
+ DisplayFlags = 280
+ TopColumn = 0
+ End
+ End
+ End
+ Begin SQLPane =
+ End
+ Begin DataPane =
+ Begin ParameterDefaults = ""
+ End
+ Begin ColumnWidths = 9
+ Width = 284
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ End
+ End
+ Begin CriteriaPane =
+ Begin ColumnWidths = 11
+ Column = 1440
+ Alias = 900
+ Table = 1170
+ ', 'SCHEMA', 'dbo', 'VIEW', 'v_AnagDatiParticolari'
+go
+
+exec sp_addextendedproperty 'MS_DiagramPane2', ' Output = 720
+ Append = 1400
+ NewValue = 1170
+ SortType = 1350
+ SortOrder = 1410
+ GroupBy = 1350
+ Filter = 1350
+ Or = 1350
+ Or = 1350
+ Or = 1350
+ End
+ End
+End
+', 'SCHEMA', 'dbo', 'VIEW', 'v_AnagDatiParticolari'
+go
+
+exec sp_addextendedproperty 'MS_DiagramPaneCount', 2, 'SCHEMA', 'dbo', 'VIEW', 'v_AnagDatiParticolari'
+go
+
+commit
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_processaSpedizTerz
+*
+* effettua la spedizione verso i terzisti, se deliberati è ok così, se non deliberati restano in posizione 305 da deliberare
+*
+* Steamware, S.E.L.
+* mod: 2010.11.17
+*
+****************************************/
+create PROCEDURE stp_processaSpedizTerz
+AS
+
+-- UDC x cursore
+DECLARE @UDC NVARCHAR(50) -- UDC SQL
+-- evento da usare
+DECLARE @CodEvento AS NVARCHAR(10)
+SET @CodEvento = 'SpeWipTerz'
+
+
+ -- Dichiaro e carico il cursore
+ DECLARE Udc4Ter CURSOR LOCAL FOR
+ SELECT UDC FROM ElencoCartellini WHERE IdxPosizione IN (SELECT IdxPosizione FROM TabTranPosizEventi WHERE CodEvento = @CodEvento)
+
+ OPEN Udc4Ter
+ FETCH NEXT FROM Udc4Ter
+ INTO @UDC
+
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ -- processo gli UDC...
+ UPDATE ElencoCartellini
+ SET IdxPosizione = ttpe.IdxPosizioneTo
+ FROM ElencoCartellini ec INNER JOIN TabTranPosizEventi ttpe ON ec.IdxPosizione=ttpe.IdxPosizione
+ WHERE ec.UDC = @UDC AND ttpe.CodEvento = @CodEvento
+
+ FETCH NEXT FROM Udc4Ter INTO @UDC
+ END
+ CLOSE Udc4Ter
+ DEALLOCATE Udc4Ter
+
+RETURN
+go
+
+commit
+go
+
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+DELETE FROM dbo.TabTranPosizEventi WHERE CodEvento=N'SpeWipNoDe' and IdxPosizione=290
+DELETE FROM dbo.TabTranPosizEventi WHERE CodEvento=N'SpeWipOkDe' and IdxPosizione=295
+go
+
+commit transaction
+go
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+INSERT INTO dbo.AnagTipoEvento
+ VALUES (N'SpeWipTerz', N'Spedizione di materiale a terzisti')
+DELETE FROM dbo.AnagTipoEvento WHERE CodEvento=N'SpeWipNoDe'
+DELETE FROM dbo.AnagTipoEvento WHERE CodEvento=N'SpeWipOkDe'
+go
+
+commit transaction
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+INSERT INTO dbo.TabTranPosizEventi
+ VALUES (N'SpeWipTerz', 290, 305)
+INSERT INTO dbo.TabTranPosizEventi
+ VALUES (N'SpeWipTerz', 295, 300)
+go
+
+commit transaction
+go
+
+
+
+
+-- registro versione...
+INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(315, GETDATE())
+GO
diff --git a/GMW/GMW_data/SqlScripts/V1.1/GMW_00320.sql b/GMW/GMW_data/SqlScripts/V1.1/GMW_00320.sql
new file mode 100644
index 00000000..e05fdb12
--- /dev/null
+++ b/GMW/GMW_data/SqlScripts/V1.1/GMW_00320.sql
@@ -0,0 +1,207 @@
+set xact_abort on
+go
+
+begin transaction
+go
+
+DELETE FROM dbo.TabTranPosizEventi WHERE CodEvento=N'MagPreFus' and IdxPosizione=54
+go
+
+commit transaction
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_getPosizioneByUdcIdxPosizione
+*
+* restituisce la posizione dell'udc dato codice udc e CodMag desiderato
+*
+* Steamware, S.E.L
+* mod: 2010.11.19
+*
+************************************/
+create PROCEDURE stp_getPosizioneByUdcCodMag
+(
+ @UDC NVARCHAR(50),
+ @CodMag NVARCHAR(50)
+)
+AS
+
+SELECT puc.*
+FROM PosizioneUdcCorrente puc INNER JOIN Celle c ON puc.IdxCella=c.IdxCella INNER JOIN Blocchi b ON c.IdxBlocco=b.IdxBlocco
+where puc.UDC = @UDC AND b.CodMag = @CodMag
+go
+
+commit
+go
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+alter VIEW v_selMagLogico
+AS
+SELECT DISTINCT
+ TOP (100) PERCENT CAST(ec.IdxPosizione AS NVARCHAR(20)) AS value, 'Mag. ' + CAST(ec.IdxPosizione AS NVARCHAR(20)) AS label, ec.CodCS AS conditio
+FROM dbo.ElencoCartellini AS ec INNER JOIN
+ dbo.AnagMag AS am ON CAST(ec.IdxPosizione AS NVARCHAR(50)) = am.CodMag
+WHERE (ec.IdxPosizione > 0)
+ORDER BY label
+go
+
+exec sp_updateextendedproperty 'MS_DiagramPane1', '[0E232FF0-B466-11cf-A24F-00AA00A3EFFF, 1.00]
+Begin DesignProperties =
+ Begin PaneConfigurations =
+ Begin PaneConfiguration = 0
+ NumPanes = 4
+ Configuration = "(H (1[40] 4[20] 2[20] 3) )"
+ End
+ Begin PaneConfiguration = 1
+ NumPanes = 3
+ Configuration = "(H (1 [50] 4 [25] 3))"
+ End
+ Begin PaneConfiguration = 2
+ NumPanes = 3
+ Configuration = "(H (1 [50] 2 [25] 3))"
+ End
+ Begin PaneConfiguration = 3
+ NumPanes = 3
+ Configuration = "(H (4 [30] 2 [40] 3))"
+ End
+ Begin PaneConfiguration = 4
+ NumPanes = 2
+ Configuration = "(H (1 [56] 3))"
+ End
+ Begin PaneConfiguration = 5
+ NumPanes = 2
+ Configuration = "(H (2 [66] 3))"
+ End
+ Begin PaneConfiguration = 6
+ NumPanes = 2
+ Configuration = "(H (4 [50] 3))"
+ End
+ Begin PaneConfiguration = 7
+ NumPanes = 1
+ Configuration = "(V (3))"
+ End
+ Begin PaneConfiguration = 8
+ NumPanes = 3
+ Configuration = "(H (1[56] 4[18] 2) )"
+ End
+ Begin PaneConfiguration = 9
+ NumPanes = 2
+ Configuration = "(H (1 [75] 4))"
+ End
+ Begin PaneConfiguration = 10
+ NumPanes = 2
+ Configuration = "(H (1[66] 2) )"
+ End
+ Begin PaneConfiguration = 11
+ NumPanes = 2
+ Configuration = "(H (4 [60] 2))"
+ End
+ Begin PaneConfiguration = 12
+ NumPanes = 1
+ Configuration = "(H (1) )"
+ End
+ Begin PaneConfiguration = 13
+ NumPanes = 1
+ Configuration = "(V (4))"
+ End
+ Begin PaneConfiguration = 14
+ NumPanes = 1
+ Configuration = "(V (2))"
+ End
+ ActivePaneConfig = 0
+ End
+ Begin DiagramPane =
+ Begin Origin =
+ Top = 0
+ Left = 0
+ End
+ Begin Tables =
+ Begin Table = "ec"
+ Begin Extent =
+ Top = 6
+ Left = 38
+ Bottom = 343
+ Right = 208
+ End
+ DisplayFlags = 280
+ TopColumn = 0
+ End
+ Begin Table = "am"
+ Begin Extent =
+ Top = 6
+ Left = 294
+ Bottom = 135
+ Right = 464
+ End
+ DisplayFlags = 280
+ TopColumn = 0
+ End
+ End
+ End
+ Begin SQLPane =
+ End
+ Begin DataPane =
+ Begin ParameterDefaults = ""
+ End
+ Begin ColumnWidths = 9
+ Width = 284
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ End
+ End
+ Begin CriteriaPane =
+ Begin ColumnWidths = 11
+ Column = 1440
+ Alias = 900
+ Table = 1170
+ Output = 720
+ Append = 1400
+ NewValue = 1170
+ SortType = 1350
+ SortOrder = 1410
+ GroupBy = 1350
+ Filter = 1350
+ Or = 1350
+ Or = 1350
+ Or = 1350
+ End
+ End
+End
+', 'SCHEMA', 'dbo', 'VIEW', 'v_selMagLogico'
+go
+
+commit
+go
+
+
+
+
+
+
+-- registro versione...
+INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(320, GETDATE())
+GO
diff --git a/GMW/GMW_data/SqlScripts/V1.1/GMW_00325.sql b/GMW/GMW_data/SqlScripts/V1.1/GMW_00325.sql
new file mode 100644
index 00000000..828da465
--- /dev/null
+++ b/GMW/GMW_data/SqlScripts/V1.1/GMW_00325.sql
@@ -0,0 +1,181 @@
+set xact_abort on
+go
+
+begin transaction
+go
+
+alter table TipoListaPrelievo add
+ toAs400 bit constraint DF_TipoListaPrelievo_toAs400 default (1)
+go
+
+update TipoListaPrelievo set toAs400=1
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_LP_exportToAs400
+*
+* esporta la lista di prelievo (e le relative righe) verso AS400 andando a copaire nelle relative tabelle _AS
+*
+* Steamware, S.E.L.
+* mod: 2010.07.19
+*
+****************************************/
+alter PROCEDURE stp_LP_exportToAs400
+(
+ @CodLista NVARCHAR(12)
+)
+AS
+
+BEGIN TRAN
+
+ -- inizio con un controllo se devo processare verso AS400 la lista di prelievo...
+ DECLARE @toAs400 BIT
+ SET @toAs400 = (SELECT ISNULL(tlp.toAs400, 0) as valore
+ FROM TipoListaPrelievo AS tlp INNER JOIN ElencoListePrelievo AS elp ON tlp.CodTipoLista = elp.CodTipoLista
+ WHERE (elp.CodLista = @CodLista)
+ )
+
+ IF(@toAs400 > 0)
+ BEGIN
+ -- copio la lista (intestazione)
+ INSERT INTO ElencoListePrelievo_AS(CodLista, CodTipoLista, CodCS, DataCreaz, CodCliente, RagSociale, CodSoggetto, Particolare, DescParticolare,
+ DisegnoGrezzo, Esponente, Figura, CodImballo, QtaTot, CodStatoLista, Destinatario)
+ SELECT CodLista, CodTipoLista, CodCS, DataCreaz, CodCliente, RagSociale, CodSoggetto, Particolare, DescParticolare,
+ DisegnoGrezzo, Esponente, Figura, CodImballo, QtaTot, CodStatoLista, Destinatario
+ FROM ElencoListePrelievo
+ WHERE (CodLista = @CodLista)
+
+ -- copio le righe lista di dettaglio
+ INSERT INTO RigheListePrelievo_AS(CodLista, UDC, Qta, Proposto, Prelevato)
+ SELECT CodLista, UDC, Qta, Proposto, Prelevato
+ FROM RigheListePrelievo
+ WHERE (CodLista = @CodLista) AND Prelevato = 1
+
+ -- aggiorno le quantità passate ad AS...
+ UPDATE ElencoListePrelievo_AS
+ SET QtaTot = ( SELECT SUM(Qta) AS QtaTot FROM RigheListePrelievo WHERE (CodLista = @CodLista) AND Prelevato = 1 )
+ WHERE (CodLista = @CodLista)
+ END
+
+
+COMMIT TRAN
+
+-- IMPORTANTE: in caso siano rimasti riferimenti ad un UDC scaricato in AS in altre liste di prelievo li tolgo in modo da "ripulirle" ed evitare che lo stesso UDC venga prelevato 2 volte...
+DELETE RLP
+FROM RigheListePrelievo RLP
+INNER JOIN ElencoListePrelievo ELP
+ ON RLP.CodLista = ELP.CodLista
+WHERE ELP.CodStatoLista < 4 AND RLP.CodLista <> @CodLista AND RLP.UDC IN (
+ SELECT UDC
+ FROM RigheListePrelievo
+ WHERE (CodLista = @CodLista) AND Prelevato = 1
+ )
+
+RETURN
+go
+
+commit
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+UPDATE dbo.TipoListaPrelievo SET
+ toAs400=0
+ WHERE CodTipoLista=N'01-PreFus'
+go
+
+commit transaction
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+INSERT INTO dbo.TabTranPosizEventi
+ VALUES (N'MagPreFus', 80, 80)
+go
+
+commit transaction
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_ParticolariOverviewPerListaPrelievo
+*
+* elenco di overview sull'impiego dei particolari (dettaglio a "maglie larghe") x una possibile lista di prelievo
+*
+* Steamware, S.E.L.
+* mod: 2010.05.31
+*
+****************************************/
+alter PROCEDURE stp_ParticolariOverviewPerListaPrelievo
+(
+ @Particolare VARCHAR(50),
+ @CodCS VARCHAR(2),
+ @Esponente NVARCHAR(6),
+ @Figura NVARCHAR(4),
+ @CodImballo NVARCHAR(15),
+ @CodTipoLista NVARCHAR (10)
+)
+AS
+ /*
+ DECLARE @IdxPosizione AS INT
+ SET @IdxPosizione = (SELECT tt.IdxPosizione
+ FROM TipoListaPrelievo tlp INNER JOIN TabTranPosizEventi tt ON tlp.CodEvento = tt.CodEvento
+ WHERE (tlp.CodTipoLista = @CodTipoLista))
+ */
+
+ SELECT RilPro.AnagParticolari.Particolare, RilPro.AnagParticolari.DescParticolare, ISNULL(COUNT(dbo.ElencoCartellini.UDC), 0) AS NumUDC,
+ ISNULL(SUM(dbo.ElencoCartellini.Qta), 0) AS TotQta, ISNULL(COUNT(dbo.PosizioneUdcCorrente.IdxCella), 0) AS NumInMag
+ FROM RilPro.AnagParticolari LEFT OUTER JOIN
+ dbo.ElencoCartellini ON RilPro.AnagParticolari.Particolare = dbo.ElencoCartellini.Particolare LEFT OUTER JOIN
+ dbo.PosizioneUdcCorrente ON dbo.ElencoCartellini.UDC = dbo.PosizioneUdcCorrente.UDC
+ WHERE RilPro.AnagParticolari.CodCS = @CodCS AND
+ RilPro.AnagParticolari.Particolare = @Particolare AND
+ (IdxPosizione IN (SELECT tt.IdxPosizione
+ FROM TipoListaPrelievo tlp INNER JOIN TabTranPosizEventi tt ON tlp.CodEvento = tt.CodEvento
+ WHERE (tlp.CodTipoLista = @CodTipoLista))) AND
+ (dbo.ElencoCartellini.Figura = CASE WHEN @Figura = '*' THEN dbo.ElencoCartellini.Figura ELSE @Figura END) AND
+ (dbo.ElencoCartellini.Esponente = CASE WHEN @Esponente = '*' THEN dbo.ElencoCartellini.Esponente ELSE @Esponente END) AND
+ (dbo.ElencoCartellini.CodImballo = CASE WHEN @CodImballo = '*' THEN dbo.ElencoCartellini.CodImballo ELSE @CodImballo END)
+ AND ElencoCartellini.UDC NOT IN (
+ SELECT DISTINCT UDC
+ FROM RigheListePrelievo INNER JOIN ElencoListePrelievo
+ ON RigheListePrelievo.CodLista = ElencoListePrelievo.CodLista
+ WHERE (CodStatoLista > 1 AND Prelevato = 1)
+ )
+ GROUP BY RilPro.AnagParticolari.Particolare, RilPro.AnagParticolari.DescParticolare
+
+RETURN
+go
+
+commit
+go
+
+
+
+
+
+-- registro versione...
+INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(325, GETDATE())
+GO
diff --git a/GMW/GMW_data/SqlScripts/V1.1/GMW_00326.sql b/GMW/GMW_data/SqlScripts/V1.1/GMW_00326.sql
new file mode 100644
index 00000000..39b6fa8d
--- /dev/null
+++ b/GMW/GMW_data/SqlScripts/V1.1/GMW_00326.sql
@@ -0,0 +1,305 @@
+set xact_abort on
+go
+
+begin transaction
+go
+
+alter table ElencoListePrelievo add
+ DestinatarioDescrizione nvarchar(50)
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_creaListaPrelievo
+*
+* crea un nuovo record nella ElencoListePrelievo e restituisce il codice ID appena creato
+*
+* Steamware, S.E.L. 8 (FROM Stintino)
+* mod: 2010.07.30
+*
+************************************/
+alter PROCEDURE stp_creaListaPrelievo
+(
+ @Anno NVARCHAR(2),
+ @Mese NVARCHAR(2),
+ @CodTipoLista NVARCHAR(10),
+ @CodCS NCHAR(2),
+ @CodCliente NVARCHAR(6),
+ @RagSociale NVARCHAR(35),
+ @CodSoggetto NCHAR(17),
+ @Particolare NVARCHAR(15),
+ @DescParticolare NVARCHAR(30),
+ @DisegnoGrezzo NVARCHAR(30),
+ @Esponente NVARCHAR(6),
+ @Figura NVARCHAR(4),
+ @CodImballo NVARCHAR(15),
+ @QtaTot DECIMAL(10,2),
+ @Destinatario NVARCHAR(50),
+ @DestinatarioDescrizione NVARCHAR(50)
+)
+AS
+
+-- Dichiarazioni iniziali
+DECLARE @CodLista AS NVARCHAR(12)
+DECLARE @numLista AS INT
+DECLARE @temp AS INT
+DECLARE @ora AS DATETIME
+
+------------------------------------------------------------------------------------------------------
+-- codice lista di prelievo KAAMM00000 - K = start char, AA = anno, MM = mese, 00000 = progressivo
+------------------------------------------------------------------------------------------------------
+-- controllo se ci sia già una lista di prelievo per company / flusso anno
+BEGIN TRAN
+ -- cerco nella tab contatori liste prelievo l'ultimo valido
+ SET @numLista = (
+ SELECT COUNT(*)
+ FROM ContatoriListePrelievo
+ WHERE CodCS = @CodCS
+ AND Anno = @Anno
+ AND Mese = @Mese
+ )
+ -- controllo se record c'è...
+ IF(@numLista > 0)
+ BEGIN
+ -- se c'è incremento di 1 in tab
+ UPDATE ContatoriListePrelievo
+ SET LastIdx = LastIdx + 1
+ WHERE CodCS = @CodCS
+ AND Anno = @Anno
+ AND Mese = @Mese
+
+ END
+ ELSE
+ BEGIN
+ -- lo creo!
+ INSERT INTO ContatoriListePrelievo(CodCS, Anno, Mese, LastIdx)
+ VALUES (@CodCS, @Anno, @Mese, 1)
+ END
+ -- aggiorno numero lista prelievo
+ SET @numLista = (
+ SELECT LastIdx
+ FROM ContatoriListePrelievo
+ WHERE CodCS = @CodCS
+ AND Anno = @Anno
+ AND Mese = @Mese
+
+ )
+COMMIT TRAN
+------------------------------------------------------------------------------------------------------
+
+BEGIN TRAN
+
+ ------------------------------------------------------------------------------------------------------
+ -- Ciclo principale x inserimento nuovo record
+ ------------------------------------------------------------------------------------------------------
+ -- ottengo il nuovo codice lista di prelievo completo
+ SET @CodLista = 'K' + @CodCS + @Anno + dbo.f_padLeft(CAST(@Mese AS NVARCHAR(2)), 2, '0') + + dbo.f_padLeft(CAST(@numLista AS NVARCHAR(5)), 5, '0')
+
+ INSERT INTO ElencoListePrelievo
+ (CodLista, CodTipoLista, CodCS, DataCreaz, CodCliente, RagSociale, CodSoggetto, Particolare, DescParticolare, DisegnoGrezzo, Esponente, Figura, CodImballo, QtaTot, CodStatoLista, Destinatario, DestinatarioDescrizione)
+ VALUES (@CodLista, @CodTipoLista, @CodCS, GETDATE(), @CodCliente, @RagSociale, @CodSoggetto, @Particolare, @DescParticolare, @DisegnoGrezzo, @Esponente,@Figura, @CodImballo, @QtaTot, 0, @Destinatario, @DestinatarioDescrizione)
+
+COMMIT TRAN
+
+SELECT * FROM V_elencoListePrelievo WHERE CodLista = @CodLista;
+
+RETURN
+go
+
+alter VIEW V_elencoListePrelievo
+AS
+SELECT TOP (100) PERCENT dbo.ElencoListePrelievo.CodLista, dbo.ElencoListePrelievo.CodTipoLista, dbo.ElencoListePrelievo.CodCS, dbo.ElencoListePrelievo.DataCreaz,
+ dbo.ElencoListePrelievo.CodCliente, dbo.ElencoListePrelievo.RagSociale, dbo.ElencoListePrelievo.CodSoggetto, dbo.ElencoListePrelievo.Particolare,
+ dbo.ElencoListePrelievo.DescParticolare, dbo.ElencoListePrelievo.DisegnoGrezzo, dbo.ElencoListePrelievo.Esponente, dbo.ElencoListePrelievo.Figura,
+ dbo.ElencoListePrelievo.CodImballo, dbo.ElencoListePrelievo.QtaTot, dbo.ElencoListePrelievo.CodStatoLista, ISNULL(dbo.v_righePrelevate.TotQta, 0) AS Prelevato,
+ dbo.ElencoListePrelievo.Destinatario, ISNULL(dbo.ElencoListePrelievo.DestinatarioDescrizione, N'nd') AS DestinatarioDescrizione
+FROM dbo.ElencoListePrelievo LEFT OUTER JOIN
+ dbo.v_righePrelevate ON dbo.ElencoListePrelievo.CodLista = dbo.v_righePrelevate.CodLista
+ORDER BY dbo.ElencoListePrelievo.DataCreaz DESC
+go
+
+exec sp_updateextendedproperty 'MS_DiagramPane1', '[0E232FF0-B466-11cf-A24F-00AA00A3EFFF, 1.00]
+Begin DesignProperties =
+ Begin PaneConfigurations =
+ Begin PaneConfiguration = 0
+ NumPanes = 4
+ Configuration = "(H (1[40] 4[20] 2[20] 3) )"
+ End
+ Begin PaneConfiguration = 1
+ NumPanes = 3
+ Configuration = "(H (1 [50] 4 [25] 3))"
+ End
+ Begin PaneConfiguration = 2
+ NumPanes = 3
+ Configuration = "(H (1 [50] 2 [25] 3))"
+ End
+ Begin PaneConfiguration = 3
+ NumPanes = 3
+ Configuration = "(H (4 [30] 2 [40] 3))"
+ End
+ Begin PaneConfiguration = 4
+ NumPanes = 2
+ Configuration = "(H (1 [56] 3))"
+ End
+ Begin PaneConfiguration = 5
+ NumPanes = 2
+ Configuration = "(H (2 [66] 3))"
+ End
+ Begin PaneConfiguration = 6
+ NumPanes = 2
+ Configuration = "(H (4 [50] 3))"
+ End
+ Begin PaneConfiguration = 7
+ NumPanes = 1
+ Configuration = "(V (3))"
+ End
+ Begin PaneConfiguration = 8
+ NumPanes = 3
+ Configuration = "(H (1[56] 4[18] 2) )"
+ End
+ Begin PaneConfiguration = 9
+ NumPanes = 2
+ Configuration = "(H (1 [75] 4))"
+ End
+ Begin PaneConfiguration = 10
+ NumPanes = 2
+ Configuration = "(H (1[66] 2) )"
+ End
+ Begin PaneConfiguration = 11
+ NumPanes = 2
+ Configuration = "(H (4 [60] 2))"
+ End
+ Begin PaneConfiguration = 12
+ NumPanes = 1
+ Configuration = "(H (1) )"
+ End
+ Begin PaneConfiguration = 13
+ NumPanes = 1
+ Configuration = "(V (4))"
+ End
+ Begin PaneConfiguration = 14
+ NumPanes = 1
+ Configuration = "(V (2))"
+ End
+ ActivePaneConfig = 0
+ End
+ Begin DiagramPane =
+ Begin Origin =
+ Top = 0
+ Left = 0
+ End
+ Begin Tables =
+ Begin Table = "ElencoListePrelievo"
+ Begin Extent =
+ Top = 6
+ Left = 38
+ Bottom = 350
+ Right = 208
+ End
+ DisplayFlags = 280
+ TopColumn = 1
+ End
+ Begin Table = "v_righePrelevate"
+ Begin Extent =
+ Top = 6
+ Left = 454
+ Bottom = 118
+ Right = 624
+ End
+ DisplayFlags = 280
+ TopColumn = 0
+ End
+ End
+ End
+ Begin SQLPane =
+ End
+ Begin DataPane =
+ Begin ParameterDefaults = ""
+ End
+ Begin ColumnWidths = 19
+ Width = 284
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ End
+ End
+ Begin CriteriaPane =
+ Begin ColumnWidths = 11
+ Column = 1440
+ Alias = 900
+ Table = 1170
+ Output = 720
+ Append = 1400
+ NewValue = 1170
+ SortType = 1350
+ SortOrder = 1410
+ GroupBy = 1350
+ Filter = 1350
+ Or = 1350
+ Or = 1350
+ Or = 1350
+ End
+ End
+End
+', 'SCHEMA', 'dbo', 'VIEW', 'V_elencoListePrelievo'
+go
+
+/***************************************
+* STORED stp_RLP_sbloccaNonPrelevate
+*
+* sblocca righe liste di prelievo ATTIVE x UDC non prelevati
+*
+* Steamware, S.E.L.
+* mod: 2010.08.31
+*
+****************************************/
+alter PROCEDURE stp_RLP_sbloccaNonPrelevate
+(
+ @CodLista NVARCHAR(12),
+ @UDC NVARCHAR(50)
+)
+AS
+
+-- creo una CTE x le righe liste prelievo ATTIVE (escludo bozze e liste scaricate) - candidate per sblocco che NON fanno aprte della lista di prelievo attuale
+WITH cteUdcRigheAttive AS (
+ SELECT RLP.CodLista, RLP.UDC, RLP.Prelevato
+ FROM RigheListePrelievo AS RLP INNER JOIN ElencoListePrelievo AS ELP
+ ON RLP.CodLista = ELP.CodLista
+ WHERE (ELP.CodStatoLista BETWEEN 1 AND 3) AND RLP.Prelevato = 1 AND ELP.CodLista <> @CodLista
+ )
+
+-- effettua "sblocco" delle righe liste prelievo che danno UDC prelevati ma che NON risultano
+UPDATE cteUdcRigheAttive
+ SET Prelevato = 0
+ WHERE UDC = @UDC
+
+RETURN
+go
+
+commit
+go
+
+
+
+
+
+-- registro versione...
+INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(326, GETDATE())
+GO
diff --git a/GMW/GMW_data/SqlScripts/V1.1/GMW_00327.sql b/GMW/GMW_data/SqlScripts/V1.1/GMW_00327.sql
new file mode 100644
index 00000000..cc781990
--- /dev/null
+++ b/GMW/GMW_data/SqlScripts/V1.1/GMW_00327.sql
@@ -0,0 +1,429 @@
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+alter VIEW v_selUdcByPart
+AS
+SELECT UDC AS value, ISNULL(RTRIM(UDC), '-') + ' - ' + ISNULL(RTRIM(Particolare), '...') + ' (' + ISNULL(RTRIM(DescParticolare), '') + ') ' + ISNULL(RTRIM(DisegnoGrezzo), '-')
+ + ' pz. ' + ISNULL(CAST(Qta AS varchar), '0') AS label, Particolare, IdxPosizione, CodCS
+FROM dbo.ElencoCartellini
+WHERE (NOT (Particolare IS NULL)) AND (IdxPosizione >= 0)
+go
+
+exec sp_updateextendedproperty 'MS_DiagramPane1', '[0E232FF0-B466-11cf-A24F-00AA00A3EFFF, 1.00]
+Begin DesignProperties =
+ Begin PaneConfigurations =
+ Begin PaneConfiguration = 0
+ NumPanes = 4
+ Configuration = "(H (1[40] 4[20] 2[20] 3) )"
+ End
+ Begin PaneConfiguration = 1
+ NumPanes = 3
+ Configuration = "(H (1 [50] 4 [25] 3))"
+ End
+ Begin PaneConfiguration = 2
+ NumPanes = 3
+ Configuration = "(H (1 [50] 2 [25] 3))"
+ End
+ Begin PaneConfiguration = 3
+ NumPanes = 3
+ Configuration = "(H (4 [30] 2 [40] 3))"
+ End
+ Begin PaneConfiguration = 4
+ NumPanes = 2
+ Configuration = "(H (1 [56] 3))"
+ End
+ Begin PaneConfiguration = 5
+ NumPanes = 2
+ Configuration = "(H (2 [66] 3))"
+ End
+ Begin PaneConfiguration = 6
+ NumPanes = 2
+ Configuration = "(H (4 [50] 3))"
+ End
+ Begin PaneConfiguration = 7
+ NumPanes = 1
+ Configuration = "(V (3))"
+ End
+ Begin PaneConfiguration = 8
+ NumPanes = 3
+ Configuration = "(H (1[56] 4[18] 2) )"
+ End
+ Begin PaneConfiguration = 9
+ NumPanes = 2
+ Configuration = "(H (1 [75] 4))"
+ End
+ Begin PaneConfiguration = 10
+ NumPanes = 2
+ Configuration = "(H (1[66] 2) )"
+ End
+ Begin PaneConfiguration = 11
+ NumPanes = 2
+ Configuration = "(H (4 [60] 2))"
+ End
+ Begin PaneConfiguration = 12
+ NumPanes = 1
+ Configuration = "(H (1) )"
+ End
+ Begin PaneConfiguration = 13
+ NumPanes = 1
+ Configuration = "(V (4))"
+ End
+ Begin PaneConfiguration = 14
+ NumPanes = 1
+ Configuration = "(V (2))"
+ End
+ ActivePaneConfig = 0
+ End
+ Begin DiagramPane =
+ Begin Origin =
+ Top = 0
+ Left = 0
+ End
+ Begin Tables =
+ Begin Table = "ElencoCartellini"
+ Begin Extent =
+ Top = 6
+ Left = 38
+ Bottom = 319
+ Right = 208
+ End
+ DisplayFlags = 280
+ TopColumn = 0
+ End
+ End
+ End
+ Begin SQLPane =
+ End
+ Begin DataPane =
+ Begin ParameterDefaults = ""
+ End
+ Begin ColumnWidths = 9
+ Width = 284
+ Width = 1500
+ Width = 8910
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ End
+ End
+ Begin CriteriaPane =
+ Begin ColumnWidths = 11
+ Column = 1440
+ Alias = 900
+ Table = 1170
+ Output = 720
+ Append = 1400
+ NewValue = 1170
+ SortType = 1350
+ SortOrder = 1410
+ GroupBy = 1350
+ Filter = 1350
+ Or = 1350
+ Or = 1350
+ Or = 1350
+ End
+ End
+End
+', 'SCHEMA', 'dbo', 'VIEW', 'v_selUdcByPart'
+go
+
+commit
+go
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_ParticolariOverviewPerListaPrelievo
+*
+* elenco di overview sull'impiego dei particolari (dettaglio a "maglie larghe") x una possibile lista di prelievo
+*
+* Steamware, S.E.L.
+* mod: 2010.05.31
+*
+****************************************/
+alter PROCEDURE stp_ParticolariOverviewPerListaPrelievo
+(
+ @Particolare VARCHAR(50),
+ @CodCS VARCHAR(2),
+ @Esponente NVARCHAR(6),
+ @Figura NVARCHAR(4),
+ @CodImballo NVARCHAR(15),
+ @CodTipoLista NVARCHAR (10)
+)
+AS
+ SELECT RilPro.AnagParticolari.Particolare, RilPro.AnagParticolari.DescParticolare, ISNULL(COUNT(dbo.ElencoCartellini.UDC), 0) AS NumUDC,
+ ISNULL(SUM(dbo.ElencoCartellini.Qta), 0) AS TotQta, ISNULL(COUNT(dbo.PosizioneUdcCorrente.IdxCella), 0) AS NumInMag
+ FROM RilPro.AnagParticolari LEFT OUTER JOIN
+ dbo.ElencoCartellini ON RilPro.AnagParticolari.Particolare = dbo.ElencoCartellini.Particolare LEFT OUTER JOIN
+ dbo.PosizioneUdcCorrente ON dbo.ElencoCartellini.UDC = dbo.PosizioneUdcCorrente.UDC
+ WHERE RilPro.AnagParticolari.CodCS = @CodCS AND
+ RilPro.AnagParticolari.Particolare = @Particolare AND
+ (IdxPosizione IN (SELECT tt.IdxPosizione
+ FROM TipoListaPrelievo tlp INNER JOIN TabTranPosizEventi tt ON tlp.CodEvento = tt.CodEvento
+ WHERE (tlp.CodTipoLista = @CodTipoLista))) AND
+ (dbo.ElencoCartellini.Figura = CASE WHEN @Figura = '*' THEN dbo.ElencoCartellini.Figura ELSE @Figura END) AND
+ (dbo.ElencoCartellini.Esponente = CASE WHEN @Esponente = '*' THEN dbo.ElencoCartellini.Esponente ELSE @Esponente END) AND
+ (dbo.ElencoCartellini.CodImballo = CASE WHEN @CodImballo = '*' THEN dbo.ElencoCartellini.CodImballo ELSE @CodImballo END)
+ /*
+ AND ElencoCartellini.UDC NOT IN (
+ SELECT DISTINCT UDC
+ FROM RigheListePrelievo INNER JOIN ElencoListePrelievo
+ ON RigheListePrelievo.CodLista = ElencoListePrelievo.CodLista
+ WHERE (CodStatoLista > 1 AND Prelevato = 1)
+ )
+ */
+ GROUP BY RilPro.AnagParticolari.Particolare, RilPro.AnagParticolari.DescParticolare
+
+RETURN
+go
+
+commit
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_ParticolariOverviewPerListaPrelievo
+*
+* elenco degli UDC x lista di prelievo e particolare
+*
+* Steamware, S.E.L.
+* mod: 2010.11.26
+*
+****************************************/
+create PROCEDURE stp_UdcPerParticolareCodLista
+(
+ @Particolare VARCHAR(50),
+ @CodCS VARCHAR(2),
+ @CodTipoLista NVARCHAR (10)
+)
+AS
+ SELECT *
+ FROM v_selUdcByPart
+ WHERE (Particolare = @Particolare) AND (CodCS = @CodCS)
+ AND (IdxPosizione IN (SELECT tt.IdxPosizione
+ FROM TipoListaPrelievo tlp INNER JOIN TabTranPosizEventi tt ON tlp.CodEvento = tt.CodEvento
+ WHERE (tlp.CodTipoLista = @CodTipoLista)))
+
+
+RETURN
+go
+
+commit
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+alter table TabTranPosizEventi add
+ toAs400 bit constraint DF_TabTranPosizEventi_toAs400 default (1)
+go
+
+update TabTranPosizEventi set toAs400=1
+go
+
+set ANSI_NULLS on
+go
+
+-- =============================================
+-- Author: Samuele E. Locatelli
+-- Create date: 2009-09-20
+-- Description: trigger x inserimento movimenti
+-- nella coda di trasferimento batch
+-- verso AS400 x UPDATE UDC
+-- =============================================
+alter TRIGGER trg_updMovAS
+ ON ElencoCartellini
+ AFTER UPDATE
+AS
+BEGIN
+
+ -- setup variabili e verbosità
+ SET NOCOUNT ON;
+ DECLARE @partOk AS BIT
+ DECLARE @IdxPosFrom AS INT
+ DECLARE @IdxPosTo AS INT
+ DECLARE @magFrom AS NVARCHAR(50)
+ DECLARE @magTo AS NVARCHAR(50)
+ DECLARE @qta AS DECIMAL(10,2)
+ DECLARE @qtaOld AS DECIMAL(10,2)
+ DECLARE @IdxPosizioneComp INT
+ DECLARE @toAs400 BIT
+
+ -- controllo che CI SIA il particolare (altrimenti non eseguo)
+ SET @partOk = (SELECT CASE WHEN ISNULL(Particolare,'n.d.') = 'n.d.' THEN 0 ELSE 1 END FROM deleted)
+
+ IF(@partOk = 1)
+ SET @qta = (SELECT Qta FROM inserted)
+ SET @qtaOld = (SELECT Qta FROM deleted)
+ -- se c'è stata modifica di quantità inizio a rettificare quella
+ IF ((UPDATE(Qta)) AND(@qta <> @qtaOld))
+ BEGIN
+ -- registro il VERO movimento
+ INSERT INTO AS400_BatchMovimenti(DataIns, CodEvento, Particolare, UDC, CodMagAS, Quantita)
+ (
+ SELECT GETDATE(), 'UDC_MOD', Particolare, UDC, CAST(IdxPosizione AS NVARCHAR(50)), @qta - Qta
+ FROM deleted
+ WHERE CAST(IdxPosizione AS NVARCHAR(50)) IN (SELECT CodMagAS FROM AS400_MagCont WHERE Attivo = 1)
+ )
+ -- controllo: se il magazzino di destinazione richiede una compensazione registro il 2° movimento di compensazione
+ SET @IdxPosFrom = (SELECT IdxPosizione FROM deleted)
+ SET @IdxPosTo = (SELECT IdxPosizione FROM inserted)
+ -- calcolo il mag di compensazione
+ SET @IdxPosizioneComp = (SELECT CAST(ISNULL(CodMagAS_compensaz,0) AS INT) FROM AS400_MagCont WHERE (Attivo = 1) AND (CodMagAS = CAST(@IdxPosFrom AS NVARCHAR(50))))
+ IF (@IdxPosizioneComp > 0)
+ BEGIN
+ INSERT INTO AS400_BatchMovimenti(DataIns, CodEvento, Particolare, UDC, CodMagAS, Quantita)
+ (
+ SELECT GETDATE(), 'UDC_COMP', Particolare, UDC, CAST(@IdxPosizioneComp AS NVARCHAR(50)), Qta - @qta
+ FROM deleted
+ WHERE CAST(IdxPosizione AS NVARCHAR(50)) IN (SELECT CodMagAS FROM AS400_MagCont WHERE Attivo = 1)
+ )
+ END
+ END
+
+ -- Prendo le posizioni di magazzino precedente e nuova
+ SET @IdxPosFrom = (SELECT IdxPosizione FROM deleted)
+ SET @IdxPosTo = (SELECT IdxPosizione FROM inserted)
+
+ -- controllo se devo fare rettifiche quantità...
+ SET @toAs400 = (
+ SELECT TOP 1 ISNULL(toAs400, 0) as valore
+ FROM TabTranPosizEventi
+ WHERE IdxPosizione = @IdxPosFrom AND IdxPosizioneTo = @IdxPosTo
+ )
+
+ -- controllo poi se sia cambiato il magazzino logico (IdxPosizione) e si richieda update verso AS400, altrimenti non lo inserisco
+ IF ((UPDATE(IdxPosizione)) AND @toAs400 = 1)
+ BEGIN
+ -- Le trasformo nelle equivalenti stringhe del codMag SE attive
+ SET @magFrom = (SELECT ISNULL(CodMagAS,'---') FROM AS400_MagCont WHERE Attivo = 1 AND CodMagAs = CAST(@IdxPosFrom AS NVARCHAR(50)))
+ SET @magTo = (SELECT ISNULL(CodMagAS,'---') FROM AS400_MagCont WHERE Attivo = 1 AND CodMagAs = CAST(@IdxPosTo AS NVARCHAR(50)))
+
+ -- inserisco un movimento di deposito verso mag nuovo (SE attivo)
+ IF (@magFrom <> '---')
+ BEGIN
+ INSERT INTO AS400_BatchMovimenti(DataIns, CodEvento, Particolare, UDC, CodMagAS, Quantita)
+ (
+ SELECT GETDATE(), 'UDC_MOV', Particolare, UDC, CAST(IdxPosizione AS NVARCHAR(50)), -@qta
+ FROM deleted
+ WHERE CAST(IdxPosizione AS NVARCHAR(50)) IN (SELECT CodMagAS FROM AS400_MagCont WHERE Attivo = 1)
+ )
+ END
+ -- inserisco un movimento di prelievo verso mag vecchio (SE attivo)
+ IF (@magTo <> '---')
+ BEGIN
+ INSERT INTO AS400_BatchMovimenti(DataIns, CodEvento, Particolare, UDC, CodMagAS, Quantita)
+ (
+ SELECT GETDATE(), 'UDC_MOV', Particolare, UDC, CAST(IdxPosizione AS NVARCHAR(50)), @qta
+ FROM inserted
+ WHERE CAST(IdxPosizione AS NVARCHAR(50)) IN (SELECT CodMagAS FROM AS400_MagCont WHERE Attivo = 1)
+ )
+ END
+ END
+
+END
+go
+
+commit
+go
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+INSERT INTO dbo.AnagTipoEvento
+ VALUES (N'UDC_RIEN', N'Rientro UDC da 88')
+go
+
+commit transaction
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+UPDATE dbo.TabTranPosizEventi SET
+ toAs400=0
+ WHERE CodEvento=N'DelWipPost' and IdxPosizione=305
+UPDATE dbo.TabTranPosizEventi SET
+ toAs400=0
+ WHERE CodEvento=N'DelWipPre' and IdxPosizione=290
+UPDATE dbo.TabTranPosizEventi SET
+ toAs400=0
+ WHERE CodEvento=N'MagPreFin' and IdxPosizione=54
+UPDATE dbo.TabTranPosizEventi SET
+ toAs400=0
+ WHERE CodEvento=N'MagPreFus' and IdxPosizione=80
+UPDATE dbo.TabTranPosizEventi SET
+ toAs400=0
+ WHERE CodEvento=N'MagPreFus' and IdxPosizione=84
+UPDATE dbo.TabTranPosizEventi SET
+ toAs400=0
+ WHERE CodEvento=N'MagPreWip' and IdxPosizione=84
+UPDATE dbo.TabTranPosizEventi SET
+ toAs400=0
+ WHERE CodEvento=N'SpeWipTerz' and IdxPosizione=290
+UPDATE dbo.TabTranPosizEventi SET
+ toAs400=0
+ WHERE CodEvento=N'SpeWipTerz' and IdxPosizione=295
+UPDATE dbo.TabTranPosizEventi SET
+ toAs400=0
+ WHERE CodEvento=N'UDC_CONS' and IdxPosizione=54
+UPDATE dbo.TabTranPosizEventi SET
+ toAs400=0
+ WHERE CodEvento=N'UDC_CONS' and IdxPosizione=56
+UPDATE dbo.TabTranPosizEventi SET
+ toAs400=0
+ WHERE CodEvento=N'UDC_CONS' and IdxPosizione=84
+INSERT INTO dbo.TabTranPosizEventi
+ VALUES (N'UDC_RIEN', 88, 84, 1)
+go
+
+commit transaction
+go
+
+
+
+
+
+
+
+
+
+-- registro versione...
+INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(327, GETDATE())
+GO
diff --git a/GMW/GMW_data/SqlScripts/V1.1/GMW_00335.sql b/GMW/GMW_data/SqlScripts/V1.1/GMW_00335.sql
new file mode 100644
index 00000000..8753fa20
--- /dev/null
+++ b/GMW/GMW_data/SqlScripts/V1.1/GMW_00335.sql
@@ -0,0 +1,525 @@
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_scaricaUdc
+*
+* elimina dalle posizioni correnti un UDC, salvandone la posizione precedente nella tab storica (per scaricamento / spedizione)
+*
+* Steamware, S.E.L.
+* mod: 2010.09.28
+*
+****************************************/
+alter PROCEDURE stp_scaricaUdc
+(
+ @UDC VARCHAR(50),
+ @IdxCellaFrom INT,
+ @IdxPosizione INT
+)
+AS
+
+BEGIN TRAN
+ -- libero la posizione attuale dell'UDC (se c'è...)
+ DELETE
+ FROM PosizioneUdcCorrente
+ WHERE UDC = @UDC AND IdxCella = @IdxCellaFrom
+
+ -- aggiorno l'UDC come posizione finale...
+ UPDATE ElencoCartellini
+ SET IdxPosizione = @IdxPosizione, ModDate = GETDATE()
+ WHERE UDC = @UDC
+
+COMMIT TRAN
+
+RETURN
+go
+
+commit
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_UDC_delibera
+*
+* fa la delibera dell'UDC andando a processare la state machien e quindi eventualmente cambiando la sua posizione
+*
+* Steamware, S.E.L.
+* mod: 2010.09.13
+*
+************************************/
+alter PROCEDURE stp_UDC_delibera
+(
+ @CodTipoDelibera NVARCHAR(50),
+ @UDC NVARCHAR(50),
+ @CodSoggetto NVARCHAR(17),
+ @CodCS VARCHAR(2)
+)
+
+AS
+
+BEGIN TRAN
+ DECLARE @IdxPosizioneTo AS INT
+ DECLARE @IdxPosizioneFrom AS INT
+ DECLARE @IdxPosizionePre AS NVARCHAR(50)
+ DECLARE @IdxCellaPre AS INT
+ DECLARE @IdxCellaTo AS INT
+
+ -- ricavo cella ATTUALE
+ SET @IdxCellaPre = (SELECT IdxCella FROM PosizioneUdcCorrente WHERE UDC = @UDC)
+
+ -- ricavo posizione ATTUALE
+ SET @IdxPosizionePre = (SELECT TOP 1 b.CodMag FROM Celle c INNER JOIN Blocchi b ON c.IdxBlocco=b.IdxBlocco WHERE c.IdxCella = @IdxCellaPre)
+
+
+ -- registro delibera
+ INSERT INTO DELIBERE
+ VALUES (@CodTipoDelibera, @UDC, GETDATE(), @CodSoggetto)
+
+ -- ricavo nuova posizione
+ SET @IdxPosizioneTo = (SELECT tt.IdxPosizioneTo
+ FROM TabTranPosizEventi tt INNER JOIN AnagTipoDelibere atd ON tt.CodEvento = atd.CodEvento
+ WHERE (atd.CodTipoDelibera = @CodTipoDelibera))
+
+ -- ricavo posizione TEORICA VECCHIA
+ SET @IdxPosizioneFrom = (SELECT tt.IdxPosizione
+ FROM TabTranPosizEventi tt INNER JOIN AnagTipoDelibere atd ON tt.CodEvento = atd.CodEvento
+ WHERE (atd.CodTipoDelibera = @CodTipoDelibera))
+
+ -- calcolo la prima cella della nuova posizione...
+ SET @IdxCellaTo = (
+ SELECT TOP 1 IdxCella FROM Celle
+ WHERE IdxBlocco = (
+ SELECT IdxBlocco FROM Blocchi
+ WHERE CodMag=CAST(@IdxPosizioneTo AS NVARCHAR(50)))
+ )
+
+ -- faccio update posizione
+ UPDATE ElencoCartellini
+ SET IdxPosizione = @IdxPosizioneTo, ModDate = GETDATE()
+ WHERE UDC = @UDC
+
+ -- controllo posizioni actual e from teorica: SE e SOLO SE corrispondono faccio spostamento...
+ IF(CAST(@IdxPosizioneFrom AS NVARCHAR(50)) = @IdxPosizionePre)
+ BEGIN
+ -- ora cambio anche la posizione corrente dell'UDC (e tramite trigger storicizza...)
+ EXEC stp_spostaUdc @CodCS, @UDC, @IdxCellaTo
+ END
+
+COMMIT TRAN
+
+
+RETURN
+go
+
+commit
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_ParticolariOverview
+*
+* elenco di overview sull'impiego dei particolari (dettaglio a "maglie larghe")
+*
+* Steamware, S.E.L.
+* mod: 2010.05.31
+*
+****************************************/
+alter PROCEDURE stp_ParticolariOverview
+(
+ @searchVal VARCHAR(50),
+ @CodCS VARCHAR(2)
+)
+AS
+
+ SELECT RilPro.AnagParticolari.Particolare, RilPro.AnagParticolari.DescParticolare, ISNULL(COUNT(dbo.ElencoCartellini.UDC), 0) AS NumUDC,
+ ISNULL(SUM(dbo.ElencoCartellini.Qta), 0) AS TotQta, ISNULL(COUNT(dbo.PosizioneUdcCorrente.IdxCella), 0) AS NumInMag
+ FROM RilPro.AnagParticolari LEFT OUTER JOIN
+ dbo.ElencoCartellini ON RilPro.AnagParticolari.Particolare = dbo.ElencoCartellini.Particolare LEFT OUTER JOIN
+ dbo.PosizioneUdcCorrente ON dbo.ElencoCartellini.UDC = dbo.PosizioneUdcCorrente.UDC
+ WHERE RilPro.AnagParticolari.CodCS = @CodCS AND RilPro.AnagParticolari.Particolare = @searchVal
+ AND ElencoCartellini.IdxPosizione >= 0 -- vincolo posizioni mag attive
+ GROUP BY RilPro.AnagParticolari.Particolare, RilPro.AnagParticolari.DescParticolare
+
+RETURN
+go
+
+/***************************************
+* STORED stp_ParticolariOverviewLike
+*
+* elenco di overview sull'impiego dei particolari (dettaglio a "maglie larghe") - modalità LIKE
+*
+* Steamware, S.E.L.
+* mod: 2010.05.31
+*
+****************************************/
+alter PROCEDURE stp_ParticolariOverviewLike
+(
+ @searchVal VARCHAR(50),
+ @CodCS VARCHAR(2)
+)
+AS
+
+ SELECT RilPro.AnagParticolari.Particolare, RilPro.AnagParticolari.DescParticolare, ISNULL(COUNT(ElencoCartellini.UDC), 0) AS NumUDC,
+ SUM(ISNULL(ElencoCartellini.Qta, 0)) AS TotQta, ISNULL(COUNT(PosizioneUdcCorrente.IdxCella), 0) AS NumInMag
+ FROM RilPro.AnagParticolari LEFT OUTER JOIN
+ ElencoCartellini ON RilPro.AnagParticolari.Particolare = ElencoCartellini.Particolare LEFT OUTER JOIN
+ PosizioneUdcCorrente ON ElencoCartellini.UDC = PosizioneUdcCorrente.UDC
+ WHERE (RilPro.AnagParticolari.CodCS = @CodCS)
+ AND ((RilPro.AnagParticolari.Particolare LIKE '%' + @searchVal + '%') OR (RilPro.AnagParticolari.DescParticolare LIKE '%' + @searchVal + '%'))
+ AND ElencoCartellini.IdxPosizione >= 0 -- vincolo posizioni mag attive
+ GROUP BY RilPro.AnagParticolari.Particolare, RilPro.AnagParticolari.DescParticolare
+
+RETURN
+go
+
+commit
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_paretoDettMagByParticolare
+*
+* restituisce elenco giacenze a magazzino in logica pareto (quantità) per un dato particolare
+*
+* Steamware, S.E.L.
+* mod: 2010.06.04
+*
+****************************************/
+alter PROCEDURE stp_paretoDettMagByParticolare
+(
+ @CodCS VARCHAR(2),
+ @Particolare VARCHAR(20)
+)
+AS
+
+ SELECT TOP (100) PERCENT am.CodCS, am.CodMag, am.DescMag, b.IdxBlocco, b.CodBlocco, ec.Particolare,
+ ec.Esponente, COUNT(puc.UDC) AS NumUDC, ISNULL(MIN(puc.DataRif),
+ GETDATE()) AS Oldest, ISNULL(MAX(puc.DataRif), GETDATE()) AS Newest, SUM(ec.Qta) AS QtaTotPz,
+ asp.DescStato, ec.IdxPosizione AS CodMagLog
+ FROM AnagMag am INNER JOIN
+ Blocchi b ON am.CodMag = b.CodMag AND am.CodCS = b.CodCS INNER JOIN
+ Celle c INNER JOIN
+ ElencoCartellini ec LEFT OUTER JOIN
+ PosizioneUdcCorrente puc ON ec.UDC = puc.UDC ON c.IdxCella = puc.IdxCella ON
+ b.IdxBlocco = c.IdxBlocco INNER JOIN
+ AnagStatiProdotto asp ON ec.CodStato = asp.CodStato
+ WHERE (c.Attiva = 1) AND (am.CodCS = @CodCS) AND (ec.Particolare = @Particolare)
+ GROUP BY am.CodCS, am.CodMag, am.DescMag, b.IdxBlocco, b.CodBlocco, b.NumX, b.NumY, b.NumZ,
+ ec.Particolare, ec.Esponente, ec.IdxPosizione, asp.DescStato
+ ORDER BY QtaTotPz DESC
+
+
+RETURN
+go
+
+commit
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_spostaUdc
+*
+* sposta un UDC, salvandone la posizione precedente (se esiste) nella tab storica
+*
+* Steamware, S.E.L.
+* mod: 2010.06.11
+*
+****************************************/
+alter PROCEDURE stp_spostaUdc
+(
+ @CodCS VARCHAR(2),
+ @UDC VARCHAR(50),
+ @IdxCellaTo INT
+)
+AS
+
+BEGIN TRAN
+
+ -- DICHIARAZIONI iniziali variabili
+ DECLARE @IdxCellaFrom INT
+ DECLARE @capienza INT
+ DECLARE @numUdc INT
+
+ -- controllo cella di partenza
+ SET @IdxCellaFrom = (SELECT IdxCella FROM PosizioneUdcCorrente WHERE UDC = @UDC)
+ -- controllo se la cella di dest vada indicata come piena
+ SET @capienza = (
+ SELECT tc.Capienza
+ FROM TipoCella TC INNER JOIN Celle c ON TC.IdxTipoCella=c.IdxTipoCella
+ WHERE c.IdxCella = @IdxCellaFrom
+ )
+ SET @numUdc = (SELECT COUNT(*) FROM PosizioneUdcCorrente WHERE IdxCella = @IdxCellaFrom)
+ -- se capienza raggiunta aggiorno...
+ IF(@numUdc -1 < @capienza)
+ BEGIN
+ EXEC stp_celle_updPiena @IdxCellaFrom, 0
+ END
+
+ -- cancello posizione occupata
+ DELETE
+ FROM PosizioneUdcCorrente
+ WHERE UDC = @UDC
+
+ -- cancello eventuali righe liste di prelievo FUSI per l'UDC
+ DELETE FROM RigheListePrelievo
+ WHERE UDC = @UDC AND CodLista IN (
+ SELECT CodLista FROM ElencoListePrelievo
+ WHERE CodTipoLista='01-PreFus'
+ )
+
+
+
+ -- creo una nuova posizione per l'UDC
+ INSERT INTO PosizioneUdcCorrente(UDC, IdxCella, CodCS, DataRif)
+ VALUES(@UDC, @IdxCellaTo, @CodCS, GETDATE())
+
+ -- controllo se la cella di dest vada indicata come piena
+ SET @capienza = (
+ SELECT tc.Capienza
+ FROM TipoCella TC INNER JOIN Celle c ON TC.IdxTipoCella=c.IdxTipoCella
+ WHERE c.IdxCella = @IdxCellaTo
+ )
+ SET @numUdc = (SELECT COUNT(*) FROM PosizioneUdcCorrente WHERE IdxCella = @IdxCellaTo)
+ -- se capienza raggiunta aggiorno...
+ IF(@numUdc >= @capienza)
+ BEGIN
+ EXEC stp_celle_updPiena @IdxCellaTo, 1
+ END
+
+COMMIT TRAN
+
+RETURN
+go
+
+commit
+go
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+DELETE FROM dbo.TabTranPosizEventi WHERE CodEvento=N'UDC_RIEN' and IdxPosizione=88
+go
+
+commit transaction
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+INSERT INTO dbo.AnagTipoEvento
+ VALUES (N'UDC_RIEN54', N'Rientro UDC da 88 a 54')
+INSERT INTO dbo.AnagTipoEvento
+ VALUES (N'UDC_RIEN84', N'Rientro UDC da 88 a 84')
+DELETE FROM dbo.AnagTipoEvento WHERE CodEvento=N'UDC_RIEN'
+go
+
+commit transaction
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+INSERT INTO dbo.TabTranPosizEventi
+ VALUES (N'UDC_RIEN54', 88, 54, 1)
+INSERT INTO dbo.TabTranPosizEventi
+ VALUES (N'UDC_RIEN84', 88, 84, 1)
+go
+
+commit transaction
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_spostaUdc
+*
+* sposta un UDC, salvandone la posizione precedente (se esiste) nella tab storica
+*
+* Steamware, S.E.L.
+* mod: 2010.06.11
+*
+****************************************/
+alter PROCEDURE stp_spostaUdc
+(
+ @CodCS VARCHAR(2),
+ @UDC VARCHAR(50),
+ @IdxCellaTo INT,
+ @resetRLP BIT
+)
+AS
+
+BEGIN TRAN
+
+ -- DICHIARAZIONI iniziali variabili
+ DECLARE @IdxCellaFrom INT
+ DECLARE @capienza INT
+ DECLARE @numUdc INT
+
+ -- controllo cella di partenza
+ SET @IdxCellaFrom = (SELECT IdxCella FROM PosizioneUdcCorrente WHERE UDC = @UDC)
+ -- controllo se la cella di dest vada indicata come piena
+ SET @capienza = (
+ SELECT tc.Capienza
+ FROM TipoCella TC INNER JOIN Celle c ON TC.IdxTipoCella=c.IdxTipoCella
+ WHERE c.IdxCella = @IdxCellaFrom
+ )
+ SET @numUdc = (SELECT COUNT(*) FROM PosizioneUdcCorrente WHERE IdxCella = @IdxCellaFrom)
+ -- se capienza raggiunta aggiorno...
+ IF(@numUdc -1 < @capienza)
+ BEGIN
+ EXEC stp_celle_updPiena @IdxCellaFrom, 0
+ END
+
+ -- cancello posizione occupata
+ DELETE
+ FROM PosizioneUdcCorrente
+ WHERE UDC = @UDC
+
+ -- SE RICHIESTO cancello eventuali righe liste di prelievo FUSI per l'UDC
+ IF(@resetRLP = 1)
+ BEGIN
+ DELETE FROM RigheListePrelievo
+ WHERE UDC = @UDC AND CodLista IN (
+ SELECT CodLista FROM ElencoListePrelievo
+ WHERE CodTipoLista='01-PreFus'
+ )
+ END
+
+
+
+ -- creo una nuova posizione per l'UDC
+ INSERT INTO PosizioneUdcCorrente(UDC, IdxCella, CodCS, DataRif)
+ VALUES(@UDC, @IdxCellaTo, @CodCS, GETDATE())
+
+ -- controllo se la cella di dest vada indicata come piena
+ SET @capienza = (
+ SELECT tc.Capienza
+ FROM TipoCella TC INNER JOIN Celle c ON TC.IdxTipoCella=c.IdxTipoCella
+ WHERE c.IdxCella = @IdxCellaTo
+ )
+ SET @numUdc = (SELECT COUNT(*) FROM PosizioneUdcCorrente WHERE IdxCella = @IdxCellaTo)
+ -- se capienza raggiunta aggiorno...
+ IF(@numUdc >= @capienza)
+ BEGIN
+ EXEC stp_celle_updPiena @IdxCellaTo, 1
+ END
+
+COMMIT TRAN
+
+RETURN
+go
+
+commit
+go
+
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_annullaUDC
+*
+* annulla un UDC
+*
+* Steamware, S.E.L.
+* mod: 2010.04.28
+*
+****************************************/
+alter PROCEDURE stp_annullaUDC
+(
+ @UDC VARCHAR(20),
+ @CodSoggetto VARCHAR(17)
+)
+AS
+
+BEGIN TRAN
+
+ -- faccio update
+ UPDATE ElencoCartellini
+ SET IdxPosizione = 0, ModDate = GETDATE()
+ WHERE UDC = @UDC
+
+
+COMMIT TRAN
+
+RETURN
+go
+
+commit
+go
+
+
+
+
+
+-- registro versione...
+INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(335, GETDATE())
+GO
diff --git a/GMW/GMW_data/SqlScripts/V1.1/GMW_00336.sql b/GMW/GMW_data/SqlScripts/V1.1/GMW_00336.sql
new file mode 100644
index 00000000..cdfe2422
--- /dev/null
+++ b/GMW/GMW_data/SqlScripts/V1.1/GMW_00336.sql
@@ -0,0 +1,125 @@
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_getRigaPrelievoByCodListaPrelevate
+* restituisce elenco delle SOLE righe prelevate (UDC)
+*
+* Steamware, S.E.L.
+* mod: 2010.12.10
+*
+************************************/
+create PROCEDURE stp_getRigaPrelievoByCodListaPrelevate
+(
+ @CodLista NVARCHAR(12)
+)
+AS
+
+SELECT *
+FROM RigheListePrelievo
+WHERE (CodLista = @CodLista) AND Prelevato = 1
+go
+
+commit
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_UDC_delibera
+*
+* fa la delibera dell'UDC andando a processare la state machien e quindi eventualmente cambiando la sua posizione
+*
+* Steamware, S.E.L.
+* mod: 2010.09.13
+*
+************************************/
+alter PROCEDURE stp_UDC_delibera
+(
+ @CodTipoDelibera NVARCHAR(50),
+ @UDC NVARCHAR(50),
+ @CodSoggetto NVARCHAR(17),
+ @CodCS VARCHAR(2)
+)
+
+AS
+
+BEGIN TRAN
+ DECLARE @IdxPosizioneTo AS INT
+ DECLARE @IdxPosizioneFrom AS INT
+ DECLARE @IdxPosizionePre AS NVARCHAR(50)
+ DECLARE @IdxCellaPre AS INT
+ DECLARE @IdxCellaTo AS INT
+
+ -- ricavo cella ATTUALE
+ SET @IdxCellaPre = (SELECT IdxCella FROM PosizioneUdcCorrente WHERE UDC = @UDC)
+
+ -- ricavo posizione ATTUALE
+ SET @IdxPosizionePre = (SELECT TOP 1 b.CodMag FROM Celle c INNER JOIN Blocchi b ON c.IdxBlocco=b.IdxBlocco WHERE c.IdxCella = @IdxCellaPre)
+
+
+ -- registro delibera
+ INSERT INTO DELIBERE
+ VALUES (@CodTipoDelibera, @UDC, GETDATE(), @CodSoggetto)
+
+ -- ricavo nuova posizione
+ SET @IdxPosizioneTo = (SELECT tt.IdxPosizioneTo
+ FROM TabTranPosizEventi tt INNER JOIN AnagTipoDelibere atd ON tt.CodEvento = atd.CodEvento
+ WHERE (atd.CodTipoDelibera = @CodTipoDelibera))
+
+ -- ricavo posizione TEORICA VECCHIA
+ SET @IdxPosizioneFrom = (SELECT tt.IdxPosizione
+ FROM TabTranPosizEventi tt INNER JOIN AnagTipoDelibere atd ON tt.CodEvento = atd.CodEvento
+ WHERE (atd.CodTipoDelibera = @CodTipoDelibera))
+
+ -- calcolo la prima cella della nuova posizione...
+ SET @IdxCellaTo = (
+ SELECT TOP 1 IdxCella FROM Celle
+ WHERE IdxBlocco = (
+ SELECT IdxBlocco FROM Blocchi
+ WHERE CodMag=CAST(@IdxPosizioneTo AS NVARCHAR(50)))
+ )
+
+ -- faccio update posizione
+ UPDATE ElencoCartellini
+ SET IdxPosizione = @IdxPosizioneTo, ModDate = GETDATE()
+ WHERE UDC = @UDC
+
+ -- controllo posizioni actual e from teorica: SE e SOLO SE corrispondono faccio spostamento...
+ IF(CAST(@IdxPosizioneFrom AS NVARCHAR(50)) = @IdxPosizionePre)
+ BEGIN
+ -- ora cambio anche la posizione corrente dell'UDC (e tramite trigger storicizza...)
+ EXEC stp_spostaUdc @CodCS, @UDC, @IdxCellaTo, 0
+ END
+
+COMMIT TRAN
+
+
+RETURN
+go
+
+commit
+go
+
+
+
+
+
+
+-- registro versione...
+INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(336, GETDATE())
+GO
diff --git a/GMW/GMW_data/SqlScripts/V1.1/GMW_00340.sql b/GMW/GMW_data/SqlScripts/V1.1/GMW_00340.sql
new file mode 100644
index 00000000..87c61ff0
--- /dev/null
+++ b/GMW/GMW_data/SqlScripts/V1.1/GMW_00340.sql
@@ -0,0 +1,286 @@
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+alter VIEW v_selDestinatariListePrelievo
+AS
+SELECT CAST('*' AS NVARCHAR(6)) AS value, CAST('*' AS NVARCHAR(50)) AS label, '01-PreFus' AS conditio
+UNION
+SELECT CAST(CodCliente AS NVARCHAR(6)) AS value, CAST(CodCliente AS NVARCHAR(6)) + ' - ' + CAST(RagSociale AS NVARCHAR(50)) AS label, '02-PreCli' AS conditio
+FROM RilPro.AnagClienti
+UNION
+SELECT CAST(CodTerzista AS NVARCHAR(6)) AS value, CAST(CodTerzista AS NVARCHAR(6)) + ' - ' + CAST(DescTerzista AS NVARCHAR(50)) AS label, '03-TerWip' AS conditio
+FROM RilPro.AnagDepositi
+go
+
+exec sp_updateextendedproperty 'MS_DiagramPane1', '[0E232FF0-B466-11cf-A24F-00AA00A3EFFF, 1.00]
+Begin DesignProperties =
+ Begin PaneConfigurations =
+ Begin PaneConfiguration = 0
+ NumPanes = 4
+ Configuration = "(H (1[19] 4[25] 2[19] 3) )"
+ End
+ Begin PaneConfiguration = 1
+ NumPanes = 3
+ Configuration = "(H (1 [50] 4 [25] 3))"
+ End
+ Begin PaneConfiguration = 2
+ NumPanes = 3
+ Configuration = "(H (1 [50] 2 [25] 3))"
+ End
+ Begin PaneConfiguration = 3
+ NumPanes = 3
+ Configuration = "(H (4 [30] 2 [40] 3))"
+ End
+ Begin PaneConfiguration = 4
+ NumPanes = 2
+ Configuration = "(H (1 [56] 3))"
+ End
+ Begin PaneConfiguration = 5
+ NumPanes = 2
+ Configuration = "(H (2 [66] 3))"
+ End
+ Begin PaneConfiguration = 6
+ NumPanes = 2
+ Configuration = "(H (4 [50] 3))"
+ End
+ Begin PaneConfiguration = 7
+ NumPanes = 1
+ Configuration = "(V (3))"
+ End
+ Begin PaneConfiguration = 8
+ NumPanes = 3
+ Configuration = "(H (1[56] 4[18] 2) )"
+ End
+ Begin PaneConfiguration = 9
+ NumPanes = 2
+ Configuration = "(H (1 [75] 4))"
+ End
+ Begin PaneConfiguration = 10
+ NumPanes = 2
+ Configuration = "(H (1[66] 2) )"
+ End
+ Begin PaneConfiguration = 11
+ NumPanes = 2
+ Configuration = "(H (4 [60] 2))"
+ End
+ Begin PaneConfiguration = 12
+ NumPanes = 1
+ Configuration = "(H (1) )"
+ End
+ Begin PaneConfiguration = 13
+ NumPanes = 1
+ Configuration = "(V (4))"
+ End
+ Begin PaneConfiguration = 14
+ NumPanes = 1
+ Configuration = "(V (2))"
+ End
+ ActivePaneConfig = 0
+ End
+ Begin DiagramPane =
+ Begin Origin =
+ Top = 0
+ Left = 0
+ End
+ Begin Tables =
+ End
+ End
+ Begin SQLPane =
+ End
+ Begin DataPane =
+ Begin ParameterDefaults = ""
+ End
+ Begin ColumnWidths = 9
+ Width = 284
+ Width = 1500
+ Width = 3360
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ End
+ End
+ Begin CriteriaPane =
+ Begin ColumnWidths = 11
+ Column = 1440
+ Alias = 900
+ Table = 1170
+ Output = 720
+ Append = 1400
+ NewValue = 1170
+ SortType = 1350
+ SortOrder = 1410
+ GroupBy = 1350
+ Filter = 1350
+ Or = 1350
+ Or = 1350
+ Or = 1350
+ End
+ End
+End
+', 'SCHEMA', 'dbo', 'VIEW', 'v_selDestinatariListePrelievo'
+go
+
+commit
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+alter VIEW v_RapQualSunto
+AS
+SELECT TOP (100) PERCENT CAST(nRapQual AS NVARCHAR(20)) AS nRapQual, DataRapQual, CodFor, CodLega, SUM(Qta) AS Qta, BenesQual, COUNT(*) AS UdcTot,
+ COUNT(UDC) AS UdcAssoc, LegaScaric
+FROM RilPro.RapQual
+GROUP BY nRapQual, DataRapQual, CodFor, CodLega, BenesQual, LegaScaric
+ORDER BY nRapQual
+go
+
+exec sp_updateextendedproperty 'MS_DiagramPane1', '[0E232FF0-B466-11cf-A24F-00AA00A3EFFF, 1.00]
+Begin DesignProperties =
+ Begin PaneConfigurations =
+ Begin PaneConfiguration = 0
+ NumPanes = 4
+ Configuration = "(H (1[41] 4[20] 2[9] 3) )"
+ End
+ Begin PaneConfiguration = 1
+ NumPanes = 3
+ Configuration = "(H (1 [50] 4 [25] 3))"
+ End
+ Begin PaneConfiguration = 2
+ NumPanes = 3
+ Configuration = "(H (1 [50] 2 [25] 3))"
+ End
+ Begin PaneConfiguration = 3
+ NumPanes = 3
+ Configuration = "(H (4 [30] 2 [40] 3))"
+ End
+ Begin PaneConfiguration = 4
+ NumPanes = 2
+ Configuration = "(H (1 [56] 3))"
+ End
+ Begin PaneConfiguration = 5
+ NumPanes = 2
+ Configuration = "(H (2 [66] 3))"
+ End
+ Begin PaneConfiguration = 6
+ NumPanes = 2
+ Configuration = "(H (4 [50] 3))"
+ End
+ Begin PaneConfiguration = 7
+ NumPanes = 1
+ Configuration = "(V (3))"
+ End
+ Begin PaneConfiguration = 8
+ NumPanes = 3
+ Configuration = "(H (1[56] 4[18] 2) )"
+ End
+ Begin PaneConfiguration = 9
+ NumPanes = 2
+ Configuration = "(H (1 [75] 4))"
+ End
+ Begin PaneConfiguration = 10
+ NumPanes = 2
+ Configuration = "(H (1[66] 2) )"
+ End
+ Begin PaneConfiguration = 11
+ NumPanes = 2
+ Configuration = "(H (4 [60] 2))"
+ End
+ Begin PaneConfiguration = 12
+ NumPanes = 1
+ Configuration = "(H (1) )"
+ End
+ Begin PaneConfiguration = 13
+ NumPanes = 1
+ Configuration = "(V (4))"
+ End
+ Begin PaneConfiguration = 14
+ NumPanes = 1
+ Configuration = "(V (2))"
+ End
+ ActivePaneConfig = 0
+ End
+ Begin DiagramPane =
+ Begin Origin =
+ Top = 0
+ Left = 0
+ End
+ Begin Tables =
+ Begin Table = "RapQual (RilPro)"
+ Begin Extent =
+ Top = 6
+ Left = 38
+ Bottom = 314
+ Right = 208
+ End
+ DisplayFlags = 280
+ TopColumn = 0
+ End
+ End
+ End
+ Begin SQLPane =
+ End
+ Begin DataPane =
+ Begin ParameterDefaults = ""
+ End
+ Begin ColumnWidths = 10
+ Width = 284
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ End
+ End
+ Begin CriteriaPane =
+ Begin ColumnWidths = 12
+ Column = 1440
+ Alias = 1305
+ Table = 1170
+ Output = 720
+ Append = 1400
+ NewValue = 1170
+ SortType = 1350
+ SortOrder = 1410
+ GroupBy = 1350
+ Filter = 1350
+ Or = 1350
+ Or = 1350
+ Or = 1350
+ End
+ End
+End
+', 'SCHEMA', 'dbo', 'VIEW', 'v_RapQualSunto'
+go
+
+commit
+go
+
+
+
+
+
+
+-- registro versione...
+INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(340, GETDATE())
+GO
diff --git a/GMW/GMW_data/SqlScripts/V1.1/GMW_00345.sql b/GMW/GMW_data/SqlScripts/V1.1/GMW_00345.sql
new file mode 100644
index 00000000..2cc2587f
--- /dev/null
+++ b/GMW/GMW_data/SqlScripts/V1.1/GMW_00345.sql
@@ -0,0 +1,283 @@
+/***************************************
+* STORED stp_processaCodaConsumoMP
+*
+* Processa la coda dei consumo di UDC di MP e chiaam procedura x salvataggio dato su AS400
+*
+* Steamware, S.E.L.
+* mod: 2010.10.12
+*
+****************************************/
+ALTER PROCEDURE [BatchQueue].[stp_processaCodaConsumoMP]
+ (
+ @ExecBatchInter BIT -- 0 Eseguita in Batch , 1 in Interattivo
+ )
+AS
+ -- BOZZA DA VERIFICARE E COMPLETARE A CURA MAZZUCCONI!!! PERCHE'??? NON VA VERSO AS400!!!
+
+ -- faccio una query con un cursore x processare tutte le righe da inviare ad AS400..
+ DECLARE @UDC NVARCHAR(50) -- UDC SQL
+ DECLARE @XRPQLN INT -- UDC
+ DECLARE @XNRETI NVARCHAR(10) -- Progr UDC AS400
+ DECLARE @XDTPRO INT -- DataPrelievo
+ DECLARE @XTRPRO NVARCHAR(5) -- Turno Prelievo
+ DECLARE @XDESMT NVARCHAR(3) -- Destinazione Lega
+ DECLARE @XCDTER NVARCHAR(6) -- Cod. Terzista
+
+ -- Dichiaro e carico il cursore
+ DECLARE UdcMpList CURSOR LOCAL FOR
+ SELECT UDC FROM AS400_BatchConsumoMP WHERE DataInvioAs IS NULL
+
+ OPEN UdcMpList
+ FETCH NEXT FROM UdcMpList
+ INTO @UDC
+
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ -- controllo ci sia la riga
+ IF (SELECT COUNT(UDC) FROM AS400_BatchConsumoMP WHERE UDC=@UDC) > 0
+ BEGIN
+ -- carico valori che mi servono
+ SELECT @XRPQLN=rq.nRapQual, @XNRETI=rq.ProgUDC, @XDTPRO=bcu.DataPrelFus, @XTRPRO=bcu.TurnoPrelFus,
+ @XDESMT=bcu.DestLega, @XCDTER=bcu.DestTerz
+ FROM AS400_BatchConsumoMP as bcu
+ INNER JOIN RilPro.RapQual as rq ON bcu.UDC = rq.UDC
+ WHERE bcu.UDC=@UDC
+
+ -- BEGIN TRAN qui non va messa perchè se verso AS400 le transazioni non sono gestite
+ -- MANCA IL CONTROLLO SE L'AGGIORNAMENTO E' STATO OK
+ DECLARE @ScritturaASOK AS INT
+ EXECUTE @ScritturaASOK = BatchQueue.stp_consumaMP @XRPQLN ,@XNRETI ,@XDTPRO ,@XTRPRO ,@XDESMT ,@XCDTER
+
+ -- registro la data del movimento BATCH solo se stp_consumaMP è ritorna OK
+ -- NON ANDAVA BENE PERCHE' SE SUCCESSIVA ALL' ERRORE LA ESEGUE CMQ
+ -- Così non aggiorna la tabella MA L'UTENTE NON SI ACCORGE DI NULLA!!!
+ IF @ScritturaASOK = 0
+ UPDATE AS400_BatchConsumoMP SET DataInvioAs = GETDATE() WHERE UDC = @UDC
+
+ FETCH NEXT FROM UdcMpList INTO @UDC
+ END
+ END
+ CLOSE UdcMpList
+ DEALLOCATE UdcMpList
+
+ -- aggiunta per dare errore se schedulata S.Possidonio!!! GCARLO
+ IF @ScritturaASOK <> 0 AND @ExecBatchInter = 0
+ BEGIN
+ DECLARE @ErrorMessage NVARCHAR(4000);
+ DECLARE @ErrorSeverity INT;
+ DECLARE @ErrorState INT;
+
+ SELECT
+ @ErrorMessage = ERROR_MESSAGE()+ ' '+ CONVERT( VARCHAR(10),ERROR_NUMBER()),
+ @ErrorSeverity = ERROR_SEVERITY(),
+ @ErrorState = ERROR_STATE();
+
+ RAISERROR (@ErrorMessage, -- Message text.
+ 16, -- Severity.
+ @ErrorState -- State.
+ );
+ END
+RETURN
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_prtCartMatPrimaByUDC
+*
+* ottiene il record del Cartellino Materia Prima dato l'UDC richiesto x la sstampa
+*
+****************************************/
+alter PROCEDURE stp_prtCartMatPrimaByUDC
+(
+ @UDC VARCHAR(50)
+)
+AS
+SELECT
+ RQ.nRapQual,
+ RQ.DataRapQual,
+ RQ.ProgUDC,
+ RQ.CodFor,
+ RQ.DestTerz,
+ RQ.CodLega,
+ RQ.DataPrelFus,
+ RQ.TurnoPrelFus,
+ RQ.Qta,
+ RQ.DestLega,
+ RQ.LegaScaric,
+ RQ.BenesQual,
+ RQ.UDC,
+ Fo.DescFornitore,
+ Fo.DescFornitore2,
+ Le.CodLega AS CodLega2,
+ Le.DescLega,
+ Le.DescLega2
+FROM RilPro.RapQual AS RQ
+LEFT JOIN RilPro.AnagFornitori AS Fo
+ ON RQ.CodFor = Fo.CodFornitore
+LEFT JOIN RilPro.AnagLeghe Le
+ ON RQ.CodLega = 'L' + Le.CodLega
+WHERE RQ.UDC = RTRIM(@UDC) -- 'UB31000000001'
+RETURN
+go
+
+commit
+go
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_rappQualConsumabili
+*
+* Ottiene l'elenco dei record di rapp qualità (e quindi degli UDC) di AS non ancora consumati per range di data di approvazione
+*
+* Steamware, S.E.L.
+* mod: 2010.10.05
+*
+****************************************/
+alter PROCEDURE stp_rappQualConsumabili
+(
+ @dataFrom DATETIME,
+ @dataTo DATETIME
+)
+
+AS
+ -- restituisce le righe richieste
+ SELECT nRapQual, DataRapQual, ProgUDC, CodFor, DestTerz, CodLega, DataPrelFus, TurnoPrelFus, Qta, DestLega, LegaScaric, BenesQual, UDC
+ FROM RilPro.RapQual
+ WHERE ((DataPrelFus IS NULL) OR (DataPrelFus = 0)) AND -- condizione sul NON aver fatto ancora il prelievo
+ ((DataRapQual >= dbo.dateToAsFormat(@dataFrom)) AND (DataRapQual < dbo.dateToAsFormat(@dataTo))) -- cond data RQ
+ AND (ISNULL(UDC,'') <>'') -- non nullo UDC, quindi stampati...
+
+RETURN
+go
+
+commit
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+-- Batch submitted through debugger: GMW_00290.sql|183|0|C:\Users\RottGian\AppData\Local\Temp\2\Temp1_GMW_00290.zip\GMW_00290.sql
+
+/***************************************
+* STORED stp_selDestListePrelByConditio
+*
+* Ottiene i destinatari delle liste di prelievo data la condizione indicata
+*
+* Steamware, S.E.L.
+* mod: 2010.11.02
+*
+****************************************/
+alter PROCEDURE stp_selDestListePrelByConditio
+(
+ @conditio NVARCHAR(20)
+)
+AS
+
+IF (@conditio='01-PreFus')
+BEGIN
+ SELECT CAST('*' AS NVARCHAR(6)) AS value, CAST('*' AS NVARCHAR(50)) AS label, '01-PreFus' AS conditio
+END
+
+ELSE IF (@conditio='02-PreCli')
+BEGIN
+ SELECT CAST(CodCliente AS NVARCHAR(6)) AS value, CAST(CodCliente AS NVARCHAR(6)) +'- ' +CAST(RagSociale AS NVARCHAR(50)) AS label, '02-PreCli' AS conditio
+ FROM RilPro.AnagClienti
+ ORDER BY label
+END
+
+ELSE
+BEGIN
+ SELECT CAST(CodTerzista AS NVARCHAR(6)) AS value, CAST(CodTerzista AS NVARCHAR(6))+ '- '+CAST(DescTerzista AS NVARCHAR(50)) AS label, '03-TerWip' AS conditio
+ FROM RilPro.AnagDepositi
+ ORDER BY label
+END
+
+RETURN
+go
+
+commit
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+-- Batch submitted through debugger: GMW_00290.sql|183|0|C:\Users\RottGian\AppData\Local\Temp\2\Temp1_GMW_00290.zip\GMW_00290.sql
+
+/***************************************
+* STORED stp_selDestListePrelByConditio
+*
+* Ottiene i destinatari delle liste di prelievo data la condizione indicata
+*
+* Steamware, S.E.L.
+* mod: 2010.11.02
+*
+****************************************/
+alter PROCEDURE stp_selDestListePrelByConditio
+(
+ @conditio NVARCHAR(20)
+)
+AS
+
+IF (@conditio='01-PreFus')
+BEGIN
+ SELECT CAST('*' AS NVARCHAR(6)) AS value, CAST('*' AS NVARCHAR(50)) AS label, '01-PreFus' AS conditio
+END
+
+ELSE IF (@conditio='02-PreCli')
+BEGIN
+ SELECT CAST(CodCliente AS NVARCHAR(6)) AS value, CAST(CodCliente AS NVARCHAR(6)) +'- ' +CAST(RagSociale AS NVARCHAR(50)) AS label, '02-PreCli' AS conditio
+ FROM RilPro.AnagClienti
+ ORDER BY label
+END
+
+ELSE
+BEGIN
+ SELECT CAST(CodTerzista AS NVARCHAR(6)) AS value, CAST(CodTerzista AS NVARCHAR(6))+ '- '+CAST(DescTerzista AS NVARCHAR(50)) AS label, '03-TerWip' AS conditio
+ FROM RilPro.AnagDepositi
+ ORDER BY label
+END
+
+RETURN
+go
+
+commit
+go
+
+
+
+
+
+
+-- registro versione...
+INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(345, GETDATE())
+GO
diff --git a/GMW/GMW_data/SqlScripts/V1.1/GMW_00350.sql b/GMW/GMW_data/SqlScripts/V1.1/GMW_00350.sql
new file mode 100644
index 00000000..73b73962
--- /dev/null
+++ b/GMW/GMW_data/SqlScripts/V1.1/GMW_00350.sql
@@ -0,0 +1,125 @@
+/***************************************
+* STORED stp_rappQualGetByUDC
+*
+* Ottiene l'elenco dei record di rapp qualità di AS dato UDC
+*
+* Steamware, S.E.L.
+* mod: 2011.03.30
+*
+****************************************/
+create PROCEDURE dbo.stp_rappQualGetByUDC
+(
+ @UDC NVARCHAR(20)
+)
+AS
+ -- restituisce le righe richieste
+ SELECT *
+ FROM RilPro.RapQual
+ WHERE (UDC = @UDC)
+
+RETURN
+
+
+/***************************************
+* STORED stp_ComAs_lastComandoByStored
+*
+* Ottiene il record dell'ultimo comando inviato ad AS400 dato il nome della stored con Test = 0
+*
+* Steamware, S.E.L.
+* mod: 2011.03.30
+*
+****************************************/
+create PROCEDURE dbo.stp_ComAs_lastComandoByStored
+(
+ @Stored NVARCHAR(100)
+)
+AS
+ -- restituisce le righe richieste
+ SELECT TOP 1 *
+ FROM RawData.AS400_Comandi
+ WHERE (Stored = @Stored) AND Test = 0
+ ORDER BY DataEsecuzione DESC
+
+RETURN
+
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_rappQualSuntoGetByDataRange
+*
+* Ottiene l'elenco dei record di rapp qualità di AS dato il range delle date
+*
+* Steamware, S.E.L.
+* mod: 2010.09.29
+*
+****************************************/
+alter PROCEDURE stp_rappQualSuntoGetByDataRange
+(
+ @dataFrom DATETIME,
+ @dataTo DATETIME
+)
+AS
+ -- restituisce le righe richieste
+ SELECT *
+ FROM v_RapQualSunto
+ WHERE (DataRapQual >= dbo.dateToAsFormat(@dataFrom)) AND (DataRapQual < dbo.dateToAsFormat(@dataTo))
+ ORDER BY nRapQual
+RETURN
+go
+
+commit
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_rappQualSuntoGetByDataRange
+*
+* Ottiene l'elenco dei record di rapp qualità di AS dato il range delle date
+*
+* Steamware, S.E.L.
+* mod: 2010.09.29
+*
+****************************************/
+alter PROCEDURE stp_rappQualSuntoGetByDataRange
+(
+ @dataFrom DATETIME,
+ @dataTo DATETIME
+)
+AS
+ -- restituisce le righe richieste
+ SELECT *
+ FROM v_RapQualSunto
+ WHERE (DataRapQual >= dbo.dateToAsFormat(@dataFrom)) AND (DataRapQual < dbo.dateToAsFormat(@dataTo))
+ ORDER BY nRapQual
+RETURN
+go
+
+commit
+go
+
+
+
+
+
+
+-- registro versione...
+INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(350, GETDATE())
+GO
diff --git a/GMW/GMW_data/SqlScripts/V1.1/GMW_00360.sql b/GMW/GMW_data/SqlScripts/V1.1/GMW_00360.sql
new file mode 100644
index 00000000..3f7f34c9
--- /dev/null
+++ b/GMW/GMW_data/SqlScripts/V1.1/GMW_00360.sql
@@ -0,0 +1,128 @@
+create table Odette(
+ CampoUDC varchar(10) not null constraint PK_Odette primary key,
+ Campo1_1 varchar(8) not null,
+ Campo1_2 varchar(8) not null,
+ Campo1_3 varchar(8) not null,
+ Campo1_4 varchar(8) not null,
+ Campo1_5 varchar(8) not null,
+ Campo2_1 varchar(8) not null,
+ Campo2_2 varchar(8) not null,
+ Campo2_3 varchar(8) not null,
+ Campo2_4 varchar(8) not null,
+ Campo2_5 varchar(8) not null,
+ Campo3_1 varchar(8) not null,
+ Campo3_2 varchar(8) not null,
+ Campo3_3 varchar(8) not null,
+ Campo3_4 varchar(8) not null,
+ Campo3_5 varchar(8) not null,
+ Campo4_1 varchar(8) not null,
+ Campo4_2 varchar(8) not null,
+ Campo4_3 varchar(8) not null,
+ Campo4_4 varchar(8) not null,
+ Campo4_5 varchar(8) not null,
+ Campo5_1 varchar(8) not null,
+ Campo5_2 varchar(8) not null,
+ Campo5_3 varchar(8) not null,
+ Campo5_4 varchar(8) not null,
+ Campo5_5 varchar(8) not null,
+ Campo6_1 varchar(8) not null,
+ Campo6_2 varchar(8) not null,
+ Campo6_3 varchar(8) not null,
+ Campo6_4 varchar(8) not null,
+ Campo6_5 varchar(8) not null,
+ Campo7_1 varchar(8) not null,
+ Campo7_2 varchar(8) not null,
+ Campo7_3 varchar(8) not null,
+ Campo7_4 varchar(8) not null,
+ Campo7_5 varchar(8) not null,
+ Campo8_1 varchar(8) not null,
+ Campo8_2 varchar(8) not null,
+ Campo8_3 varchar(8) not null,
+ Campo8_4 varchar(8) not null,
+ Campo8_5 varchar(8) not null,
+ Campo9_1 varchar(8) not null,
+ Campo9_2 varchar(8) not null,
+ Campo9_3 varchar(8) not null,
+ Campo9_4 varchar(8) not null,
+ Campo9_5 varchar(8) not null,
+ Campo10_1 varchar(9) not null,
+ Campo10_2 varchar(9) not null,
+ Campo10_3 varchar(9) not null,
+ Campo10_4 varchar(9) not null,
+ Campo10_5 varchar(9) not null,
+ Campo11_1_1 varchar(11) not null,
+ Campo11_1_2 varchar(11) not null,
+ Campo11_1_3 varchar(11) not null,
+ Campo11_1_4 varchar(11) not null,
+ Campo11_1_5 varchar(11) not null,
+ Campo11_2_1 varchar(11) not null,
+ Campo11_2_2 varchar(11) not null,
+ Campo11_2_3 varchar(11) not null,
+ Campo11_2_4 varchar(11) not null,
+ Campo11_2_5 varchar(11) not null,
+ Campo12_1 varchar(9) not null,
+ Campo12_2 varchar(9) not null,
+ Campo12_3 varchar(9) not null,
+ Campo12_4 varchar(9) not null,
+ Campo12_5 varchar(9) not null,
+ Campo13_1 varchar(9) not null,
+ Campo13_2 varchar(9) not null,
+ Campo13_3 varchar(9) not null,
+ Campo13_4 varchar(9) not null,
+ Campo13_5 varchar(9) not null,
+ Campo14_1 varchar(9) not null,
+ Campo14_2 varchar(9) not null,
+ Campo14_3 varchar(9) not null,
+ Campo14_4 varchar(9) not null,
+ Campo14_5 varchar(9) not null,
+ Campo15_1 varchar(9) not null,
+ Campo15_2 varchar(9) not null,
+ Campo15_3 varchar(9) not null,
+ Campo15_4 varchar(9) not null,
+ Campo15_5 varchar(9) not null,
+ Campo16_1 varchar(9) not null,
+ Campo16_2 varchar(9) not null,
+ Campo16_3 varchar(9) not null,
+ Campo16_4 varchar(9) not null,
+ Campo16_5 varchar(9) not null
+)
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+INSERT INTO dbo.AnagTipoEvento
+ VALUES (N'MagPreGbox', N'Prelievo Gitterbox per cliente BMW')
+go
+
+commit transaction
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+INSERT INTO dbo.TipoListaPrelievo
+ VALUES (N'04-OdetSP', N'Lista Prelievo per Odette SP', N'LPO010101', N'MagPreGbox', 0)
+go
+
+commit transaction
+go
+
+
+
+
+
+
+
+
+-- registro versione...
+INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(360, GETDATE())
+GO
diff --git a/GMW/GMW_data/SqlScripts/V1.1/GMW_00361.sql b/GMW/GMW_data/SqlScripts/V1.1/GMW_00361.sql
new file mode 100644
index 00000000..83585c15
--- /dev/null
+++ b/GMW/GMW_data/SqlScripts/V1.1/GMW_00361.sql
@@ -0,0 +1,192 @@
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_ComAs_lastComandoByStored
+*
+* Ottiene il record dell'ultimo comando inviato ad AS400 dato il nome della stored con Test = 0
+*
+* Steamware, S.E.L.
+* mod: 2011.03.30
+*
+****************************************/
+create PROCEDURE stp_ComAs_lastComandoByStored
+(
+ @Stored NVARCHAR(100)
+)
+AS
+ -- restituisce le righe richieste
+ SELECT TOP 1 *
+ FROM RawData.AS400_Comandi
+ WHERE (Stored = @Stored) AND Test = 0
+ ORDER BY DataEsecuzione DESC
+
+RETURN
+go
+
+commit
+go
+
+drop procedure stp_BORI_caricaDatiNew
+go
+
+
+
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/*****************************************
+* STORED stp_BORI_caricaDatiBolla
+*
+* richiama la stored di caricamento da AS400 x la bolla indicata
+*
+* Steamware, S.E.L.
+* mod: 2011.04.28
+*
+****************************************/
+alter PROCEDURE stp_BORI_caricaDatiBolla
+(
+ @RaggrMagazz NVARCHAR(2) ,
+ @GruppoBolle NVARCHAR(1) ,
+ @NumeroBolla NVARCHAR(6) ,
+ @DataBolla NVARCHAR(8) ,
+ @Particolare NVARCHAR(15)
+)
+AS
+
+ SET NOCOUNT ON;
+
+ --DECLARE @RaggrMagazz AS NVARCHAR(2) = N'SP'
+ --DECLARE @GruppoBolle AS NVARCHAR(1) = N'0'
+ --DECLARE @NumeroBolla AS NVARCHAR(6) = N'678'
+ --DECLARE @DataBolla AS NVARCHAR(8) = N'20110421'
+ --DECLARE @Particolare AS NVARCHAR(15) = N'P00528536146'
+
+ -- Prima cancello i dati della se già presenti bolla poi li carico
+ DELETE SP_GMW.RawData.BORI202J
+ WHERE CDMFS = @RaggrMagazz
+ AND GRBOS = @GruppoBolle
+ AND NRBOS = @NumeroBolla
+ AND DTBOS = @DataBolla
+ AND CDARS = @Particolare
+
+ DECLARE @SQL AS NVARCHAR(4000)
+ DECLARE @SqlOK AS INT;
+
+ SET @SqlOK = 0;
+
+ -- ATTENZIONE!!! i parametri non devono essere nulli altrimenti la stringa ritornata è nulla
+
+ /*
+ Prima estraggo i dati della bolla dal file in AS400 in una tabella temporanea
+ Poi va letta la tabella temporanea per creare i dati per la stampa Odette
+ NON VA BENE, SE ESEGUONO IN DUE LA STAMPA PUO ANDARE IN CONFLITTO
+ */
+
+ --IF OBJECT_ID(N'tempdb..##TabTemp') IS NOT NULL -- ##TabTemp Tabella temporanea globale altrimenti non riesco ad usarla
+ -- DROP TABLE ##TabTemp;
+ -- SET @SQL = 'SELECT * INTO ##TabTemp FROM OPENQUERY(P65220DC,
+
+ BEGIN TRY
+ SET @SQL = 'INSERT INTO SP_GMW.RawData.BORI202J SELECT * FROM OPENQUERY(P65220DC,
+ ''SELECT
+ CDMFS
+ ,GRBOS
+ ,DTBOS
+ ,NRBOS
+ ,CDARS
+ ,NRRGS
+ ,CDINB
+ ,RA1ND
+ ,RA2ND
+ ,CAPND
+ ,CITND
+ ,RASCL
+ ,INDCL
+ ,CAPCL
+ ,LOCCL
+ ,PROCL
+ ,INEND
+ ,CRAGCL
+ ,TELND
+ ,CCDMOL
+ ,CCDPTR
+ ,EPLAVO
+ ,NRC1B
+ ,ECMM01
+ ,DEPAR
+ ,RCARTC
+ ,PERND
+ ,CCDET1
+ ,ECDNAE
+ ,ECDNA1
+ ,EESPMD
+ ,PELDB
+ ,QTCNS
+ FROM POSN_AZI.BORI202J
+ WHERE ATV08 <> ''''A''''
+ '
+
+ -- commemntare le righe successive per estrarre tutto
+ -- Parametri di selezione della bolla
+ SET @SQL = @SQL + ' AND CDMFS = ''''' + @RaggrMagazz + ''''' '
+ SET @SQL = @SQL + ' AND GRBOS = ''''' + @GruppoBolle + ''''' '
+ SET @SQL = @SQL + ' AND NRBOS = ' + @NumeroBolla + ' '
+ SET @SQL = @SQL + ' AND DTBOS = ' + @DataBolla + ' '
+ SET @SQL = @SQL + ' AND CDARS = ''''' + @Particolare + ''''' '
+
+ SET @SQL = @SQL + ''' )';
+
+ EXEC sp_executesql @SQL
+
+ END TRY
+ BEGIN CATCH
+ -- PRINT ERROR_NUMBER()
+ SET @SqlOK = ERROR_NUMBER();
+
+ -- Uso RAISERROR mandare in errore la procedura e x per tornare le info
+ -- sull'errore originale che ha portato l'esecuzione nel blocco CATCH
+ --DECLARE @ErrorMessage NVARCHAR(4000);
+ --DECLARE @ErrorSeverity INT;
+ --DECLARE @ErrorState INT;
+ --SELECT @ErrorMessage = ERROR_MESSAGE(),@ErrorSeverity = ERROR_SEVERITY(),@ErrorState = ERROR_STATE();
+ --RAISERROR (@ErrorMessage,@ErrorSeverity,@ErrorState); -- Se non uso RAISERROR la procedura non mi da errore es. se schedulata
+ END CATCH
+
+ -- MANCA IL TEST SE VA IN ERRORE E IL SALVATAGGIO NEL LOG AS400
+
+ -- Memorizzo il comando per verifica T-SQL e l'esito del comando se 0 è OK
+
+ --INSERT INTO RawData.AS400_Comandi
+ --SELECT GETDATE(), 'stp_CaricaDatiBolladaAs400', @SQL, @SqlOK;
+
+ -- Carico i dati della Temp table nel file di appoggio
+ -- INSERT INTO SP_GMW.RawData.BORI202J
+ -- SELECT * FROM ##TabTemp
+
+RETURN
+go
+
+commit
+go
+
+
+
+
+-- registro versione...
+INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(361, GETDATE())
+GO
diff --git a/GMW/GMW_data/SqlScripts/V1.1/GMW_00365.sql b/GMW/GMW_data/SqlScripts/V1.1/GMW_00365.sql
new file mode 100644
index 00000000..407b18d1
--- /dev/null
+++ b/GMW/GMW_data/SqlScripts/V1.1/GMW_00365.sql
@@ -0,0 +1,331 @@
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/*****************************************
+* STORED stp_BORI_getByBolla
+*
+* Cerca la bolla richiesta x chiave
+*
+* Steamware, S.E.L.
+* mod: 2011.05.05
+*
+****************************************/
+alter PROCEDURE stp_BORI_getByBolla
+(
+ @RaggrMagazz NVARCHAR(2),
+ @GruppoBolle NVARCHAR(1),
+ @NumeroBolla NUMERIC(6,0),
+ @DataBolla NUMERIC(8,0),
+ @Particolare NVARCHAR(15)
+)
+AS
+
+SELECT *
+FROM RawData.BORI202J
+WHERE CDMFS = @RaggrMagazz
+AND GRBOS = @GruppoBolle
+AND NRBOS = @NumeroBolla
+AND DTBOS = @DataBolla
+AND CDARS = @Particolare
+
+RETURN
+go
+
+/*****************************************
+* STORED stp_BORI_getByBollaFull
+*
+* Cerca la bolla richiesta x chiave completa
+*
+* Steamware, S.E.L.
+* mod: 2011.05.05
+*
+****************************************/
+create PROCEDURE stp_BORI_getByBollaFull
+(
+ @RaggrMagazz NVARCHAR(2),
+ @GruppoBolle NVARCHAR(1),
+ @NumeroBolla NUMERIC(6,0),
+ @DataBolla NUMERIC(8,0),
+ @Particolare NVARCHAR(15)
+)
+AS
+
+SELECT *
+FROM RawData.BORI202J
+WHERE CDMFS = @RaggrMagazz
+AND GRBOS = @GruppoBolle
+AND NRBOS = @NumeroBolla
+AND DTBOS = @DataBolla
+AND CDARS = @Particolare
+
+RETURN
+go
+
+/*****************************************
+* STORED stp_BORI_getByBollaPart
+*
+* Cerca la bolla richiesta x chiave parziale (no particolare)
+*
+* Steamware, S.E.L.
+* mod: 2011.05.05
+*
+****************************************/
+create PROCEDURE stp_BORI_getByBollaPart
+(
+ @RaggrMagazz NVARCHAR(2),
+ @GruppoBolle NVARCHAR(1),
+ @NumeroBolla NUMERIC(6,0),
+ @DataBolla NUMERIC(8,0)
+)
+AS
+
+SELECT *
+FROM RawData.BORI202J
+WHERE CDMFS = @RaggrMagazz
+AND GRBOS = @GruppoBolle
+AND NRBOS = @NumeroBolla
+AND DTBOS = @DataBolla
+
+RETURN
+go
+
+commit
+go
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+DELETE FROM dbo.Permessi2Funzione WHERE COD_PERMESSO='MAG_logico' and COD_FUNZIONE=N'GMW_user'
+go
+
+commit transaction
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_RLP_eliminaNonPrelevate
+*
+* elimina eventuali righe non prelevate
+*
+* Steamware, S.E.L.
+* mod: 2010.08.31
+*
+****************************************/
+create PROCEDURE stp_RLP_eliminaNonPrelevate
+(
+ @CodLista NVARCHAR(12)
+)
+AS
+
+DELETE FROM RigheListePrelievo
+WHERE CodLista = @CodLista
+AND Prelevato = 0
+
+RETURN
+go
+
+commit
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/*****************************************
+* STORED stp_DtMtrx_import
+*
+* Recupera dati Gitterbox/DataMatrix partendo leggendo dati successivi all'ultimo import e importanto in tab GMW
+*
+* Steamware, S.E.L.
+* mod: 2011.04.29
+*
+****************************************/
+alter PROCEDURE stp_DtMtrx_import
+(
+ @CodCS VARCHAR(2),
+ @IdxPosizione INT
+)
+AS
+
+------------------------------------------------------------------------------------------------------
+-- leggo data ultimo import (o creo record...)
+------------------------------------------------------------------------------------------------------
+DECLARE @nomeFlusso AS NVARCHAR(50)
+DECLARE @lastImport AS DATETIME
+DECLARE @trovati AS INT
+
+-- imposto valori
+SET @nomeFlusso = 'DataMatrix'
+SET @lastImport = DATEADD(yy,-10,GETDATE()) -- inizializzo a -10 anni ...
+-- sistemo tab registrazione import...
+BEGIN TRAN
+ -- cerco nella tab log ultima data caricamento
+ SET @trovati = (
+ SELECT COUNT(*)
+ FROM logImportFlussi
+ WHERE NomeFlusso = @nomeFlusso
+ )
+ -- controllo se record c'è...
+ IF(@trovati > 0)
+ BEGIN
+ SET @lastImport = ( SELECT LastImport FROM LogImportFlussi WHERE NomeFlusso = @nomeFlusso )
+ END
+ ELSE
+ BEGIN
+ -- lo creo!
+ INSERT INTO LogImportFlussi(NomeFlusso, LastImport)
+ VALUES (@nomeFlusso, @lastImport)
+ END
+COMMIT TRAN
+------------------------------------------------------------------------------------------------------
+
+
+------------------------------------------------------------------------------------------------------
+-- ora gestisco il vero caricamento...
+------------------------------------------------------------------------------------------------------
+ -- filtro e salvo in tabella... gitterbox validi SOLO se iniziano per "U"
+ DECLARE @newData TABLE
+ (
+ CodDataMatrix numeric(23, 0) ,
+ CodGitterbox char(10) ,
+ NumConchiglia int ,
+ NumDisegno numeric(7, 0) ,
+ EsponenteDisegno tinyint ,
+ CodDifettoScarto varchar(5) ,
+ InizioPreparazione smalldatetime ,
+ FinePreparazione smalldatetime ,
+ InizioIniezione smalldatetime ,
+ FineIniezione smalldatetime ,
+ MagDestinazione varchar(2) ,
+ DataImport smalldatetime
+ )
+ INSERT INTO @newData
+ SELECT CodDataMatrix, CodGitterbox, NumConchiglia, NumDisegno, EsponenteDisegno, CodDifettoScarto, InizioPreparazione, FinePreparazione, InizioIniezione, FineIniezione, MagDestinazione, DataImport
+
+ FROM v_trasfDataMatrix
+ WHERE DataImport > @lastImport AND LEFT(CodGitterbox, 1) = 'U'
+
+
+
+ -- creo UDC da gitterbox nuovi
+ INSERT INTO ElencoCartellini(UDC, Particolare, DataFus)
+ SELECT DISTINCT nd.CodGitterbox, null, MIN( InizioIniezione)
+ FROM @newData nd LEFT OUTER JOIN ElencoCartellini ec ON nd.CodGitterbox COLLATE SQL_Latin1_General_CP1_CI_AS = ec.UDC
+ WHERE ec.UDC IS NULL
+ GROUP BY nd.CodGitterbox
+
+ DECLARE @udc NVARCHAR(50)
+ DECLARE @Particolare NVARCHAR(50)
+ DECLARE @NumDisegno NVARCHAR(50)
+ DECLARE @EsponenteDisegno NVARCHAR(50)
+ DECLARE @Qta INT
+ DECLARE @IdxCellaTo INT
+ DECLARE @adesso DATETIME
+ DECLARE @posTrovate INT
+
+ SET @adesso = GETDATE()
+ SET @posTrovate = 0
+
+ DECLARE cursoreImport CURSOR FOR
+ SELECT nd.CodGitterbox, tp.Particolare, tp.NumDisegno, tp.EsponenteDisegno, dbo.getNumDatamatrix(nd.CodGitterbox) FROM @newData nd
+ INNER JOIN v_transcParticolari tp ON nd.NumDisegno = tp.NumDisegno AND nd.EsponenteDisegno = tp.EsponenteDisegno
+
+ OPEN cursoreImport
+ FETCH NEXT FROM cursoreImport INTO @udc, @Particolare, @NumDisegno, @EsponenteDisegno, @Qta
+
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+
+ -- aggiorno gli UDC gitterbox esistenti per quantità tra quelli dei dati da importare...
+ UPDATE ElencoCartellini
+ SET CodCS = @CodCS,
+ IdxPosizione = @IdxPosizione,
+ CreateDate = @adesso,
+ Particolare = @Particolare,
+ DisegnoGrezzo = @NumDisegno,
+ Esponente = @EsponenteDisegno,
+ Qta = @Qta,
+ Figura = '',
+ CodImballo ='',
+ Tara = 0,
+ PesoTot = 0,
+ PesoCad = 0,
+ CodStato = 'Fin',
+ NumCont = 1,
+ TurnoFus = 0,
+ ModDate = @adesso
+ WHERE UDC = @udc
+
+ -- indico cella UDC corrente... calcolo la prima cella della nuova posizione...
+ SET @IdxCellaTo = (
+ SELECT TOP 1 IdxCella FROM Celle
+ WHERE IdxBlocco = (
+ SELECT IdxBlocco FROM Blocchi
+ WHERE CodMag=CAST(@IdxPosizione AS NVARCHAR(50)))
+ )
+ -- controllo se posizione non ancora creata...
+ SET @posTrovate = ( SELECT COUNT(*) FROM PosizioneUdcCorrente WHERE UDC = @udc )
+ IF( @posTrovate =0)
+ BEGIN
+ INSERT INTO PosizioneUdcCorrente
+ VALUES (@udc, @IdxCellaTo, @CodCS, @adesso)
+ END
+
+ FETCH NEXT FROM cursoreImport INTO @udc, @Particolare, @NumDisegno, @EsponenteDisegno, @Qta
+
+
+ END
+
+ CLOSE cursoreImport
+ DEALLOCATE cursoreImport
+
+ -- inserisco datamatrix da ultimo import
+ INSERT INTO ElencoDataMatrix
+ SELECT * FROM @newData
+
+ -- aggiorno dati ultimo caricamento
+ SET @lastImport = ( SELECT ISNULL(MAX(DataImport),@lastImport) FROM @newData )
+ UPDATE LogImportFlussi
+ SET LastImport = @lastImport
+ WHERE NomeFlusso = @nomeFlusso
+
+
+RETURN
+go
+
+commit
+go
+
+
+
+
+
+
+
+-- registro versione...
+INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(365, GETDATE())
+GO
diff --git a/GMW/GMW_data/SqlScripts/V1.1/GMW_00370.sql b/GMW/GMW_data/SqlScripts/V1.1/GMW_00370.sql
new file mode 100644
index 00000000..5e7a8755
--- /dev/null
+++ b/GMW/GMW_data/SqlScripts/V1.1/GMW_00370.sql
@@ -0,0 +1,222 @@
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/*****************************************
+* STORED stp_EDM_getByCode
+*
+* Recupera datamatrix da codice
+*
+* Steamware, S.E.L.
+* mod: 2011.05.05
+*
+****************************************/
+create PROCEDURE stp_EDM_getByCode
+(
+ @CodDataMatrix NUMERIC(23)
+)
+AS
+
+SELECT *
+FROM ElencoDataMatrix
+WHERE CodDataMatrix = @CodDataMatrix
+
+RETURN
+go
+
+/*****************************************
+* STORED stp_EDM_spostaDataMtx
+*
+* Sposta un datamatrix in un nuovo gitterbox
+*
+* Steamware, S.E.L.
+* mod: 2011.05.05
+*
+****************************************/
+create PROCEDURE stp_EDM_spostaDataMtx
+(
+ @CodDataMatrix NUMERIC(23),
+ @CodGitterbox NVARCHAR(10)
+)
+AS
+
+-- salvo codice gitterbox di partenza
+DECLARE @CodGitterboxFrom AS NVARCHAR(10)
+SET @CodGitterboxFrom = ( SELECT CodGitterbox FROM ElencoDataMatrix WHERE CodDataMatrix = @CodDataMatrix )
+
+UPDATE ElencoDataMatrix
+SET CodGitterbox = @CodGitterbox
+WHERE CodDataMatrix = @CodDataMatrix
+
+-- aggiorno valori QTA gitterbox di partenza...
+UPDATE ElencoCartellini
+SET Qta = ( SELECT COUNT(*) FROM ElencoDataMatrix WHERE CodGitterbox = @CodGitterboxFrom )
+WHERE UDC = @CodGitterboxFrom
+-- aggiorno valoti QTA gitterbox destinazione
+UPDATE ElencoCartellini
+SET Qta = ( SELECT COUNT(*) FROM ElencoDataMatrix WHERE CodGitterbox = @CodGitterbox )
+WHERE UDC = @CodGitterbox
+
+SELECT *
+FROM ElencoDataMatrix
+WHERE CodDataMatrix = @CodDataMatrix
+
+RETURN
+go
+
+/*****************************************
+* STORED stp_EDM_svuotaGitterbox
+*
+* Elimina il codice gitterbox dai datamatrix associati (svuotandolo...)
+*
+* Steamware, S.E.L.
+* mod: 2011.05.06
+*
+****************************************/
+create PROCEDURE stp_EDM_svuotaGitterbox
+(
+ @CodGitterbox NVARCHAR(10)
+)
+AS
+
+UPDATE ElencoDataMatrix
+SET CodGitterbox = ''
+WHERE CodGitterbox = @CodGitterbox
+
+RETURN
+go
+
+commit
+go
+
+
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/*****************************************
+* STORED stp_UDC_getByUdc
+*
+* Recupera UDC da codice
+*
+* Steamware, S.E.L.
+* mod: 2011.05.05
+*
+****************************************/
+create PROCEDURE stp_UDC_getByUdc
+(
+ @UDC NVARCHAR(50)
+)
+AS
+
+SELECT *
+FROM ElencoCartellini
+WHERE LTRIM(RTRIM(UDC)) = @UDC
+
+RETURN
+go
+
+commit
+go
+
+
+
+
+/***************************************
+* STORED stp_rappQualGetByNumRapQual
+*
+* Ottiene l'elenco dei record di rapp qualità di AS dato il numero del rapporto di qualità
+*
+* Steamware, S.E.L.
+* mod: 2010.09.23
+*
+****************************************/
+ALTER PROCEDURE stp_rappQualGetByNumRapQual
+(
+ @nRapQual INT
+)
+AS
+ -- restituisce le righe richieste
+ SELECT *
+ FROM RilPro.RapQual
+ WHERE (nRapQual = @nRapQual)
+ AND LegaScaric = 'N'
+
+RETURN
+
+
+
+/***************************************
+* STORED stp_rappQualGetByNumRapQualSenzaUdc
+*
+* Ottiene l'elenco dei record di rapp qualità di AS dato il numero del rapporto di qualità che NON HANNO UDC
+*
+* Steamware, S.E.L.
+* mod: 2011.05.06
+*
+****************************************/
+create PROCEDURE stp_rappQualGetByNumRapQualSenzaUdc
+(
+ @nRapQual INT
+)
+AS
+ -- restituisce le righe richieste
+ SELECT *
+ FROM RilPro.RapQual
+ WHERE (nRapQual = @nRapQual) AND (UDC IS NULL)
+ AND LegaScaric = 'N'
+
+RETURN
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/*****************************************
+* STORED stp_EDM_getByGitterBox
+*
+* Recupera datamatrix da codice gitterbox
+*
+* Steamware, S.E.L.
+* mod: 2011.05.06
+*
+****************************************/
+create PROCEDURE stp_EDM_getByGitterBox
+(
+ @CodGitterbox NVARCHAR(10)
+)
+AS
+
+SELECT *
+FROM ElencoDataMatrix
+WHERE CodGitterbox = @CodGitterbox
+
+RETURN
+go
+
+commit
+go
+
+
+
+
+-- registro versione...
+INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(370, GETDATE())
+GO
diff --git a/GMW/GMW_data/SqlScripts/V1.1/GMW_00385.sql b/GMW/GMW_data/SqlScripts/V1.1/GMW_00385.sql
new file mode 100644
index 00000000..47b62009
--- /dev/null
+++ b/GMW/GMW_data/SqlScripts/V1.1/GMW_00385.sql
@@ -0,0 +1,292 @@
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/*****************************************
+* STORED stp_DtMtrx_import
+*
+* Recupera dati Gitterbox/DataMatrix partendo leggendo dati successivi all'ultimo import e importanto in tab GMW
+*
+* Steamware, S.E.L.
+* mod: 2011.04.29
+*
+****************************************/
+ALTER PROCEDURE dbo.stp_DtMtrx_import
+(
+ @CodCS VARCHAR(2),
+ @IdxPosizione INT
+)
+AS
+
+------------------------------------------------------------------------------------------------------
+-- leggo data ultimo import (o creo record...)
+------------------------------------------------------------------------------------------------------
+DECLARE @nomeFlusso AS NVARCHAR(50)
+DECLARE @lastImport AS DATETIME
+DECLARE @trovati AS INT
+
+-- imposto valori
+SET @nomeFlusso = 'DataMatrix'
+SET @lastImport = DATEADD(yy,-10,GETDATE()) -- inizializzo a -10 anni ...
+-- sistemo tab registrazione import...
+BEGIN TRAN
+ -- cerco nella tab log ultima data caricamento
+ SET @trovati = (
+ SELECT COUNT(*)
+ FROM logImportFlussi
+ WHERE NomeFlusso = @nomeFlusso
+ )
+ -- controllo se record c'è...
+ IF(@trovati > 0)
+ BEGIN
+ SET @lastImport = ( SELECT LastImport FROM LogImportFlussi WHERE NomeFlusso = @nomeFlusso )
+ END
+ ELSE
+ BEGIN
+ -- lo creo!
+ INSERT INTO LogImportFlussi(NomeFlusso, LastImport)
+ VALUES (@nomeFlusso, @lastImport)
+ END
+COMMIT TRAN
+------------------------------------------------------------------------------------------------------
+
+
+------------------------------------------------------------------------------------------------------
+-- ora gestisco il vero caricamento...
+------------------------------------------------------------------------------------------------------
+ -- filtro e salvo in tabella... gitterbox validi SOLO se iniziano per "U"
+ DECLARE @newData TABLE
+ (
+ CodDataMatrix numeric(23, 0) ,
+ CodGitterbox char(10) ,
+ NumConchiglia int ,
+ NumDisegno numeric(7, 0) ,
+ EsponenteDisegno tinyint ,
+ CodDifettoScarto varchar(5) ,
+ InizioPreparazione smalldatetime ,
+ FinePreparazione smalldatetime ,
+ InizioIniezione smalldatetime ,
+ FineIniezione smalldatetime ,
+ MagDestinazione varchar(2) ,
+ DataImport smalldatetime
+ )
+ INSERT INTO @newData
+ SELECT CodDataMatrix, LTRIM(RTRIM(CodGitterbox)), NumConchiglia, NumDisegno, EsponenteDisegno, CodDifettoScarto, InizioPreparazione, FinePreparazione, InizioIniezione, FineIniezione, MagDestinazione, DataImport
+
+ FROM v_trasfDataMatrix
+ WHERE DataImport > @lastImport AND LEFT(CodGitterbox, 1) = 'U'
+
+
+
+ -- creo UDC da gitterbox nuovi
+ INSERT INTO ElencoCartellini(UDC, Particolare, DataFus)
+ SELECT DISTINCT nd.CodGitterbox, null, MIN( InizioIniezione)
+ FROM @newData nd LEFT OUTER JOIN ElencoCartellini ec ON nd.CodGitterbox COLLATE SQL_Latin1_General_CP1_CI_AS = ec.UDC
+ WHERE ec.UDC IS NULL
+ GROUP BY nd.CodGitterbox
+
+ DECLARE @udc NVARCHAR(50)
+ DECLARE @Particolare NVARCHAR(50)
+ DECLARE @NumDisegno NVARCHAR(50)
+ DECLARE @EsponenteDisegno NVARCHAR(50)
+ DECLARE @Qta INT
+ DECLARE @IdxCellaTo INT
+ DECLARE @adesso DATETIME
+ DECLARE @posTrovate INT
+
+ SET @adesso = GETDATE()
+ SET @posTrovate = 0
+
+ DECLARE cursoreImport CURSOR FOR
+ SELECT nd.CodGitterbox, tp.Particolare, tp.NumDisegno, tp.EsponenteDisegno, dbo.getNumDatamatrix(nd.CodGitterbox) FROM @newData nd
+ INNER JOIN v_transcParticolari tp ON nd.NumDisegno = tp.NumDisegno AND nd.EsponenteDisegno = tp.EsponenteDisegno
+
+ OPEN cursoreImport
+ FETCH NEXT FROM cursoreImport INTO @udc, @Particolare, @NumDisegno, @EsponenteDisegno, @Qta
+
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+
+ -- aggiorno gli UDC gitterbox esistenti per quantità tra quelli dei dati da importare...
+ UPDATE ElencoCartellini
+ SET CodCS = @CodCS,
+ IdxPosizione = @IdxPosizione,
+ CreateDate = @adesso,
+ Particolare = @Particolare,
+ DisegnoGrezzo = @NumDisegno,
+ Esponente = @EsponenteDisegno,
+ Qta = @Qta,
+ Figura = '',
+ CodImballo ='',
+ Tara = 0,
+ PesoTot = 0,
+ PesoCad = 0,
+ CodStato = 'Fin',
+ NumCont = 1,
+ TurnoFus = 0,
+ ModDate = @adesso
+ WHERE UDC = @udc
+
+ -- indico cella UDC corrente... calcolo la prima cella della nuova posizione...
+ SET @IdxCellaTo = (
+ SELECT TOP 1 IdxCella FROM Celle
+ WHERE IdxBlocco = (
+ SELECT IdxBlocco FROM Blocchi
+ WHERE CodMag=CAST(@IdxPosizione AS NVARCHAR(50)))
+ )
+ -- controllo se posizione non ancora creata...
+ SET @posTrovate = ( SELECT COUNT(*) FROM PosizioneUdcCorrente WHERE UDC = @udc )
+ IF( @posTrovate =0)
+ BEGIN
+ INSERT INTO PosizioneUdcCorrente
+ VALUES (@udc, @IdxCellaTo, @CodCS, @adesso)
+ END
+
+ FETCH NEXT FROM cursoreImport INTO @udc, @Particolare, @NumDisegno, @EsponenteDisegno, @Qta
+
+
+ END
+
+ CLOSE cursoreImport
+ DEALLOCATE cursoreImport
+
+ -- inserisco datamatrix da ultimo import
+ INSERT INTO ElencoDataMatrix
+ SELECT * FROM @newData
+
+ -- aggiorno dati ultimo caricamento
+ SET @lastImport = ( SELECT ISNULL(MAX(DataImport),@lastImport) FROM @newData )
+ UPDATE LogImportFlussi
+ SET LastImport = @lastImport
+ WHERE NomeFlusso = @nomeFlusso
+
+
+RETURN
+go
+
+commit
+go
+
+-- =============================================
+-- Author: Samuele E. Locatelli
+-- Create date: 2009-09-20
+-- Description: trigger x inserimento movimenti
+-- nella coda di trasferimento batch
+-- verso AS400 x UPDATE UDC
+-- =============================================
+ALTER TRIGGER trg_updMovAS
+ ON ElencoCartellini
+ AFTER UPDATE
+AS
+BEGIN
+
+ -- setup variabili e verbosità
+ SET NOCOUNT ON;
+ DECLARE @partOk AS BIT
+ DECLARE @currUdc AS NVARCHAR(50)
+ DECLARE @IdxPosFrom AS INT
+ DECLARE @IdxPosTo AS INT
+ DECLARE @magFrom AS NVARCHAR(50)
+ DECLARE @magTo AS NVARCHAR(50)
+ DECLARE @qta AS DECIMAL(10,2)
+ DECLARE @qtaOld AS DECIMAL(10,2)
+ DECLARE @IdxPosizioneComp INT
+ DECLARE @toAs400 BIT
+
+ DECLARE cursore CURSOR FOR
+ SELECT CASE WHEN ISNULL(Particolare,'n.d.') = 'n.d.' THEN 0 ELSE 1 END, UDC FROM inserted
+
+ OPEN cursore
+ FETCH NEXT FROM cursore INTO @partOk, @currUdc
+
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ -- controllo che CI SIA il particolare (altrimenti non eseguo)
+ IF(@partOk = 1)
+ SET @qta = (SELECT Qta FROM inserted WHERE UDC = @currUdc)
+ SET @qtaOld = (SELECT Qta FROM deleted WHERE UDC = @currUdc)
+ -- se c'è stata modifica di quantità inizio a rettificare quella
+ IF ((UPDATE(Qta)) AND(@qta <> @qtaOld))
+ BEGIN
+ -- registro il VERO movimento
+ INSERT INTO AS400_BatchMovimenti(DataIns, CodEvento, Particolare, UDC, CodMagAS, Quantita)
+ (
+ SELECT GETDATE(), 'UDC_MOD', Particolare, UDC, CAST(IdxPosizione AS NVARCHAR(50)), @qta - Qta
+ FROM deleted
+ WHERE UDC = @currUdc AND CAST(IdxPosizione AS NVARCHAR(50)) IN (SELECT CodMagAS FROM AS400_MagCont WHERE Attivo = 1)
+ )
+ -- controllo: se il magazzino di destinazione richiede una compensazione registro il 2° movimento di compensazione
+ SET @IdxPosFrom = (SELECT IdxPosizione FROM deleted)
+ SET @IdxPosTo = (SELECT IdxPosizione FROM inserted)
+ -- calcolo il mag di compensazione
+ SET @IdxPosizioneComp = (SELECT CAST(ISNULL(CodMagAS_compensaz,0) AS INT) FROM AS400_MagCont WHERE (Attivo = 1) AND (CodMagAS = CAST(@IdxPosFrom AS NVARCHAR(50))))
+ IF (@IdxPosizioneComp > 0)
+ BEGIN
+ INSERT INTO AS400_BatchMovimenti(DataIns, CodEvento, Particolare, UDC, CodMagAS, Quantita)
+ (
+ SELECT GETDATE(), 'UDC_COMP', Particolare, UDC, CAST(@IdxPosizioneComp AS NVARCHAR(50)), Qta - @qta
+ FROM deleted
+ WHERE UDC = @currUdc AND CAST(IdxPosizione AS NVARCHAR(50)) IN (SELECT CodMagAS FROM AS400_MagCont WHERE Attivo = 1)
+ )
+ END
+ END
+
+ -- Prendo le posizioni di magazzino precedente e nuova
+ SET @IdxPosFrom = (SELECT IdxPosizione FROM deleted WHERE UDC = @currUdc)
+ SET @IdxPosTo = (SELECT IdxPosizione FROM inserted WHERE UDC = @currUdc)
+
+ -- controllo se devo fare rettifiche quantità...
+ SET @toAs400 = (
+ SELECT TOP 1 ISNULL(toAs400, 0) as valore
+ FROM TabTranPosizEventi
+ WHERE IdxPosizione = @IdxPosFrom AND IdxPosizioneTo = @IdxPosTo
+ )
+
+ -- controllo poi se sia cambiato il magazzino logico (IdxPosizione) e si richieda update verso AS400, altrimenti non lo inserisco
+ IF ((UPDATE(IdxPosizione)) AND @toAs400 = 1)
+ BEGIN
+ -- Le trasformo nelle equivalenti stringhe del codMag SE attive
+ SET @magFrom = (SELECT ISNULL(CodMagAS,'---') FROM AS400_MagCont WHERE Attivo = 1 AND CodMagAs = CAST(@IdxPosFrom AS NVARCHAR(50)))
+ SET @magTo = (SELECT ISNULL(CodMagAS,'---') FROM AS400_MagCont WHERE Attivo = 1 AND CodMagAs = CAST(@IdxPosTo AS NVARCHAR(50)))
+
+ -- inserisco un movimento di deposito verso mag nuovo (SE attivo)
+ IF (@magFrom <> '---')
+ BEGIN
+ INSERT INTO AS400_BatchMovimenti(DataIns, CodEvento, Particolare, UDC, CodMagAS, Quantita)
+ (
+ SELECT GETDATE(), 'UDC_MOV', Particolare, UDC, CAST(IdxPosizione AS NVARCHAR(50)), -@qta
+ FROM deleted
+ WHERE UDC = @currUdc AND CAST(IdxPosizione AS NVARCHAR(50)) IN (SELECT CodMagAS FROM AS400_MagCont WHERE Attivo = 1)
+ )
+ END
+ -- inserisco un movimento di prelievo verso mag vecchio (SE attivo)
+ IF (@magTo <> '---')
+ BEGIN
+ INSERT INTO AS400_BatchMovimenti(DataIns, CodEvento, Particolare, UDC, CodMagAS, Quantita)
+ (
+ SELECT GETDATE(), 'UDC_MOV', Particolare, UDC, CAST(IdxPosizione AS NVARCHAR(50)), @qta
+ FROM inserted
+ WHERE UDC = @currUdc AND CAST(IdxPosizione AS NVARCHAR(50)) IN (SELECT CodMagAS FROM AS400_MagCont WHERE Attivo = 1)
+ )
+ END
+ END
+ FETCH NEXT FROM cursore INTO @partOk, @currUdc
+ END
+
+ CLOSE cursore
+ DEALLOCATE cursore
+
+END
+
+
+
+-- registro versione...
+INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(385, GETDATE())
+GO
diff --git a/GMW/GMW_data/SqlScripts/V1.1/GMW_00390.sql b/GMW/GMW_data/SqlScripts/V1.1/GMW_00390.sql
new file mode 100644
index 00000000..4b4477f2
--- /dev/null
+++ b/GMW/GMW_data/SqlScripts/V1.1/GMW_00390.sql
@@ -0,0 +1,1088 @@
+set xact_abort on
+go
+
+begin transaction
+go
+
+create table ElencoListePrelievo_storico(
+ DataOraDelete datetime not null,
+ CodLista nvarchar(12) not null,
+ CodTipoLista nvarchar(10) not null,
+ CodCS nchar(2) not null,
+ DataCreaz datetime not null,
+ CodCliente nvarchar(6),
+ RagSociale nvarchar(35),
+ CodSoggetto nchar(17) not null,
+ Particolare nvarchar(15) not null,
+ DescParticolare nvarchar(30),
+ DisegnoGrezzo nvarchar(30),
+ Esponente nvarchar(6),
+ Figura nvarchar(4),
+ CodImballo nvarchar(15),
+ QtaTot decimal(10,2) not null,
+ CodStatoLista int not null,
+ Destinatario nvarchar(50),
+ DestinatarioDescrizione nvarchar(50)
+)
+go
+
+create index i_codLista on ElencoListePrelievo_storico(CodLista)
+go
+
+create table Odette_storico(
+ DataOraDelete datetime not null,
+ CampoUDC varchar(10) not null,
+ Campo1_1 nvarchar(50) not null,
+ Campo1_2 nvarchar(50) not null,
+ Campo1_3 nvarchar(50) not null,
+ Campo1_4 nvarchar(50) not null,
+ Campo1_5 nvarchar(50) not null,
+ Campo2_1 nvarchar(50) not null,
+ Campo2_2 nvarchar(50) not null,
+ Campo2_3 nvarchar(50) not null,
+ Campo2_4 nvarchar(50) not null,
+ Campo2_5 nvarchar(50) not null,
+ Campo3_1 nvarchar(50) not null,
+ Campo3_2 nvarchar(50) not null,
+ Campo3_3 nvarchar(50) not null,
+ Campo3_4 nvarchar(50) not null,
+ Campo3_5 nvarchar(50) not null,
+ Campo4_1 nvarchar(50) not null,
+ Campo4_2 nvarchar(50) not null,
+ Campo4_3 nvarchar(50) not null,
+ Campo4_4 nvarchar(50) not null,
+ Campo4_5 nvarchar(50) not null,
+ Campo5_1 nvarchar(50) not null,
+ Campo5_2 nvarchar(50) not null,
+ Campo5_3 nvarchar(50) not null,
+ Campo5_4 nvarchar(50) not null,
+ Campo5_5 nvarchar(50) not null,
+ Campo6_1 nvarchar(50) not null,
+ Campo6_2 nvarchar(50) not null,
+ Campo6_3 nvarchar(50) not null,
+ Campo6_4 nvarchar(50) not null,
+ Campo6_5 nvarchar(50) not null,
+ Campo7_1 nvarchar(50) not null,
+ Campo7_2 nvarchar(50) not null,
+ Campo7_3 nvarchar(50) not null,
+ Campo7_4 nvarchar(50) not null,
+ Campo7_5 nvarchar(50) not null,
+ Campo8_1 nvarchar(50) not null,
+ Campo8_2 nvarchar(50) not null,
+ Campo8_3 nvarchar(50) not null,
+ Campo8_4 nvarchar(50) not null,
+ Campo8_5 nvarchar(50) not null,
+ Campo9_1 nvarchar(50) not null,
+ Campo9_2 nvarchar(50) not null,
+ Campo9_3 nvarchar(50) not null,
+ Campo9_4 nvarchar(50) not null,
+ Campo9_5 nvarchar(50) not null,
+ Campo10_1 nvarchar(50) not null,
+ Campo10_2 nvarchar(50) not null,
+ Campo10_3 nvarchar(50) not null,
+ Campo10_4 nvarchar(50) not null,
+ Campo10_5 nvarchar(50) not null,
+ Campo11_1_1 nvarchar(50) not null,
+ Campo11_1_2 nvarchar(50) not null,
+ Campo11_1_3 nvarchar(50) not null,
+ Campo11_1_4 nvarchar(50) not null,
+ Campo11_1_5 nvarchar(50) not null,
+ Campo11_2_1 nvarchar(50) not null,
+ Campo11_2_2 nvarchar(50) not null,
+ Campo11_2_3 nvarchar(50) not null,
+ Campo11_2_4 nvarchar(50) not null,
+ Campo11_2_5 nvarchar(50) not null,
+ Campo12_1 nvarchar(50) not null,
+ Campo12_2 nvarchar(50) not null,
+ Campo12_3 nvarchar(50) not null,
+ Campo12_4 nvarchar(50) not null,
+ Campo12_5 nvarchar(50) not null,
+ Campo13_1 nvarchar(50) not null,
+ Campo13_2 nvarchar(50) not null,
+ Campo13_3 nvarchar(50) not null,
+ Campo13_4 nvarchar(50) not null,
+ Campo13_5 nvarchar(50) not null,
+ Campo14_1 nvarchar(50) not null,
+ Campo14_2 nvarchar(50) not null,
+ Campo14_3 nvarchar(50) not null,
+ Campo14_4 nvarchar(50) not null,
+ Campo14_5 nvarchar(50) not null,
+ Campo15_1 nvarchar(50) not null,
+ Campo15_2 nvarchar(50) not null,
+ Campo15_3 nvarchar(50) not null,
+ Campo15_4 nvarchar(50) not null,
+ Campo15_5 nvarchar(50) not null,
+ Campo16_1 nvarchar(50) not null,
+ Campo16_2 nvarchar(50) not null,
+ Campo16_3 nvarchar(50) not null,
+ Campo16_4 nvarchar(50) not null,
+ Campo16_5 nvarchar(50) not null,
+ StatoOk bit not null,
+ CodCS nchar(2) not null
+)
+go
+
+create index i_UDC on Odette_storico(CampoUDC)
+go
+
+create table RigheListePrelievo_storico(
+ DataOraDelete datetime not null,
+ CodLista nvarchar(12) not null,
+ UDC nvarchar(50) not null,
+ Qta decimal(10,2) not null,
+ Proposto bit,
+ Prelevato bit
+)
+go
+
+create index i_UDC on RigheListePrelievo_storico(UDC)
+go
+
+create index i_CodListaUDC on RigheListePrelievo_storico(CodLista,UDC)
+go
+
+commit
+go
+
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+-- =============================================
+-- Author: Samuele E. Locatelli
+-- Create date: 2011-05-20
+-- Description: trigger x inserimento in tab
+-- storico record cancellati
+-- =============================================
+create TRIGGER trg_ListePrelievoDel
+ ON ElencoListePrelievo
+ AFTER DELETE
+AS
+BEGIN
+
+ -- setup variabili e verbosità
+ SET NOCOUNT ON;
+ -- inserisco in storico
+ INSERT INTO ElencoListePrelievo_storico
+ (DataOraDelete,CodLista,CodTipoLista,CodCS,DataCreaz,CodCliente,RagSociale,CodSoggetto,Particolare,DescParticolare,DisegnoGrezzo,
+ Esponente,Figura,CodImballo,QtaTot,CodStatoLista,Destinatario,DestinatarioDescrizione)
+
+ SELECT GETDATE(), CodLista,CodTipoLista,CodCS,DataCreaz,CodCliente,RagSociale,CodSoggetto,Particolare,DescParticolare,DisegnoGrezzo,
+ Esponente,Figura,CodImballo,QtaTot,CodStatoLista,Destinatario,DestinatarioDescrizione
+ FROM deleted
+
+
+END
+go
+
+-- =============================================
+-- Author: Samuele E. Locatelli
+-- Create date: 2011-05-20
+-- Description: trigger x inserimento in tab
+-- storico record cancellati
+-- =============================================
+create TRIGGER trg_odetteDel
+ ON Odette
+ AFTER DELETE
+AS
+BEGIN
+
+ -- setup variabili e verbosità
+ SET NOCOUNT ON;
+ -- inserisco in storico
+ INSERT INTO Odette_storico
+ (DataOraDelete,CampoUDC,Campo1_1,Campo1_2,Campo1_3,Campo1_4,Campo1_5,Campo2_1,Campo2_2,Campo2_3,Campo2_4,Campo2_5,Campo3_1,
+ Campo3_2,Campo3_3,Campo3_4,Campo3_5,Campo4_1,Campo4_2,Campo4_3,Campo4_4,Campo4_5,Campo5_1,Campo5_2,Campo5_3,Campo5_4,Campo5_5,
+ Campo6_1,Campo6_2,Campo6_3,Campo6_4,Campo6_5,Campo7_1,Campo7_2,Campo7_3,Campo7_4,Campo7_5,Campo8_1,Campo8_2,Campo8_3,Campo8_4,
+ Campo8_5,Campo9_1,Campo9_2,Campo9_3,Campo9_4,Campo9_5,Campo10_1,Campo10_2,Campo10_3,Campo10_4,Campo10_5,Campo11_1_1,Campo11_1_2,
+ Campo11_1_3,Campo11_1_4,Campo11_1_5,Campo11_2_1,Campo11_2_2,Campo11_2_3,Campo11_2_4,Campo11_2_5,Campo12_1,Campo12_2,Campo12_3,
+ Campo12_4,Campo12_5,Campo13_1,Campo13_2,Campo13_3,Campo13_4,Campo13_5,Campo14_1,Campo14_2,Campo14_3,Campo14_4,Campo14_5,Campo15_1,
+ Campo15_2,Campo15_3,Campo15_4,Campo15_5,Campo16_1,Campo16_2,Campo16_3,Campo16_4,Campo16_5,StatoOk,CodCS)
+
+ SELECT GETDATE(), CampoUDC,Campo1_1,Campo1_2,Campo1_3,Campo1_4,Campo1_5,Campo2_1,Campo2_2,Campo2_3,Campo2_4,Campo2_5,Campo3_1,
+ Campo3_2,Campo3_3,Campo3_4,Campo3_5,Campo4_1,Campo4_2,Campo4_3,Campo4_4,Campo4_5,Campo5_1,Campo5_2,Campo5_3,Campo5_4,Campo5_5,
+ Campo6_1,Campo6_2,Campo6_3,Campo6_4,Campo6_5,Campo7_1,Campo7_2,Campo7_3,Campo7_4,Campo7_5,Campo8_1,Campo8_2,Campo8_3,Campo8_4,
+ Campo8_5,Campo9_1,Campo9_2,Campo9_3,Campo9_4,Campo9_5,Campo10_1,Campo10_2,Campo10_3,Campo10_4,Campo10_5,Campo11_1_1,Campo11_1_2,
+ Campo11_1_3,Campo11_1_4,Campo11_1_5,Campo11_2_1,Campo11_2_2,Campo11_2_3,Campo11_2_4,Campo11_2_5,Campo12_1,Campo12_2,Campo12_3,
+ Campo12_4,Campo12_5,Campo13_1,Campo13_2,Campo13_3,Campo13_4,Campo13_5,Campo14_1,Campo14_2,Campo14_3,Campo14_4,Campo14_5,Campo15_1,
+ Campo15_2,Campo15_3,Campo15_4,Campo15_5,Campo16_1,Campo16_2,Campo16_3,Campo16_4,Campo16_5,StatoOk,CodCS
+ FROM deleted
+
+END
+go
+
+-- =============================================
+-- Author: Samuele E. Locatelli
+-- Create date: 2011-05-20
+-- Description: trigger x inserimento in tab
+-- storico record cancellati
+-- =============================================
+create TRIGGER trg_RigheListePrelievoDel
+ ON RigheListePrelievo
+ AFTER DELETE
+AS
+BEGIN
+
+ -- setup variabili e verbosità
+ SET NOCOUNT ON;
+ -- inserisco in storico
+ INSERT INTO RigheListePrelievo_storico
+ (DataOraDelete,CodLista,UDC,Qta,Proposto,Prelevato)
+
+ SELECT GETDATE(), CodLista,UDC,Qta,Proposto,Prelevato
+ FROM deleted
+
+
+END
+go
+
+commit
+go
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_RLP_resetPrelevate
+*
+* sblocca righe liste di prelievo come NON PRELEVATE
+*
+* Steamware, S.E.L.
+* mod: 2011.05.20
+*
+****************************************/
+create PROCEDURE stp_RLP_resetPrelevate
+(
+ @CodLista NVARCHAR(12)
+)
+AS
+
+-- effettua "sblocco" delle righe liste prelievo
+UPDATE RigheListePrelievo
+ SET Prelevato = 0
+ WHERE CodLista = @CodLista
+
+RETURN
+go
+
+/***************************************
+* STORED stp_TTPE_getByCodEvento
+*
+* ottiene una riga della tab di transizione eventi dato evento
+*
+* Steamware, S.E.L.
+* mod: 2011.05.20
+*
+************************************/
+create PROCEDURE stp_TTPE_getByCodEvento
+(
+ @CodEvento NVARCHAR(10)
+)
+AS
+
+SELECT *
+FROM TabTranPosizEventi
+where CodEvento = @CodEvento
+go
+
+commit
+go
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* FUNCTION f_getCellaByPos
+*
+* fornisce la prima cella associata ad una posizione "logica" di magazzino
+*
+* Steamware, S.E.L.
+* mod: 2011.05.20
+*
+****************************************/
+create FUNCTION f_getCellaByPos (@posizione VARCHAR(255))
+RETURNS INT AS
+BEGIN
+
+DECLARE @answ AS INT
+
+ SET @answ = (
+ SELECT TOP 1 ISNULL(IdxCella,0) FROM Celle
+ WHERE IdxBlocco = ( SELECT IdxBlocco FROM Blocchi WHERE CodMag = @posizione )
+ )
+
+RETURN @answ
+
+END
+go
+
+commit
+go
+
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_scaricaUdc
+*
+* elimina dalle posizioni correnti un UDC, salvandone la posizione precedente nella tab storica (per scaricamento / spedizione)
+*
+* Steamware, S.E.L.
+* mod: 2010.09.28
+*
+****************************************/
+alter PROCEDURE stp_scaricaUdc
+(
+ @UDC VARCHAR(50),
+ @IdxCellaFrom INT,
+ @IdxPosizione INT
+)
+AS
+
+BEGIN TRAN
+ -- libero la posizione attuale dell'UDC (se c'è...)
+ DELETE
+ FROM PosizioneUdcCorrente
+ WHERE UDC = @UDC --AND IdxCella = @IdxCellaFrom
+
+ -- aggiorno l'UDC come posizione finale...
+ UPDATE ElencoCartellini
+ SET IdxPosizione = @IdxPosizione, ModDate = GETDATE()
+ WHERE UDC = @UDC
+
+COMMIT TRAN
+
+RETURN
+go
+
+commit
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/*****************************************
+* STORED stp_ODETTE_delete
+*
+* Elimina una riga etichetta odette
+*
+* Steamware, S.E.L.
+* mod: 2011.05.10
+*
+****************************************/
+create PROCEDURE stp_ODETTE_delete
+(
+ @Original_CampoUDC NVARCHAR(50)
+)
+AS
+
+DELETE
+FROM Odette
+WHERE CampoUDC = @Original_CampoUDC
+
+RETURN
+go
+
+/*****************************************
+* STORED stp_ODETTE_upsertUdc
+*
+* effettua upsert x l'UDC (ovver crea nuovo solo se non c'è...)
+*
+* Steamware, S.E.L.
+* mod: 2011.04.28
+*
+****************************************/
+alter PROCEDURE stp_ODETTE_upsertUdc
+(
+ @UDC NVARCHAR(10),
+ @CodCS VARCHAR(2),
+ @numBolla NVARCHAR(6),
+ @dataBolla NVARCHAR(8),
+ @IndStabFrom NVARCHAR(50),
+ @qtaCont NVARCHAR(50)
+)
+AS
+
+
+-- DECLARE iniziali x gestione contatori odette
+DECLARE @Flusso AS VARCHAR(2)
+DECLARE @Anno AS VARCHAR(2)
+DECLARE @numOdette AS INT
+DECLARE @nextOdette AS INT
+
+------------------------------------------------------------------------------------------------------
+-- Fix flusso ed anno x 'OD' e '00' (contatore non spezzato su anno...
+------------------------------------------------------------------------------------------------------
+SET @Flusso = 'OD'
+SET @Anno = '00'
+
+------------------------------------------------------------------------------------------------------
+-- Contatore Odette
+------------------------------------------------------------------------------------------------------
+-- controllo se ci sia già un odette per company / flusso / anno
+BEGIN TRAN
+ -- cerco nella tab contatori UDC l'ultimo valido
+ SET @numOdette = (
+ SELECT count(*)
+ FROM Odette
+ WHERE CodCS = @CodCS
+ )
+ -- controllo se record c'è...
+ IF(@numOdette > 0)
+ BEGIN
+ -- se c'è incremento di 1 in tab
+ UPDATE ContatoriUdc
+ SET LastIdx = LastIdx + 1
+ WHERE CodCS = @CodCS
+ AND Flusso = @Flusso
+ AND Anno = @Anno
+ END
+ ELSE
+ BEGIN
+ -- lo creo!
+ INSERT INTO ContatoriUdc(CodCS, Flusso, Anno, LastIdx)
+ VALUES (@CodCS, @Flusso, @Anno, 1)
+ END
+ -- aggiorno numero UDC
+ SET @numOdette = (
+ SELECT LastIdx
+ FROM ContatoriUdc
+ WHERE CodCS = @CodCS
+ AND Flusso = @Flusso
+ AND Anno = @Anno
+ )
+COMMIT TRAN
+
+-- cerco se ci sia già la riga Odette
+DECLARE @udcTrovati AS INT
+SET @udcTrovati = ( SELECT COUNT(*) FROM Odette WHERE CampoUDC = @UDC )
+
+-- controllo se esista già... se non c'è creo
+IF (@udcTrovati = 0)
+ BEGIN
+ INSERT INTO Odette(CampoUDC, StatoOk, CodCS)
+ VALUES(@UDC, 0, @CodCS)
+ END
+
+-- calcolo valori x update
+DECLARE @DataB AS NVARCHAR(7)
+SET @DataB = ( SELECT 'D'+ SUBSTRING(@dataBolla, 3, 6) )
+DECLARE @udcShort NVARCHAR(10)
+SET @udcShort = SUBSTRING(@UDC, 3, LEN(@UDC)-2) -- prendo da 3° carattere perché prima "U" e una lettera x tipo prodotto gitterbox
+
+-- update valori (sovrascrivo...)
+UPDATE Odette
+SET Campo3_2 = @numBolla,
+ Campo3_3 = @numBolla,
+ Campo4_2 = @IndStabFrom,
+ Campo9_2 = @qtaCont,
+ Campo9_3 = @qtaCont,
+ Campo13_2 = @DataB,
+ Campo15_2 = @numOdette,
+ Campo15_3 = @numOdette,
+ Campo16_2 = @udcShort
+WHERE CampoUDC = @UDC
+
+RETURN
+go
+
+commit
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/***************************************
+* STORED stp_cellaGetFirstByPosizione
+*
+* ottiene la prima cella data la posizione indicata
+*
+* Steamware, S.E.L.
+* mod: 2011.05.20
+*
+****************************************/
+create PROCEDURE stp_cellaGetFirstByPosizione
+(
+ @posizione NVARCHAR(50)
+)
+AS
+
+ SELECT *
+ FROM Celle
+ WHERE IdxCella = dbo.f_getCellaByPos(@posizione)
+
+RETURN
+go
+
+commit
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/*****************************************
+* STORED stp_EDM_spostaDataMtx
+*
+* Sposta un datamatrix in un nuovo gitterbox
+*
+* Steamware, S.E.L.
+* mod: 2011.05.05
+*
+****************************************/
+alter PROCEDURE stp_EDM_spostaDataMtx
+(
+ @CodDataMatrix NUMERIC(23),
+ @CodGitterbox NVARCHAR(10)
+)
+AS
+
+-- salvo codice gitterbox di partenza
+DECLARE @CodGitterboxFrom AS NVARCHAR(10)
+SET @CodGitterboxFrom = ( SELECT CodGitterbox FROM ElencoDataMatrix WHERE CodDataMatrix = @CodDataMatrix )
+
+UPDATE ElencoDataMatrix
+SET CodGitterbox = @CodGitterbox
+WHERE CodDataMatrix = @CodDataMatrix
+
+-- aggiorno valori QTA gitterbox di partenza...
+UPDATE ElencoCartellini
+SET Qta = ( SELECT COUNT(*) FROM ElencoDataMatrix WHERE CodGitterbox = @CodGitterboxFrom )
+WHERE UDC = @CodGitterboxFrom
+-- aggiorno valoti QTA gitterbox destinazione...
+UPDATE ElencoCartellini
+SET Qta = ( SELECT COUNT(*) FROM ElencoDataMatrix WHERE CodGitterbox = @CodGitterbox )
+WHERE UDC = @CodGitterbox
+
+-- aggiorno righe liste di prelievo...
+UPDATE RigheListePrelievo
+SET Qta = ( SELECT COUNT(*) FROM ElencoDataMatrix WHERE CodGitterbox = @CodGitterboxFrom )
+WHERE UDC = @CodGitterboxFrom
+-- aggiorno valoti QTA gitterbox destinazione...
+UPDATE RigheListePrelievo
+SET Qta = ( SELECT COUNT(*) FROM ElencoDataMatrix WHERE CodGitterbox = @CodGitterbox )
+WHERE UDC = @CodGitterbox
+
+-- select finale!
+SELECT *
+FROM ElencoDataMatrix
+WHERE CodDataMatrix = @CodDataMatrix
+
+RETURN
+go
+
+commit
+go
+
+
+drop procedure stp_BORI_caricaDatiNew
+go
+
+
+-- ATTENZIONE!!! DA QUI SI DEVE AVERE corrette le view sul db SP_produzione_test
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/*****************************************
+* STORED stp_DtMtx_getOrig
+*
+* Cerca la bolla richiesta x chiave
+*
+* Steamware, S.E.L.
+* mod: 2011.05.19
+*
+****************************************/
+create PROCEDURE stp_DtMtx_getOrig
+(
+ @CodDataMatrix NVARCHAR(50)
+)
+AS
+
+SELECT *
+FROM v_trasfDataMatrix
+WHERE CodDataMatrix = @CodDataMatrix
+
+RETURN
+go
+
+commit
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/*****************************************
+* STORED stp_DtMtrx_import
+*
+* Recupera dati Gitterbox/DataMatrix partendo leggendo dati successivi all'ultimo import e importanto in tab GMW
+*
+* Steamware, S.E.L.
+* mod: 2011.04.29
+*
+****************************************/
+alter PROCEDURE stp_DtMtrx_import
+(
+ @CodCS VARCHAR(2),
+ @IdxPosizione INT
+)
+AS
+
+------------------------------------------------------------------------------------------------------
+-- leggo data ultimo import (o creo record...)
+------------------------------------------------------------------------------------------------------
+DECLARE @nomeFlusso AS NVARCHAR(50)
+DECLARE @lastImport AS DATETIME
+DECLARE @trovati AS INT
+
+-- imposto valori
+SET @nomeFlusso = 'DataMatrix'
+SET @lastImport = DATEADD(yy,-10,GETDATE()) -- inizializzo a -10 anni ...
+-- sistemo tab registrazione import...
+BEGIN TRAN
+ -- cerco nella tab log ultima data caricamento
+ SET @trovati = (
+ SELECT COUNT(*)
+ FROM logImportFlussi
+ WHERE NomeFlusso = @nomeFlusso
+ )
+ -- controllo se record c'è...
+ IF(@trovati > 0)
+ BEGIN
+ SET @lastImport = ( SELECT LastImport FROM LogImportFlussi WHERE NomeFlusso = @nomeFlusso )
+ END
+ ELSE
+ BEGIN
+ -- lo creo!
+ INSERT INTO LogImportFlussi(NomeFlusso, LastImport)
+ VALUES (@nomeFlusso, @lastImport)
+ END
+COMMIT TRAN
+------------------------------------------------------------------------------------------------------
+
+
+------------------------------------------------------------------------------------------------------
+-- ora gestisco il vero caricamento...
+------------------------------------------------------------------------------------------------------
+ -- filtro e salvo in tabella... gitterbox validi SOLO se iniziano per "U"
+ DECLARE @newData TABLE
+ (
+ CodDataMatrix numeric(23, 0) ,
+ CodGitterbox char(10) ,
+ NumConchiglia int ,
+ NumDisegno numeric(7, 0) ,
+ EsponenteDisegno tinyint ,
+ CodDifettoScarto varchar(5) ,
+ InizioPreparazione smalldatetime ,
+ FinePreparazione smalldatetime ,
+ InizioIniezione smalldatetime ,
+ FineIniezione smalldatetime ,
+ MagDestinazione varchar(2) ,
+ DataImport smalldatetime
+ )
+ INSERT INTO @newData
+ SELECT CodDataMatrix, LTRIM(RTRIM(CodGitterbox)), NumConchiglia, NumDisegno, EsponenteDisegno, CodDifettoScarto, InizioPreparazione, FinePreparazione, InizioIniezione, FineIniezione, MagDestinazione, DataImport
+
+ FROM v_trasfDataMatrix
+ WHERE DataImport > @lastImport AND LEFT(CodGitterbox, 1) = 'U'
+
+
+
+ -- creo UDC da gitterbox nuovi
+ INSERT INTO ElencoCartellini(UDC, Particolare, DataFus)
+ SELECT DISTINCT nd.CodGitterbox, null, MIN(InizioIniezione)
+ FROM @newData nd LEFT OUTER JOIN ElencoCartellini ec ON nd.CodGitterbox = ec.UDC
+ WHERE ec.UDC IS NULL
+ GROUP BY nd.CodGitterbox
+
+ DECLARE @udc NVARCHAR(50)
+ DECLARE @Particolare NVARCHAR(50)
+ DECLARE @NumDisegno NVARCHAR(50)
+ DECLARE @EsponenteDisegno NVARCHAR(50)
+ DECLARE @Qta INT
+ DECLARE @IdxCellaTo INT
+ DECLARE @adesso DATETIME
+ DECLARE @posTrovate INT
+
+ SET @adesso = GETDATE()
+ SET @posTrovate = 0
+
+ DECLARE cursoreImport CURSOR FOR
+ SELECT nd.CodGitterbox, tp.Particolare, tp.NumDisegno, tp.EsponenteDisegno, dbo.getNumDatamatrix(nd.CodGitterbox) FROM @newData nd
+ INNER JOIN v_transcParticolari tp ON nd.NumDisegno = tp.NumDisegno AND nd.EsponenteDisegno = tp.EsponenteDisegno
+
+ OPEN cursoreImport
+ FETCH NEXT FROM cursoreImport INTO @udc, @Particolare, @NumDisegno, @EsponenteDisegno, @Qta
+
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+
+ -- aggiorno gli UDC gitterbox esistenti per quantità tra quelli dei dati da importare...
+ UPDATE ElencoCartellini
+ SET CodCS = @CodCS,
+ IdxPosizione = @IdxPosizione,
+ CreateDate = @adesso,
+ Particolare = @Particolare,
+ DisegnoGrezzo = @NumDisegno,
+ Esponente = @EsponenteDisegno,
+ Qta = @Qta,
+ Figura = '',
+ CodImballo = '',
+ Tara = 0,
+ PesoTot = 0,
+ PesoCad = 0,
+ CodStato = 'Fin',
+ NumCont = 1,
+ TurnoFus = 0,
+ ModDate = @adesso
+ WHERE UDC = @udc
+
+ -- indico cella UDC corrente... calcolo la prima cella della nuova posizione...
+ SET @IdxCellaTo = ( SELECT dbo.f_getCellaByPos(CAST(@IdxPosizione AS NVARCHAR(50))) )
+ /*(
+ SELECT TOP 1 IdxCella FROM Celle
+ WHERE IdxBlocco = (
+ SELECT IdxBlocco FROM Blocchi
+ WHERE CodMag=CAST(@IdxPosizione AS NVARCHAR(50)))
+ )*/
+
+ -- controllo se posizione non ancora creata...
+ SET @posTrovate = ( SELECT COUNT(*) FROM PosizioneUdcCorrente WHERE UDC = @udc )
+ IF( @posTrovate =0)
+ BEGIN
+ INSERT INTO PosizioneUdcCorrente
+ VALUES (@udc, @IdxCellaTo, @CodCS, @adesso)
+ END
+
+ FETCH NEXT FROM cursoreImport INTO @udc, @Particolare, @NumDisegno, @EsponenteDisegno, @Qta
+
+
+ END
+
+ CLOSE cursoreImport
+ DEALLOCATE cursoreImport
+
+ -- inserisco datamatrix da ultimo import
+ INSERT INTO ElencoDataMatrix
+ SELECT * FROM @newData
+
+ -- aggiorno dati ultimo caricamento
+ SET @lastImport = ( SELECT ISNULL(MAX(DataImport),@lastImport) FROM @newData )
+ UPDATE LogImportFlussi
+ SET LastImport = @lastImport
+ WHERE NomeFlusso = @nomeFlusso
+
+
+RETURN
+go
+
+commit
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+alter table ElencoDataMatrix drop
+ constraint DF_ElencoDataMatrix_CodGitterbox
+go
+
+alter table ElencoDataMatrix alter column
+ CodGitterbox nvarchar(50) not null
+go
+
+alter table ElencoDataMatrix add
+ constraint DF_ElencoDataMatrix_CodGitterbox default ('') for CodGitterbox,
+ constraint FK_ElencoDataMatrix_ElencoCartellini foreign key(CodGitterbox) references ElencoCartellini(UDC) on update cascade
+go
+
+set ANSI_NULLS on
+go
+
+/*****************************************
+* STORED stp_EDM_spostaDataMtx
+*
+* Sposta un datamatrix in un nuovo gitterbox
+*
+* Steamware, S.E.L.
+* mod: 2011.05.05
+*
+****************************************/
+alter PROCEDURE stp_EDM_spostaDataMtx
+(
+ @CodDataMatrix NUMERIC(23),
+ @CodGitterbox NVARCHAR(10)
+)
+AS
+
+-- salvo codice gitterbox di partenza
+DECLARE @CodGitterboxFrom AS NVARCHAR(10)
+SET @CodGitterboxFrom = ( SELECT CodGitterbox FROM ElencoDataMatrix WHERE CodDataMatrix = @CodDataMatrix )
+
+UPDATE ElencoDataMatrix
+SET CodGitterbox = @CodGitterbox
+WHERE CodDataMatrix = @CodDataMatrix
+
+-- aggiorno valori QTA gitterbox di partenza...
+UPDATE ElencoCartellini
+SET Qta = ( SELECT COUNT(*) FROM ElencoDataMatrix WHERE CodGitterbox = @CodGitterboxFrom )
+WHERE UDC = @CodGitterboxFrom
+-- aggiorno valoti QTA gitterbox destinazione...
+UPDATE ElencoCartellini
+SET Qta = ( SELECT COUNT(*) FROM ElencoDataMatrix WHERE CodGitterbox = @CodGitterbox )
+WHERE UDC = @CodGitterbox
+
+-- aggiorno righe liste di prelievo...
+UPDATE RigheListePrelievo
+SET Qta = ( SELECT COUNT(*) FROM ElencoDataMatrix WHERE CodGitterbox = @CodGitterboxFrom )
+WHERE UDC = @CodGitterboxFrom
+-- aggiorno valoti QTA gitterbox destinazione...
+UPDATE RigheListePrelievo
+SET Qta = ( SELECT COUNT(*) FROM ElencoDataMatrix WHERE CodGitterbox = @CodGitterbox )
+WHERE UDC = @CodGitterbox
+
+-- select finale!
+SELECT *
+FROM ElencoDataMatrix
+WHERE CodDataMatrix = @CodDataMatrix
+
+RETURN
+go
+
+/*****************************************
+* STORED stp_DtMtrx_import
+*
+* Recupera dati Gitterbox/DataMatrix partendo leggendo dati successivi all'ultimo import e importanto in tab GMW
+*
+* Steamware, S.E.L.
+* mod: 2011.04.29
+*
+****************************************/
+alter PROCEDURE stp_DtMtrx_import
+(
+ @CodCS VARCHAR(2),
+ @IdxPosizione INT
+)
+AS
+
+------------------------------------------------------------------------------------------------------
+-- leggo data ultimo import (o creo record...)
+------------------------------------------------------------------------------------------------------
+DECLARE @nomeFlusso AS NVARCHAR(50)
+DECLARE @lastImport AS DATETIME
+DECLARE @trovati AS INT
+
+-- imposto valori
+SET @nomeFlusso = 'DataMatrix'
+SET @lastImport = DATEADD(yy,-10,GETDATE()) -- inizializzo a -10 anni ...
+-- sistemo tab registrazione import...
+BEGIN TRAN
+ -- cerco nella tab log ultima data caricamento
+ SET @trovati = (
+ SELECT COUNT(*)
+ FROM logImportFlussi
+ WHERE NomeFlusso = @nomeFlusso
+ )
+ -- controllo se record c'è...
+ IF(@trovati > 0)
+ BEGIN
+ SET @lastImport = ( SELECT LastImport FROM LogImportFlussi WHERE NomeFlusso = @nomeFlusso )
+ END
+ ELSE
+ BEGIN
+ -- lo creo!
+ INSERT INTO LogImportFlussi(NomeFlusso, LastImport)
+ VALUES (@nomeFlusso, @lastImport)
+ END
+COMMIT TRAN
+------------------------------------------------------------------------------------------------------
+
+
+------------------------------------------------------------------------------------------------------
+-- ora gestisco il vero caricamento...
+------------------------------------------------------------------------------------------------------
+ -- filtro e salvo in tabella... gitterbox validi SOLO se iniziano per "U"
+ DECLARE @newData TABLE
+ (
+ CodDataMatrix numeric(23, 0) ,
+ CodGitterbox char(10) ,
+ NumConchiglia int ,
+ NumDisegno numeric(7, 0) ,
+ EsponenteDisegno tinyint ,
+ CodDifettoScarto varchar(5) ,
+ InizioPreparazione smalldatetime ,
+ FinePreparazione smalldatetime ,
+ InizioIniezione smalldatetime ,
+ FineIniezione smalldatetime ,
+ MagDestinazione varchar(2) ,
+ DataImport smalldatetime
+ )
+ INSERT INTO @newData
+ SELECT CodDataMatrix, LTRIM(RTRIM(CodGitterbox)), NumConchiglia, NumDisegno, EsponenteDisegno, CodDifettoScarto, InizioPreparazione, FinePreparazione, InizioIniezione, FineIniezione, MagDestinazione, DataImport
+
+ FROM v_trasfDataMatrix
+ WHERE DataImport > @lastImport AND LEFT(CodGitterbox, 1) = 'U'
+
+
+
+ -- creo UDC da gitterbox nuovi
+ INSERT INTO ElencoCartellini(UDC, Particolare, DataFus)
+ SELECT DISTINCT nd.CodGitterbox, null, MIN(InizioIniezione)
+ FROM @newData nd LEFT OUTER JOIN ElencoCartellini ec ON nd.CodGitterbox = ec.UDC
+ WHERE ec.UDC IS NULL
+ GROUP BY nd.CodGitterbox
+
+ DECLARE @udc NVARCHAR(50)
+ DECLARE @Particolare NVARCHAR(50)
+ DECLARE @NumDisegno NVARCHAR(50)
+ DECLARE @EsponenteDisegno NVARCHAR(50)
+ DECLARE @Qta INT
+ DECLARE @IdxCellaTo INT
+ DECLARE @adesso DATETIME
+ DECLARE @posTrovate INT
+
+ SET @adesso = GETDATE()
+ SET @posTrovate = 0
+
+ DECLARE cursoreImport CURSOR FOR
+ SELECT nd.CodGitterbox, tp.Particolare, tp.NumDisegno, tp.EsponenteDisegno, dbo.getNumDatamatrix(nd.CodGitterbox) FROM @newData nd
+ INNER JOIN v_transcParticolari tp ON nd.NumDisegno = tp.NumDisegno AND nd.EsponenteDisegno = tp.EsponenteDisegno
+
+ OPEN cursoreImport
+ FETCH NEXT FROM cursoreImport INTO @udc, @Particolare, @NumDisegno, @EsponenteDisegno, @Qta
+
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+
+ -- aggiorno gli UDC gitterbox esistenti per quantità tra quelli dei dati da importare...
+ UPDATE ElencoCartellini
+ SET CodCS = @CodCS,
+ IdxPosizione = @IdxPosizione,
+ CreateDate = @adesso,
+ Particolare = @Particolare,
+ DisegnoGrezzo = @NumDisegno,
+ Esponente = @EsponenteDisegno,
+ Qta = @Qta,
+ Figura = '',
+ CodImballo = '',
+ Tara = 0,
+ PesoTot = 0,
+ PesoCad = 0,
+ CodStato = 'Fin',
+ NumCont = 1,
+ TurnoFus = 0,
+ ModDate = @adesso
+ WHERE UDC = @udc
+
+ -- indico cella UDC corrente... calcolo la prima cella della nuova posizione...
+ SET @IdxCellaTo = ( SELECT dbo.f_getCellaByPos(CAST(@IdxPosizione AS NVARCHAR(50))) )
+ /*(
+ SELECT TOP 1 IdxCella FROM Celle
+ WHERE IdxBlocco = (
+ SELECT IdxBlocco FROM Blocchi
+ WHERE CodMag=CAST(@IdxPosizione AS NVARCHAR(50)))
+ )*/
+
+ -- controllo se posizione non ancora creata...
+ SET @posTrovate = ( SELECT COUNT(*) FROM PosizioneUdcCorrente WHERE UDC = @udc )
+ IF( @posTrovate =0)
+ BEGIN
+ INSERT INTO PosizioneUdcCorrente
+ VALUES (@udc, @IdxCellaTo, @CodCS, @adesso)
+ END
+
+ FETCH NEXT FROM cursoreImport INTO @udc, @Particolare, @NumDisegno, @EsponenteDisegno, @Qta
+
+
+ END
+
+ CLOSE cursoreImport
+ DEALLOCATE cursoreImport
+
+ -- inserisco datamatrix da ultimo import
+ INSERT INTO ElencoDataMatrix
+ SELECT * FROM @newData
+
+ -- aggiorno dati ultimo caricamento
+ SET @lastImport = ( SELECT ISNULL(MAX(DataImport),@lastImport) FROM @newData )
+ UPDATE LogImportFlussi
+ SET LastImport = @lastImport
+ WHERE NomeFlusso = @nomeFlusso
+
+
+RETURN
+go
+
+commit
+go
+
+
+
+
+
+-- registro versione...
+INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(390, GETDATE())
+GO
diff --git a/GMW/GMW_data/SqlScripts/V1.1/GMW_00391.sql b/GMW/GMW_data/SqlScripts/V1.1/GMW_00391.sql
new file mode 100644
index 00000000..1593f8db
--- /dev/null
+++ b/GMW/GMW_data/SqlScripts/V1.1/GMW_00391.sql
@@ -0,0 +1,936 @@
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/*****************************************
+* STORED stp_ODETTE_upsertUdc
+*
+* effettua upsert x l'UDC (ovver crea nuovo solo se non c'è...)
+*
+* Steamware, S.E.L.
+* mod: 2011.04.28
+*
+****************************************/
+alter PROCEDURE stp_ODETTE_upsertUdc
+(
+ @UDC NVARCHAR(10),
+ @CodCS VARCHAR(2),
+ @numBolla NVARCHAR(6),
+ @dataBolla NVARCHAR(8),
+ @IndStabFrom NVARCHAR(50),
+ @qtaCont NVARCHAR(50)
+)
+AS
+
+
+-- DECLARE iniziali x gestione contatori odette
+DECLARE @Flusso AS VARCHAR(2)
+DECLARE @Anno AS VARCHAR(2)
+DECLARE @numOdette AS INT
+DECLARE @nextOdette AS INT
+
+------------------------------------------------------------------------------------------------------
+-- Fix flusso ed anno x 'OD' e '00' (contatore non spezzato su anno...
+------------------------------------------------------------------------------------------------------
+SET @Flusso = 'OD'
+SET @Anno = '00'
+
+------------------------------------------------------------------------------------------------------
+-- Contatore Odette
+------------------------------------------------------------------------------------------------------
+-- controllo se ci sia già un odette per company / flusso / anno
+BEGIN TRAN
+ -- cerco nella tab contatori UDC l'ultimo valido
+ SET @numOdette = (
+ SELECT count(*)
+ FROM Odette
+ WHERE CodCS = @CodCS
+ )
+ -- controllo se record c'è...
+ IF(@numOdette > 0)
+ BEGIN
+ -- se c'è incremento di 1 in tab
+ UPDATE ContatoriUdc
+ SET LastIdx = LastIdx + 1
+ WHERE CodCS = @CodCS
+ AND Flusso = @Flusso
+ AND Anno = @Anno
+ END
+ ELSE
+ BEGIN
+ -- lo creo!
+ INSERT INTO ContatoriUdc(CodCS, Flusso, Anno, LastIdx)
+ VALUES (@CodCS, @Flusso, @Anno, 1)
+ END
+ -- aggiorno numero UDC
+ SET @numOdette = (
+ SELECT LastIdx
+ FROM ContatoriUdc
+ WHERE CodCS = @CodCS
+ AND Flusso = @Flusso
+ AND Anno = @Anno
+ )
+COMMIT TRAN
+
+-- cerco se ci sia già la riga Odette
+DECLARE @udcTrovati AS INT
+SET @udcTrovati = ( SELECT COUNT(*) FROM Odette WHERE CampoUDC = @UDC )
+
+-- controllo se esista già... se non c'è creo
+IF (@udcTrovati = 0)
+ BEGIN
+ INSERT INTO Odette(CampoUDC, StatoOk, CodCS)
+ VALUES(@UDC, 0, @CodCS)
+ END
+
+-- calcolo valori x update
+DECLARE @DataB AS NVARCHAR(7)
+SET @DataB = ( SELECT 'D'+ SUBSTRING(@dataBolla, 3, 6) )
+DECLARE @udcShort NVARCHAR(10)
+--SET @udcShort = SUBSTRING(@UDC, 3, LEN(@UDC)-2) -- prendo da 3° carattere perché prima "U" e una lettera x tipo prodotto gitterbox
+
+-- update valori (sovrascrivo...)
+UPDATE Odette
+SET Campo3_2 = @numBolla,
+ Campo3_3 = @numBolla,
+ Campo4_2 = @IndStabFrom,
+ Campo9_2 = @qtaCont,
+ Campo9_3 = @qtaCont,
+ Campo13_2 = @DataB,
+ Campo15_2 = @numOdette,
+ Campo15_3 = @numOdette,
+ Campo16_2 = @UDC
+WHERE CampoUDC = @UDC
+
+RETURN
+go
+
+commit
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+alter table Odette add
+ CodMag nvarchar(2),
+ GrpBolla nvarchar(1),
+ DataBolla numeric(8,0),
+ NumBolla numeric(6,0),
+ Particolare nvarchar(15),
+ CodLista nvarchar(12)
+go
+
+
+
+commit
+go
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+update Odette
+set CodMag='SP', GrpBolla='0', NumBolla=cast(Campo3_2 as numeric(8,0)), Particolare=Campo11_1_2, DataBolla=0, CodLista=''
+go
+
+update Odette
+set CodLista = rlp.CodLista
+from Odette inner join RigheListePrelievo rlp on rlp.UDC=Odette.CampoUDC
+go
+
+update Odette
+set DataBolla = b.DTBOS
+from Odette inner join RawData.BORI202J b on b.NRBOS=Odette.NumBolla
+go
+
+commit
+go
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+update Odette set CodMag = '' where CodMag is null
+go
+
+alter table Odette alter column
+ CodMag nvarchar(2) not null
+go
+
+update Odette set GrpBolla = '' where GrpBolla is null
+go
+
+alter table Odette alter column
+ GrpBolla nvarchar(1) not null
+go
+
+update Odette set DataBolla = 0 where DataBolla is null
+go
+
+alter table Odette alter column
+ DataBolla numeric(8,0) not null
+go
+
+update Odette set NumBolla = 0 where NumBolla is null
+go
+
+alter table Odette alter column
+ NumBolla numeric(6,0) not null
+go
+
+update Odette set Particolare = '' where Particolare is null
+go
+
+alter table Odette alter column
+ Particolare nvarchar(15) not null
+go
+
+update Odette set CodLista = '' where CodLista is null
+go
+
+alter table Odette alter column
+ CodLista nvarchar(12) not null
+go
+
+alter table Odette add
+ constraint DF_Odette_Particolare default ('') for Particolare,
+ constraint DF_Odette_CodLista default ('') for CodLista,
+ constraint DF_Odette_DataBolla default (0) for DataBolla,
+ constraint DF_Odette_NumBolla default (0) for NumBolla,
+ constraint DF_Odette_CodMag default ('') for CodMag,
+ constraint DF_Odette_GrpBolla default ('') for GrpBolla,
+ constraint DF_Odette_CodCS default ('') for CodCS
+go
+
+set ANSI_NULLS on
+go
+
+
+
+commit
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/*****************************************
+* STORED stp_ODETTE_deleteByLDP
+*
+* Elimina una riga etichetta odette
+*
+* Steamware, S.E.L.
+* mod: 2011.05.23
+*
+****************************************/
+create PROCEDURE stp_ODETTE_deleteByLDP
+(
+ @CodLista NVARCHAR(12)
+)
+AS
+
+DELETE
+FROM Odette
+WHERE CodLista = @CodLista
+
+RETURN
+go
+
+/*****************************************
+* STORED stp_ODETTE_getByBolla
+*
+* Recupera etichette odette associate ad una bolla CON STATO OK
+*
+* Steamware, S.E.L.
+* mod: 2011.05.23
+*
+****************************************/
+create PROCEDURE stp_ODETTE_getByBolla
+(
+ @CodMag NVARCHAR(2),
+ @GrpBolla NVARCHAR(1),
+ @NumBolla NUMERIC(6,0),
+ @DataBolla NUMERIC(8,0),
+ @Particolare NVARCHAR(15)
+)
+AS
+
+
+SELECT *
+FROM Odette
+WHERE CodMag = @CodMag
+AND GrpBolla = @GrpBolla
+AND NumBolla = @NumBolla
+AND DataBolla = @DataBolla
+AND Particolare = @Particolare
+AND StatoOk = 1
+
+RETURN
+go
+
+/*****************************************
+* STORED stp_ODETTE_getByListaPrelievo
+*
+* Recupera etichette odette associate ad una lista di prelievo CON STATO OK
+*
+* Steamware, S.E.L.
+* mod: 2011.04.29
+*
+****************************************/
+alter PROCEDURE stp_ODETTE_getByListaPrelievo
+(
+ @CodLista NVARCHAR(12)
+)
+AS
+
+/*
+SELECT o.*
+FROM Odette o INNER JOIN RigheListePrelievo rlp ON o.CampoUDC = rlp.UDC
+WHERE (rlp.CodLista = @CodLista) AND (o.StatoOk = 1)
+*/
+
+SELECT *
+FROM Odette
+WHERE (CodLista = @CodLista) AND (StatoOk = 1)
+
+RETURN
+go
+
+/*****************************************
+* STORED stp_ODETTE_upsertUdc
+*
+* effettua upsert x l'UDC (ovver crea nuovo solo se non c'è...)
+*
+* Steamware, S.E.L.
+* mod: 2011.04.28
+*
+****************************************/
+alter PROCEDURE stp_ODETTE_upsertUdc
+(
+ @UDC NVARCHAR(10),
+ @CodCS VARCHAR(2),
+ @numBolla NVARCHAR(6),
+ @dataBolla NVARCHAR(8),
+ @CodMag NVARCHAR(2),
+ @GrpBolla NVARCHAR(1),
+ @Particolare NVARCHAR(15),
+ @CodLista NVARCHAR(12),
+ @IndStabFrom NVARCHAR(50),
+ @qtaCont NVARCHAR(50)
+)
+AS
+
+
+-- DECLARE iniziali x gestione contatori odette
+DECLARE @Flusso AS VARCHAR(2)
+DECLARE @Anno AS VARCHAR(2)
+DECLARE @numOdette AS INT
+DECLARE @nextOdette AS INT
+
+------------------------------------------------------------------------------------------------------
+-- Fix flusso ed anno x 'OD' e '00' (contatore non spezzato su anno...
+------------------------------------------------------------------------------------------------------
+SET @Flusso = 'OD'
+SET @Anno = '00'
+
+------------------------------------------------------------------------------------------------------
+-- Contatore Odette
+------------------------------------------------------------------------------------------------------
+-- controllo se ci sia già un odette per company / flusso / anno
+BEGIN TRAN
+ -- cerco nella tab contatori UDC l'ultimo valido
+ SET @numOdette = (
+ SELECT count(*)
+ FROM Odette
+ WHERE CodCS = @CodCS
+ )
+ -- controllo se record c'è...
+ IF(@numOdette > 0)
+ BEGIN
+ -- se c'è incremento di 1 in tab
+ UPDATE ContatoriUdc
+ SET LastIdx = LastIdx + 1
+ WHERE CodCS = @CodCS
+ AND Flusso = @Flusso
+ AND Anno = @Anno
+ END
+ ELSE
+ BEGIN
+ -- lo creo!
+ INSERT INTO ContatoriUdc(CodCS, Flusso, Anno, LastIdx)
+ VALUES (@CodCS, @Flusso, @Anno, 1)
+ END
+ -- aggiorno numero UDC
+ SET @numOdette = (
+ SELECT LastIdx
+ FROM ContatoriUdc
+ WHERE CodCS = @CodCS
+ AND Flusso = @Flusso
+ AND Anno = @Anno
+ )
+COMMIT TRAN
+
+-- cerco se ci sia già la riga Odette
+DECLARE @udcTrovati AS INT
+SET @udcTrovati = ( SELECT COUNT(*) FROM Odette WHERE CampoUDC = @UDC )
+
+-- controllo se esista già... se non c'è creo
+IF (@udcTrovati = 0)
+ BEGIN
+ INSERT INTO Odette(CampoUDC, StatoOk, CodCS)
+ VALUES(@UDC, 0, @CodCS)
+ END
+
+-- calcolo valori x update
+DECLARE @DataB AS NVARCHAR(7)
+SET @DataB = ( SELECT 'D'+ SUBSTRING(@dataBolla, 3, 6) )
+DECLARE @udcShort NVARCHAR(10)
+--SET @udcShort = SUBSTRING(@UDC, 3, LEN(@UDC)-2) -- prendo da 3° carattere perché prima "U" e una lettera x tipo prodotto gitterbox
+
+-- update valori (sovrascrivo...)
+UPDATE Odette
+SET Campo3_2 = @numBolla,
+ Campo3_3 = @numBolla,
+ Campo4_2 = @IndStabFrom,
+ Campo9_2 = @qtaCont,
+ Campo9_3 = @qtaCont,
+ Campo13_2 = @DataB,
+ Campo15_2 = @numOdette,
+ Campo15_3 = @numOdette,
+ Campo16_2 = @UDC,
+ CodMag = @CodMag,
+ GrpBolla = @GrpBolla,
+ DataBolla = CAST(@dataBolla AS NUMERIC(8,0)),
+ NumBolla = CAST(@numBolla AS NUMERIC(6,0)),
+ Particolare = @Particolare,
+ CodLista = @CodLista
+WHERE CampoUDC = @UDC
+
+RETURN
+go
+
+commit
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+alter table Odette_storico add
+ CodMag nvarchar(2) not null constraint DF_Odette_storico_CodMag default (''),
+ GrpBolla nvarchar(1) not null constraint DF_Odette_storico_GrpBolla default (''),
+ DataBolla numeric(8,0) not null constraint DF_Odette_storico_DataBolla default (0),
+ NumBolla numeric(6,0) not null constraint DF_Odette_storico_NumBolla default (0),
+ Particolare nvarchar(15) not null constraint DF_Odette_storico_Particolare default (''),
+ CodLista nvarchar(12) not null constraint DF_Odette_storico_CodLista default ('')
+go
+
+
+
+commit
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+-- =============================================
+-- Author: Samuele E. Locatelli
+-- Create date: 2011-05-20
+-- Description: trigger x inserimento in tab
+-- storico record cancellati
+-- =============================================
+alter TRIGGER trg_odetteDel
+ ON Odette
+ AFTER DELETE
+AS
+BEGIN
+
+ -- setup variabili e verbosità
+ SET NOCOUNT ON;
+ -- inserisco in storico
+ INSERT INTO Odette_storico
+ (DataOraDelete,CampoUDC,Campo1_1,Campo1_2,Campo1_3,Campo1_4,Campo1_5,Campo2_1,Campo2_2,Campo2_3,Campo2_4,Campo2_5,Campo3_1,
+ Campo3_2,Campo3_3,Campo3_4,Campo3_5,Campo4_1,Campo4_2,Campo4_3,Campo4_4,Campo4_5,Campo5_1,Campo5_2,Campo5_3,Campo5_4,Campo5_5,
+ Campo6_1,Campo6_2,Campo6_3,Campo6_4,Campo6_5,Campo7_1,Campo7_2,Campo7_3,Campo7_4,Campo7_5,Campo8_1,Campo8_2,Campo8_3,Campo8_4,
+ Campo8_5,Campo9_1,Campo9_2,Campo9_3,Campo9_4,Campo9_5,Campo10_1,Campo10_2,Campo10_3,Campo10_4,Campo10_5,Campo11_1_1,Campo11_1_2,
+ Campo11_1_3,Campo11_1_4,Campo11_1_5,Campo11_2_1,Campo11_2_2,Campo11_2_3,Campo11_2_4,Campo11_2_5,Campo12_1,Campo12_2,Campo12_3,
+ Campo12_4,Campo12_5,Campo13_1,Campo13_2,Campo13_3,Campo13_4,Campo13_5,Campo14_1,Campo14_2,Campo14_3,Campo14_4,Campo14_5,Campo15_1,
+ Campo15_2,Campo15_3,Campo15_4,Campo15_5,Campo16_1,Campo16_2,Campo16_3,Campo16_4,Campo16_5,StatoOk,CodCS,CodMag,GrpBolla,DataBolla,
+ NumBolla,Particolare,CodLista)
+
+ SELECT GETDATE(), CampoUDC,Campo1_1,Campo1_2,Campo1_3,Campo1_4,Campo1_5,Campo2_1,Campo2_2,Campo2_3,Campo2_4,Campo2_5,Campo3_1,
+ Campo3_2,Campo3_3,Campo3_4,Campo3_5,Campo4_1,Campo4_2,Campo4_3,Campo4_4,Campo4_5,Campo5_1,Campo5_2,Campo5_3,Campo5_4,Campo5_5,
+ Campo6_1,Campo6_2,Campo6_3,Campo6_4,Campo6_5,Campo7_1,Campo7_2,Campo7_3,Campo7_4,Campo7_5,Campo8_1,Campo8_2,Campo8_3,Campo8_4,
+ Campo8_5,Campo9_1,Campo9_2,Campo9_3,Campo9_4,Campo9_5,Campo10_1,Campo10_2,Campo10_3,Campo10_4,Campo10_5,Campo11_1_1,Campo11_1_2,
+ Campo11_1_3,Campo11_1_4,Campo11_1_5,Campo11_2_1,Campo11_2_2,Campo11_2_3,Campo11_2_4,Campo11_2_5,Campo12_1,Campo12_2,Campo12_3,
+ Campo12_4,Campo12_5,Campo13_1,Campo13_2,Campo13_3,Campo13_4,Campo13_5,Campo14_1,Campo14_2,Campo14_3,Campo14_4,Campo14_5,Campo15_1,
+ Campo15_2,Campo15_3,Campo15_4,Campo15_5,Campo16_1,Campo16_2,Campo16_3,Campo16_4,Campo16_5,StatoOk,CodCS,CodMag,GrpBolla,DataBolla,
+ NumBolla,Particolare,CodLista
+ FROM deleted
+
+END
+go
+
+commit
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+INSERT INTO dbo.ElencoCartellini
+ VALUES (N'EmptyGBox', N'SP', NULL, NULL, N'', NULL, N'', N'', NULL, NULL, NULL, N'', NULL, 0, N'', NULL, 1, 0, 27.00, N'Fin', 0, 0, 0, NULL, NULL)
+go
+
+commit transaction
+go
+
+
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/*****************************************
+* STORED stp_EDM_svuotaGitterbox
+*
+* Elimina il codice gitterbox dai datamatrix associati (svuotandolo...)
+*
+* Steamware, S.E.L.
+* mod: 2011.05.06
+*
+****************************************/
+alter PROCEDURE stp_EDM_svuotaGitterbox
+(
+ @CodGitterbox NVARCHAR(10)
+)
+AS
+
+UPDATE ElencoDataMatrix
+SET CodGitterbox = 'EmptyGBox'
+WHERE CodGitterbox = @CodGitterbox
+
+-- aggiorno valoti QTA gitterbox originale...
+UPDATE ElencoCartellini
+SET Qta = ( SELECT COUNT(*) FROM ElencoDataMatrix WHERE CodGitterbox = @CodGitterbox )
+WHERE UDC = @CodGitterbox
+-- aggiorno valoti QTA gitterbox 'EmptyGBox
+UPDATE ElencoCartellini
+SET Qta = ( SELECT COUNT(*) FROM ElencoDataMatrix WHERE CodGitterbox = 'EmptyGBox' )
+WHERE UDC = 'EmptyGBox'
+
+-- aggiorno righe liste di prelievo...
+UPDATE RigheListePrelievo
+SET Qta = ( SELECT COUNT(*) FROM ElencoDataMatrix WHERE CodGitterbox = @CodGitterbox )
+WHERE UDC = @CodGitterbox
+
+
+
+RETURN
+go
+
+commit
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/*****************************************
+* STORED stp_DtMtrx_import
+*
+* Recupera dati Gitterbox/DataMatrix partendo leggendo dati successivi all'ultimo import e importanto in tab GMW
+*
+* Steamware, S.E.L.
+* mod: 2011.04.29
+*
+****************************************/
+alter PROCEDURE stp_DtMtrx_import
+(
+ @CodCS VARCHAR(2),
+ @IdxPosizione INT
+)
+AS
+
+------------------------------------------------------------------------------------------------------
+-- leggo data ultimo import (o creo record...)
+------------------------------------------------------------------------------------------------------
+DECLARE @nomeFlusso AS NVARCHAR(50)
+DECLARE @lastImport AS DATETIME
+DECLARE @trovati AS INT
+
+-- imposto valori
+SET @nomeFlusso = 'DataMatrix'
+SET @lastImport = DATEADD(yy,-10,GETDATE()) -- inizializzo a -10 anni ...
+-- sistemo tab registrazione import...
+BEGIN TRAN
+ -- cerco nella tab log ultima data caricamento
+ SET @trovati = (
+ SELECT COUNT(*)
+ FROM logImportFlussi
+ WHERE NomeFlusso = @nomeFlusso
+ )
+ -- controllo se record c'è...
+ IF(@trovati > 0)
+ BEGIN
+ SET @lastImport = ( SELECT LastImport FROM LogImportFlussi WHERE NomeFlusso = @nomeFlusso )
+ END
+ ELSE
+ BEGIN
+ -- lo creo!
+ INSERT INTO LogImportFlussi(NomeFlusso, LastImport)
+ VALUES (@nomeFlusso, @lastImport)
+ END
+COMMIT TRAN
+------------------------------------------------------------------------------------------------------
+
+
+------------------------------------------------------------------------------------------------------
+-- ora gestisco il vero caricamento...
+------------------------------------------------------------------------------------------------------
+ -- filtro e salvo in tabella... gitterbox validi SOLO se iniziano per "U"
+ DECLARE @newData TABLE
+ (
+ CodDataMatrix numeric(23, 0) ,
+ CodGitterbox char(10) ,
+ NumConchiglia int ,
+ NumDisegno numeric(7, 0) ,
+ EsponenteDisegno tinyint ,
+ CodDifettoScarto varchar(5) ,
+ InizioPreparazione smalldatetime ,
+ FinePreparazione smalldatetime ,
+ InizioIniezione smalldatetime ,
+ FineIniezione smalldatetime ,
+ MagDestinazione varchar(2) ,
+ DataImport smalldatetime
+ )
+ INSERT INTO @newData
+ SELECT CodDataMatrix, LTRIM(RTRIM(CodGitterbox)), NumConchiglia, NumDisegno, EsponenteDisegno, CodDifettoScarto, InizioPreparazione, FinePreparazione, InizioIniezione, FineIniezione, MagDestinazione, DataImport
+
+ FROM v_trasfDataMatrix
+ WHERE DataImport > @lastImport AND LEFT(CodGitterbox, 1) = 'U'
+ AND CodDifettoScarto = '00' -- non importerò gli scarti!!!
+
+
+
+
+ -- creo UDC da gitterbox nuovi
+ INSERT INTO ElencoCartellini(UDC, Particolare, DataFus)
+ SELECT DISTINCT nd.CodGitterbox, null, MIN(InizioIniezione)
+ FROM @newData nd LEFT OUTER JOIN ElencoCartellini ec ON nd.CodGitterbox = ec.UDC
+ WHERE ec.UDC IS NULL
+ GROUP BY nd.CodGitterbox
+
+ DECLARE @udc NVARCHAR(50)
+ DECLARE @Particolare NVARCHAR(50)
+ DECLARE @NumDisegno NVARCHAR(50)
+ DECLARE @EsponenteDisegno NVARCHAR(50)
+ DECLARE @Qta INT
+ DECLARE @IdxCellaTo INT
+ DECLARE @adesso DATETIME
+ DECLARE @posTrovate INT
+
+ SET @adesso = GETDATE()
+ SET @posTrovate = 0
+
+ DECLARE cursoreImport CURSOR FOR
+ SELECT nd.CodGitterbox, tp.Particolare, tp.NumDisegno, tp.EsponenteDisegno, dbo.getNumDatamatrix(nd.CodGitterbox)
+ FROM @newData nd
+ INNER JOIN v_transcParticolari tp ON nd.NumDisegno = tp.NumDisegno AND nd.EsponenteDisegno = tp.EsponenteDisegno
+
+ OPEN cursoreImport
+ FETCH NEXT FROM cursoreImport INTO @udc, @Particolare, @NumDisegno, @EsponenteDisegno, @Qta
+
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+
+ -- aggiorno gli UDC gitterbox esistenti per quantità tra quelli dei dati da importare...
+ UPDATE ElencoCartellini
+ SET CodCS = @CodCS,
+ IdxPosizione = @IdxPosizione,
+ CreateDate = @adesso,
+ Particolare = @Particolare,
+ DisegnoGrezzo = @NumDisegno,
+ Esponente = @EsponenteDisegno,
+ Qta = @Qta,
+ Figura = '',
+ CodImballo = '',
+ Tara = 0,
+ PesoTot = 0,
+ PesoCad = 0,
+ CodStato = 'Fin',
+ NumCont = 1,
+ TurnoFus = 0,
+ ModDate = @adesso
+ WHERE UDC = @udc
+
+ -- indico cella UDC corrente... calcolo la prima cella della nuova posizione...
+ SET @IdxCellaTo = ( SELECT dbo.f_getCellaByPos(CAST(@IdxPosizione AS NVARCHAR(50))) )
+ /*(
+ SELECT TOP 1 IdxCella FROM Celle
+ WHERE IdxBlocco = (
+ SELECT IdxBlocco FROM Blocchi
+ WHERE CodMag=CAST(@IdxPosizione AS NVARCHAR(50)))
+ )*/
+
+ -- controllo se posizione non ancora creata...
+ SET @posTrovate = ( SELECT COUNT(*) FROM PosizioneUdcCorrente WHERE UDC = @udc )
+ IF( @posTrovate =0)
+ BEGIN
+ INSERT INTO PosizioneUdcCorrente
+ VALUES (@udc, @IdxCellaTo, @CodCS, @adesso)
+ END
+
+ FETCH NEXT FROM cursoreImport INTO @udc, @Particolare, @NumDisegno, @EsponenteDisegno, @Qta
+
+
+ END
+
+ CLOSE cursoreImport
+ DEALLOCATE cursoreImport
+
+ -- inserisco datamatrix da ultimo import
+ INSERT INTO ElencoDataMatrix
+ SELECT * FROM @newData
+
+ -- aggiorno dati ultimo caricamento
+ SET @lastImport = ( SELECT ISNULL(MAX(DataImport),@lastImport) FROM @newData )
+ UPDATE LogImportFlussi
+ SET LastImport = @lastImport
+ WHERE NomeFlusso = @nomeFlusso
+
+
+RETURN
+go
+
+commit
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+
+/*****************************************
+* STORED stp_DtMtrx_import
+*
+* Recupera dati Gitterbox/DataMatrix partendo leggendo dati successivi all'ultimo import e importanto in tab GMW
+*
+* Steamware, S.E.L.
+* mod: 2011.04.29
+*
+****************************************/
+ALTER PROCEDURE dbo.stp_DtMtrx_import
+(
+ @CodCS VARCHAR(2),
+ @IdxPosizione INT
+)
+AS
+
+------------------------------------------------------------------------------------------------------
+-- leggo data ultimo import (o creo record...)
+------------------------------------------------------------------------------------------------------
+DECLARE @nomeFlusso AS NVARCHAR(50)
+DECLARE @lastImport AS DATETIME
+DECLARE @trovati AS INT
+
+-- imposto valori
+SET @nomeFlusso = 'DataMatrix'
+SET @lastImport = DATEADD(yy,-10,GETDATE()) -- inizializzo a -10 anni ...
+-- sistemo tab registrazione import...
+BEGIN TRAN
+ -- cerco nella tab log ultima data caricamento
+ SET @trovati = (
+ SELECT COUNT(*)
+ FROM logImportFlussi
+ WHERE NomeFlusso = @nomeFlusso
+ )
+ -- controllo se record c'è...
+ IF(@trovati > 0)
+ BEGIN
+ SET @lastImport = ( SELECT LastImport FROM LogImportFlussi WHERE NomeFlusso = @nomeFlusso )
+ END
+ ELSE
+ BEGIN
+ -- lo creo!
+ INSERT INTO LogImportFlussi(NomeFlusso, LastImport)
+ VALUES (@nomeFlusso, @lastImport)
+ END
+COMMIT TRAN
+------------------------------------------------------------------------------------------------------
+
+
+------------------------------------------------------------------------------------------------------
+-- ora gestisco il vero caricamento...
+------------------------------------------------------------------------------------------------------
+ -- filtro e salvo in tabella... gitterbox validi SOLO se iniziano per "U"
+ DECLARE @newData TABLE
+ (
+ CodDataMatrix numeric(23, 0) ,
+ CodGitterbox char(10) ,
+ NumConchiglia int ,
+ NumDisegno numeric(7, 0) ,
+ EsponenteDisegno tinyint ,
+ CodDifettoScarto varchar(5) ,
+ InizioPreparazione smalldatetime ,
+ FinePreparazione smalldatetime ,
+ InizioIniezione smalldatetime ,
+ FineIniezione smalldatetime ,
+ MagDestinazione varchar(2) ,
+ DataImport smalldatetime
+ )
+ INSERT INTO @newData
+ SELECT CodDataMatrix, LTRIM(RTRIM(CodGitterbox)), NumConchiglia, NumDisegno, EsponenteDisegno, CodDifettoScarto, InizioPreparazione, FinePreparazione, InizioIniezione, FineIniezione, MagDestinazione, DataImport
+
+ FROM v_trasfDataMatrix
+ WHERE DataImport > @lastImport AND LEFT(CodGitterbox, 1) = 'U'
+ AND CodDifettoScarto = '00' -- non importerò gli scarti!!!
+
+
+
+
+ -- creo UDC da gitterbox nuovi
+ INSERT INTO ElencoCartellini(UDC, Particolare, DataFus, Qta)
+ SELECT DISTINCT nd.CodGitterbox, null, MIN(InizioIniezione), dbo.getNumDatamatrix(nd.CodGitterbox)
+ FROM @newData nd LEFT OUTER JOIN ElencoCartellini ec ON nd.CodGitterbox = ec.UDC
+ WHERE ec.UDC IS NULL
+ GROUP BY nd.CodGitterbox
+
+ DECLARE @udc NVARCHAR(50)
+ DECLARE @Particolare NVARCHAR(50)
+ DECLARE @NumDisegno NVARCHAR(50)
+ DECLARE @EsponenteDisegno NVARCHAR(50)
+ DECLARE @IdxCellaTo INT
+ DECLARE @adesso DATETIME
+ DECLARE @posTrovate INT
+
+ SET @adesso = GETDATE()
+ SET @posTrovate = 0
+
+ DECLARE cursoreImport CURSOR FOR
+ SELECT nd.CodGitterbox, tp.Particolare, tp.NumDisegno, tp.EsponenteDisegno
+ FROM @newData nd
+ INNER JOIN v_transcParticolari tp ON nd.NumDisegno = tp.NumDisegno AND nd.EsponenteDisegno = tp.EsponenteDisegno
+
+ OPEN cursoreImport
+ FETCH NEXT FROM cursoreImport INTO @udc, @Particolare, @NumDisegno, @EsponenteDisegno
+
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+
+ -- aggiorno gli UDC gitterbox esistenti per quantità tra quelli dei dati da importare...
+ UPDATE ElencoCartellini
+ SET CodCS = @CodCS,
+ IdxPosizione = @IdxPosizione,
+ CreateDate = @adesso,
+ Particolare = @Particolare,
+ DisegnoGrezzo = @NumDisegno,
+ Esponente = @EsponenteDisegno,
+ Figura = '',
+ CodImballo = '',
+ Tara = 0,
+ PesoTot = 0,
+ PesoCad = 0,
+ CodStato = 'Fin',
+ NumCont = 1,
+ TurnoFus = 0,
+ ModDate = @adesso
+ WHERE UDC = @udc
+
+ -- indico cella UDC corrente... calcolo la prima cella della nuova posizione...
+ SET @IdxCellaTo = ( SELECT dbo.f_getCellaByPos(CAST(@IdxPosizione AS NVARCHAR(50))) )
+ /*(
+ SELECT TOP 1 IdxCella FROM Celle
+ WHERE IdxBlocco = (
+ SELECT IdxBlocco FROM Blocchi
+ WHERE CodMag=CAST(@IdxPosizione AS NVARCHAR(50)))
+ )*/
+
+ -- controllo se posizione non ancora creata...
+ SET @posTrovate = ( SELECT COUNT(*) FROM PosizioneUdcCorrente WHERE UDC = @udc )
+ IF( @posTrovate =0)
+ BEGIN
+ INSERT INTO PosizioneUdcCorrente
+ VALUES (@udc, @IdxCellaTo, @CodCS, @adesso)
+ END
+
+ FETCH NEXT FROM cursoreImport INTO @udc, @Particolare, @NumDisegno, @EsponenteDisegno
+
+
+ END
+
+ CLOSE cursoreImport
+ DEALLOCATE cursoreImport
+
+ -- inserisco datamatrix da ultimo import
+ INSERT INTO ElencoDataMatrix
+ SELECT * FROM @newData
+
+ -- aggiorno dati ultimo caricamento
+ SET @lastImport = ( SELECT ISNULL(MAX(DataImport),@lastImport) FROM @newData )
+ UPDATE LogImportFlussi
+ SET LastImport = @lastImport
+ WHERE NomeFlusso = @nomeFlusso
+
+
+RETURN
+go
+
+commit
+go
+
+
+
+-- registro versione...
+INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(391, GETDATE())
+GO
diff --git a/GMW/GMW_data/SqlScripts/V1.1/GMW_00392.sql b/GMW/GMW_data/SqlScripts/V1.1/GMW_00392.sql
new file mode 100644
index 00000000..5f105979
--- /dev/null
+++ b/GMW/GMW_data/SqlScripts/V1.1/GMW_00392.sql
@@ -0,0 +1,237 @@
+set xact_abort on
+go
+
+begin transaction
+go
+
+set ANSI_NULLS on
+go
+
+/*****************************************
+* STORED stp_DtMtrx_import
+*
+* Recupera dati Gitterbox/DataMatrix partendo leggendo dati successivi all'ultimo import e importanto in tab GMW
+*
+* Steamware, S.E.L.
+* mod: 2011.04.29
+*
+****************************************/
+alter PROCEDURE stp_DtMtrx_import
+(
+ @CodCS VARCHAR(2),
+ @IdxPosizione INT
+)
+AS
+
+------------------------------------------------------------------------------------------------------
+-- leggo data ultimo import (o creo record...)
+------------------------------------------------------------------------------------------------------
+DECLARE @nomeFlusso AS NVARCHAR(50)
+DECLARE @lastImport AS DATETIME
+DECLARE @trovati AS INT
+
+-- imposto valori
+SET @nomeFlusso = 'DataMatrix'
+SET @lastImport = DATEADD(yy,-10,GETDATE()) -- inizializzo a -10 anni ...
+-- sistemo tab registrazione import...
+BEGIN TRAN
+ -- cerco nella tab log ultima data caricamento
+ SET @trovati = (
+ SELECT COUNT(*)
+ FROM logImportFlussi
+ WHERE NomeFlusso = @nomeFlusso
+ )
+ -- controllo se record c'è...
+ IF(@trovati > 0)
+ BEGIN
+ SET @lastImport = ( SELECT LastImport FROM LogImportFlussi WHERE NomeFlusso = @nomeFlusso )
+ END
+ ELSE
+ BEGIN
+ -- lo creo!
+ INSERT INTO LogImportFlussi(NomeFlusso, LastImport)
+ VALUES (@nomeFlusso, @lastImport)
+ END
+COMMIT TRAN
+------------------------------------------------------------------------------------------------------
+
+
+------------------------------------------------------------------------------------------------------
+-- ora gestisco il vero caricamento...
+------------------------------------------------------------------------------------------------------
+ -- filtro e salvo in tabella... gitterbox validi SOLO se iniziano per "U"
+ DECLARE @newData TABLE
+ (
+ CodDataMatrix numeric(23, 0) ,
+ CodGitterbox varchar(10) ,
+ NumConchiglia int ,
+ NumDisegno numeric(7, 0) ,
+ EsponenteDisegno tinyint ,
+ CodDifettoScarto varchar(5) ,
+ InizioPreparazione smalldatetime ,
+ FinePreparazione smalldatetime ,
+ InizioIniezione smalldatetime ,
+ FineIniezione smalldatetime ,
+ MagDestinazione varchar(2) ,
+ DataImport smalldatetime
+ )
+ INSERT INTO @newData
+ SELECT CodDataMatrix, LTRIM(RTRIM(CodGitterbox)), NumConchiglia, NumDisegno, EsponenteDisegno, CodDifettoScarto, InizioPreparazione, FinePreparazione, InizioIniezione, FineIniezione, MagDestinazione, DataImport
+
+ FROM v_trasfDataMatrix
+ WHERE DataImport > @lastImport AND LEFT(CodGitterbox, 1) = 'U'
+ AND CodDifettoScarto = '00' -- non importerò gli scarti!!!
+
+
+
+
+ -- creo UDC da gitterbox nuovi
+ INSERT INTO ElencoCartellini(UDC, Particolare, DataFus, Qta)
+ SELECT DISTINCT nd.CodGitterbox, null, MIN(InizioIniezione), dbo.getNumDatamatrix(nd.CodGitterbox)
+ FROM @newData nd LEFT OUTER JOIN ElencoCartellini ec ON nd.CodGitterbox = ec.UDC
+ WHERE ec.UDC IS NULL
+ GROUP BY nd.CodGitterbox
+
+ DECLARE @udc NVARCHAR(50)
+ DECLARE @Particolare NVARCHAR(50)
+ DECLARE @NumDisegno NVARCHAR(50)
+ DECLARE @EsponenteDisegno NVARCHAR(50)
+ DECLARE @IdxCellaTo INT
+ DECLARE @adesso DATETIME
+ DECLARE @posTrovate INT
+
+ SET @adesso = GETDATE()
+ SET @posTrovate = 0
+
+ DECLARE cursoreImport CURSOR FOR
+ SELECT nd.CodGitterbox, tp.Particolare, tp.NumDisegno, tp.EsponenteDisegno
+ FROM @newData nd
+ INNER JOIN v_transcParticolari tp ON nd.NumDisegno = tp.NumDisegno AND nd.EsponenteDisegno = tp.EsponenteDisegno
+
+ OPEN cursoreImport
+ FETCH NEXT FROM cursoreImport INTO @udc, @Particolare, @NumDisegno, @EsponenteDisegno
+
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+
+ -- aggiorno gli UDC gitterbox esistenti per quantità tra quelli dei dati da importare...
+ UPDATE ElencoCartellini
+ SET CodCS = @CodCS,
+ IdxPosizione = @IdxPosizione,
+ CreateDate = @adesso,
+ Particolare = @Particolare,
+ DisegnoGrezzo = @NumDisegno,
+ Esponente = @EsponenteDisegno,
+ Figura = '',
+ CodImballo = '',
+ Tara = 0,
+ PesoTot = 0,
+ PesoCad = 0,
+ CodStato = 'Fin',
+ NumCont = 1,
+ TurnoFus = 0,
+ ModDate = @adesso
+ WHERE UDC = @udc
+
+ -- indico cella UDC corrente... calcolo la prima cella della nuova posizione...
+ SET @IdxCellaTo = ( SELECT dbo.f_getCellaByPos(CAST(@IdxPosizione AS NVARCHAR(50))) )
+ /*(
+ SELECT TOP 1 IdxCella FROM Celle
+ WHERE IdxBlocco = (
+ SELECT IdxBlocco FROM Blocchi
+ WHERE CodMag=CAST(@IdxPosizione AS NVARCHAR(50)))
+ )*/
+
+ -- controllo se posizione non ancora creata...
+ SET @posTrovate = ( SELECT COUNT(*) FROM PosizioneUdcCorrente WHERE UDC = @udc )
+ IF( @posTrovate =0)
+ BEGIN
+ INSERT INTO PosizioneUdcCorrente
+ VALUES (@udc, @IdxCellaTo, @CodCS, @adesso)
+ END
+
+ FETCH NEXT FROM cursoreImport INTO @udc, @Particolare, @NumDisegno, @EsponenteDisegno
+
+
+ END
+
+ CLOSE cursoreImport
+ DEALLOCATE cursoreImport
+
+ -- inserisco datamatrix da ultimo import
+ INSERT INTO ElencoDataMatrix
+ SELECT * FROM @newData
+
+ -- aggiorno dati ultimo caricamento
+ SET @lastImport = ( SELECT ISNULL(MAX(DataImport),@lastImport) FROM @newData )
+ UPDATE LogImportFlussi
+ SET LastImport = @lastImport
+ WHERE NomeFlusso = @nomeFlusso
+
+
+RETURN
+go
+
+commit
+go
+
+
+update Delibere
+set UDC=LTRIM(RTRIM(udc))
+go
+
+-- disabilita triggers su db
+DISABLE TRIGGER ALL ON DATABASE
+go
+
+update ElencoCartellini
+set UDC=LTRIM(RTRIM(udc))
+go
+
+UPDATE ElencoDataMatrix
+set CodGitterbox=LTRIM(RTRIM(CodGitterbox))
+go
+
+UPDATE Odette
+SET CampoUDC=LTRIM(RTRIM(CampoUDC))
+go
+
+UPDATE Odette_storico
+SET CampoUDC=LTRIM(RTRIM(CampoUDC))
+go
+
+UPDATE PosizioneUdcStorico
+SET UDC=LTRIM(RTRIM(UDC))
+go
+
+-- ESEGUE
+UPDATE PosizioneUdcCorrente
+SET UDC=LTRIM(RTRIM(UDC))
+go
+UPDATE RelazUDC
+SET UDC_child=LTRIM(RTRIM(UDC_child)),
+ UDC_parent=LTRIM(RTRIM(UDC_parent))
+go
+
+UPDATE RigheListePrelievo_storico
+SET UDC=LTRIM(RTRIM(UDC))
+go
+
+
+-- ESEGUE
+UPDATE RigheListePrelievo
+SET UDC=LTRIM(RTRIM(UDC))
+go
+
+UPDATE StoricoCartellini
+SET UDC=LTRIM(RTRIM(UDC))
+go
+
+ENABLE TRIGGER ALL ON DATABASE
+go
+
+
+
+-- registro versione...
+INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(392, GETDATE())
+GO
diff --git a/GMW/GMW_data/SqlScripts/V1.1/GMW_00399.sql b/GMW/GMW_data/SqlScripts/V1.1/GMW_00399.sql
new file mode 100644
index 00000000..8deb2a01
--- /dev/null
+++ b/GMW/GMW_data/SqlScripts/V1.1/GMW_00399.sql
@@ -0,0 +1,26 @@
+/***************************************
+* STORED stp_getDestListePrelLike
+*
+* ottiene l'elenco dei destinatari liste di prelievo data la substring di ricerca
+*
+* Steamware, S.E.L.
+* mod: 2010.07.30
+*
+****************************************/
+ALTER PROCEDURE [dbo].[stp_getDestListePrelLike]
+(
+ @cerca VARCHAR(2)
+)
+AS
+
+ SELECT * FROM v_selDestinatariListePrelievo
+ WHERE conditio LIKE '%'+ @cerca + '%'
+
+RETURN
+go
+
+
+
+-- registro versione...
+INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(399, GETDATE())
+GO
diff --git a/GMW/GMW_data/SqlScripts/V1.1/GMW_00400.sql b/GMW/GMW_data/SqlScripts/V1.1/GMW_00400.sql
new file mode 100644
index 00000000..54d9002f
--- /dev/null
+++ b/GMW/GMW_data/SqlScripts/V1.1/GMW_00400.sql
@@ -0,0 +1,164 @@
+create table ElencoPostazioni(
+ codPostazione nvarchar(250) not null constraint PK_ElencoPostazioni primary key,
+ stampante nvarchar(250)
+);
+go
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+INSERT INTO dbo.ElencoPostazioni
+ VALUES (N'default', N'null')
+INSERT INTO dbo.ElencoPostazioni
+ VALUES (N'VOSTRO410', N'//vostro410/PdfCreator')
+go
+
+commit transaction
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+INSERT INTO dbo.AnagStatiProdotto
+ VALUES (N'Wip', N'Materiale in WIP')
+go
+
+commit transaction
+go
+
+set xact_abort on;
+go
+
+begin transaction;
+go
+
+set ANSI_NULLS on;
+go
+
+/***************************************
+* STORED stp_elencoPostaziont_getByCod
+*
+* ottiene il una postazione dato il codice
+*
+* Steamware, S.E.L.
+* mod: 2010.11.17
+*
+****************************************/
+create PROCEDURE stp_elencoPostaziont_getByCod
+(
+ @codPostazione NVARCHAR(250)
+)
+AS
+
+SELECT *
+FROM ElencoPostazioni
+WHERE codPostazione = @codPostazione
+
+RETURN
+go
+
+commit;
+go
+
+set xact_abort on;
+go
+
+begin transaction;
+go
+
+set ANSI_NULLS on;
+go
+
+/***************************************
+* STORED stp_UDC_getLast_ByParticolare
+*
+* elenco cartellini ULTIMO creati x particolare
+*
+* Steamware, S.E.L.
+* mod: 2011.11.14
+*
+****************************************/
+create PROCEDURE stp_UDC_getLast_ByParticolare
+(
+ @CodCS VARCHAR(2),
+ @Particolare VARCHAR(15)
+)
+AS
+
+ -- prendo ultimo UDC creato x il particolare
+ SELECT TOP 1 * FROM ElencoCartellini
+ WHERE (Particolare= @Particolare) AND CodCs = @CodCS
+ ORDER BY CreateDate DESC
+
+RETURN
+go
+
+commit;
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+INSERT INTO dbo.AnagPosizioni
+ VALUES (-5, N'SP - WIP consumati', 0)
+INSERT INTO dbo.AnagPosizioni
+ VALUES (5, N'SP - WIP', 0)
+go
+
+commit transaction
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+INSERT INTO dbo.TabTranPosizEventi
+ VALUES (N'UDC_CONS', 5, -5, 0)
+go
+
+commit transaction
+go
+
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+INSERT INTO dbo.AS400_MagCont
+ VALUES (N'4', N'Finiti', 1, N'0')
+INSERT INTO dbo.AS400_MagCont
+ VALUES (N'5', N'WIP', 1, N'0')
+INSERT INTO dbo.AS400_MagCont
+ VALUES (N'6', N'MP', 1, N'0')
+DELETE FROM dbo.AS400_MagCont WHERE CodMagAS=N'54'
+go
+
+commit transaction
+go
+
+
+
+
+
+
+
+-- registro versione...
+INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(400, GETDATE())
+GO
diff --git a/GMW/GMW_data/SqlScripts/V1.2/GMW_00401.sql b/GMW/GMW_data/SqlScripts/V1.2/GMW_00401.sql
new file mode 100644
index 00000000..1ad78736
--- /dev/null
+++ b/GMW/GMW_data/SqlScripts/V1.2/GMW_00401.sql
@@ -0,0 +1,959 @@
+set xact_abort on;
+go
+
+begin transaction;
+go
+
+alter table ElencoCartellini add
+ Note nvarchar(500);
+go
+
+set ANSI_NULLS on;
+go
+
+/***************************************
+* STORED stp_UDC_insNewFull
+*
+* crea un nuovo record nella TabStatoOdpUdc FULL (con pesi, qta...) e restituisce il codice UDC appena creato
+*
+* Steamware, S.E.L.
+* mod: 2010.04.28
+*
+****************************************/
+alter PROCEDURE stp_UDC_insNewFull
+(
+ @CodCS VARCHAR(2),
+ @Flusso VARCHAR(2),
+ @Anno VARCHAR(2),
+ @CodCliente VARCHAR(6),
+ @Particolare VARCHAR(15),
+ @CodImpianto AS VARCHAR(50),
+ @CodStampo VARCHAR(8),
+ @Esponente VARCHAR(6),
+ @Figura VARCHAR(4),
+ @DataFus DATETIME,
+ @TurnoFus INT,
+ @CodImballo VARCHAR(15),
+ @CodSoggetto VARCHAR(17),
+ @Tara FLOAT,
+ @IdxPosizione INT,
+ @CodTipoDichiaraz CHAR(1),
+ @CodEvento VARCHAR(10),
+ @Qta DECIMAL(10,2),
+ @PesoTot FLOAT,
+ @PesoCad FLOAT,
+ @CodStato VARCHAR(50),
+ @UDC_parent VARCHAR(20),
+ @DoDeleteUdcParent BIT,
+ @Note NVARCHAR(500)
+)
+AS
+
+-- DECLARE iniziali
+DECLARE @UDC AS VARCHAR(20)
+DECLARE @RagSociale AS VARCHAR(35)
+DECLARE @DescParticolare AS VARCHAR(30)
+DECLARE @DescImpianto AS VARCHAR(50)
+DECLARE @DisegnoGrezzo AS VARCHAR(30)
+DECLARE @NumCont AS INT
+DECLARE @numFlu AS INT
+DECLARE @numUdc AS INT
+DECLARE @nextUdc AS INT
+DECLARE @IdxCella AS INT
+
+------------------------------------------------------------------------------------------------------
+-- Caricamento Dati da anagrafica
+------------------------------------------------------------------------------------------------------
+-- cerco la ragione sociale...
+SET @RagSociale = (
+ SELECT ISNULL(RagSociale, 'ND') AS RagSociale
+ FROM RilPro.AnagClienti
+ WHERE (CodCliente = @CodCliente)
+)
+
+-- Cerco descrizione del particolare...
+SET @DescParticolare = (
+ SELECT ISNULL(DescParticolare, 'ND') AS DescParticolare
+ FROM RilPro.AnagParticolari
+ WHERE (Particolare = @Particolare)
+)
+
+-- cerco codice disegno grezzo
+SET @DisegnoGrezzo = (
+ SELECT ISNULL(DisegnoGrezzo, 'ND') AS DescParticolare
+ FROM RilPro.AnagParticolari
+ WHERE (Particolare = @Particolare)
+)
+
+-- cerco descrizione Impianto
+SET @DescImpianto = (
+ SELECT ISNULL(DescImpianto, 'ND') AS DescImpianto
+ FROM AnagImpianti
+ WHERE (CodImpianto = @CodImpianto)
+)
+
+
+
+-- Calcolo contatore intero successivo x il contenitore...
+SET @NumCont = (
+ SELECT ISNULL(MAX(NumCont), 0) + 1 AS NumCont
+ FROM ElencoCartellini
+ WHERE (Particolare = @Particolare)
+ AND (DataFus = @DataFus)
+ AND (TurnoFus = @TurnoFus)
+ AND (CodImpianto = @CodImpianto)
+ AND (CodStampo = @CodStampo)
+ AND (Figura = @Figura)
+)
+
+
+------------------------------------------------------------------------------------------------------
+
+------------------------------------------------------------------------------------------------------
+-- Flusso
+------------------------------------------------------------------------------------------------------
+-- controllo se esiste il flusso (bilancia)...
+SET @numFlu = (
+ SELECT count(*)
+ FROM AnagBilance
+ WHERE CodBilancia = @Flusso
+)
+-- ...sennò lo creo...
+IF(@numFlu = 0)
+ BEGIN
+ -- se c'è inserisco in tab
+ INSERT INTO AnagBilance(CodBilancia, DescrImpianto, CodCS)
+ VALUES (@Flusso, @Flusso, @CodCS)
+ END
+------------------------------------------------------------------------------------------------------
+
+
+------------------------------------------------------------------------------------------------------
+-- UDC
+------------------------------------------------------------------------------------------------------
+-- controllo se ci sia già un UDC per company / flusso anno
+BEGIN TRAN
+ -- cerco nella tab contatori UDC l'ultimo valido
+ SET @numUdc = (
+ SELECT count(*)
+ FROM ContatoriUdc
+ WHERE CodCS = @CodCS
+ AND Flusso = @Flusso
+ AND Anno = @Anno
+ )
+ -- controllo se record c'è...
+ IF(@numUdc > 0)
+ BEGIN
+ -- se c'è incremento di 1 in tab
+ UPDATE ContatoriUdc
+ SET LastIdx = LastIdx + 1
+ WHERE CodCS = @CodCS
+ AND Flusso = @Flusso
+ AND Anno = @Anno
+ END
+ ELSE
+ BEGIN
+ -- lo creo!
+ INSERT INTO ContatoriUdc(CodCS, Flusso, Anno, LastIdx)
+ VALUES (@CodCS, @Flusso, @Anno, 1)
+ END
+ -- aggiorno numero UDC
+ SET @numUdc = (
+ SELECT LastIdx
+ FROM ContatoriUdc
+ WHERE CodCS = @CodCS
+ AND Flusso = @Flusso
+ AND Anno = @Anno
+ )
+COMMIT TRAN
+------------------------------------------------------------------------------------------------------
+
+------------------------------------------------------------------------------------------------------
+-- Ciclo principale x inserimento nuovo record
+------------------------------------------------------------------------------------------------------
+BEGIN TRAN
+ -- ottengo il nuovo codice UDC completo
+ --SET @UDC = 'U' + @CodCS + @Flusso + @Anno + dbo.f_padLeft(CAST(@numUdc AS VARCHAR(6)), 6, '0')
+ SET @UDC = dbo.componiUdc(@CodCS, @Flusso, @Anno, @numUdc)
+
+
+ -- inserisco un nuovo record
+ INSERT INTO ElencoCartellini(UDC, CodCS, CodCliente, RagSociale, Particolare, DescParticolare, DisegnoGrezzo, Esponente, CodImpianto, DescImpianto, CodStampo, Figura, DataFus, TurnoFus, CodImballo, CodSoggetto, NumCont, Tara, Qta, CodStato, IdxPosizione, PesoTot, PesoCad, CreateDate, ModDate, Note)
+ VALUES (@UDC, @CodCS, @CodCliente, @RagSociale, @Particolare, @DescParticolare, @DisegnoGrezzo, @Esponente, @CodImpianto, @DescImpianto, @CodStampo, @Figura, @DataFus, @TurnoFus, @CodImballo, @CodSoggetto, @NumCont, @Tara, @Qta, @CodStato, @IdxPosizione, @PesoTot, @PesoCad, GETDATE(), GETDATE(), @Note)
+
+ -- inserisco relazione parent-child tra UDC vecchio (tara) e nuovo (pesa) SSE UDC_Parent valido
+ IF((NOT @UDC_parent IS NULL) AND (NOT @UDC_parent = ''))
+ BEGIN
+ INSERT INTO RelazUDC(UDC_parent, UDC_child)
+ VALUES (@UDC_parent, @UDC)
+ END
+COMMIT TRAN
+
+------------------------------------------------------------------------------------------------------
+
+------------------------------------------------------------------------------------------------------
+-- Ciclo secondario x eventuale cancellazione UDC tara parent e inserimento in posizione
+------------------------------------------------------------------------------------------------------
+ -- se richiesto elimino l'UDC parent (tara)
+ IF(@DoDeleteUdcParent = 1)
+ BEGIN
+ DELETE FROM ElencoCartellini WHERE UDC = @UDC_parent
+ END
+
+ -- calcolo la prima cella della posizione indicata..
+ SET @IdxCella = (
+ SELECT TOP 1 c.IdxCella
+ FROM Celle c INNER JOIN Blocchi b ON c.IdxBlocco=b.IdxBlocco
+ WHERE b.CodMag = CAST(@IdxPosizione AS NVARCHAR(50))
+ )
+ -- inserisco il cartellino nella prima cella della posizione indicata..
+ INSERT INTO PosizioneUdcCorrente
+ VALUES (@UDC, @IdxCella, @CodCS, GETDATE())
+------------------------------------------------------------------------------------------------------
+
+/*
+------------------------------------------------------------------------------------------------------
+-- Salvataggio dati evento in tab StoricoEventi
+------------------------------------------------------------------------------------------------------
+INSERT INTO StoricoEventi(DataEv, CodEvento, CodOperatore, CodTipoDichiaraz, CodCS, UDC, Qta, PesoTot, PesoCad, Particolare, CodStato, CodStampo, Figura, FiguraIncisa)
+VALUES (GETDATE(), @CodEvento, @CodOperatore, @CodTipoDichiaraz, @CodCS, @UDC, @Qta, @PesoTot, @PesoCad, @Particolare, @CodStato, @CodStampo, @Figura, @FiguraIncisa)
+------------------------------------------------------------------------------------------------------
+*/
+
+------------------------------------------------------------------------------------------------------
+-- restituisco la tab dati con l'udc appena inserito
+------------------------------------------------------------------------------------------------------
+SELECT *
+FROM ElencoCartellini
+WHERE UDC = @UDC
+------------------------------------------------------------------------------------------------------
+
+RETURN
+go
+
+/***************************************
+* STORED stp_UDC_updateIdxPosizione
+*
+* aggiorna un cartellino x la sua posizione logica
+*
+* Steamware, S.E.L.
+* mod: 2010.06.12
+*
+****************************************/
+alter PROCEDURE stp_UDC_updateIdxPosizione
+(
+ @UDC VARCHAR(20),
+ @IdxPosizione INT
+)
+AS
+
+
+------------------------------------------------------------------------------------------------------
+-- Ciclo principale x edit record
+------------------------------------------------------------------------------------------------------
+BEGIN TRAN
+
+ -- modifico il record
+ UPDATE ElencoCartellini
+ SET IdxPosizione = @IdxPosizione, ModDate = GETDATE()
+ WHERE UDC = @UDC
+
+COMMIT TRAN
+------------------------------------------------------------------------------------------------------
+
+------------------------------------------------------------------------------------------------------
+-- restituisco la tab dati con l'udc appena inserito
+------------------------------------------------------------------------------------------------------
+SELECT *
+FROM ElencoCartellini
+WHERE UDC = @UDC
+------------------------------------------------------------------------------------------------------
+
+RETURN
+go
+
+/***************************************
+* STORED stp_UDC_update
+*
+* aggiorna un cartellino dato il suo codice UDC e tutti i parametri da aggiornare
+*
+* Steamware, S.E.L.
+* mod: 2010.04.30
+*
+****************************************/
+alter PROCEDURE stp_UDC_update
+(
+ @UDC_edit VARCHAR(20),
+ @CodCS VARCHAR(2),
+ @Flusso VARCHAR(2),
+ @Anno VARCHAR(2),
+ @CodCliente VARCHAR(6),
+ @Particolare VARCHAR(15),
+ @CodImpianto AS VARCHAR(50),
+ @CodStampo VARCHAR(8),
+ @Esponente VARCHAR(6),
+ @Figura VARCHAR(4),
+ @DataFus DATETIME,
+ @TurnoFus INT,
+ @CodImballo VARCHAR(15),
+ @CodSoggetto VARCHAR(17),
+ @Tara FLOAT,
+ @IdxPosizione INT,
+ @CodTipoDichiaraz CHAR(1),
+ @CodEvento VARCHAR(10),
+ @Qta DECIMAL(10,2),
+ @PesoTot FLOAT,
+ @PesoCad FLOAT,
+ @CodStato VARCHAR(50),
+ @UDC_parent VARCHAR(20),
+ @Note NVARCHAR(500)
+)
+AS
+
+-- DECLARE iniziali
+DECLARE @RagSociale AS VARCHAR(35)
+DECLARE @DescParticolare AS VARCHAR(30)
+DECLARE @DescImpianto AS VARCHAR(50)
+DECLARE @DisegnoGrezzo AS VARCHAR(30)
+DECLARE @NumCont AS INT
+DECLARE @numFlu AS INT
+DECLARE @numUdc AS INT
+DECLARE @nextUdc AS INT
+
+------------------------------------------------------------------------------------------------------
+-- Caricamento Dati da anagrafica
+------------------------------------------------------------------------------------------------------
+-- cerco la ragione sociale...
+SET @RagSociale = (
+ SELECT ISNULL(RagSociale, 'ND') AS RagSociale
+ FROM RilPro.AnagClienti
+ WHERE (CodCliente = @CodCliente)
+)
+
+-- Cerco descrizione del particolare...
+SET @DescParticolare = (
+ SELECT ISNULL(DescParticolare, 'ND') AS DescParticolare
+ FROM RilPro.AnagParticolari
+ WHERE (Particolare = @Particolare)
+)
+
+-- cerco codice disegno grezzo
+SET @DisegnoGrezzo = (
+ SELECT ISNULL(DisegnoGrezzo, 'ND') AS DescParticolare
+ FROM RilPro.AnagParticolari
+ WHERE (Particolare = @Particolare)
+)
+
+-- cerco descrizione Impianto
+SET @DescImpianto = (
+ SELECT ISNULL(DescImpianto, 'ND') AS DescImpianto
+ FROM AnagImpianti
+ WHERE (CodImpianto = @CodImpianto)
+)
+
+
+
+-- Calcolo contatore intero successivo x il contenitore...
+SET @NumCont = (
+ SELECT NumCont
+ FROM ElencoCartellini
+ WHERE (UDC = @UDC_edit)
+)
+
+
+------------------------------------------------------------------------------------------------------
+
+------------------------------------------------------------------------------------------------------
+-- Flusso
+------------------------------------------------------------------------------------------------------
+-- controllo se esiste il flusso (bilancia)...
+SET @numFlu = (
+ SELECT count(*)
+ FROM AnagBilance
+ WHERE CodBilancia = @Flusso
+)
+-- ...sennò lo creo...
+IF(@numFlu = 0)
+ BEGIN
+ -- se c'è inserisco in tab
+ INSERT INTO AnagBilance(CodBilancia, DescrImpianto, CodCS)
+ VALUES (@Flusso, @Flusso, @CodCS)
+ END
+------------------------------------------------------------------------------------------------------
+
+------------------------------------------------------------------------------------------------------
+-- Ciclo principale x edit record
+------------------------------------------------------------------------------------------------------
+BEGIN TRAN
+
+ -- elimino vecchio record parent/child
+ DELETE FROM RelazUDC
+ WHERE (UDC_child = @UDC_edit)
+
+ -- modifico il record
+ UPDATE ElencoCartellini
+ SET CodCS = @CodCS, CodCliente = @CodCliente, RagSociale = @RagSociale, Particolare = @Particolare, DescParticolare = @DescParticolare,
+ DisegnoGrezzo = @DisegnoGrezzo, Esponente = @Esponente, CodImpianto = @CodImpianto, DescImpianto = @DescImpianto, CodStampo = @CodStampo,
+ Figura = @Figura, DataFus = @DataFus, TurnoFus = @TurnoFus, CodImballo = @CodImballo, CodSoggetto = @CodSoggetto, NumCont = @NumCont,
+ Tara = @Tara, Qta = @Qta, CodStato = @CodStato, IdxPosizione = @IdxPosizione, PesoTot = @PesoTot, PesoCad = @PesoCad, ModDate = GETDATE(), Note = @Note
+ WHERE UDC = @UDC_edit
+
+ -- inserisco relazione parent-child tra UDC vecchio (tara) e nuovo (pesa)
+ INSERT INTO RelazUDC(UDC_parent, UDC_child)
+ VALUES (@UDC_parent, @UDC_edit)
+COMMIT TRAN
+------------------------------------------------------------------------------------------------------
+
+------------------------------------------------------------------------------------------------------
+-- restituisco la tab dati con l'udc appena inserito
+------------------------------------------------------------------------------------------------------
+SELECT *
+FROM ElencoCartellini
+WHERE UDC = @UDC_edit
+------------------------------------------------------------------------------------------------------
+
+RETURN
+go
+
+/***************************************
+* STORED stp_UDC_updateQty
+*
+* aggiorna un cartellino x la sua quantità
+*
+* Steamware, S.E.L.
+* mod: 2010.06.12
+*
+****************************************/
+alter PROCEDURE stp_UDC_updateQty
+(
+ @UDC VARCHAR(20),
+ @CodSoggetto VARCHAR(17),
+ @CodTipoDichiaraz CHAR(1),
+ @CodEvento VARCHAR(10),
+ @Qta DECIMAL(10,2)
+)
+AS
+
+
+------------------------------------------------------------------------------------------------------
+-- Ciclo principale x edit record
+------------------------------------------------------------------------------------------------------
+BEGIN TRAN
+
+ -- modifico il record
+ UPDATE ElencoCartellini
+ SET Qta = @Qta, ModDate = GETDATE()
+ WHERE UDC = @UDC
+
+COMMIT TRAN
+------------------------------------------------------------------------------------------------------
+
+------------------------------------------------------------------------------------------------------
+-- restituisco la tab dati con l'udc appena inserito
+------------------------------------------------------------------------------------------------------
+SELECT *
+FROM ElencoCartellini
+WHERE UDC = @UDC
+------------------------------------------------------------------------------------------------------
+
+RETURN
+go
+
+/***************************************
+* STORED stp_UDC_insNewFull_fixUDC
+*
+* crea un nuovo record nella TabStatoOdpUdc FULL (con pesi, qta...) avendo in entrata il codice UDC da utilizzare
+*
+* Steamware, S.E.L.
+* mod: 2011.12.07
+*
+****************************************/
+create PROCEDURE stp_UDC_insNewFull_fixUDC
+(
+ @UDC AS NVARCHAR(50),
+ @CodCS VARCHAR(2),
+ @Flusso VARCHAR(2),
+ @Anno VARCHAR(2),
+ @CodCliente VARCHAR(6),
+ @Particolare VARCHAR(15),
+ @CodImpianto AS VARCHAR(50),
+ @CodStampo VARCHAR(8),
+ @Esponente VARCHAR(6),
+ @Figura VARCHAR(4),
+ @DataFus DATETIME,
+ @TurnoFus INT,
+ @CodImballo VARCHAR(15),
+ @CodSoggetto VARCHAR(17),
+ @Tara FLOAT,
+ @IdxPosizione INT,
+ @CodTipoDichiaraz CHAR(1),
+ @CodEvento VARCHAR(10),
+ @Qta DECIMAL(10,2),
+ @PesoTot FLOAT,
+ @PesoCad FLOAT,
+ @CodStato VARCHAR(50),
+ @UDC_parent VARCHAR(20),
+ @DoDeleteUdcParent BIT,
+ @Note NVARCHAR(500)
+)
+AS
+
+-- DECLARE iniziali
+DECLARE @RagSociale AS VARCHAR(35)
+DECLARE @DescParticolare AS VARCHAR(30)
+DECLARE @DescImpianto AS VARCHAR(50)
+DECLARE @DisegnoGrezzo AS VARCHAR(30)
+DECLARE @NumCont AS INT
+DECLARE @numFlu AS INT
+DECLARE @numUdc AS INT
+DECLARE @nextUdc AS INT
+DECLARE @IdxCella AS INT
+
+------------------------------------------------------------------------------------------------------
+-- Caricamento Dati da anagrafica
+------------------------------------------------------------------------------------------------------
+-- cerco la ragione sociale...
+SET @RagSociale = (
+ SELECT ISNULL(RagSociale, 'ND') AS RagSociale
+ FROM RilPro.AnagClienti
+ WHERE (CodCliente = @CodCliente)
+)
+
+-- Cerco descrizione del particolare...
+SET @DescParticolare = (
+ SELECT ISNULL(DescParticolare, 'ND') AS DescParticolare
+ FROM RilPro.AnagParticolari
+ WHERE (Particolare = @Particolare)
+)
+
+-- cerco codice disegno grezzo
+SET @DisegnoGrezzo = (
+ SELECT ISNULL(DisegnoGrezzo, 'ND') AS DescParticolare
+ FROM RilPro.AnagParticolari
+ WHERE (Particolare = @Particolare)
+)
+
+-- cerco descrizione Impianto
+SET @DescImpianto = (
+ SELECT ISNULL(DescImpianto, 'ND') AS DescImpianto
+ FROM AnagImpianti
+ WHERE (CodImpianto = @CodImpianto)
+)
+
+
+
+-- Calcolo contatore intero successivo x il contenitore...
+SET @NumCont = (
+ SELECT ISNULL(MAX(NumCont), 0) + 1 AS NumCont
+ FROM ElencoCartellini
+ WHERE (Particolare = @Particolare)
+ AND (DataFus = @DataFus)
+ AND (TurnoFus = @TurnoFus)
+ AND (CodImpianto = @CodImpianto)
+ AND (CodStampo = @CodStampo)
+ AND (Figura = @Figura)
+)
+
+
+------------------------------------------------------------------------------------------------------
+
+
+------------------------------------------------------------------------------------------------------
+-- Ciclo principale x inserimento nuovo record
+------------------------------------------------------------------------------------------------------
+BEGIN TRAN
+
+ -- inserisco un nuovo record
+ INSERT INTO ElencoCartellini(UDC, CodCS, CodCliente, RagSociale, Particolare, DescParticolare, DisegnoGrezzo, Esponente, CodImpianto, DescImpianto, CodStampo, Figura, DataFus, TurnoFus, CodImballo, CodSoggetto, NumCont, Tara, Qta, CodStato, IdxPosizione, PesoTot, PesoCad, CreateDate, ModDate, Note)
+ VALUES (@UDC, @CodCS, @CodCliente, @RagSociale, @Particolare, @DescParticolare, @DisegnoGrezzo, @Esponente, @CodImpianto, @DescImpianto, @CodStampo, @Figura, @DataFus, @TurnoFus, @CodImballo, @CodSoggetto, @NumCont, @Tara, @Qta, @CodStato, @IdxPosizione, @PesoTot, @PesoCad, GETDATE(), GETDATE(), @Note)
+
+ -- inserisco relazione parent-child tra UDC vecchio (tara) e nuovo (pesa) SSE UDC_Parent valido
+ IF((NOT @UDC_parent IS NULL) AND (NOT @UDC_parent = ''))
+ BEGIN
+ INSERT INTO RelazUDC(UDC_parent, UDC_child)
+ VALUES (@UDC_parent, @UDC)
+ END
+COMMIT TRAN
+
+------------------------------------------------------------------------------------------------------
+
+------------------------------------------------------------------------------------------------------
+-- Ciclo secondario x eventuale cancellazione UDC tara parent e inserimento in posizione
+------------------------------------------------------------------------------------------------------
+ -- se richiesto elimino l'UDC parent (tara)
+ IF(@DoDeleteUdcParent = 1)
+ BEGIN
+ DELETE FROM ElencoCartellini WHERE UDC = @UDC_parent
+ END
+
+ -- calcolo la prima cella della posizione indicata..
+ SET @IdxCella = (
+ SELECT TOP 1 c.IdxCella
+ FROM Celle c INNER JOIN Blocchi b ON c.IdxBlocco=b.IdxBlocco
+ WHERE b.CodMag = CAST(@IdxPosizione AS NVARCHAR(50))
+ )
+ -- inserisco il cartellino nella prima cella della posizione indicata..
+ INSERT INTO PosizioneUdcCorrente
+ VALUES (@UDC, @IdxCella, @CodCS, GETDATE())
+------------------------------------------------------------------------------------------------------
+
+------------------------------------------------------------------------------------------------------
+-- restituisco la tab dati con l'udc appena inserito
+------------------------------------------------------------------------------------------------------
+SELECT *
+FROM ElencoCartellini
+WHERE UDC = @UDC
+------------------------------------------------------------------------------------------------------
+
+RETURN
+go
+
+commit;
+go
+
+
+set xact_abort on;
+go
+
+begin transaction;
+go
+
+set ANSI_NULLS on;
+go
+
+alter PROCEDURE stp_getUDC_UnusedOlder
+(
+ @CodLista VARCHAR(12)
+)
+AS
+
+ -- variabili locali che mi servono
+ DECLARE @Figura AS VARCHAR(4)
+ DECLARE @Esponente AS VARCHAR(6)
+ DECLARE @CodImballo AS VARCHAR(15)
+ DECLARE @Particolare AS VARCHAR (50)
+ DECLARE @CodTipoLista AS VARCHAR (10)
+ --DECLARE @IdxPosizione AS INT
+ SET @Figura = (SELECT Figura FROM ElencoListePrelievo WHERE CodLista = @CodLista)
+ SET @Esponente = (SELECT Esponente FROM ElencoListePrelievo WHERE CodLista = @CodLista)
+ SET @CodImballo = (SELECT CodImballo FROM ElencoListePrelievo WHERE CodLista = @CodLista)
+ SET @Particolare = (SELECT Particolare FROM ElencoListePrelievo WHERE CodLista = @CodLista)
+ SET @CodTipoLista = (SELECT CodTipoLista FROM ElencoListePrelievo WHERE CodLista = @CodLista)
+ /*
+ SET @IdxPosizione = (SELECT tt.IdxPosizione
+ FROM TipoListaPrelievo tlp INNER JOIN TabTranPosizEventi tt ON tlp.CodEvento = tt.CodEvento
+ WHERE (tlp.CodTipoLista = @CodTipoLista))
+ */
+
+ -- effettuo la selezione
+ SELECT *
+ FROM ElencoCartellini
+ WHERE (Particolare = @Particolare) AND (IdxPosizione IN (SELECT tt.IdxPosizione
+ FROM TipoListaPrelievo tlp INNER JOIN TabTranPosizEventi tt ON tlp.CodEvento = tt.CodEvento
+ WHERE (tlp.CodTipoLista = @CodTipoLista))) AND
+ (Figura = CASE WHEN @Figura = '*' THEN Figura ELSE @Figura END) AND
+ (Esponente = CASE WHEN @Esponente = '*' THEN Esponente ELSE @Esponente END) AND
+ (CodImballo = CASE WHEN @CodImballo = '*' THEN CodImballo ELSE @CodImballo END)
+ AND UDC NOT IN (
+ SELECT DISTINCT UDC
+ FROM RigheListePrelievo INNER JOIN ElencoListePrelievo
+ ON RigheListePrelievo.CodLista = ElencoListePrelievo.CodLista
+ WHERE (ElencoListePrelievo.CodLista = @CodLista)
+ OR (ElencoListePrelievo.CodLista <> @CodLista AND CodStatoLista > 1 AND Prelevato = 1)
+ )
+ ORDER BY ElencoCartellini.DataFus
+
+RETURN
+go
+
+commit;
+go
+
+set xact_abort on;
+go
+
+begin transaction;
+go
+
+set ANSI_NULLS on;
+go
+
+/***************************************
+* STORED stp_scaricaUdc
+*
+* elimina dalle posizioni correnti un UDC, salvandone la posizione precedente nella tab storica (per scaricamento / spedizione)
+*
+* Steamware, S.E.L.
+* mod: 2010.09.28
+*
+****************************************/
+alter PROCEDURE stp_scaricaUdc
+(
+ @UDC VARCHAR(50),
+ @IdxPosizione INT
+)
+AS
+
+BEGIN TRAN
+ -- libero la posizione attuale dell'UDC (se c'è...)
+ DELETE
+ FROM PosizioneUdcCorrente
+ WHERE UDC = @UDC
+
+ -- aggiorno l'UDC come posizione finale...
+ UPDATE ElencoCartellini
+ SET IdxPosizione = @IdxPosizione, ModDate = GETDATE()
+ WHERE UDC = @UDC
+
+COMMIT TRAN
+
+RETURN
+go
+
+commit;
+go
+
+set xact_abort on;
+go
+
+begin transaction;
+go
+
+set ANSI_NULLS on;
+go
+
+/***************************************
+* STORED stp_UDC_associaParent
+*
+* crea un nuovo record nella di associazione UDC/parent
+*
+* Steamware, S.E.L.
+* mod: 2011.12.06
+*
+****************************************/
+create PROCEDURE stp_UDC_associaParent
+(
+ @UDC NVARCHAR(50),
+ @UDC_parent NVARCHAR(50)
+)
+AS
+
+ -- elimino partent vuoti...
+ DELETE
+ FROM RelazUDC
+ WHERE ISNULL(UDC_parent,'') = ''
+ -- inserisco relazione parent-child tra UDC vecchio (tara) e nuovo (pesa)
+ INSERT INTO RelazUDC(UDC_parent, UDC_child)
+ VALUES (@UDC_parent, @UDC)
+
+RETURN
+go
+
+commit;
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+INSERT INTO dbo.Permessi
+ VALUES ('POST', 'menu.aspx', 4, 0, 'Postazioni', 'PostazioniExpl')
+INSERT INTO dbo.Permessi
+ VALUES ('POST_assoc_F10_F18', 'sanpos_associaz_F10_F18.aspx', 4, 3, 'Associaz_F10_F18', 'Associaz_F10_F18Expl')
+INSERT INTO dbo.Permessi
+ VALUES ('POST_consumoF10', 'sanpos_consumoF10.aspx', 4, 4, 'ConsumoF10', 'ConsumoF10Expl')
+INSERT INTO dbo.Permessi
+ VALUES ('POST_liquidi', 'sanpos_controlloLiquidi.aspx', 4, 1, 'PostLiquidi', 'PostLiquidiExpl')
+INSERT INTO dbo.Permessi
+ VALUES ('POST_trav_creaF18', 'sanpos_creazioneF18.aspx', 4, 2, 'CreazF18', 'CreazF18Expl')
+go
+
+commit transaction
+go
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+INSERT INTO dbo.Permessi2Funzione
+ VALUES ('POST', N'GMW_powuser', 'S')
+INSERT INTO dbo.Permessi2Funzione
+ VALUES ('POST', N'GMW_user', 'S')
+INSERT INTO dbo.Permessi2Funzione
+ VALUES ('POST_assoc_F10_F18', N'GMW_powuser', 'S')
+INSERT INTO dbo.Permessi2Funzione
+ VALUES ('POST_assoc_F10_F18', N'GMW_user', 'S')
+INSERT INTO dbo.Permessi2Funzione
+ VALUES ('POST_consumoF10', N'GMW_powuser', 'S')
+INSERT INTO dbo.Permessi2Funzione
+ VALUES ('POST_consumoF10', N'GMW_user', 'S')
+INSERT INTO dbo.Permessi2Funzione
+ VALUES ('POST_liquidi', N'GMW_powuser', 'S')
+INSERT INTO dbo.Permessi2Funzione
+ VALUES ('POST_liquidi', N'GMW_user', 'S')
+INSERT INTO dbo.Permessi2Funzione
+ VALUES ('POST_trav_creaF18', N'GMW_powuser', 'S')
+INSERT INTO dbo.Permessi2Funzione
+ VALUES ('POST_trav_creaF18', N'GMW_user', 'S')
+go
+
+commit transaction
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+INSERT INTO dbo.AnagMag
+ VALUES (N'5', N'SP', N'Mag WIP SP', 0)
+go
+
+commit transaction
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+INSERT INTO dbo.AnagBilance
+ VALUES (N'LI', N'PostazioneLiquidi', N'SP')
+INSERT INTO dbo.AnagBilance
+ VALUES (N'TR', N'Trattamento termico', N'SP')
+go
+
+commit transaction
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set identity_insert dbo.Blocchi on
+go
+
+INSERT INTO dbo.Blocchi
+ (IdxBlocco, CodMag, CodCS, CodBlocco, DescBlocco, NumX, NumY, NumZ)
+ VALUES (42, N'5', N'SP', N'ND', N'Descrizione n.d.', 1, 1, 1)
+go
+
+set identity_insert dbo.Blocchi off
+go
+
+commit transaction
+go
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set identity_insert dbo.TipoCella on
+go
+
+INSERT INTO dbo.TipoCella
+ (IdxTipoCella, CodMag, CodCS, Quantita, Capienza, Max_X, Max_Y, Max_Z, Max_Kg, CheckPiena, SetMag)
+ VALUES (23, N'5', N'SP', 1, 1000, 850, 900, 1300, 1000, 0, 1)
+go
+
+set identity_insert dbo.TipoCella off
+go
+
+commit transaction
+go
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+set identity_insert dbo.Celle on
+go
+
+INSERT INTO dbo.Celle
+ (IdxCella, CodCS, CodCella, IdxTipoCella, Descrizione, Attiva, Piena, IdxBlocco, X, Y, Z)
+ VALUES (3890, N'SP', N'ND010101', 23, N'-', 1, 0, 42, 1, 1, 1)
+go
+
+set identity_insert dbo.Celle off
+go
+
+commit transaction
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+INSERT INTO dbo.ContatoriListePrelievo
+ VALUES (N'SP', '11', '04', 1)
+INSERT INTO dbo.ContatoriListePrelievo
+ VALUES (N'SP', '11', '12', 1)
+go
+
+commit transaction
+go
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+INSERT INTO dbo.ContatoriUdc
+ VALUES (N'SP', 'LI', '10', 1)
+INSERT INTO dbo.ContatoriUdc
+ VALUES (N'SP', 'LI', '11', 11)
+INSERT INTO dbo.ContatoriUdc
+ VALUES (N'SP', 'LI', '20', 4)
+INSERT INTO dbo.ContatoriUdc
+ VALUES (N'SP', 'TR', '11', 8)
+go
+
+commit transaction
+go
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+UPDATE dbo.TabTranPosizEventi SET
+ toAs400=1
+ WHERE CodEvento=N'UDC_CONS' and IdxPosizione=4
+go
+
+commit transaction
+go
+
+
+
+
+
+
+
+
+
+
+-- registro versione...
+INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(401, GETDATE())
+GO
diff --git a/GMW/GMW_data/SqlScripts/Vocabolario/vocab_000.sql b/GMW/GMW_data/SqlScripts/Vocabolario/vocab_000.sql
new file mode 100644
index 00000000..cfbdbd17
--- /dev/null
+++ b/GMW/GMW_data/SqlScripts/Vocabolario/vocab_000.sql
@@ -0,0 +1,778 @@
+drop table Vocabolario
+go
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+create table Vocabolario(
+ Lingua nvarchar(3) not null,
+ Lemma nvarchar(50) not null,
+ Traduzione nvarchar(500) not null,
+
+ constraint PK_Vocabolario primary key(Lingua,Lemma)
+)
+go
+
+alter table Vocabolario add
+ constraint FK_Vocabolario_Lingue foreign key(Lingua) references Lingue(Lingua) on update cascade
+go
+
+create index I_lemma on Vocabolario(Lemma)
+go
+
+commit
+go
+
+
+
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'#', N'#')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'01-PreFus', N'Lista prelievo pezzi Fusione')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'02-PreCli', N'Lista Prelievo Clienti')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'03-TerWip', N'Lista Prelievo Terzisti - WIP')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'AbilitaRicercaLike', N'Abilita Ricerca "Like"')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'AbilitaRicercaLikeExpl', N'Selezionare per abilitare la ricerca estesa di tipo "Like" anche su parte dei campi')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'AcqPrntUdc', N'Stampa UDC')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'AcqPrntUdcExpl', N'Gestione acquisizione dati da AS400 e stampa UDC')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'Admin', N'Admin Area')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'AnagCelle', N'Anagrafica Celle')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'AnagCelleExpl', N'Gestione Anagrafica Celle ed assegnazioni a magazzini/blocchi')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'AnagMagazzini', N'Anagrafica Magazzini')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'AnagMagazziniExpl', N'Gestione dell''anagrafica dei magazzini')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'AnagraficheBase', N'Base Lists')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'ApriManualeHelp', N'Apri manuale utente')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'attiva', N'attiva')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'AttivaListaPrelievo', N'Attivazione lista selezionata')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'BarcodeInput', N'Input via Barcode')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'BenesQual', N'BenesQual')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'btnBloccaCella', N'Blocca cella')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'btnClose', N'Chiudi')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'btnCompletaCella', N'Cella completa')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'btnConsumaMP', N'Consumo UDC MP')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'btnCreaListaPrelievo', N'Crea Lista di Prelievo')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'btnDelibera', N'Delibera selezionati')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'btnDisponibileCella', N'Cella disponibile')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'btnGo2Mag', N'Vai a magazzino')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'btnListePrelievo', N'Liste di prelievo')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'btnNewLemma', N'Insert new term to translate')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'btnQta', N'Nuova quantità')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'btnReloadDataRQL', N'Ricarica da AS400')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'btnSbloccaCella', N'Sblocca cella')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'btnSearch', N'Cerca')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'btnSelAll', N'Select all visible row')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'btnSposta', N'Sposta')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'btnStatoMag', N'Stato Mag.Fisico')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'Cancel', N'Cancel')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'Capienza', N'capienza')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'cbeBtnDelibera', N'Sei sicuro di voler procedere con al delibera degli UDC selezionati?')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'CelleAttive', N'Num celle attive')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'CelleLibere', N'Num celle Libere')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'CelleLibereOccupate', N'Occupate/Libere')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'CelleOccupate', N'Num celle Occupate')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'CelleTotAtt', N'Tot. / Att.')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'CheckPiena', N'Ver. Piena')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'CodBlocco', N'Cod. blocco')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'CodCella', N'Cod.Cella')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'CodFor', N'CodFornitore')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'CodImballo', N'Cod.Imballo')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'CodLega', N'CodLega')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'CodLista', N'Cod.')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'CodMag', N'Cod.Mag.')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'CodStato', N'CodStato')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'CompletaListaPrelievo', N'Completa Lista di Prelievo')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'confermaAttivaLista', N'Questo renderà attiva la lista selezionata, vuoi procedere?')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'confermaCompletaLista', N'Sei sicuro di voler indicare come completata la Lista di Prelievo corrente?')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'ConfermaConsumoMP', N'Confermi consumo MP per gli UDC indicati?')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'ConfermaCreaCelleMancantiBlocco', N'Sei sicuro di voler procedere a creare le celle mancanti per il blocco?')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'confermaDel', N'Sei sicuro di voler continuare con l''eliminazione del record?')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'confermaIniziaLista', N'Richiesta di presa in carico di lista di prelievo: sicuro di voler procedere?')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'confermaRettificaQta', N'Sei sicuro di voler rettificare la quantità associata?')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'confermaScaricaLista', N'Sicuro di voler procedere e scaricare la lista (anche in AS 400?)')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'confermaSpostamentoUDC', N'Sei sicuro di voler spostare questo UDC nella cella indicata?')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'ConsUDC', N'Scarico MP')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'ConsUDCExpl', N'Gestione dello scarico e del consumo UDC')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'creaCelleMancanti', N'Crea le celle mancanti')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'CreaNuovaListaPrelievo', N'Crea Nuova Lista')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'DataFus', N'Data fusione')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'DataRapQual', N'Data RQ')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'DateRange', N'Intervallo date')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'Delete', N'Delete')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'DescBlocco', N'Descrizione')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'DescImpianto', N'Impianto')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'DescMag', N'Descrizione magazzino')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'DescParticolare', N'Desc. Part.')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'descrizione', N'description')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'DescStato', N'Stato')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'Destinatario', N'Destinatario')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'DettaglioBlocco', N'Dettaglio Blocco')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'DettaglioBloccoExpl', N'Dettaglio stato Blocco Magazzino')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'DisegnoGrezzo', N'Dis.Grezzo')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'Edit', N'Edit')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'ElencoBlocchi', N'Blocchi di celle')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'ElencoListePrelievo', N'Liste di Prelievo')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'ElencoListePrelievoExpl', N'Elenco delle Liste di Prelievo')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'ElencoTipoCelle', N'Tipologie e quantità celle')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'ErroreCellaDestOccupata', N'Errore! cella di destinazione bloccata')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'Esponente', N'Esponente')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'filtraTipoListe', N'Filtra per tipologia')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'finePeriodo', N'fine periodo di riferimento per i dati mostrati')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'GestDelibere', N'Gestione Delibere')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'GestDelibereExpl', N'Gestione Delibere (fusi e spedizione terzisti)')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'GestioneMagazzino', N'Gestione Magazzino')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'GestLaboratorioMP', N'Laboratorio MP')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'GestLaboratorioMPExpl', N'Metodi per gestione UDC Laboratorio MP')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'GMW_Appl', N'GMW')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'GMW_LongWelcome', N'Clicca sulle voci del menù alla sinistra per accedere alle funzionalità abilitate')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'GMW_ShortWelcome', N'Benvenuto in GMW')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'GMW_titleApp', N'GMW')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'GMW_welcomeApp', N'Gestione Magazzino web - GruppoMM')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'IdxBlocco', N'Blocco')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'IdxTipoCella', N'Tipo')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'IniziaListaPrelievo', N'Richiesta di presa in carico di Lista di Prelievo')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'inizioPeriodo', N'inizio periodo di riferimento per i dati mostrati')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'insert', N'insert')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'insertCod4search', N'inserire codice da ricercare')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'insertNewLemma', N'--insertNewLemma--')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'lblAss', N'Assegnate')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'lblAttive', N'Attive')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'lblCerca', N'cerca')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'lblDettImpieghiBlocchi', N'Dettaglio impiego Celle in Blocchi')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'lblInattive', N'Inattive')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'lblNewPos', N'Nuova posizione')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'lblNonAss', N'Non Assegnate')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'lblQta', N'Rettifica quantità')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'lblTotaleImpieghi', N'Impieghi totali celle/blocchi')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'lblTotCapacita', N'Capacità totale')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'lblTotCelleCreate', N'Tot Celle create nei blocchi')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'lblTotCelleDaBlocchi', N'Tot celle nei blocchi')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'lblTotCelleDaTipo', N'Tot celle (da Tipologia)')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'Lemma', N'Term')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'Lingua', N'Language')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'lnkShowHide', N'Show/Hide Menu')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'LogOut', N'LogOut')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'MagLog', N'Mag.Logico')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'MagSearch', N'Ricerca avanzata')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'MagSearchExpl', N'Ricerca avanzata in magazzino (UDC, celle, ...)')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'Max_Kg', N'Portata(Kg)')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'Max_X', N'Largh Max')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'Max_Y', N'Alt Max')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'Max_Z', N'Prof Max')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'ModDate', N'Data mod.')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'ModLang', N'Cambia Lingua Utente')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'MostraCelleBlocco', N'Mostra le celle assegnate al blocco')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'mostraSoloSelez', N'Set filter')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'mostraTutti', N'Remove filter')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'Nascosto', N'Nasc.')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'New', N'New')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'noRecord', N'No records found')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'nRapQual', N'Num RQ')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'NumInMag', N'# Mag')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'NumUDC', N'# UDC')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'NumX', N'# colonne (X)')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'NumY', N'# livelli (Y)')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'NumZ', N'profondità (Z)')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'NuovaListaPrelievo', N'Nuova Lista Prelievo')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'Particolare', N'Particolare')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'Particolari', N'Particolari')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'periodoRif', N'Periodo di riferimento:')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'Piena', N'Piena')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'ProgUDC', N'UDC AS400')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'Qta', N'Qty')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'QtaTotPz', N'Tot pz.')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'Quantita', N'num celle')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'RagSociale', N'Cliente')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'Reset', N'Reset')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'ScaricaListaPrelievo', N'Effettua scaricamento degli UDC della lista in AS 400')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'scegliLingua', N'Selezionare Lingua')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'Select', N'Select')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'SetFiltroMagLog', N'Filtro per Magazzino Logico')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'SetMag', N'Set.Mag.')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'Stato', N'Status')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'StatoLista_4', N'Approvata')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'StatoMagazzino', N'Magazzino Fisico')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'StatoMagazzinoExpl', N'Dettaglio Stato Magazzino Fisico')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'StatoMagLogico', N'Magazzino Logico')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'StatoMagLogicoExpl', N'Dettaglio Stato Magazzino Logico')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'TornaStatoMag', N'Torna a Stato Magazzino Fisico')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'TornaStatoMagLogico', N'Torna a Stato Magazzino Logico')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'TotCelle', N'Num celle totali')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'TotQta', N'# pz')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'Traduzione', N'Translation')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'TurnoFus', N'Turno fusione')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'TurnoShort', N'T.')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'UDC', N'UDC')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'UdcAssoc', N'UdcAssoc')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'UdcTot', N'UdcTot')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'Update', N'Update')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'User', N'User')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'UserFunc', N'Funzioni Utente')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'Vocabolario', N'Dictionary')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'X', N'Colonna (X)')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'Y', N'Livello (Y)')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'Z', N'Prof. (z)')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'#', N'#')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'01-PreFus', N'Lista prelievo pezzi Fusione')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'02-PreCli', N'Lista Prelievo Clienti')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'03-TerWip', N'Lista Prelievo Terzisti - WIP')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'AbilitaRicercaLike', N'Abilita Ricerca "Like"')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'AbilitaRicercaLikeExpl', N'Selezionare per abilitare la ricerca estesa di tipo "Like" anche su parte dei campi')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'AcqPrntUdc', N'Stampa UDC')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'AcqPrntUdcExpl', N'Gestione acquisizione dati da AS400 e stampa UDC')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'Admin', N'Area amministrazione')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'AnagCelle', N'Anagrafica Celle')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'AnagCelleExpl', N'Gestione Anagrafica Celle ed assegnazioni a magazzini/blocchi')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'AnagMagazzini', N'Anagrafica Magazzini')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'AnagMagazziniExpl', N'Gestione dell''anagrafica dei magazzini')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'AnagraficheBase', N'Anagrafiche Base')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'ApriManualeHelp', N'Apri manuale utente')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'attiva', N'attiva')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'AttivaListaPrelievo', N'Attivazione lista selezionata')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'BarcodeInput', N'Input via Barcode')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'BenesQual', N'BenesQual')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'btnBloccaCella', N'Blocca cella')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'btnClose', N'Chiudi')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'btnCompletaCella', N'Cella completa')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'btnConsumaMP', N'Consumo UDC MP')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'btnCreaListaPrelievo', N'Crea Lista di Prelievo')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'btnDelibera', N'Delibera selezionati')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'btnDisponibileCella', N'Cella disponibile')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'btnGo2Mag', N'Vai a magazzino')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'btnListePrelievo', N'Liste di prelievo')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'btnNewLemma', N'Inserire nuovo termine da tradurre')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'btnQta', N'Nuova quantità')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'btnReloadDataRQL', N'Ricarica da AS400')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'btnSbloccaCella', N'Sblocca cella')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'btnSearch', N'Cerca')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'btnSelAll', N'Seleziona tutte le righe visibili')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'btnSposta', N'Sposta')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'btnStatoMag', N'Stato Mag.Fisico')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'Cancel', N'Annulla')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'Capienza', N'capienza')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'cbeBtnDelibera', N'Sei sicuro di voler procedere con al delibera degli UDC selezionati?')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'CelleAttive', N'Num celle attive')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'CelleLibere', N'Num celle Libere')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'CelleLibereOccupate', N'Occupate/Libere')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'CelleOccupate', N'Num celle Occupate')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'CelleTotAtt', N'Tot. / Att.')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'CheckPiena', N'Ver. Piena')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'CodBlocco', N'Cod. blocco')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'CodCella', N'Cod.Cella')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'CodFor', N'CodFornitore')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'CodImballo', N'Cod.Imballo')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'CodLega', N'CodLega')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'CodLista', N'Cod.')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'CodMag', N'Cod.Mag.')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'CodStato', N'CodStato')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'CompletaListaPrelievo', N'Completa Lista di Prelievo')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'confermaAttivaLista', N'Questo renderà attiva la lista selezionata, vuoi procedere?')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'confermaCompletaLista', N'Sei sicuro di voler indicare come completata la Lista di Prelievo corrente?')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'ConfermaConsumoMP', N'Confermi consumo MP per gli UDC indicati?')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'ConfermaCreaCelleMancantiBlocco', N'Sei sicuro di voler procedere a creare le celle mancanti per il blocco?')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'confermaDel', N'Sei sicuro di voler continuare con l''eliminazione del record?')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'confermaIniziaLista', N'Richiesta di presa in carico di lista di prelievo: sicuro di voler procedere?')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'confermaRettificaQta', N'Sei sicuro di voler rettificare la quantità associata?')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'confermaScaricaLista', N'Sicuro di voler procedere e scaricare la lista (anche in AS 400?)')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'confermaSpostamentoUDC', N'Sei sicuro di voler spostare questo UDC nella cella indicata?')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'ConsUDC', N'Scarico MP')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'ConsUDCExpl', N'Gestione dello scarico e del consumo UDC')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'creaCelleMancanti', N'Crea le celle mancanti')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'CreaNuovaListaPrelievo', N'Crea Nuova Lista')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'DataFus', N'Data fusione')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'DataRapQual', N'Data RQ')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'DateRange', N'Intervallo date')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'Delete', N'Elimina')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'DescBlocco', N'Descrizione')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'DescImpianto', N'Impianto')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'DescMag', N'Descrizione magazzino')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'DescParticolare', N'Desc. Part.')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'descrizione', N'descrizione')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'DescStato', N'Stato')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'Destinatario', N'Destinatario')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'DettaglioBlocco', N'Dettaglio Blocco')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'DettaglioBloccoExpl', N'Dettaglio stato Blocco Magazzino')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'DisegnoGrezzo', N'Dis.Grezzo')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'Edit', N'Modifica')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'ElencoBlocchi', N'Blocchi di celle')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'ElencoListePrelievo', N'Liste di Prelievo')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'ElencoListePrelievoExpl', N'Elenco delle Liste di Prelievo')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'ElencoTipoCelle', N'Tipologie e quantità celle')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'ErroreCellaDestOccupata', N'Errore! cella di destinazione bloccata')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'Esponente', N'Esponente')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'filtraTipoListe', N'Filtra per tipologia')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'finePeriodo', N'fine periodo di riferimento per i dati mostrati')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'GestDelibere', N'Gestione Delibere')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'GestDelibereExpl', N'Gestione Delibere (fusi e spedizione terzisti)')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'GestioneMagazzino', N'Gestione Magazzino')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'GestLaboratorioMP', N'Laboratorio MP')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'GestLaboratorioMPExpl', N'Metodi per gestione UDC Laboratorio MP')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'GMW_Appl', N'GMW')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'GMW_LongWelcome', N'Clicca sulle voci del menù alla sinistra per accedere alle funzionalità abilitate')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'GMW_ShortWelcome', N'Benvenuto in GMW')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'GMW_titleApp', N'GMW')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'GMW_welcomeApp', N'Gestione Magazzino web - Gruppo Mazzucconi')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'IdxBlocco', N'Blocco')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'IdxTipoCella', N'Tipo')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'IniziaListaPrelievo', N'Richiesta di presa in carico di Lista di Prelievo')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'inizioPeriodo', N'inizio periodo di riferimento per i dati mostrati')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'insert', N'inserisci')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'insertCod4search', N'inserire codice da ricercare')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'insertNewLemma', N'Inserire nuovo lemma')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'lblAss', N'Assegnate')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'lblAttive', N'Attive')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'lblCerca', N'cerca')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'lblDettImpieghiBlocchi', N'Dettaglio impiego Celle in Blocchi')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'lblInattive', N'Inattive')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'lblNewPos', N'Nuova posizione')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'lblNonAss', N'Non Assegnate')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'lblQta', N'Rettifica quantità')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'lblTotaleImpieghi', N'Impieghi totali celle/blocchi')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'lblTotCapacita', N'Capacità totale')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'lblTotCelleCreate', N'Tot Celle create nei blocchi')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'lblTotCelleDaBlocchi', N'Tot celle nei blocchi')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'lblTotCelleDaTipo', N'Tot celle (da Tipologia)')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'Lemma', N'Lemma')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'Lingua', N'Lingua')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'lnkShowHide', N'Scopri/Nascondi Menu')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'LogOut', N'LogOut')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'MagLog', N'Mag.Logico')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'MagSearch', N'Ricerca avanzata')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'MagSearchExpl', N'Ricerca avanzata in magazzino (UDC, celle, ...)')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'Max_Kg', N'Portata(Kg)')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'Max_X', N'Largh Max')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'Max_Y', N'Alt Max')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'Max_Z', N'Prof Max')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'ModDate', N'Data mod.')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'ModLang', N'Cambia Lingua Utente')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'MostraCelleBlocco', N'Mostra le celle assegnate al blocco')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'mostraSoloSelez', N'Imposta Filtro')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'mostraTutti', N'Elimina filtro')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'Nascosto', N'Nasc.')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'New', N'Nuovo')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'noRecord', N'Nessun record presente')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'nRapQual', N'Num RQ')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'NumInMag', N'# Mag')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'NumUDC', N'# UDC')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'NumX', N'# colonne (X)')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'NumY', N'# livelli (Y)')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'NumZ', N'profondità (Z)')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'NuovaListaPrelievo', N'Nuova Lista Prelievo')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'Particolare', N'Particolare')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'Particolari', N'Particolari')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'periodoRif', N'Periodo di riferimento:')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'Piena', N'Piena')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'ProgUDC', N'UDC AS400')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'Qta', N'Qta')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'QtaTotPz', N'Tot pz.')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'Quantita', N'num celle')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'RagSociale', N'Cliente')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'Reset', N'Reset')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'ScaricaListaPrelievo', N'Effettua scaricamento degli UDC della lista in AS 400')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'scegliLingua', N'Selezionare Lingua')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'Select', N'Seleziona')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'SetFiltroMagLog', N'Filtro per Magazzino Logico')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'SetMag', N'Set.Mag.')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'Stato', N'Stato')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'StatoLista_4', N'Approvata')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'StatoMagazzino', N'Magazzino Fisico')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'StatoMagazzinoExpl', N'Dettaglio Stato Magazzino Fisico')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'StatoMagLogico', N'Magazzino Logico')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'StatoMagLogicoExpl', N'Dettaglio Stato Magazzino Logico')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'TornaStatoMag', N'Torna a Stato Magazzino Fisico')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'TornaStatoMagLogico', N'Torna a Stato Magazzino Logico')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'TotCelle', N'Num celle totali')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'TotQta', N'# pz')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'Traduzione', N'Traduzione')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'TurnoFus', N'Turno fusione')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'TurnoShort', N'T.')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'UDC', N'UDC')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'UdcAssoc', N'UdcAssoc')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'UdcTot', N'UdcTot')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'Update', N'Update')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'User', N'Utenti')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'UserFunc', N'Funzioni Utente')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'Vocabolario', N'Vocabolario')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'X', N'Colonna (X)')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'Y', N'Livello (Y)')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'Z', N'Prof. (z)')
+go
+
+commit transaction
+go
diff --git a/GMW/GMW_data/SqlScripts/Vocabolario/vocab_401.sql b/GMW/GMW_data/SqlScripts/Vocabolario/vocab_401.sql
new file mode 100644
index 00000000..b2a47e04
--- /dev/null
+++ b/GMW/GMW_data/SqlScripts/Vocabolario/vocab_401.sql
@@ -0,0 +1,306 @@
+
+drop table Vocabolario_Copy;
+go
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'Associaz_F10_F18', N'Associaz. UDC F10 - F18')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'Associaz_F10_F18Expl', N'Associazione imballi UDC F10 - F18')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'btnAdd', N'Add record')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'btnAssocia', N'Associa')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'btnCommit', N'Commit')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'btnConsumaUdcF10', N'Consuma UDC F10')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'btnStampa', N'Print')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'btnSvuota', N'Do Empty')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'ConsumoF10', N'Consumo F10')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'ConsumoF10Expl', N'Gestione Consumo cartellini F10')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'CreazF18', N'Creaz F18')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'CreazF18Expl', N'Creazione imballi F18 per travaso')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'effettuataAssociazione', N'OK! effettuata associazione UDC:')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'effettuatoConsumoUDC', N'Effettuato Consumo UDC')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'ForzaUtente', N'Forza Utente')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'lblAnno', N'Year')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'lblAnnoTratt', N'Year (trattam.)')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'lblDominio', N'Dominio')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'lblNote', N'Note')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'lblNumTratt', N'Trattamento (num)')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'lblPwd', N'Password')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'lblQuantita', N'Quantity')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'lblUser', N'User')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'postazione', N'postazione')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'Postazioni', N'Postazioni')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'PostazioniExpl', N'Funzioni gestione Postazioni Specifiche')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'PostLiquidi', N'Postazione Liquidi')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'PostLiquidiExpl', N'Gestione Postazione Liquidi')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'stampante', N'printer')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'Associaz_F10_F18', N'Associaz. UDC F10 - F18')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'Associaz_F10_F18Expl', N'Associazione imballi UDC F10 - F18')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'btnAdd', N'Aggiunta valore')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'btnAssocia', N'Associa')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'btnCommit', N'Commit')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'btnConsumaUdcF10', N'Consuma UDC F10')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'btnStampa', N'Stampa')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'btnSvuota', N'Svuota')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'ConsumoF10', N'Consumo F10')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'ConsumoF10Expl', N'Gestione Consumo cartellini F10')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'CreazF18', N'Creaz F18')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'CreazF18Expl', N'Creazione imballi F18 per travaso')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'effettuataAssociazione', N'OK! effettuata associazione UDC:')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'effettuatoConsumoUDC', N'Effettuato Consumo UDC')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'ForzaUtente', N'Forza Utente')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'lblAnno', N'Anno')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'lblAnnoTratt', N'Anno (trattam.)')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'lblDominio', N'Dominio')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'lblNote', N'Note')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'lblNumTratt', N'Trattamento (num)')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'lblPwd', N'Password')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'lblQuantita', N'Quantità')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'lblUser', N'User')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'postazione', N'postazione')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'Postazioni', N'Postazioni')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'PostazioniExpl', N'Funzioni gestione Postazioni Specifiche')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'PostLiquidi', N'Postazione Liquidi')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'PostLiquidiExpl', N'Gestione Postazione Liquidi')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'stampante', N'stampante')
+go
+
+commit transaction
+go
+
+
+-- pulizie varie lemmi inutili
+set xact_abort on
+go
+begin transaction
+go
+
+delete from Vocabolario where Lemma like '%xps%'
+delete from Vocabolario where Lemma like '%mtz%'
+delete from Vocabolario where Lemma like '%urm%'
+delete from Vocabolario where Lemma like '%campo%'
+GO
+
+commit transaction
+go
+
+set xact_abort on
+go
+begin transaction
+go
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'campoRichiesto', N'richiesto')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'campoRichiesto', N'richiesto')
+go
+commit transaction
+go
+
+
+set xact_abort on
+go
+begin transaction
+go
+
+delete from Vocabolario where Lemma like '%guasto%'
+delete from Vocabolario where traduzione like '%comme%'
+delete from Vocabolario where traduzione like '%gcal%'
+delete from Vocabolario where traduzione like '%macchina%'
+delete from Vocabolario where traduzione like '%costi%'
+delete from Vocabolario where traduzione like '%richieste%'
+delete from Vocabolario where traduzione like '%intervento%'
+delete from Vocabolario where traduzione like '%cod_f%'
+delete from Vocabolario where traduzione like '%abc%'
+delete from Vocabolario where traduzione like '%macchin%'
+delete from Vocabolario where traduzione like '%appli%'
+delete from Vocabolario where traduzione like '%cognome%'
+delete from Vocabolario where traduzione like '%cdc%'
+delete from Vocabolario where traduzione like '%gim%'
+delete from Vocabolario where traduzione like '%labor%'
+delete from Vocabolario where lemma like '%gim%'
+delete from Vocabolario where lemma like '%swap%'
+delete from Vocabolario where traduzione like '%equa%'
+delete from Vocabolario where traduzione like '%gen%'
+delete from Vocabolario where traduzione like '%ciclo%'
+delete from Vocabolario where traduzione like '%cost%'
+delete from Vocabolario where traduzione like '%telef%'
+delete from Vocabolario where traduzione like '%analitic%'
+delete from Vocabolario where traduzione like '%overview%'
+delete from Vocabolario where traduzione like '%scheda%'
+delete from Vocabolario where traduzione like '%interv%'
+delete from Vocabolario where traduzione like '%mtbf%'
+delete from Vocabolario where traduzione like '%report%'
+delete from Vocabolario where traduzione like '%mappa%'
+delete from Vocabolario where traduzione like '%periodo%'
+delete from Vocabolario where traduzione like '%nome%'
+delete from Vocabolario where traduzione like '%famiglia%'
+delete from Vocabolario where traduzione like '%causali%'
+delete from Vocabolario where lemma like '%flamma%'
+delete from Vocabolario where traduzione like '%utente non%'
+delete from Vocabolario where traduzione like '%%ulteriori%'
+delete from Vocabolario where traduzione like '%stampabile%'
+delete from Vocabolario where traduzione like '%aggiorna%'
+delete from Vocabolario where lemma like '%impianto%'
+delete from Vocabolario where lemma like '%markup%'delete from Vocabolario where traduzione like '%proge%'
+delete from Vocabolario where traduzione like '%purcha%'
+delete from Vocabolario where traduzione like '%€%'
+delete from Vocabolario where traduzione like '%telephone%'
+delete from Vocabolario where lemma like '%link%'
+delete from Vocabolario where traduzione like '%proje%'
+delete from Vocabolario where traduzione like '%pric%'
+delete from Vocabolario where traduzione like '%guasto%'
+delete from Vocabolario where traduzione like '%tags%'
+delete from Vocabolario where lemma like '%work%'
+delete from Vocabolario where traduzione like '%peso%'
+delete from Vocabolario where traduzione like '%mol%'
+delete from Vocabolario where traduzione like '%oggetti%'
+delete from Vocabolario where traduzione like '%causa%'
+delete from Vocabolario where traduzione like '%promuovi%'
+delete from Vocabolario where traduzione like 'rim%'
+delete from Vocabolario where traduzione like 'rep%'
+delete from Vocabolario where traduzione like 'rea%'
+delete from Vocabolario where traduzione like 'schede sin%'
+delete from Vocabolario where lemma like 'statoSC%'
+delete from Vocabolario where lemma like 'unlock%'
+delete from Vocabolario where lemma like 'store%'
+delete from Vocabolario where lemma like 'societa%'
+delete from Vocabolario where lemma like 'sigla%'
+delete from Vocabolario where lemma like 'btnshowclona%'
+delete from Vocabolario where lemma like 'btnallsched%'
+delete from Vocabolario where lemma like 'turnoShort%'
+delete from Vocabolario where lemma like 'titolo%'
+GO
+
+commit transaction
+go
+
+set xact_abort on
+go
+begin transaction
+go
+
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'GestLaboratorioMP', N'Laboratorio MP')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'GestLaboratorioMPExpl', N'Metodi per gestione UDC Laboratorio MP')
+go
+
+commit transaction
+go
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'UserFuncExpl', N'Ulteriori funzioni utente')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'UserFuncExpl', N'Ulteriori funzioni utente')
+go
+
+commit transaction
+go
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'UserNotAuth', N'Utente non autenticato...')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'DateRange', N'Periodo')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'DateRange', N'Periodo')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'04-OdetSP', N'Lista prelievo Odette')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'04-OdetSP', N'Lista prelievo Odette')
+go
+
+commit transaction
+go
+
+set xact_abort on
+go
+
+begin transaction
+go
+
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'NonAuth', N'L''utente non è autorizzato alla visione del sito o pagina non è disponibile, verificare l''indirizzo della pagina inserito o contattare l''amministratore.')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'NonAuth', N'L''utente non è autorizzato alla visione del sito o pagina non è disponibile, verificare l''indirizzo della pagina inserito o contattare l''amministratore.')
+go
+
+commit transaction
+go
+
+
+-- registro versione...
+INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(401, GETDATE())
+GO
diff --git a/GMW/GMW_data/bin/Release/GMW_data.dll b/GMW/GMW_data/bin/Release/GMW_data.dll
index bc5bc0a5..2d1f1686 100644
Binary files a/GMW/GMW_data/bin/Release/GMW_data.dll and b/GMW/GMW_data/bin/Release/GMW_data.dll differ
diff --git a/GMW/GMW_data/obj/Release/GMW_data.dll b/GMW/GMW_data/obj/Release/GMW_data.dll
index bc5bc0a5..2d1f1686 100644
Binary files a/GMW/GMW_data/obj/Release/GMW_data.dll and b/GMW/GMW_data/obj/Release/GMW_data.dll differ
diff --git a/GMW/GMW_deploy/GMW_deploy.wdproj b/GMW/GMW_deploy/GMW_deploy.wdproj
index be769845..b37e5aaa 100644
--- a/GMW/GMW_deploy/GMW_deploy.wdproj
+++ b/GMW/GMW_deploy/GMW_deploy.wdproj
@@ -16,14 +16,14 @@
v3.5
- true
+ false
.\Debug
true
true
GMW_deploy
true
true
- false
+ true
false
@@ -46,10 +46,10 @@
-
+
-
+
diff --git a/GMW/GMW_deploy/Release/GMW.Publish.xml b/GMW/GMW_deploy/Release/GMW.Publish.xml
index 410f8d01..e7035ea2 100644
--- a/GMW/GMW_deploy/Release/GMW.Publish.xml
+++ b/GMW/GMW_deploy/Release/GMW.Publish.xml
@@ -1,4 +1,598 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -8,6 +602,7 @@
+
@@ -17,11 +612,10 @@
-
-
+
-
+
@@ -35,5 +629,4 @@
-
\ No newline at end of file
diff --git a/GMW/GMW_deploy/Release/GMW.csproj.user b/GMW/GMW_deploy/Release/GMW.csproj.user
index e2af44e7..0a8d1633 100644
--- a/GMW/GMW_deploy/Release/GMW.csproj.user
+++ b/GMW/GMW_deploy/Release/GMW.csproj.user
@@ -9,7 +9,7 @@
False
False
RunFiles
- c:\tmp\GMW\
+ http://localhost/GMW_SP/
False
False
diff --git a/GMW/GMW_deploy/Release/mazzConnectionStrings.config b/GMW/GMW_deploy/Release/mazzConnectionStrings.config
index 660d5efc..f929e9ae 100644
--- a/GMW/GMW_deploy/Release/mazzConnectionStrings.config
+++ b/GMW/GMW_deploy/Release/mazzConnectionStrings.config
@@ -1,5 +1,3 @@
-
-
-
\ No newline at end of file
+
+
+
\ No newline at end of file
diff --git a/GMW/GMW_deploy/Source/GMW.Publish.xml b/GMW/GMW_deploy/Source/GMW.Publish.xml
index 410f8d01..e7035ea2 100644
--- a/GMW/GMW_deploy/Source/GMW.Publish.xml
+++ b/GMW/GMW_deploy/Source/GMW.Publish.xml
@@ -1,4 +1,598 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -8,6 +602,7 @@
+
@@ -17,11 +612,10 @@
-
-
+
-
+
@@ -35,5 +629,4 @@
-
\ No newline at end of file
diff --git a/GMW/GMW_deploy/Source/GMW.csproj.user b/GMW/GMW_deploy/Source/GMW.csproj.user
index e2af44e7..0a8d1633 100644
--- a/GMW/GMW_deploy/Source/GMW.csproj.user
+++ b/GMW/GMW_deploy/Source/GMW.csproj.user
@@ -9,7 +9,7 @@
False
False
RunFiles
- c:\tmp\GMW\
+ http://localhost/GMW_SP/
False
False
diff --git a/GMW/GMW_deploy/Source/mazzConnectionStrings.config b/GMW/GMW_deploy/Source/mazzConnectionStrings.config
index 660d5efc..f929e9ae 100644
--- a/GMW/GMW_deploy/Source/mazzConnectionStrings.config
+++ b/GMW/GMW_deploy/Source/mazzConnectionStrings.config
@@ -1,5 +1,3 @@
-
-
-
\ No newline at end of file
+
+
+
\ No newline at end of file
diff --git a/GMW/GMW_installer/GMW_installer.vdproj b/GMW/GMW_installer/GMW_installer.vdproj
index fc44ac2e..f581b656 100644
--- a/GMW/GMW_installer/GMW_installer.vdproj
+++ b/GMW/GMW_installer/GMW_installer.vdproj
@@ -21,12 +21,6 @@
}
"Entry"
{
- "MsmKey" = "8:_7AA2401E1CA24C0C83F1AA51E24FF593"
- "OwnerKey" = "8:_UNDEFINED"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
"MsmKey" = "8:_8BDD7AA9D46A46EC80880F83F13C902E"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
@@ -40,12 +34,6 @@
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_7AA2401E1CA24C0C83F1AA51E24FF593"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
"OwnerKey" = "8:_4FD0E5B75A7F47B79080EC0983BE6583"
"MsmSig" = "8:_UNDEFINED"
}
@@ -201,37 +189,6 @@
}
"File"
{
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_7AA2401E1CA24C0C83F1AA51E24FF593"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"
- "ScatterAssemblies"
- {
- "_7AA2401E1CA24C0C83F1AA51E24FF593"
- {
- "Name" = "8:System.Web.Extensions.dll"
- "Attributes" = "3:512"
- }
- }
- "SourcePath" = "8:C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\v3.5\\System.Web.Extensions.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_5606017201AE45B480A8ABD8B8D68264"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:TRUE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:FALSE"
- "IsDependency" = "11:FALSE"
- "IsolateTo" = "8:"
- }
}
"FileType"
{
@@ -349,14 +306,14 @@
{
"Name" = "8:Microsoft Visual Studio"
"ProductName" = "8:GMW"
- "ProductCode" = "8:{0D487F56-D6D8-4B60-9FF3-408F24F7F380}"
- "PackageCode" = "8:{1C3BC3A1-3E3E-4DC2-B25B-B06CCAF6FE64}"
+ "ProductCode" = "8:{708CEE00-C542-4067-A34E-08CDDA4EF7AA}"
+ "PackageCode" = "8:{FA2BC8EE-62F8-4334-AC0C-F6F9CCE207BD}"
"UpgradeCode" = "8:{C9BC0732-DC92-4336-BAC9-A05A5D2A97C0}"
"RestartWWWService" = "11:TRUE"
- "RemovePreviousVersions" = "11:FALSE"
+ "RemovePreviousVersions" = "11:TRUE"
"DetectNewerInstalledVersion" = "11:TRUE"
"InstallAllUsers" = "11:FALSE"
- "ProductVersion" = "8:1.1.400"
+ "ProductVersion" = "8:1.1.401"
"Manufacturer" = "8:SteamWare s.r.l."
"ARPHELPTELEPHONE" = "8:+39-035460560"
"ARPHELPLINK" = "8:http://www.steamware.net"
diff --git a/GMW/GMW_installer/Release/GMW_installer.msi b/GMW/GMW_installer/Release/GMW_installer.msi
index 6540c96b..40fd96a9 100644
Binary files a/GMW/GMW_installer/Release/GMW_installer.msi and b/GMW/GMW_installer/Release/GMW_installer.msi differ
diff --git a/GMW/GMW_test_installer/GMW_test_installer.vdproj b/GMW/GMW_test_installer/GMW_test_installer.vdproj
index 3e740828..1f1931af 100644
--- a/GMW/GMW_test_installer/GMW_test_installer.vdproj
+++ b/GMW/GMW_test_installer/GMW_test_installer.vdproj
@@ -302,7 +302,7 @@
"Name" = "8:Microsoft Visual Studio"
"ProductName" = "8:GMW_test"
"ProductCode" = "8:{25AEB983-924E-42D8-AB4E-4749E96B01C9}"
- "PackageCode" = "8:{D9F434BB-4971-4CB3-8AB9-232430D3E6DF}"
+ "PackageCode" = "8:{2CAF61CE-8A5C-431D-9759-9AE8290C58E3}"
"UpgradeCode" = "8:{6FD64E39-D93B-4ADA-ADF3-303A1BCA49C2}"
"RestartWWWService" = "11:TRUE"
"RemovePreviousVersions" = "11:TRUE"
@@ -753,7 +753,7 @@
{
"{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_110D6612090D4EDA92F772F593B23D78"
{
- "SourcePath" = "8:..\\..\\IISCustomActionVB\\IISConsoleVB\\obj\\Debug\\IISConsoleVB.exe"
+ "SourcePath" = "8:..\\..\\IISCustomActionVB\\IISConsoleVB\\obj\\Release\\IISConsoleVB.exe"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_D4983B53F0234BFF98835BF3AFECBB8D"
@@ -781,7 +781,7 @@
}
"{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_179F2C709A0749C4A5EBA956FADE7EE3"
{
- "SourcePath" = "8:..\\..\\SetDirectoryPermission\\obj\\Debug\\SetDirectoryPermission.exe"
+ "SourcePath" = "8:..\\..\\SetDirectoryPermission\\obj\\Release\\SetDirectoryPermission.exe"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_D4983B53F0234BFF98835BF3AFECBB8D"
diff --git a/GMW/GMW_test_installer/Release/GMW_test_installer.msi b/GMW/GMW_test_installer/Release/GMW_test_installer.msi
index 0aaeb8de..6eb9f542 100644
Binary files a/GMW/GMW_test_installer/Release/GMW_test_installer.msi and b/GMW/GMW_test_installer/Release/GMW_test_installer.msi differ