182 lines
5.2 KiB
Transact-SQL
182 lines
5.2 KiB
Transact-SQL
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
|