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

205 lines
6.4 KiB
Transact-SQL

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