290 lines
7.7 KiB
Transact-SQL
290 lines
7.7 KiB
Transact-SQL
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
|