Files
Samuele E. Locatelli bdd7b413e8 Riaggiunto GMW_data
2016-11-22 17:58:00 +01:00

430 lines
12 KiB
Transact-SQL

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