Files
GMW/GMW_data/SqlScripts/V1.1/GMW_00275.sql
T
Samuele E. Locatelli bdd7b413e8 Riaggiunto GMW_data
2016-11-22 17:58:00 +01:00

444 lines
11 KiB
Transact-SQL

set xact_abort on
go
begin transaction
go
drop index [<Name of Missing Index, sysname,>] on RilPro.RapQual
go
alter table RilPro.RapQual alter column
UDC nvarchar(50)
go
create index [<Name of Missing Index, sysname,>] on RilPro.RapQual(DataRapQual)
include(nRapQual,CodFor,CodLega,Qta,BenesQual,UDC)
go
create index i_dataPrelievo on RilPro.RapQual(DataPrelFus)
go
commit
go
set xact_abort on
go
begin transaction
go
set ANSI_NULLS on
go
/***************************************
* STORED stp_prtCartMatPrimaByUDC
*
* ottiene il record del Cartellino Materia Prima dato l'UDC richiesto x la sstampa
*
****************************************/
create PROCEDURE stp_prtCartMatPrimaByUDC
(
@UDC VARCHAR(50)
)
AS
SELECT
RQ.nRapQual,
RQ.DataRapQual,
RQ.ProgUDC,
RQ.CodFor,
RQ.DestTerz,
RQ.CodLega,
RQ.DataPrelFus,
RQ.TurnoPrelFus,
RQ.Qta,
RQ.DestLega,
RQ.LegaScaric,
RQ.BenesQual,
RQ.UDC,
Fo.DescFornitore,
Fo.DescFornitore2,
Le.CodLega AS CodLega2,
Le.DescLega,
Le.DescLega2
FROM GMW.RilPro.RapQual AS RQ
INNER JOIN ReportAs400.RilPro.AnagFornitori AS Fo
ON RQ.CodFor = Fo.CodFornitore
INNER JOIN ReportAs400.RilPro.AnagLeghe Le
ON RQ.CodLega = 'L' + Le.CodLega
WHERE RQ.UDC = RTRIM(@UDC) -- 'UB31000000001'
RETURN
go
/***************************************
* STORED stp_rappQualConsumabili
*
* Ottiene l'elenco dei record di rapp qualità (e quindi degli UDC) di AS non ancora consumati per range di data di approvazione
*
* Steamware, S.E.L.
* mod: 2010.10.05
*
****************************************/
create PROCEDURE stp_rappQualConsumabili
(
@dataFrom DATETIME,
@dataTo DATETIME
)
AS
-- restituisce le righe richieste
SELECT *
FROM RilPro.RapQual
WHERE ((DataPrelFus IS NULL) OR (DataPrelFus = 0)) AND -- condizione sul NON aver fatto ancora il prelievo
((DataRapQual > dbo.dateToAsFormat(@dataFrom)) AND (DataRapQual < dbo.dateToAsFormat(@dataTo))) -- cond data RQ
RETURN
go
/***************************************
* STORED stp_rappQualSuntoGetByDataRange
*
* Ottiene l'elenco dei record di rapp qualità di AS dato il range delle date
*
* Steamware, S.E.L.
* mod: 2010.09.29
*
****************************************/
create PROCEDURE stp_rappQualSuntoGetByDataRange
(
@dataFrom DATETIME,
@dataTo DATETIME
)
AS
-- restituisce le righe richieste
SELECT *
FROM v_RapQualSunto
WHERE (DataRapQual > dbo.dateToAsFormat(@dataFrom)) AND (DataRapQual < dbo.dateToAsFormat(@dataTo))
ORDER BY nRapQual
RETURN
go
/***************************************
* STORED stp_rappQualSuntoGetByNumRap
*
* Ottiene il record di rapp qualità di AS dato il numero del rapporto di qualità
*
* Steamware, S.E.L.
* mod: 2010.09.29
*
****************************************/
create PROCEDURE stp_rappQualSuntoGetByNumRap
(
@nRapQual NVARCHAR(20)
)
AS
-- restituisce le righe richieste
SELECT *
FROM v_RapQualSunto
WHERE (nRapQual = @nRapQual)
RETURN
go
commit
go
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
*
****************************************/
alter PROCEDURE stp_spostaUdc
(
@CodCS VARCHAR(2),
@UDC VARCHAR(50),
@IdxCellaTo INT
)
AS
BEGIN TRAN
-- DICHIARAZIONI iniziali variabili
DECLARE @IdxCellaFrom INT
DECLARE @capienza INT
DECLARE @numUdc INT
-- controllo cella di partenza
SET @IdxCellaFrom = (SELECT IdxCella FROM PosizioneUdcCorrente WHERE UDC = @UDC)
-- controllo se la cella di dest vada indicata come piena
SET @capienza = (
SELECT tc.Capienza
FROM TipoCella TC INNER JOIN Celle c ON TC.IdxTipoCella=c.IdxTipoCella
WHERE c.IdxCella = @IdxCellaFrom
)
SET @numUdc = (SELECT COUNT(*) FROM PosizioneUdcCorrente WHERE IdxCella = @IdxCellaFrom)
-- se capienza raggiunta aggiorno...
IF(@numUdc -1 < @capienza)
BEGIN
EXEC stp_celle_updPiena @IdxCellaFrom, 0
END
-- cancello posizione occupata
DELETE
FROM PosizioneUdcCorrente
WHERE UDC = @UDC
-- creo una nuova posizione per l'UDC
INSERT INTO PosizioneUdcCorrente(UDC, IdxCella, CodCS, DataRif)
VALUES(@UDC, @IdxCellaTo, @CodCS, GETDATE())
-- controllo se la cella di dest vada indicata come piena
SET @capienza = (
SELECT tc.Capienza
FROM TipoCella TC INNER JOIN Celle c ON TC.IdxTipoCella=c.IdxTipoCella
WHERE c.IdxCella = @IdxCellaTo
)
SET @numUdc = (SELECT COUNT(*) FROM PosizioneUdcCorrente WHERE IdxCella = @IdxCellaTo)
-- se capienza raggiunta aggiorno...
IF(@numUdc >= @capienza)
BEGIN
EXEC stp_celle_updPiena @IdxCellaTo, 1
END
COMMIT TRAN
RETURN
go
commit
go
set xact_abort on
go
begin transaction
go
set ANSI_NULLS on
go
/***************************************
* STORED stp_batch_RapQual_S01
*
* Esegue lo step 1 (caricamento dati RAW da AS400) per la tab dei rapporti di qualità
*
* Steamware, S.E.L.
* mod: 2010.09.23
*
****************************************/
alter PROCEDURE BatchQueue.stp_batch_RapQual_S01
(
@minData DATETIME
)
AS
-- BOZZA DA COMPLETARE A CURA MAZZUCCONI!!!
DECLARE @SQL AS NVARCHAR(1000)
DECLARE @dataAs400 AS VARCHAR(8)
SET @dataAs400 = (SELECT dbo.dateToAsFormat(@minData))
-- svuoto tab raw attuale
/*
DELETE FROM RawData.XOGIX00F
*/
-- INSERISCO DA AS400
/*
INSERT INTO RawData.XOGIX00F
(
SET @SQL =
N'SELECT
XRPQLN
,XRPQLD
,XNRETI
,XCDFOR
,XCDTER
,XCDPAR
,XDTPRO
,XTRPRO
,XQTPRO
,XDESMT
,XMATSC
,XBENQL
FROM OPENQUERY( P65220DC, ''SELECT * FROM MAZZT_DTV3.XOGIX00F WHERE XRPQLD >= '
SET @SQL = @SQL + @dataAs400 + ''' )'
EXEC dbo.sp_executesql @SQL
)
*/
RETURN
go
commit
go
set xact_abort on
go
begin transaction
go
create table RilPro.AnagFornitori(
CodFornitore nvarchar(6) not null constraint PK_AnagFornitori primary key,
DescFornitore nvarchar(35),
DescFornitore2 nvarchar(35)
)
go
create table RilPro.AnagLeghe(
CodLega nvarchar(12) not null constraint PK_AnagLeghe primary key,
CodLega2 nvarchar(12),
DescLega nvarchar(25),
DescLega2 nvarchar(25)
)
go
commit
go
set xact_abort on
go
begin transaction
go
alter table AS400_BatchMovimenti drop
constraint FK_AS400_BatchMovimenti_AS400_MagCont ,
constraint FK_AS400_BatchMovimenti_AnagTipoEvento
go
exec sp_rename 'PK_AS400_BatchMovimenti', 'tmp__PK_AS400_BatchMovimenti', 'OBJECT'
go
exec sp_rename 'AS400_BatchMovimenti', 'tmp__AS400_BatchMovimenti_0', 'OBJECT'
go
create table AS400_BatchMovimenti(
DataIns datetime not null,
CodEvento nvarchar(10) not null,
Particolare nvarchar(15) not null,
UDC nvarchar(50) not null,
CodMagAS nvarchar(50) not null,
Quantita decimal(10,2) not null,
DataBatch datetime,
DataVerifica datetime,
constraint PK_AS400_BatchMovimenti primary key(DataIns,CodEvento,Particolare,UDC,CodMagAS)
)
go
alter table AS400_BatchMovimenti add
constraint FK_AS400_BatchMovimenti_AnagTipoEvento foreign key(CodEvento) references AnagTipoEvento(CodEvento) on update cascade,
constraint FK_AS400_BatchMovimenti_AS400_MagCont foreign key(CodMagAS) references AS400_MagCont(CodMagAS) on update cascade
go
exec sp_addextendedproperty 'MS_Description', 'dataora inserimento in coda caricamento', 'SCHEMA', 'dbo', 'TABLE', 'AS400_BatchMovimenti', 'COLUMN', 'DataIns'
go
exec sp_addextendedproperty 'MS_Description', 'NON MODIFICARE: nel codice si usano questi campi x chiamate...', 'SCHEMA', 'dbo', 'TABLE', 'AS400_BatchMovimenti', 'COLUMN', 'CodEvento'
go
exec sp_addextendedproperty 'MS_Description', 'dataora di caricamento batch verso AS', 'SCHEMA', 'dbo', 'TABLE', 'AS400_BatchMovimenti', 'COLUMN', 'DataBatch'
go
exec sp_addextendedproperty 'MS_Description', N'dataora in cui è stato verificato il caricamento su AS', 'SCHEMA', 'dbo', 'TABLE', 'AS400_BatchMovimenti', 'COLUMN', 'DataVerifica'
go
insert into AS400_BatchMovimenti(DataIns,CodEvento,Particolare,UDC,CodMagAS,Quantita,DataBatch,DataVerifica) select DataIns,CodEvento,Particolare,N'',CodMagAS,Quantita,DataBatch,DataVerifica from tmp__AS400_BatchMovimenti_0
go
drop table tmp__AS400_BatchMovimenti_0
go
commit
go
set xact_abort on
go
begin transaction
go
alter table AS400_BatchMovimenti drop
constraint FK_AS400_BatchMovimenti_AS400_MagCont ,
constraint FK_AS400_BatchMovimenti_AnagTipoEvento
go
exec sp_rename 'PK_AS400_BatchMovimenti', 'tmp__PK_AS400_BatchMovimenti', 'OBJECT'
go
exec sp_rename 'AS400_BatchMovimenti', 'tmp__AS400_BatchMovimenti_0', 'OBJECT'
go
create table AS400_BatchMovimenti(
DataIns datetime not null,
CodEvento nvarchar(10) not null,
Particolare nvarchar(15) not null,
UDC nvarchar(50) not null,
CodMagAS nvarchar(50) not null,
Quantita decimal(10,2) not null,
DataBatch datetime,
DataVerifica datetime,
constraint PK_AS400_BatchMovimenti primary key(DataIns,CodEvento,Particolare,UDC,CodMagAS)
)
go
alter table AS400_BatchMovimenti add
constraint FK_AS400_BatchMovimenti_AnagTipoEvento foreign key(CodEvento) references AnagTipoEvento(CodEvento) on update cascade,
constraint FK_AS400_BatchMovimenti_AS400_MagCont foreign key(CodMagAS) references AS400_MagCont(CodMagAS) on update cascade
go
exec sp_addextendedproperty 'MS_Description', 'dataora inserimento in coda caricamento', 'SCHEMA', 'dbo', 'TABLE', 'AS400_BatchMovimenti', 'COLUMN', 'DataIns'
go
exec sp_addextendedproperty 'MS_Description', 'NON MODIFICARE: nel codice si usano questi campi x chiamate...', 'SCHEMA', 'dbo', 'TABLE', 'AS400_BatchMovimenti', 'COLUMN', 'CodEvento'
go
exec sp_addextendedproperty 'MS_Description', 'dataora di caricamento batch verso AS', 'SCHEMA', 'dbo', 'TABLE', 'AS400_BatchMovimenti', 'COLUMN', 'DataBatch'
go
exec sp_addextendedproperty 'MS_Description', N'dataora in cui è stato verificato il caricamento su AS', 'SCHEMA', 'dbo', 'TABLE', 'AS400_BatchMovimenti', 'COLUMN', 'DataVerifica'
go
insert into AS400_BatchMovimenti(DataIns,CodEvento,Particolare,UDC,CodMagAS,Quantita,DataBatch,DataVerifica) select DataIns,CodEvento,Particolare,N'',CodMagAS,Quantita,DataBatch,DataVerifica from tmp__AS400_BatchMovimenti_0
go
drop table tmp__AS400_BatchMovimenti_0
go
commit
go
-- registro versione...
INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(275, GETDATE())
GO