From 9b8a058a0bf66aa0040ae9445729d2a6aa65aa3a Mon Sep 17 00:00:00 2001 From: ermanno Date: Mon, 19 Jul 2010 13:13:55 +0000 Subject: [PATCH] aggiunto sqlupdate 110 git-svn-id: https://keyhammer.ath.cx/svn/GMW/trunk@140 365432ac-a1b5-4ffd-bb28-6d3099d32164 --- GMW/GMW_data/SqlScripts/GMW_00110.txt | 939 ++++++++++++++++++++++++++ 1 file changed, 939 insertions(+) create mode 100644 GMW/GMW_data/SqlScripts/GMW_00110.txt diff --git a/GMW/GMW_data/SqlScripts/GMW_00110.txt b/GMW/GMW_data/SqlScripts/GMW_00110.txt new file mode 100644 index 00000000..8e8da328 --- /dev/null +++ b/GMW/GMW_data/SqlScripts/GMW_00110.txt @@ -0,0 +1,939 @@ +-- mod tabella + +set xact_abort on +go + +begin transaction +go + +alter table TipoListaPrelievo add + IdxPosizioneFinal int +go + +exec sp_rename 'stp_getTipoListaByCodTipoLista', 'stp_TL_getByCodTipoLista', 'object' +go + +commit +go + + +-- crea stored + +set xact_abort on +go + +begin transaction +go + +set ANSI_NULLS on +go + +/*************************************** +* STORED stp_getUDC_Older +* +* ottiene l'elenco degli UDC più vecchi in ordine asc TRA QUELLI in una data posizione +* +* Steamware, S.E.L. +* mod: 2010.07.06 +* +****************************************/ +create PROCEDURE stp_getUDC_Older +( + @Esponente VARCHAR(50), + @Particolare VARCHAR (50), + @IdxPosizione INT +) +AS + +SELECT * +FROM ElencoCartellini +WHERE (Esponente = @Esponente) AND (Particolare = @Particolare) AND (IdxPosizione = @IdxPosizione) +ORDER BY DataFus + +RETURN +go + +commit +go + + +-- crea stored + +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 +* +****************************************/ +create 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 IdxPosizione FROM TipoListaPrelievo WHERE CodTipoLista = @CodTipoLista) + + -- effettuo la selezione + SELECT * + FROM ElencoCartellini + WHERE (Particolare = @Particolare) AND (IdxPosizione = @IdxPosizione) 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 + + + + +-- crea stored + + +set xact_abort on +go + +begin transaction +go + +set ANSI_NULLS on +go + +/*************************************** +* STORED stp_LP_deleteQuery +* +* elimina lista di prelievo (e righe lista associate) della list aindicata +* +* Steamware, S.E.L. 8 (from Stintino) +* mod: 2010.07.15 +* +************************************/ +create PROCEDURE stp_LP_deleteQuery +( + @Original_CodLista varchar(12) +) +AS + +-- cancello righe lista + DELETE FROM RigheListePrelievo + WHERE CodLista = @Original_CodLista + +-- cancello record lista + DELETE FROM ElencoListePrelievo + WHERE CodLista = @Original_CodLista + +RETURN +go + +commit +go + + + + +-- crea stored + +set xact_abort on +go + +begin transaction +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 +* +****************************************/ +create PROCEDURE stp_LP_exportToAs400 +( + @CodLista NVARCHAR(12) +) +AS + +-- copio la lista (intestazione) +INSERT INTO ElencoListePrelievo_AS +SELECT * +FROM ElencoListePrelievo +WHERE (CodLista = @CodLista) + +-- copio le righe lista di dettaglio +INSERT INTO RigheListePrelievo_AS +SELECT * +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) + +RETURN +go + +commit +go + + + + +-- crea stored + +set xact_abort on +go + +begin transaction +go + +set ANSI_NULLS on +go + +/*************************************** +* STORED stp_LP_updateUDC +* +* modifica l'UDC in una riga di lista prelievo +* +* Steamware, S.E.L. 8 (from Stintino) +* mod: 2010.07.15 +* +************************************/ +create PROCEDURE stp_LP_updateUDC +( + @Original_CodLista VARCHAR(12), + @Original_UDC VARCHAR(50), + @UDC VARCHAR(50) + +) +AS + +-- aggiorno lista prelievo con nuovo UDC + UPDATE RigheListePrelievo + SET UDC = @UDC, QTA = (SELECT Qta FROM ElencoCartellini WHERE UDC = @UDC) + WHERE CodLista = @Original_CodLista AND UDC = @Original_UDC + +RETURN +go + +commit +go + + + + +-- crea stored + +set xact_abort on +go + +begin transaction +go + +set ANSI_NULLS on +go + +/*( +* STORED stp_ParticolariEspByParticolare +* +* elenco distinct particolari/esponente da particoalre +* +* Steamware, S.E.L. +* mod: 2010.07.07 +* +****************************************/ +create PROCEDURE stp_ParticolariEspByParticolare +( + @Particolare VARCHAR(50) +) +AS + +SELECT DISTINCT Particolare, DescParticolare, Esponente, Figura, CodImballo + FROM ( + SELECT TOP (1) @Particolare AS Particolare, '' AS DescParticolare, '*' AS Esponente, '' AS Figura, '' AS CodImballo + FROM v_particolariEsponenteFigura + WHERE (Particolare = @Particolare) + UNION + SELECT DISTINCT Particolare, '' AS DescParticolare, Esponente, '' AS Figura, '' AS CodImballo + FROM v_particolariEsponenteFigura + WHERE Particolare = @Particolare + ) AS derivTab + + +RETURN +go + +commit +go + + + + +-- crea stored + +set xact_abort on +go + +begin transaction +go + +set ANSI_NULLS on +go + +/*( +* STORED stp_ParticolariFiguraByParticolare +* +* elenco distinct particolari/figure da particoalre +* +* Steamware, S.E.L. +* mod: 2010.07.07 +* +****************************************/ +create PROCEDURE stp_ParticolariFiguraByParticolare +( + @Particolare VARCHAR(50) +) +AS + SELECT DISTINCT Particolare, DescParticolare, Esponente, Figura, CodImballo + FROM ( + SELECT TOP (1) @Particolare AS Particolare, '' AS DescParticolare, '' AS Esponente, '*' AS Figura, '' AS CodImballo + FROM v_particolariEsponenteFigura + WHERE (Particolare = @Particolare) + UNION + SELECT DISTINCT Particolare, '' AS DescParticolare, '' AS Esponente, Figura, '' AS CodImballo + FROM v_particolariEsponenteFigura + WHERE Particolare = @Particolare + ) AS derivTab + +RETURN +go + +commit +go + + + + +-- crea stored + +set xact_abort on +go + +begin transaction +go + +set ANSI_NULLS on +go + +/*( +* STORED stp_ParticolariImballoByParticolare +* +* elenco distinct particolari/imballo da particoalre +* +* Steamware, S.E.L. +* mod: 2010.07.07 +* +****************************************/ +create PROCEDURE stp_ParticolariImballoByParticolare +( + @Particolare VARCHAR(50) +) +AS + SELECT DISTINCT Particolare, DescParticolare, Esponente, Figura, CodImballo + FROM ( + SELECT TOP (1) @Particolare AS Particolare, '' AS DescParticolare, '' AS Esponente, '' AS Figura, '*' AS CodImballo + FROM v_particolariEsponenteFigura + WHERE (Particolare = @Particolare) + UNION + SELECT DISTINCT Particolare, '' AS DescParticolare, '' AS Esponente, '' AS Figura, CodImballo + FROM v_particolariEsponenteFigura AS v_particolariEsponenteFigura_1 + WHERE (Particolare = @Particolare) + ) AS derivTab + +RETURN +go + +commit +go + + + + +-- mod stored + +set xact_abort on +go + +begin transaction +go + +set ANSI_NULLS on +go + +/*************************************** +* STORED stp_ParticolariOverviewLike +* +* elenco di overview sull'impiego dei particolari (dettaglio a "maglie larghe") - modalità LIKE +* +* Steamware, S.E.L. +* mod: 2010.05.31 +* +****************************************/ +alter PROCEDURE stp_ParticolariOverviewLike +( + @searchVal VARCHAR(50), + @CodCS VARCHAR(2) +) +AS + + SELECT RilPro.AnagParticolari.Particolare, RilPro.AnagParticolari.DescParticolare, ISNULL(COUNT(ElencoCartellini.UDC), 0) AS NumUDC, + SUM(ISNULL(ElencoCartellini.Qta, 0)) AS TotQta, ISNULL(COUNT(PosizioneUdcCorrente.IdxCella), 0) AS NumInMag + FROM RilPro.AnagParticolari LEFT OUTER JOIN + ElencoCartellini ON RilPro.AnagParticolari.Particolare = ElencoCartellini.Particolare LEFT OUTER JOIN + PosizioneUdcCorrente ON ElencoCartellini.UDC = PosizioneUdcCorrente.UDC + WHERE (RilPro.AnagParticolari.CodCS = @CodCS) AND ((RilPro.AnagParticolari.Particolare LIKE '%' + @searchVal + '%') OR (RilPro.AnagParticolari.DescParticolare LIKE '%' + @searchVal + '%')) + GROUP BY RilPro.AnagParticolari.Particolare, RilPro.AnagParticolari.DescParticolare + +RETURN +go + +commit +go + + + + +-- crea stored + +set xact_abort on +go + +begin transaction +go + +set ANSI_NULLS on +go + +/*( +* STORED stp_ParticolariOverviewLike +* +* elenco di overview sull'impiego dei particolari (dettaglio a "maglie larghe") - modalità LIKE con testo CHE INIZIA per searchVal +* +* Steamware, S.E.L. +* mod: 2010.07.07 +* +****************************************/ +create PROCEDURE stp_ParticolariOverviewLikePrefix +( + @searchVal VARCHAR(50), + @CodCS VARCHAR(2) +) +AS + + SELECT RilPro.AnagParticolari.Particolare, RilPro.AnagParticolari.DescParticolare, ISNULL(COUNT(ElencoCartellini.UDC), 0) AS NumUDC, + SUM(ISNULL(ElencoCartellini.Qta, 0)) AS TotQta, ISNULL(COUNT(PosizioneUdcCorrente.IdxCella), 0) AS NumInMag + FROM RilPro.AnagParticolari LEFT OUTER JOIN + ElencoCartellini ON RilPro.AnagParticolari.Particolare = ElencoCartellini.Particolare LEFT OUTER JOIN + PosizioneUdcCorrente ON ElencoCartellini.UDC = PosizioneUdcCorrente.UDC + WHERE (RilPro.AnagParticolari.CodCS = @CodCS) AND (RilPro.AnagParticolari.Particolare LIKE '%' + @searchVal + '%') + GROUP BY RilPro.AnagParticolari.Particolare, RilPro.AnagParticolari.DescParticolare + +RETURN +go + +commit +go + + + + +-- crea stored + +set xact_abort on +go + +begin transaction +go + +set ANSI_NULLS on +go + +/*************************************** +* STORED stp_posizioniGetByIdxCellaUdc +* +* ottiene una singola posizione data la cella richiesta e l'UDC (e quindi verifica se sono associate...) +* +* Steamware, S.E.L. +* mod: 2010.06.12 +* +****************************************/ +create PROCEDURE stp_posizioniGetByIdxCellaUdc +( + @UDC VARCHAR(50), + @IdxCella INT +) +AS + + SELECT UDC, IdxCella, CodCS, DataRif + FROM PosizioneUdcCorrente + WHERE (IdxCella = @IdxCella) AND (UDC = @UDC) +RETURN +go + +commit +go + + + + +-- crea stored + +set xact_abort on +go + +begin transaction +go + +set ANSI_NULLS on +go + +/*************************************** +* STORED stp_RigheListePrelievo_eliminaNonPrelevate +* +* aggiorna la lista di prelievo ELIMINANDO le righe non ancora prelevate (per poi rigenerare l'elenco) +* +* Steamware, S.E.L. +* mod: 2010.07.06 +* +************************************/ +create PROCEDURE stp_RigheListePrelievo_eliminaNonPrelevate +( + @CodLista AS varchar(12) +) +AS + +DELETE FROM RigheListePrelievo +WHERE CodLista = @CodLista AND Prelevato = 0 + +RETURN +go + +commit +go + + + + +-- crea stored + +set xact_abort on +go + +begin transaction +go + +set ANSI_NULLS on +go + +/*************************************** +* STORED stp_righePrelevateByUdc +* +* restituisce l'elenco delle righe delle liste di prelievo PRELEVATE dato un UDC +* +* Steamware, S.E.L. +* mod: 2010.07.06 +* +****************************************/ +create PROCEDURE stp_righePrelevateByUdc +( + @UDC VARCHAR(50) +) +AS + + SELECT * + FROM RigheListePrelievo + WHERE (UDC = @UDC) AND Prelevato = 1 + +RETURN +go + +commit +go + + +-- crea stored + +set xact_abort on +go + +begin transaction +go + +set ANSI_NULLS on +go + +/*************************************** +* STORED stp_S2U_getByUtente +* +* ottiene record x corrisponenda utente <-> cod soggetto +* +* Steamware, S.E.L. +* mod: 2010.07.16 +* +****************************************/ +create PROCEDURE stp_S2U_getByUtente +( + @USER_NAME VARCHAR(50), + @DOMINIO VARCHAR(30) +) +AS + +SELECT * +FROM Soggetti2Utente +WHERE [USER_NAME] = @USER_NAME AND DOMINIO = @DOMINIO + + +RETURN +go + +commit +go + + + + +-- crea stored + +set xact_abort on +go + +begin transaction +go + +set ANSI_NULLS on +go + +/*************************************** +* STORED stp_scaricaUdc +* +* elimina dalle posizioni correnti un UDC, salvandone la posizione precedente nella tab storica (per scaricamento / spedizione) +* +* Steamware, S.E.L. +* mod: 2010.07.19 +* +****************************************/ +create PROCEDURE stp_scaricaUdc +( + @CodCS VARCHAR(2), + @UDC VARCHAR(50), + @IdxCellaFrom INT, + @IdxPosizione INT +) +AS + +BEGIN TRAN + -- inizio mettendo in storico la posizione attuale dell'UDC (SE esiste) + INSERT INTO PosizioneUdcStorico(UDC, IdxCella, CodCS, DataInizio, DataFine) + ( + SELECT UDC, IdxCella, CodCS, DataRif as DataInizio, GETDATE() as DataFine + FROM PosizioneUdcCorrente + WHERE UDC = @UDC AND IdxCella = @IdxCellaFrom + ) + + -- libero la posizione attuale dell'UDC (se c'è...) + DELETE + FROM PosizioneUdcCorrente + WHERE UDC = @UDC AND IdxCella = @IdxCellaFrom + + -- aggiorno l'UDC come posizione finale... + UPDATE ElencoCartellini + SET IdxPosizione = @IdxPosizione + WHERE UDC = @UDC + +COMMIT TRAN + +RETURN +go + +commit +go + + + + +-- crea stored + +set xact_abort on +go + +begin transaction +go + +set ANSI_NULLS on +go + +/*************************************** +* STORED stp_setAnnullaUdcPrelevato +* +* Steamware, E.N. +* mod: 2010.06.25 +* +************************************/ +create PROCEDURE stp_setAnnullaUdcPrelevato +( + @CodLista NVARCHAR(12), + @UDC NVARCHAR(50) +) +AS + +UPDATE RigheListePrelievo +SET Prelevato=0 +WHERE (CodLista = @CodLista) AND (UDC = @UDC) + +SELECT * +FROM RigheListePrelievo +WHERE (CodLista = @CodLista) AND (UDC = @UDC) +go + +commit +go + + + + +-- crea stored + + +set xact_abort on +go + +begin transaction +go + +set ANSI_NULLS on +go + +/*************************************** +* STORED stp_spostaUdc +* +* sposta un UDC, salvandone la posizione precedente (se esiste) nella tab storica +* +* Steamware, S.E.L. +* mod: 2010.06.11 +* +****************************************/ +create PROCEDURE stp_spostaUdc +( + @CodCS VARCHAR(2), + @UDC VARCHAR(50), + @IdxCellaFrom INT, + @IdxCellaTo INT +) +AS + +BEGIN TRAN + -- inizio mettendo in storico la posizione attuale dell'UDC (SE esiste) + INSERT INTO PosizioneUdcStorico(UDC, IdxCella, CodCS, DataInizio, DataFine) + ( + SELECT UDC, IdxCella, CodCS, DataRif as DataInizio, GETDATE() as DataFine + FROM PosizioneUdcCorrente + WHERE UDC = @UDC AND IdxCella = @IdxCellaFrom + ) + + -- libero la posizione attuale dell'UDC (se c'è...) + DELETE + FROM PosizioneUdcCorrente + WHERE UDC = @UDC AND IdxCella = @IdxCellaFrom + + -- creo una nuova posizione per l'UDC + INSERT INTO PosizioneUdcCorrente(UDC, IdxCella, CodCS, DataRif) + VALUES(@UDC, @IdxCellaTo, @CodCS, GETDATE()) + +COMMIT TRAN + +RETURN +go + +commit +go + + + + +-- crea stored + +set xact_abort on +go + +begin transaction +go + +set ANSI_NULLS on +go + +/*************************************** +* STORED stp_UDC_updateQty +* +* aggiorna un cartellino x la sua quantità +* +* Steamware, S.E.L. +* mod: 2010.06.12 +* +****************************************/ +create PROCEDURE stp_UDC_updateQty +( + @UDC VARCHAR(20), + @CodSoggetto VARCHAR(16), + @CodTipoDichiaraz CHAR(1), + @CodEvento VARCHAR(10), + @Qta DECIMAL(10,2) +) +AS + + +------------------------------------------------------------------------------------------------------ +-- 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) + + -- modifico il record + UPDATE ElencoCartellini + SET Qta = @Qta, 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 + + + + +-- crea stored + +set xact_abort on +go + +begin transaction +go + +set ANSI_NULLS on +go + +/*************************************** +* STORED stp_UDC_upsertPrelevato +* +* fa un upsert sulle righe liste prelievo indicando che è stato prelevato un dato udc +* (upsert: se c'è update, se non c'è insert...) +* +* Steamware, S.E.L. +* mod: 2010.06.29 +* +************************************/ +create PROCEDURE stp_UDC_upsertPrelevato +( + @CodLista NVARCHAR(12), + @UDC NVARCHAR(50) +) +AS + +-- controllo se ci sia l'UDC tra quelli proposti... +DECLARE @trovato AS BIT + +SET @trovato = (SELECT COUNT(*) AS trovati + FROM RigheListePrelievo + WHERE (CodLista = @CodLista) AND (UDC = @UDC)) + +-- controllo x scelta upsert + +IF ( @trovato > 0) -- UPDATE! + BEGIN + UPDATE RigheListePrelievo + SET Prelevato=1 + WHERE (CodLista = @CodLista) AND (UDC = @UDC) + END +ELSE -- INSERT! + BEGIN + INSERT INTO RigheListePrelievo (CodLista, UDC, Qta, Proposto, Prelevato) + SELECT @CodLista, @UDC, Qta, 0, 1 + FROM ElencoCartellini + WHERE (UDC = @UDC) + END + + +-- restituisce la tab delle righe di prelievo della lista indicata + +SELECT * +FROM RigheListePrelievo +WHERE (CodLista = @CodLista) AND (UDC = @UDC) +go + +commit +go + +-- registro versione... +INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(110, GETDATE()) +GO + +