1446 lines
42 KiB
Transact-SQL
1446 lines
42 KiB
Transact-SQL
-- FIX della lunghezza di @UDC & co
|
|
|
|
set xact_abort on;
|
|
go
|
|
|
|
begin transaction;
|
|
go
|
|
|
|
set ANSI_NULLS on;
|
|
go
|
|
|
|
-- Batch submitted through debugger: GMW_00335.sql|486|0|C:\Users\RottGian\AppData\Local\Temp\2\Temp1_GMW_00335.zip\GMW_00335.sql
|
|
|
|
/***************************************
|
|
* STORED stp_annullaUDC
|
|
*
|
|
* annulla un UDC
|
|
*
|
|
* Steamware, S.E.L.
|
|
* mod: 2010.04.28
|
|
*
|
|
****************************************/
|
|
alter PROCEDURE stp_annullaUDC
|
|
(
|
|
@UDC VARCHAR(50),
|
|
@CodSoggetto VARCHAR(17)
|
|
)
|
|
AS
|
|
|
|
BEGIN TRAN
|
|
|
|
-- faccio update
|
|
UPDATE ElencoCartellini
|
|
SET IdxPosizione = 0, ModDate = GETDATE()
|
|
WHERE UDC = @UDC
|
|
|
|
|
|
COMMIT TRAN
|
|
|
|
RETURN
|
|
go
|
|
|
|
/*****************************************
|
|
* STORED stp_BORI_caricaDatiBolla
|
|
*
|
|
* richiama la stored di caricamento da AS400 x la bolla indicata
|
|
*
|
|
* Steamware, S.E.L.
|
|
* mod: 2011.04.28
|
|
*
|
|
****************************************/
|
|
alter PROCEDURE stp_BORI_caricaDatiBolla
|
|
(
|
|
@RaggrMagazz NVARCHAR(2) ,
|
|
@GruppoBolle NVARCHAR(1) ,
|
|
@NumeroBolla NVARCHAR(6) ,
|
|
@DataBolla NVARCHAR(8) ,
|
|
@Particolare NVARCHAR(15)
|
|
)
|
|
AS
|
|
/*
|
|
SET NOCOUNT ON;
|
|
|
|
--DECLARE @RaggrMagazz AS NVARCHAR(2) = N'SP'
|
|
--DECLARE @GruppoBolle AS NVARCHAR(1) = N'0'
|
|
--DECLARE @NumeroBolla AS NVARCHAR(6) = N'678'
|
|
--DECLARE @DataBolla AS NVARCHAR(8) = N'20110421'
|
|
--DECLARE @Particolare AS NVARCHAR(15) = N'P00528536146'
|
|
|
|
-- Prima cancello i dati della se già presenti bolla poi li carico
|
|
DELETE RawData.BORI202J
|
|
WHERE CDMFS = @RaggrMagazz
|
|
AND GRBOS = @GruppoBolle
|
|
AND NRBOS = @NumeroBolla
|
|
AND DTBOS = @DataBolla
|
|
AND CDARS = @Particolare
|
|
|
|
DECLARE @SQL AS NVARCHAR(4000)
|
|
DECLARE @SqlOK AS INT;
|
|
|
|
SET @SqlOK = 0;
|
|
|
|
-- ATTENZIONE!!! i parametri non devono essere nulli altrimenti la stringa ritornata è nulla
|
|
|
|
/*
|
|
Prima estraggo i dati della bolla dal file in AS400 in una tabella temporanea
|
|
Poi va letta la tabella temporanea per creare i dati per la stampa Odette
|
|
NON VA BENE, SE ESEGUONO IN DUE LA STAMPA PUO ANDARE IN CONFLITTO
|
|
*/
|
|
|
|
--IF OBJECT_ID(N'tempdb..##TabTemp') IS NOT NULL -- ##TabTemp Tabella temporanea globale altrimenti non riesco ad usarla
|
|
-- DROP TABLE ##TabTemp;
|
|
-- SET @SQL = 'SELECT * INTO ##TabTemp FROM OPENQUERY(AS400TEKAL,
|
|
|
|
BEGIN TRY
|
|
SET @SQL = 'INSERT INTO RawData.BORI202J SELECT * FROM OPENQUERY(AS400TEKAL,
|
|
''SELECT
|
|
CDMFS
|
|
,GRBOS
|
|
,DTBOS
|
|
,NRBOS
|
|
,CDARS
|
|
,NRRGS
|
|
,CDINB
|
|
,RA1ND
|
|
,RA2ND
|
|
,CAPND
|
|
,CITND
|
|
,RASCL
|
|
,INDCL
|
|
,CAPCL
|
|
,LOCCL
|
|
,PROCL
|
|
,INEND
|
|
,CRAGCL
|
|
,TELND
|
|
,CCDMOL
|
|
,CCDPTR
|
|
,EPLAVO
|
|
,NRC1B
|
|
,ECMM01
|
|
,DEPAR
|
|
,RCARTC
|
|
,PERND
|
|
,CCDET1
|
|
,ECDNAE
|
|
,ECDNA1
|
|
,EESPMD
|
|
,PELDB
|
|
,QTCNS
|
|
FROM POSN_AZI.BORI202J
|
|
WHERE ATV08 <> ''''A''''
|
|
'
|
|
|
|
-- commemntare le righe successive per estrarre tutto
|
|
-- Parametri di selezione della bolla
|
|
SET @SQL = @SQL + ' AND CDMFS = ''''' + @RaggrMagazz + ''''' '
|
|
SET @SQL = @SQL + ' AND GRBOS = ''''' + @GruppoBolle + ''''' '
|
|
SET @SQL = @SQL + ' AND NRBOS = ' + @NumeroBolla + ' '
|
|
SET @SQL = @SQL + ' AND DTBOS = ' + @DataBolla + ' '
|
|
SET @SQL = @SQL + ' AND CDARS = ''''' + @Particolare + ''''' '
|
|
|
|
SET @SQL = @SQL + ''' )';
|
|
|
|
EXEC dbo.sp_executesql @SQL
|
|
|
|
END TRY
|
|
BEGIN CATCH
|
|
-- PRINT ERROR_NUMBER()
|
|
SET @SqlOK = ERROR_NUMBER();
|
|
|
|
-- Uso RAISERROR mandare in errore la procedura e x per tornare le info
|
|
-- sull'errore originale che ha portato l'esecuzione nel blocco CATCH
|
|
--DECLARE @ErrorMessage NVARCHAR(4000);
|
|
--DECLARE @ErrorSeverity INT;
|
|
--DECLARE @ErrorState INT;
|
|
--SELECT @ErrorMessage = ERROR_MESSAGE(),@ErrorSeverity = ERROR_SEVERITY(),@ErrorState = ERROR_STATE();
|
|
--RAISERROR (@ErrorMessage,@ErrorSeverity,@ErrorState); -- Se non uso RAISERROR la procedura non mi da errore es. se schedulata
|
|
END CATCH
|
|
|
|
-- MANCA IL TEST SE VA IN ERRORE E IL SALVATAGGIO NEL LOG AS400
|
|
|
|
-- Memorizzo il comando per verifica T-SQL e l'esito del comando se 0 è OK
|
|
|
|
INSERT INTO RawData.AS400_Comandi
|
|
SELECT GETDATE(), 'stp_BORI_caricaDatiBolla', @SQL, @SqlOK;
|
|
|
|
-- Carico i dati della Temp table nel file di appoggio
|
|
-- INSERT INTO RawData.BORI202J
|
|
-- SELECT * FROM ##TabTemp
|
|
|
|
|
|
*/
|
|
RETURN
|
|
go
|
|
|
|
commit;
|
|
go
|
|
|
|
|
|
set xact_abort on;
|
|
go
|
|
|
|
begin transaction;
|
|
go
|
|
|
|
set ANSI_NULLS on;
|
|
go
|
|
|
|
/*****************************************
|
|
* STORED stp_ODETTE_getByUDC
|
|
*
|
|
* Recupera etichette odette da stampare (dato un codice UDC)
|
|
*
|
|
* Steamware, S.E.L.
|
|
* mod: 2011.12.19
|
|
*
|
|
****************************************/
|
|
alter PROCEDURE stp_ODETTE_getByUDC
|
|
(
|
|
@UDC NVARCHAR(50)
|
|
)
|
|
AS
|
|
|
|
/* calcolo il codice di raggrupp bolla da passare x generazione cartellino al report partendo da CodCS */
|
|
|
|
SELECT Od.CampoUDC
|
|
,Od.Campo1_1
|
|
,Od.Campo1_2
|
|
,Od.Campo1_3
|
|
,Od.Campo1_4
|
|
,Od.Campo1_5
|
|
|
|
,Od.Campo2_1
|
|
,Od.Campo2_2
|
|
,Od.Campo2_3
|
|
,Od.Campo2_4
|
|
,Od.Campo2_5
|
|
|
|
,Od.Campo3_1
|
|
|
|
-- Formatto il numero bolla in base alla tabella di decodifica
|
|
, dbo.f_padLeft( ISNULL(dec.NumRaggrMag,''), 2, '0' )
|
|
+ dbo.f_padLeft( ISNULL(Od.GrpBolla ,''), 1, '0' )
|
|
+ dbo.f_padLeft( ISNULL(Od.Campo3_2 ,''), 6, '0' ) AS Campo3_2
|
|
|
|
,Od.Campo3_3
|
|
,Od.Campo3_4
|
|
,Od.Campo3_5
|
|
|
|
,Od.Campo4_1
|
|
,Od.Campo4_2
|
|
,Od.Campo4_3
|
|
,Od.Campo4_4
|
|
,Od.Campo4_5
|
|
|
|
,Od.Campo5_1
|
|
,Od.Campo5_2
|
|
,Od.Campo5_3
|
|
,Od.Campo5_4
|
|
,Od.Campo5_5
|
|
|
|
,Od.Campo6_1
|
|
,Od.Campo6_2
|
|
,Od.Campo6_3
|
|
,Od.Campo6_4
|
|
,Od.Campo6_5
|
|
|
|
,Od.Campo7_1
|
|
,Od.Campo7_2
|
|
,Od.Campo7_3
|
|
,Od.Campo7_4
|
|
,Od.Campo7_5
|
|
|
|
,Od.Campo8_1
|
|
,Od.Campo8_2
|
|
,Od.Campo8_3
|
|
,Od.Campo8_4
|
|
,Od.Campo8_5
|
|
|
|
,Od.Campo9_1
|
|
,Od.Campo9_2
|
|
,Od.Campo9_3
|
|
,Od.Campo9_4
|
|
,Od.Campo9_5
|
|
|
|
,Od.Campo10_1
|
|
,Od.Campo10_2
|
|
,Od.Campo10_3
|
|
,Od.Campo10_4
|
|
,Od.Campo10_5
|
|
|
|
,Od.Campo11_1_1
|
|
,Od.Campo11_1_2
|
|
,Od.Campo11_1_3
|
|
,Od.Campo11_1_4
|
|
,Od.Campo11_1_5
|
|
,Od.Campo11_2_1
|
|
,Od.Campo11_2_2
|
|
,Od.Campo11_2_3
|
|
,Od.Campo11_2_4
|
|
,Od.Campo11_2_5
|
|
|
|
,Od.Campo12_1
|
|
,Od.Campo12_2
|
|
,Od.Campo12_3
|
|
,Od.Campo12_4
|
|
,Od.Campo12_5
|
|
|
|
,Od.Campo13_1
|
|
,Od.Campo13_2
|
|
,Od.Campo13_3
|
|
,Od.Campo13_4
|
|
,Od.Campo13_5
|
|
|
|
,Od.Campo14_1
|
|
,Od.Campo14_2
|
|
,Od.Campo14_3
|
|
,Od.Campo14_4
|
|
,Od.Campo14_5
|
|
|
|
,Od.Campo15_1
|
|
,Od.Campo15_2
|
|
,Od.Campo15_3
|
|
,Od.Campo15_4
|
|
,Od.Campo15_5
|
|
|
|
,Od.Campo16_1
|
|
,Od.Campo16_2
|
|
,Od.Campo16_3
|
|
,Od.Campo16_4
|
|
,Od.Campo16_5
|
|
|
|
,Od.StatoOk
|
|
,Od.CodCS
|
|
,Od.CodMag
|
|
,Od.GrpBolla
|
|
,Od.DataBolla
|
|
,Od.NumBolla
|
|
,Od.Particolare
|
|
,Od.CodLista
|
|
|
|
FROM Odette AS Od
|
|
INNER JOIN RilPro.TabDecodBolla AS dec
|
|
ON Od.CodMag = dec.CodRaggrMag
|
|
WHERE ( Od.CampoUDC = @UDC )
|
|
RETURN
|
|
go
|
|
|
|
/*****************************************
|
|
* STORED stp_ODETTE_setStato
|
|
*
|
|
* aggiorna stato etichetta Odette
|
|
*
|
|
* Steamware, S.E.L.
|
|
* mod: 2011.04.29
|
|
*
|
|
****************************************/
|
|
alter PROCEDURE stp_ODETTE_setStato
|
|
(
|
|
@UDC NVARCHAR(50),
|
|
@StatoOk BIT
|
|
)
|
|
AS
|
|
|
|
-- update valori (sovrascrivo...)
|
|
UPDATE Odette
|
|
SET StatoOk = @StatoOk
|
|
WHERE CampoUDC = @UDC
|
|
|
|
RETURN
|
|
go
|
|
|
|
/*****************************************
|
|
* STORED stp_ODETTE_updateLingua
|
|
*
|
|
* Salva nell'etichetta ODETTE indicata le stringhe della lingua desiderata
|
|
*
|
|
* Steamware, S.E.L.
|
|
* mod: 2010.10.22
|
|
*
|
|
****************************************/
|
|
alter PROCEDURE stp_ODETTE_updateLingua
|
|
(
|
|
@UDC NVARCHAR(50),
|
|
@Campo1_1 NVARCHAR(50),
|
|
@Campo2_1 NVARCHAR(50),
|
|
@Campo3_1 NVARCHAR(50),
|
|
@Campo4_1 NVARCHAR(50),
|
|
@Campo5_1 NVARCHAR(50),
|
|
@Campo6_1 NVARCHAR(50),
|
|
@Campo7_1 NVARCHAR(50),
|
|
@Campo8_1 NVARCHAR(50),
|
|
@Campo9_1 NVARCHAR(50),
|
|
@Campo10_1 NVARCHAR(50),
|
|
@Campo11_1_1 NVARCHAR(50),
|
|
@Campo11_2_1 NVARCHAR(50),
|
|
@Campo12_1 NVARCHAR(50),
|
|
@Campo13_1 NVARCHAR(50),
|
|
@Campo14_1 NVARCHAR(50),
|
|
@Campo15_1 NVARCHAR(50),
|
|
@Campo16_1 NVARCHAR(50)
|
|
)
|
|
AS
|
|
|
|
UPDATE Odette
|
|
SET Campo1_1 = @Campo1_1,
|
|
Campo2_1 = @Campo2_1,
|
|
Campo3_1 = @Campo3_1,
|
|
Campo4_1 = @Campo4_1,
|
|
Campo5_1 = @Campo5_1,
|
|
Campo6_1 = @Campo6_1,
|
|
Campo7_1 = @Campo7_1,
|
|
Campo8_1 = @Campo8_1,
|
|
Campo9_1 = @Campo9_1,
|
|
Campo10_1 = @Campo10_1,
|
|
Campo11_1_1 = @Campo11_1_1,
|
|
Campo11_2_1 = @Campo11_2_1,
|
|
Campo12_1 = @Campo12_1,
|
|
Campo13_1 = @Campo13_1,
|
|
Campo14_1 = @Campo14_1,
|
|
Campo15_1 = @Campo15_1,
|
|
Campo16_1 = @Campo16_1
|
|
WHERE CampoUDC = @UDC
|
|
|
|
RETURN
|
|
go
|
|
|
|
/*****************************************
|
|
* STORED stp_ODETTE_updateVal
|
|
*
|
|
* effettua aggiornamento valori etichetta Odette
|
|
*
|
|
* Steamware, S.E.L.
|
|
* mod: 2011.04.28
|
|
*
|
|
****************************************/
|
|
alter PROCEDURE stp_ODETTE_updateVal
|
|
(
|
|
@UDC NVARCHAR(50),
|
|
@ragSocCli NVARCHAR(50),
|
|
@indirCli NVARCHAR(50),
|
|
@capCittCli NVARCHAR(50),
|
|
@ragSocDest NVARCHAR(50),
|
|
@indirDest NVARCHAR(50),
|
|
@capCittDest NVARCHAR(50),
|
|
@pesoNetto NVARCHAR(50),
|
|
@pesoLordo NVARCHAR(50),
|
|
@numColli NVARCHAR(50),
|
|
@disPart NVARCHAR(50),
|
|
@descPart NVARCHAR(50),
|
|
@codPart NVARCHAR(50),
|
|
@codImb NVARCHAR(50),
|
|
@codMaz NVARCHAR(50),
|
|
@codNael NVARCHAR(50)
|
|
)
|
|
AS
|
|
|
|
COMMIT TRAN
|
|
|
|
|
|
-- update valori (sovrascrivo...)
|
|
UPDATE Odette
|
|
SET Campo1_2 = @ragSocCli,
|
|
Campo1_3 = @indirCli,
|
|
Campo1_4 = @capCittCli,
|
|
Campo2_2 = @ragSocDest,
|
|
Campo2_3 = @indirDest,
|
|
Campo2_4 = @capCittDest,
|
|
Campo5_2 = @pesoNetto,
|
|
Campo6_2 = @pesoLordo,
|
|
Campo7_2 = @numColli,
|
|
Campo8_2 = @disPart,
|
|
Campo8_3 = @disPart,
|
|
Campo10_2 = @descPart,
|
|
Campo11_1_2 = @codPart,
|
|
Campo11_1_3 = @codPart,
|
|
Campo11_2_2 = @codImb,
|
|
Campo11_2_3 = @codImb,
|
|
Campo12_2 = @codMaz,
|
|
Campo12_3 = @codMaz,
|
|
Campo14_2 = @codNael
|
|
|
|
WHERE CampoUDC = @UDC
|
|
|
|
RETURN
|
|
go
|
|
|
|
commit;
|
|
go
|
|
|
|
|
|
set xact_abort on;
|
|
go
|
|
|
|
begin transaction;
|
|
go
|
|
|
|
set ANSI_NULLS on;
|
|
go
|
|
|
|
/***************************************
|
|
* STORED stp_rappQualAssociaUdc
|
|
*
|
|
* Associa l'UDC (creato) ad un rapp qualità di AS esistente SOLO SE UDC è NULL
|
|
*
|
|
* Steamware, S.E.L.
|
|
* mod: 2010.09.23
|
|
*
|
|
****************************************/
|
|
alter PROCEDURE stp_rappQualAssociaUdc
|
|
(
|
|
@ProgUDC NVARCHAR(10),
|
|
@UDC NVARCHAR(50)
|
|
)
|
|
AS
|
|
UPDATE RilPro.RapQual
|
|
SET UDC = @UDC
|
|
WHERE (ProgUDC = @ProgUDC) AND (UDC IS NULL)
|
|
|
|
-- restituisce la riga aggiornata
|
|
SELECT *
|
|
FROM RilPro.RapQual
|
|
WHERE ProgUDC = @ProgUDC
|
|
|
|
RETURN
|
|
go
|
|
|
|
alter PROCEDURE stp_rappQualGetByUDC
|
|
(
|
|
@UDC NVARCHAR(50)
|
|
)
|
|
AS
|
|
-- restituisce le righe richieste
|
|
SELECT *
|
|
FROM RilPro.RapQual
|
|
WHERE (UDC = @UDC)
|
|
|
|
RETURN
|
|
go
|
|
|
|
-- Batch submitted through debugger: GMW_00315.sql|69|0|C:\Users\RottGian\AppData\Local\Temp\2\Temp1_GMW_00315.zip\GMW_00315.sql
|
|
|
|
/***************************************
|
|
* STORED stp_rettMovAs400
|
|
*
|
|
* inserisce nella tabella per i trasferimenti batch verso magazzino AS una quantità di rettifica (con segno - )per UDC eventualmente già scaricati a sistema
|
|
*
|
|
* Steamware, S.E.L.
|
|
* mod: 2010.11.02
|
|
*
|
|
****************************************/
|
|
alter PROCEDURE stp_rettMovAs400
|
|
(
|
|
@Particolare NVARCHAR(50),
|
|
@UDC NVARCHAR(50),
|
|
@CodMagAS NVARCHAR(50),
|
|
@Qta DECIMAL(10,2),
|
|
@CodEvento NVARCHAR(10)
|
|
)
|
|
AS
|
|
|
|
BEGIN
|
|
|
|
INSERT INTO AS400_BatchMovimenti(DataIns, CodEvento, Particolare, UDC, CodMagAS, Quantita)
|
|
VALUES (GETDATE(), @CodEvento, @Particolare, @UDC, @CodMagAS, -@Qta)
|
|
|
|
END
|
|
|
|
RETURN
|
|
go
|
|
|
|
-- Batch submitted through debugger: GMW_00310.sql|133|0|C:\Users\RottGian\AppData\Local\Temp\2\Temp1_GMW_00310.zip\GMW_00310.sql
|
|
|
|
/***************************************
|
|
* STORED stp_riattivaUdc
|
|
*
|
|
* riattiva un dato UDC (da mag consumato negativo a corrispettivo positivo) --> se era positivo NON FA NULLA!!! (perchè uso ABS e controllo sia < 0)
|
|
*
|
|
* Steamware, S.E.L.
|
|
* mod: 2010.11.04
|
|
*
|
|
****************************************/
|
|
alter PROCEDURE stp_riattivaUdc
|
|
(
|
|
@UDC VARCHAR(50),
|
|
@CodSoggetto NVARCHAR(17)
|
|
)
|
|
AS
|
|
|
|
DECLARE @CodEvento VARCHAR(10)
|
|
DECLARE @CodTipoDichiaraz VARCHAR(1)
|
|
DECLARE @IdxCella INT
|
|
DECLARE @CodCS NVARCHAR(2)
|
|
|
|
SET @CodEvento = 'UDC_RIA'
|
|
SET @CodTipoDichiaraz = 'U'
|
|
|
|
BEGIN TRAN
|
|
|
|
-- faccio update posizione
|
|
UPDATE ElencoCartellini
|
|
SET IdxPosizione = ABS(IdxPosizione), ModDate=GETDATE(), CodSoggetto = @CodSoggetto
|
|
WHERE UDC = @UDC AND IdxPosizione IN (SELECT IdxPosizione FROM AnagPosizioni WHERE (IsRiattivaEnabled = 1)
|
|
)
|
|
|
|
-- lo elimino da eventuali precedenti liste di prelievo sennò poi non potrei + prelevarlo
|
|
DELETE FROM RigheListePrelievo
|
|
WHERE UDC = @UDC
|
|
|
|
-- imposto posizione CELLA corrente x l'udc nella prima libera
|
|
SET @IdxCella = (SELECT c.IdxCella FROM Celle c inner join Blocchi b ON c.IdxBlocco=b.IdxBlocco INNER JOIN ElencoCartellini e ON b.CodMag = CAST(e.IdxPosizione AS NVARCHAR(50)) WHERE e.UDC = @UDC)
|
|
SET @CodCS = (SELECT CodCS FROM ElencoCartellini WHERE UDC = @UDC)
|
|
INSERT INTO PosizioneUdcCorrente
|
|
VALUES(@Udc, @IdxCella, @CodCS, GETDATE())
|
|
|
|
|
|
COMMIT TRAN
|
|
|
|
RETURN
|
|
go
|
|
|
|
/***************************************
|
|
* STORED stp_sbloccaUdc
|
|
*
|
|
* sblocca un dato UDC per modifica
|
|
*
|
|
* Steamware, S.E.L.
|
|
* mod: 2010.04.28
|
|
*
|
|
****************************************/
|
|
alter PROCEDURE stp_sbloccaUdc
|
|
(
|
|
@UDC VARCHAR(50),
|
|
@CodSoggetto NVARCHAR(17)
|
|
)
|
|
AS
|
|
|
|
DECLARE @CodEvento VARCHAR(10)
|
|
DECLARE @CodTipoDichiaraz VARCHAR(1)
|
|
|
|
SET @CodEvento = 'UDC_SBL'
|
|
SET @CodTipoDichiaraz = 'U'
|
|
|
|
BEGIN TRAN
|
|
|
|
-- faccio update
|
|
UPDATE ElencoCartellini
|
|
SET ModDate = GETDATE(), CodSoggetto = @CodSoggetto
|
|
WHERE UDC = @UDC
|
|
|
|
COMMIT TRAN
|
|
|
|
RETURN
|
|
go
|
|
|
|
commit;
|
|
go
|
|
|
|
|
|
set xact_abort on;
|
|
go
|
|
|
|
begin transaction;
|
|
go
|
|
|
|
set ANSI_NULLS on;
|
|
go
|
|
|
|
/***************************************
|
|
* STORED stp_UDC_insNew
|
|
*
|
|
* crea un nuovo record nella TabStatoOdpUdc e restituisce il codice UDC appena creato
|
|
*
|
|
* Steamware, S.E.L.
|
|
* mod: 2010.04.28
|
|
*
|
|
****************************************/
|
|
alter PROCEDURE stp_UDC_insNew
|
|
(
|
|
@CodCS VARCHAR(2),
|
|
@Flusso VARCHAR(2),
|
|
@Anno VARCHAR(2),
|
|
@Tara FLOAT,
|
|
@CodImballo AS VARCHAR(50),
|
|
@CodTipoDichiaraz CHAR(1),
|
|
@CodSoggetto VARCHAR(17)
|
|
)
|
|
AS
|
|
|
|
-- DECLARE iniziali
|
|
DECLARE @UDC AS VARCHAR(50)
|
|
DECLARE @numFlu AS INT
|
|
DECLARE @numUdc AS INT
|
|
DECLARE @nextUdc AS INT
|
|
|
|
------------------------------------------------------------------------------------------------------
|
|
-- 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
|
|
------------------------------------------------------------------------------------------------------
|
|
|
|
|
|
------------------------------------------------------------------------------------------------------
|
|
-- UDC
|
|
------------------------------------------------------------------------------------------------------
|
|
-- controllo se ci sia già un UDC per company / flusso anno
|
|
BEGIN TRAN
|
|
-- cerco nella tab contatori UDC l'ultimo valido
|
|
SET @numUdc = (
|
|
SELECT count(*)
|
|
FROM ContatoriUdc
|
|
WHERE CodCS = @CodCS
|
|
AND Flusso = @Flusso
|
|
AND Anno = @Anno
|
|
)
|
|
-- controllo se record c'è...
|
|
IF(@numUdc > 0)
|
|
BEGIN
|
|
-- se c'è incremento di 1 in tab
|
|
UPDATE ContatoriUdc
|
|
SET LastIdx = LastIdx + 1
|
|
WHERE CodCS = @CodCS
|
|
AND Flusso = @Flusso
|
|
AND Anno = @Anno
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
-- lo creo!
|
|
INSERT INTO ContatoriUdc(CodCS, Flusso, Anno, LastIdx)
|
|
VALUES (@CodCS, @Flusso, @Anno, 1)
|
|
END
|
|
-- aggiorno numero UDC
|
|
SET @numUdc = (
|
|
SELECT LastIdx
|
|
FROM ContatoriUdc
|
|
WHERE CodCS = @CodCS
|
|
AND Flusso = @Flusso
|
|
AND Anno = @Anno
|
|
)
|
|
COMMIT TRAN
|
|
------------------------------------------------------------------------------------------------------
|
|
|
|
------------------------------------------------------------------------------------------------------
|
|
-- Ciclo principale x inserimento nuovo record
|
|
------------------------------------------------------------------------------------------------------
|
|
-- ottengo il nuovo codice UDC completo
|
|
--SET @UDC = 'U' + @CodCS + @Flusso + @Anno + dbo.f_padLeft(CAST(@numUdc AS VARCHAR(6)), 6, '0')
|
|
SET @UDC = dbo.componiUdc(@CodCS, @Flusso, @Anno, @numUdc)
|
|
|
|
-- inserisco un nuovo record
|
|
INSERT INTO ElencoCartellini(CodCS, UDC, Tara, IdxPosizione, Qta, CodImballo, CodSoggetto, CreateDate, ModDate)
|
|
VALUES (@CodCS, @UDC, @Tara, 0, 0, @CodImballo, @CodSoggetto, GETDATE(), GETDATE())
|
|
------------------------------------------------------------------------------------------------------
|
|
|
|
------------------------------------------------------------------------------------------------------
|
|
-- restituisco la tab dati con l'udc appena inserito
|
|
------------------------------------------------------------------------------------------------------
|
|
SELECT *
|
|
FROM ElencoCartellini
|
|
WHERE UDC = @UDC
|
|
------------------------------------------------------------------------------------------------------
|
|
|
|
RETURN
|
|
go
|
|
|
|
/***************************************
|
|
* STORED stp_UDC_insNewFull
|
|
*
|
|
* crea un nuovo record nella TabStatoOdpUdc FULL (con pesi, qta...) e restituisce il codice UDC appena creato
|
|
*
|
|
* Steamware, S.E.L.
|
|
* mod: 2010.04.28
|
|
*
|
|
****************************************/
|
|
alter PROCEDURE stp_UDC_insNewFull
|
|
(
|
|
@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),
|
|
@DoDeleteUdcParent BIT,
|
|
@Note NVARCHAR(500)
|
|
)
|
|
AS
|
|
|
|
-- DECLARE iniziali
|
|
DECLARE @UDC AS VARCHAR(50)
|
|
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
|
|
DECLARE @IdxCella 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 ISNULL(MAX(NumCont), 0) + 1 AS NumCont
|
|
FROM ElencoCartellini
|
|
WHERE (Particolare = @Particolare)
|
|
AND (DataFus = @DataFus)
|
|
AND (TurnoFus = @TurnoFus)
|
|
AND (CodImpianto = @CodImpianto)
|
|
AND (CodStampo = @CodStampo)
|
|
AND (Figura = @Figura)
|
|
)
|
|
|
|
|
|
------------------------------------------------------------------------------------------------------
|
|
|
|
------------------------------------------------------------------------------------------------------
|
|
-- 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
|
|
------------------------------------------------------------------------------------------------------
|
|
|
|
|
|
------------------------------------------------------------------------------------------------------
|
|
-- UDC
|
|
------------------------------------------------------------------------------------------------------
|
|
-- controllo se ci sia già un UDC per company / flusso anno
|
|
BEGIN TRAN
|
|
-- cerco nella tab contatori UDC l'ultimo valido
|
|
SET @numUdc = (
|
|
SELECT count(*)
|
|
FROM ContatoriUdc
|
|
WHERE CodCS = @CodCS
|
|
AND Flusso = @Flusso
|
|
AND Anno = @Anno
|
|
)
|
|
-- controllo se record c'è...
|
|
IF(@numUdc > 0)
|
|
BEGIN
|
|
-- se c'è incremento di 1 in tab
|
|
UPDATE ContatoriUdc
|
|
SET LastIdx = LastIdx + 1
|
|
WHERE CodCS = @CodCS
|
|
AND Flusso = @Flusso
|
|
AND Anno = @Anno
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
-- lo creo!
|
|
INSERT INTO ContatoriUdc(CodCS, Flusso, Anno, LastIdx)
|
|
VALUES (@CodCS, @Flusso, @Anno, 1)
|
|
END
|
|
-- aggiorno numero UDC
|
|
SET @numUdc = (
|
|
SELECT LastIdx
|
|
FROM ContatoriUdc
|
|
WHERE CodCS = @CodCS
|
|
AND Flusso = @Flusso
|
|
AND Anno = @Anno
|
|
)
|
|
COMMIT TRAN
|
|
------------------------------------------------------------------------------------------------------
|
|
|
|
------------------------------------------------------------------------------------------------------
|
|
-- Ciclo principale x inserimento nuovo record
|
|
------------------------------------------------------------------------------------------------------
|
|
BEGIN TRAN
|
|
-- ottengo il nuovo codice UDC completo
|
|
--SET @UDC = 'U' + @CodCS + @Flusso + @Anno + dbo.f_padLeft(CAST(@numUdc AS VARCHAR(6)), 6, '0')
|
|
SET @UDC = dbo.componiUdc(@CodCS, @Flusso, @Anno, @numUdc)
|
|
|
|
|
|
-- inserisco un nuovo record
|
|
INSERT INTO ElencoCartellini(UDC, CodCS, CodCliente, RagSociale, Particolare, DescParticolare, DisegnoGrezzo, Esponente, CodImpianto, DescImpianto, CodStampo, Figura, DataFus, TurnoFus, CodImballo, CodSoggetto, NumCont, Tara, Qta, CodStato, IdxPosizione, PesoTot, PesoCad, CreateDate, ModDate, Note)
|
|
VALUES (@UDC, @CodCS, @CodCliente, @RagSociale, @Particolare, @DescParticolare, @DisegnoGrezzo, @Esponente, @CodImpianto, @DescImpianto, @CodStampo, @Figura, @DataFus, @TurnoFus, @CodImballo, @CodSoggetto, @NumCont, @Tara, @Qta, @CodStato, @IdxPosizione, @PesoTot, @PesoCad, GETDATE(), GETDATE(), @Note)
|
|
|
|
-- inserisco relazione parent-child tra UDC vecchio (tara) e nuovo (pesa) SSE UDC_parent valido
|
|
IF((NOT @UDC_parent IS NULL) AND (NOT @UDC_parent = ''))
|
|
BEGIN
|
|
INSERT INTO RelazUDC(UDC_parent, UDC_child)
|
|
VALUES (@UDC_parent, @UDC)
|
|
END
|
|
COMMIT TRAN
|
|
|
|
------------------------------------------------------------------------------------------------------
|
|
|
|
------------------------------------------------------------------------------------------------------
|
|
-- Ciclo secondario x eventuale cancellazione UDC tara parent e inserimento in posizione
|
|
------------------------------------------------------------------------------------------------------
|
|
-- se richiesto elimino l'UDC parent (tara)
|
|
IF(@DoDeleteUdcParent = 1)
|
|
BEGIN
|
|
DELETE FROM ElencoCartellini WHERE UDC = @UDC_parent
|
|
END
|
|
|
|
-- calcolo la prima cella della posizione indicata..
|
|
SET @IdxCella = (
|
|
SELECT TOP 1 c.IdxCella
|
|
FROM Celle c INNER JOIN Blocchi b ON c.IdxBlocco=b.IdxBlocco
|
|
WHERE b.CodMag = CAST(@IdxPosizione AS NVARCHAR(50))
|
|
)
|
|
-- inserisco il cartellino nella prima cella della posizione indicata..
|
|
INSERT INTO PosizioneUdcCorrente
|
|
VALUES (@UDC, @IdxCella, @CodCS, GETDATE())
|
|
------------------------------------------------------------------------------------------------------
|
|
|
|
/*
|
|
------------------------------------------------------------------------------------------------------
|
|
-- Salvataggio dati evento in tab StoricoEventi
|
|
------------------------------------------------------------------------------------------------------
|
|
INSERT INTO StoricoEventi(DataEv, CodEvento, CodOperatore, CodTipoDichiaraz, CodCS, UDC, Qta, PesoTot, PesoCad, Particolare, CodStato, CodStampo, Figura, FiguraIncisa)
|
|
VALUES (GETDATE(), @CodEvento, @CodOperatore, @CodTipoDichiaraz, @CodCS, @UDC, @Qta, @PesoTot, @PesoCad, @Particolare, @CodStato, @CodStampo, @Figura, @FiguraIncisa)
|
|
------------------------------------------------------------------------------------------------------
|
|
*/
|
|
|
|
------------------------------------------------------------------------------------------------------
|
|
-- restituisco la tab dati con l'udc appena inserito
|
|
------------------------------------------------------------------------------------------------------
|
|
SELECT *
|
|
FROM ElencoCartellini
|
|
WHERE UDC = @UDC
|
|
------------------------------------------------------------------------------------------------------
|
|
|
|
RETURN
|
|
go
|
|
|
|
/***************************************
|
|
* STORED stp_UDC_insNewFull_fixUDC
|
|
*
|
|
* crea un nuovo record nella TabStatoOdpUdc FULL (con pesi, qta...) avendo in entrata il codice UDC da utilizzare
|
|
*
|
|
* Steamware, S.E.L.
|
|
* mod: 2011.12.07
|
|
*
|
|
****************************************/
|
|
alter PROCEDURE stp_UDC_insNewFull_fixUDC
|
|
(
|
|
@UDC AS NVARCHAR(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),
|
|
@DoDeleteUdcParent BIT,
|
|
@Note NVARCHAR(500)
|
|
)
|
|
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
|
|
DECLARE @IdxCella 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 ISNULL(MAX(NumCont), 0) + 1 AS NumCont
|
|
FROM ElencoCartellini
|
|
WHERE (Particolare = @Particolare)
|
|
AND (DataFus = @DataFus)
|
|
AND (TurnoFus = @TurnoFus)
|
|
AND (CodImpianto = @CodImpianto)
|
|
AND (CodStampo = @CodStampo)
|
|
AND (Figura = @Figura)
|
|
)
|
|
|
|
|
|
------------------------------------------------------------------------------------------------------
|
|
|
|
|
|
------------------------------------------------------------------------------------------------------
|
|
-- Ciclo principale x inserimento nuovo record
|
|
------------------------------------------------------------------------------------------------------
|
|
BEGIN TRAN
|
|
|
|
-- inserisco un nuovo record
|
|
INSERT INTO ElencoCartellini(UDC, CodCS, CodCliente, RagSociale, Particolare, DescParticolare, DisegnoGrezzo, Esponente, CodImpianto, DescImpianto, CodStampo, Figura, DataFus, TurnoFus, CodImballo, CodSoggetto, NumCont, Tara, Qta, CodStato, IdxPosizione, PesoTot, PesoCad, CreateDate, ModDate, Note)
|
|
VALUES (@UDC, @CodCS, @CodCliente, @RagSociale, @Particolare, @DescParticolare, @DisegnoGrezzo, @Esponente, @CodImpianto, @DescImpianto, @CodStampo, @Figura, @DataFus, @TurnoFus, @CodImballo, @CodSoggetto, @NumCont, @Tara, @Qta, @CodStato, @IdxPosizione, @PesoTot, @PesoCad, GETDATE(), GETDATE(), @Note)
|
|
|
|
-- inserisco relazione parent-child tra UDC vecchio (tara) e nuovo (pesa) SSE UDC_parent valido
|
|
IF((NOT @UDC_parent IS NULL) AND (NOT @UDC_parent = ''))
|
|
BEGIN
|
|
INSERT INTO RelazUDC(UDC_parent, UDC_child)
|
|
VALUES (@UDC_parent, @UDC)
|
|
END
|
|
COMMIT TRAN
|
|
|
|
------------------------------------------------------------------------------------------------------
|
|
|
|
------------------------------------------------------------------------------------------------------
|
|
-- Ciclo secondario x eventuale cancellazione UDC tara parent e inserimento in posizione
|
|
------------------------------------------------------------------------------------------------------
|
|
-- se richiesto elimino l'UDC parent (tara)
|
|
IF(@DoDeleteUdcParent = 1)
|
|
BEGIN
|
|
DELETE FROM ElencoCartellini WHERE UDC = @UDC_parent
|
|
END
|
|
|
|
-- calcolo la prima cella della posizione indicata..
|
|
SET @IdxCella = (
|
|
SELECT TOP 1 c.IdxCella
|
|
FROM Celle c INNER JOIN Blocchi b ON c.IdxBlocco=b.IdxBlocco
|
|
WHERE b.CodMag = CAST(@IdxPosizione AS NVARCHAR(50))
|
|
)
|
|
-- inserisco il cartellino nella prima cella della posizione indicata..
|
|
INSERT INTO PosizioneUdcCorrente
|
|
VALUES (@UDC, @IdxCella, @CodCS, GETDATE())
|
|
------------------------------------------------------------------------------------------------------
|
|
|
|
------------------------------------------------------------------------------------------------------
|
|
-- restituisco la tab dati con l'udc appena inserito
|
|
------------------------------------------------------------------------------------------------------
|
|
SELECT *
|
|
FROM ElencoCartellini
|
|
WHERE UDC = @UDC
|
|
------------------------------------------------------------------------------------------------------
|
|
|
|
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(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
|
|
|
|
-- 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
|
|
|
|
-- 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
|
|
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
|
|
go
|
|
|
|
/***************************************
|
|
* STORED stp_UDC_updateIdxPosizione
|
|
*
|
|
* aggiorna un cartellino x la sua posizione logica
|
|
*
|
|
* Steamware, S.E.L.
|
|
* mod: 2010.06.12
|
|
*
|
|
****************************************/
|
|
alter PROCEDURE stp_UDC_updateIdxPosizione
|
|
(
|
|
@UDC VARCHAR(50),
|
|
@IdxPosizione INT
|
|
)
|
|
AS
|
|
|
|
|
|
------------------------------------------------------------------------------------------------------
|
|
-- Ciclo principale x edit record
|
|
------------------------------------------------------------------------------------------------------
|
|
BEGIN TRAN
|
|
|
|
-- modifico il record
|
|
UPDATE ElencoCartellini
|
|
SET IdxPosizione = @IdxPosizione, ModDate = GETDATE()
|
|
WHERE UDC = @UDC
|
|
|
|
COMMIT TRAN
|
|
------------------------------------------------------------------------------------------------------
|
|
|
|
------------------------------------------------------------------------------------------------------
|
|
-- restituisco la tab dati con l'udc appena inserito
|
|
------------------------------------------------------------------------------------------------------
|
|
SELECT *
|
|
FROM ElencoCartellini
|
|
WHERE UDC = @UDC
|
|
------------------------------------------------------------------------------------------------------
|
|
|
|
RETURN
|
|
go
|
|
|
|
/***************************************
|
|
* STORED stp_UDC_updateQty
|
|
*
|
|
* aggiorna un cartellino x la sua quantità
|
|
*
|
|
* Steamware, S.E.L.
|
|
* mod: 2010.06.12
|
|
*
|
|
****************************************/
|
|
alter PROCEDURE stp_UDC_updateQty
|
|
(
|
|
@UDC VARCHAR(50),
|
|
@CodSoggetto VARCHAR(17),
|
|
@CodTipoDichiaraz CHAR(1),
|
|
@CodEvento VARCHAR(10),
|
|
@Qta DECIMAL(10,2)
|
|
)
|
|
AS
|
|
|
|
|
|
------------------------------------------------------------------------------------------------------
|
|
-- Ciclo principale x edit record
|
|
------------------------------------------------------------------------------------------------------
|
|
BEGIN TRAN
|
|
|
|
-- 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
|
|
|
|
/***************************************
|
|
* STORED stp_updateByBilancia
|
|
*
|
|
* aggiorna i dati a partire dalla segnalazione conteggio pezzi della bilancia
|
|
*
|
|
* Steamware, S.E.L.
|
|
* mod: 2010.03.19
|
|
*
|
|
****************************************/
|
|
alter PROCEDURE stp_updateByBilancia
|
|
(
|
|
@CodCompany VARCHAR(4),
|
|
@UDC VARCHAR(50),
|
|
@CodArticolo VARCHAR(50),
|
|
@qta INT
|
|
)
|
|
AS
|
|
|
|
------------------------------------------------------------------------------------------------------
|
|
-- Articoli
|
|
------------------------------------------------------------------------------------------------------
|
|
DECLARE @numArt AS INT
|
|
-- controllo se esista il cod articolo o lo creo
|
|
SET @numArt = (
|
|
SELECT count(*)
|
|
FROM AnagArticoli
|
|
WHERE CodArticolo = @CodArticolo
|
|
)
|
|
-- ...sennò lo creo...
|
|
IF(@numArt = 0)
|
|
BEGIN
|
|
INSERT INTO AnagArticoli(CodArticolo, DescrArticolo, Figura)
|
|
VALUES (@CodArticolo, @CodArticolo, 'ND')
|
|
END
|
|
------------------------------------------------------------------------------------------------------
|
|
|
|
------------------------------------------------------------------------------------------------------
|
|
-- ODP = articolo
|
|
------------------------------------------------------------------------------------------------------
|
|
DECLARE @numOdp AS INT
|
|
-- controllo se esiste l'ODP = articolo...
|
|
SET @numOdp = (
|
|
SELECT count(*)
|
|
FROM AnagOdp
|
|
WHERE CodCompany = @CodCompany
|
|
AND ODP = @CodArticolo
|
|
)
|
|
-- ...sennò lo creo...
|
|
IF(@numOdp = 0)
|
|
BEGIN
|
|
-- se c'è inserisco in tab
|
|
INSERT INTO AnagOdp(CodCompany, ODP, CodArticolo, Esponente, CodDisegno, Magazzino, Ubicazione, CreateDate, ModDate)
|
|
VALUES (@CodCompany, @CodArticolo, @CodArticolo, 'ND', 'ND', 'WIP', 'ND', GETDATE(), GETDATE())
|
|
END
|
|
------------------------------------------------------------------------------------------------------
|
|
|
|
|
|
------------------------------------------------------------------------------------------------------
|
|
-- UDC
|
|
------------------------------------------------------------------------------------------------------
|
|
-- aggiorno lo stato UDC
|
|
UPDATE TabStatoOdpUdc
|
|
SET Qta = @Qta, ODP = @CodArticolo
|
|
WHERE UDC = @UDC
|
|
------------------------------------------------------------------------------------------------------
|
|
|
|
|
|
------------------------------------------------------------------------------------------------------
|
|
-- restituisco la tab dati con l'udc appena inserit0
|
|
------------------------------------------------------------------------------------------------------
|
|
SELECT *
|
|
FROM TabStatoOdpUdc
|
|
WHERE UDC = @UDC
|
|
------------------------------------------------------------------------------------------------------
|
|
|
|
RETURN
|
|
go
|
|
|
|
commit;
|
|
go
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- registro versione...
|
|
INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(408, GETDATE())
|
|
GO
|