
/*****************************************
* STORED stp_EDM_spostaDataMtx
*
* Sposta un datamatrix in un nuovo gitterbox
*
* Steamware, S.E.L.
* mod: 2011.05.05
*
****************************************/
CREATE PROCEDURE [dbo].[stp_EDM_spostaDataMtx]
(
	@CodDataMatrix NUMERIC(23),
	@CodGitterbox NVARCHAR(10),
	@CodSoggetto VARCHAR(17)
)
AS

DECLARE @CodEvento VARCHAR(10)
SET		@CodEvento = 'SpostaDMtx'

-- 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 )
       ,ModDate=GETDATE()
       ,CodEvento	= @CodEvento
	   ,CodSoggetto = @CodSoggetto
WHERE	UDC = @CodGitterboxFrom
-- aggiorno valoti QTA gitterbox destinazione e modificatore...
UPDATE	ElencoCartellini
SET		Qta = ( SELECT COUNT(*) FROM ElencoDataMatrix WHERE CodGitterbox = @CodGitterbox )
       ,ModDate=GETDATE()
       ,CodEvento	= @CodEvento
	   ,CodSoggetto = @CodSoggetto
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
