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