Files
Samuele Locatelli a6d7ea0b2f Import iniziale DB, GMW
versione TK 2.4
inclusione schema voc x tabella lingue e vocabolario
2014-02-20 09:54:57 +01:00

165 lines
5.0 KiB
Transact-SQL

/***************************************
* 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
*
****************************************/
CREATE PROCEDURE [dbo].[stp_UDC_update]
(
@UDC_edit VARCHAR(50),
@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(50),
@Note NVARCHAR(500)
)
AS
SET @UDC_parent = UPPER(@UDC_parent) -- nel caso sia passato in minuscolo
SET @UDC_edit = UPPER(@UDC_edit) -- nel caso sia passato in minuscolo
-- 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 = ISNULL(
(
SELECT RagSociale
FROM RilPro.AnagClienti
WHERE (CodCliente = @CodCliente)
)
, '')
-- Cerco descrizione del particolare...
SET @DescParticolare = ISNULL(
(
SELECT DescParticolare
FROM RilPro.AnagParticolari
WHERE (Particolare = @Particolare)
)
, 'ND')
-- se non lo trova provo anche nell'anagrafica leghe
IF(@DescParticolare = 'ND')-- OR (@DescParticolare is null)
BEGIN
SET @DescParticolare = ISNULL(
(
SELECT DescLega
FROM RilPro.AnagLeghe
WHERE ('L'+CodLega = @Particolare)
)
, '')
END
-- cerco codice disegno grezzo
SET @DisegnoGrezzo = ISNULL(
(
SELECT DisegnoGrezzo
FROM RilPro.AnagParticolari
WHERE (Particolare = @Particolare)
)
, '')
-- cerco descrizione Impianto
SET @DescImpianto = ISNULL(
(
SELECT 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
-- 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(), Note = @Note, CodEvento = @CodEvento
WHERE UDC = @UDC_edit
-- inserisco relazione parent-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