spostamento XPS_data
This commit is contained in:
@@ -0,0 +1,523 @@
|
||||
set xact_abort on;
|
||||
go
|
||||
|
||||
begin transaction;
|
||||
go
|
||||
|
||||
set ANSI_NULLS on;
|
||||
go
|
||||
|
||||
/*************************************
|
||||
* STORED PROCEDURE sp_schedaIdent
|
||||
* restituisce i dati x stampare 1 scheda di identificazione
|
||||
*
|
||||
* modif.: S.E.L.
|
||||
* il: 2012.02.13
|
||||
**************************************/
|
||||
alter PROCEDURE sp_schedaIdent
|
||||
(
|
||||
@IdxObj VARCHAR(50)
|
||||
)
|
||||
AS
|
||||
|
||||
SELECT Cod AS IdxObj, CodCliente, Cliente, DDT, DataDDT AS DDT_del, DataArrivo, descrizione AS CodProdotto, DataPrevista AS ConsegnaPrevista, Peso,
|
||||
CASE CodCli WHEN 'Fosf' THEN 'X' ELSE ' ' END AS FosfManganese, CASE CodCli WHEN 'Brun' THEN 'X' ELSE ' ' END AS Brunitura,
|
||||
CASE CodCli WHEN 'Fosf_Tefl' THEN 'X' ELSE ' ' END AS FosfTeflon, CASE CodCli WHEN 'Sabb' THEN 'X' ELSE ' ' END AS Sabbiatura, ' ' AS F1, ' ' AS F2,
|
||||
' ' AS FosfZinco, ' ' AS Teflon, ' ' AS FosfPreVern, ' ' AS PzRoto, ' ' AS Zinchlorex, ' ' AS PeekVicote, CodCli
|
||||
FROM v_ULP
|
||||
WHERE (Cod = @IdxObj)
|
||||
|
||||
RETURN
|
||||
go
|
||||
|
||||
commit;
|
||||
go
|
||||
|
||||
set xact_abort on;
|
||||
go
|
||||
|
||||
begin transaction;
|
||||
go
|
||||
|
||||
set ANSI_NULLS on;
|
||||
go
|
||||
|
||||
/*---------------------------------------------------------
|
||||
* TRIGGER controllo aggiornamento extKey
|
||||
*
|
||||
* - in caso di cambio extKey (ciclo lavorazione), SE è Obj master,
|
||||
* aggiorna a cascata i child
|
||||
---------------------------------------------------------*/
|
||||
|
||||
create TRIGGER trg_extKeyUpd
|
||||
ON IstObj
|
||||
FOR UPDATE
|
||||
|
||||
AS
|
||||
IF UPDATE (ExtKey)
|
||||
|
||||
DECLARE @isMasterObj BIT
|
||||
SET @isMasterObj = ( SELECT CASE WHEN SUBSTRING(IdxObj, LEN(idxobj),1) = 'D' THEN 1 ELSE 0 END FROM inserted )
|
||||
|
||||
-- verifico se sia un obj master (=finisce x "D")
|
||||
IF(@isMasterObj = 1)
|
||||
BEGIN
|
||||
DECLARE @IdxObj NVARCHAR(50)
|
||||
DECLARE @ExtKey NVARCHAR(50)
|
||||
|
||||
SELECT @IdxObj = IdxObj, @ExtKey = ExtKey FROM inserted
|
||||
|
||||
-- aggiorno child!
|
||||
UPDATE IstObj
|
||||
SET ExtKey = @ExtKey
|
||||
WHERE IdxObj LIKE REPLACE(@IdxObj,'D','')+'%' AND IdxObj <> @IdxObj
|
||||
|
||||
END
|
||||
go
|
||||
|
||||
commit;
|
||||
go
|
||||
|
||||
|
||||
set xact_abort on;
|
||||
go
|
||||
|
||||
begin transaction;
|
||||
go
|
||||
|
||||
set ANSI_NULLS on;
|
||||
go
|
||||
|
||||
/*---------------------------------------------------------
|
||||
* TRIGGER controllo aggiornamento extKey
|
||||
*
|
||||
* - in caso di cambio extKey (ciclo lavorazione), SE è Obj master,
|
||||
* aggiorna a cascata i child
|
||||
---------------------------------------------------------*/
|
||||
|
||||
alter TRIGGER trg_extKeyUpd
|
||||
ON IstObj
|
||||
FOR UPDATE
|
||||
|
||||
AS
|
||||
IF UPDATE (ExtKey)
|
||||
|
||||
DECLARE @isMasterObj BIT
|
||||
SET @isMasterObj = ( SELECT CASE WHEN SUBSTRING(IdxObj, LEN(idxobj),1) = 'D' THEN 1 ELSE 0 END FROM inserted )
|
||||
|
||||
-- verifico se sia un obj master (=finisce x "D")
|
||||
IF(@isMasterObj = 1)
|
||||
BEGIN
|
||||
DECLARE @IdxObj NVARCHAR(50)
|
||||
DECLARE @ExtKey NVARCHAR(50)
|
||||
DECLARE @dataMod DATETIME
|
||||
|
||||
-- calcolo valori
|
||||
SET @dataMod = GETDATE()
|
||||
SELECT @IdxObj = IdxObj, @ExtKey = ExtKey FROM inserted
|
||||
|
||||
-- aggiorno child!
|
||||
UPDATE IstObj
|
||||
SET ExtKey = @ExtKey,
|
||||
dataMod = @dataMod
|
||||
WHERE IdxObj LIKE REPLACE(@IdxObj,'D','')+'%' AND IdxObj <> @IdxObj
|
||||
|
||||
END
|
||||
go
|
||||
|
||||
commit;
|
||||
go
|
||||
|
||||
|
||||
set xact_abort on;
|
||||
go
|
||||
|
||||
begin transaction;
|
||||
go
|
||||
|
||||
alter table IstObj add
|
||||
emailReq bit constraint DF_IstObj_emailReq default ((0)),
|
||||
emailSent datetime;
|
||||
go
|
||||
|
||||
|
||||
RETURN
|
||||
go
|
||||
|
||||
commit;
|
||||
go
|
||||
|
||||
|
||||
set xact_abort on;
|
||||
go
|
||||
|
||||
begin transaction;
|
||||
go
|
||||
|
||||
set ANSI_NULLS on;
|
||||
go
|
||||
|
||||
/*---------------------------------------------------------
|
||||
* TRIGGER controllo aggiornamento extKey
|
||||
*
|
||||
* - in caso di cambio extKey (ciclo lavorazione), SE è Obj master,
|
||||
* aggiorna a cascata i child
|
||||
---------------------------------------------------------*/
|
||||
alter TRIGGER trg_extKeyUpd
|
||||
ON IstObj
|
||||
FOR UPDATE
|
||||
|
||||
AS
|
||||
IF UPDATE (ExtKey)
|
||||
|
||||
UPDATE child
|
||||
SET ExtKey = mother.ExtKey,
|
||||
dataMod = mother.dataMod
|
||||
FROM inserted AS mother INNER JOIN IstObj as child ON mother.IdxObj = child.IdxObjMamma
|
||||
WHERE mother.IdxObjMamma IS NULL
|
||||
go
|
||||
|
||||
commit;
|
||||
go
|
||||
|
||||
|
||||
--- update emailReq a zero x esistenti...
|
||||
update IstObj
|
||||
set emailReq = 0
|
||||
where emailReq is null
|
||||
|
||||
|
||||
set xact_abort on;
|
||||
go
|
||||
|
||||
begin transaction;
|
||||
go
|
||||
|
||||
set ANSI_NULLS on;
|
||||
go
|
||||
|
||||
/*************************************
|
||||
* STORED PROCEDURE sp_creaSetObj
|
||||
* crea un set iniziale di valori da tracciare x la commessa
|
||||
*
|
||||
* modif.: S.E.L.
|
||||
* il: 2008.10.17
|
||||
**************************************/
|
||||
alter PROCEDURE sp_creaSetObj
|
||||
(
|
||||
@IdxObj VARCHAR(50),
|
||||
@CodSet VARCHAR(50),
|
||||
@CodCliente VARCHAR(50),
|
||||
@NumDDT VARCHAR(50),
|
||||
@dataDDT as DATETIME,
|
||||
@Nome VARCHAR(50),
|
||||
@UserName VARCHAR(50),
|
||||
@note VARCHAR(50),
|
||||
@emailReq BIT
|
||||
)
|
||||
AS
|
||||
|
||||
DECLARE @livello VARCHAR(50)
|
||||
DECLARE @IdxObjMamma VARCHAR(50)
|
||||
DECLARE @numRow INT
|
||||
DECLARE @adesso DATETIME
|
||||
DECLARE @depth INT
|
||||
|
||||
BEGIN tran
|
||||
|
||||
/* creazione oggetti in qta minima */
|
||||
|
||||
SET @adesso = GETDATE()
|
||||
SET @depth = 1
|
||||
-- parto da obj top #.
|
||||
SET @livello = '#.'
|
||||
INSERT INTO IstObj(IdxObj, Livello,ExtKey , DataRif, Rev,CodObj, Posizione,Nome ,UserCreaz,DataCreaz,UserMod,DataMod,CodStato,Note,CodCliente,emailReq)
|
||||
SELECT @IdxObj + Object2Set.CodObj AS idx, @depth, @Nome, @dataDDT, 0, Object2Set.CodObj, 1, @NumDDT AS nome,
|
||||
@UserName AS userCreaz, @adesso AS Expr6, @UserName AS userMod, @adesso AS Expr8, V_statoStartFam.CodStato,@note,@CodCliente, @emailReq
|
||||
FROM AnagFamStati INNER JOIN
|
||||
AnagObj ON AnagFamStati.FamStato = AnagObj.FamStato INNER JOIN
|
||||
Object2Set ON AnagObj.CodObj = Object2Set.CodObj INNER JOIN
|
||||
V_statoStartFam ON AnagFamStati.FamStato = V_statoStartFam.FamStato
|
||||
WHERE (Object2Set.Posizione = @livello)
|
||||
-- salvo idx mamma...
|
||||
SET @IdxObjMamma = (SELECT IdxObj FROM IstObj WHERE DataCreaz=@adesso AND Livello=@depth)
|
||||
-- ora creo gli obj dei livelli successivi... aggiungo "#." al livello e conto se ce ne solo con ciclo while...
|
||||
SET @livello = @livello + '#.'
|
||||
SET @numRow = (SELECT count(IdxSet)
|
||||
FROM Object2Set
|
||||
WHERE (Posizione = @livello))
|
||||
WHILE(@numRow > 0)
|
||||
BEGIN
|
||||
SET @depth = @depth +1
|
||||
-- inserisco valori child
|
||||
INSERT INTO IstObj(IdxObj, Livello, ExtKey, DataRif, Rev,CodObj, Posizione, Nome,UserCreaz,DataCreaz,UserMod,DataMod,CodStato,Note,CodCliente, IdxObjMamma, emailReq)
|
||||
SELECT @IdxObj + Object2Set.CodObj +'01' AS idx, @depth, @Nome, @dataDDT, 0, Object2Set.CodObj, 1, @NumDDT ,
|
||||
@UserName AS Expr5, @adesso, @UserName AS Expr7, @adesso AS Expr8, v_statoStartFam.CodStato,@note,@CodCliente, @IdxObjMamma, @emailReq
|
||||
FROM AnagFamStati INNER JOIN
|
||||
AnagObj ON AnagFamStati.FamStato = AnagObj.FamStato INNER JOIN
|
||||
Object2Set ON AnagObj.CodObj = Object2Set.CodObj INNER JOIN
|
||||
v_statoStartFam ON AnagFamStati.FamStato = v_statoStartFam.FamStato
|
||||
WHERE (Object2Set.Posizione = @livello)
|
||||
-- salvo idx mamma...
|
||||
SET @IdxObjMamma = (SELECT IdxObj FROM IstObj WHERE DataCreaz=@adesso AND Livello=@depth)
|
||||
-- aggiorno conteggio...
|
||||
SET @livello = @livello + '#.'
|
||||
SET @numRow = (SELECT count(IdxSet)
|
||||
FROM Object2Set
|
||||
WHERE (Posizione = @livello))
|
||||
END
|
||||
|
||||
/* creazione fasi std per ogni oggetto creato */
|
||||
|
||||
|
||||
COMMIT tran
|
||||
|
||||
RETURN
|
||||
go
|
||||
|
||||
commit;
|
||||
go
|
||||
|
||||
|
||||
set xact_abort on;
|
||||
go
|
||||
|
||||
begin transaction;
|
||||
go
|
||||
|
||||
alter table AnagClienti add
|
||||
email nvarchar(500) constraint DF_AnagClienti_email default ('');
|
||||
go
|
||||
|
||||
update AnagClienti set email=('');
|
||||
go
|
||||
|
||||
commit;
|
||||
go
|
||||
|
||||
|
||||
set xact_abort on;
|
||||
go
|
||||
|
||||
begin transaction;
|
||||
go
|
||||
|
||||
alter table IstObj drop
|
||||
constraint FK_IstObj_AnagClienti ;
|
||||
go
|
||||
|
||||
alter table AnagClienti drop
|
||||
constraint DF_AnagClienti_email ;
|
||||
go
|
||||
|
||||
exec sp_rename 'PK_AnagClienti', 'tmp__PK_AnagClienti', 'OBJECT';
|
||||
go
|
||||
|
||||
exec sp_rename 'AnagClienti', 'tmp__AnagClienti_0', 'OBJECT';
|
||||
go
|
||||
|
||||
create table AnagClienti(
|
||||
CodCliente nvarchar(50) not null constraint PK_AnagClienti primary key,
|
||||
RagioneSociale nvarchar(50),
|
||||
piva nvarchar(20),
|
||||
email nvarchar(500) constraint DF_AnagClienti_email default (''),
|
||||
indirizzo nvarchar(50),
|
||||
cap nvarchar(5),
|
||||
localita nvarchar(50),
|
||||
provincia nvarchar(5)
|
||||
);
|
||||
go
|
||||
|
||||
insert into AnagClienti(CodCliente,RagioneSociale,email) select CodCliente,RagioneSociale,email from tmp__AnagClienti_0;
|
||||
go
|
||||
|
||||
drop table tmp__AnagClienti_0;
|
||||
go
|
||||
|
||||
alter table IstObj add
|
||||
constraint FK_IstObj_AnagClienti foreign key(CodCliente) references AnagClienti(CodCliente);
|
||||
go
|
||||
|
||||
commit;
|
||||
go
|
||||
|
||||
|
||||
set xact_abort on;
|
||||
go
|
||||
|
||||
begin transaction;
|
||||
go
|
||||
|
||||
set ANSI_NULLS on;
|
||||
go
|
||||
|
||||
/***************************************
|
||||
* STORED stp_AnagCliUpdate
|
||||
*
|
||||
* aggiorna dati anagrafica clienti
|
||||
*
|
||||
* Steamware, S.E.L.
|
||||
* mod: 2012.07.12
|
||||
*
|
||||
****************************************/
|
||||
create PROCEDURE stp_AnagCliUpdate
|
||||
(
|
||||
@Original_CodCliente NVARCHAR(50),
|
||||
@RagioneSociale NVARCHAR(50),
|
||||
@piva NVARCHAR(20),
|
||||
@email NVARCHAR(500),
|
||||
@indirizzo NVARCHAR(50),
|
||||
@cap NVARCHAR(5),
|
||||
@localita NVARCHAR(50),
|
||||
@provincia NVARCHAR(5)
|
||||
)
|
||||
AS
|
||||
|
||||
UPDATE dbo.AnagClienti
|
||||
SET RagioneSociale = @RagioneSociale,
|
||||
piva = @piva,
|
||||
email = @email,
|
||||
indirizzo = @indirizzo,
|
||||
cap = @cap,
|
||||
localita = @localita,
|
||||
provincia = @provincia
|
||||
WHERE (CodCliente = @Original_CodCliente)
|
||||
|
||||
RETURN
|
||||
go
|
||||
|
||||
commit;
|
||||
go
|
||||
|
||||
set xact_abort on
|
||||
go
|
||||
|
||||
begin transaction
|
||||
go
|
||||
|
||||
INSERT INTO dbo.Eventi
|
||||
VALUES (N'07', N'BC', N'Invio email', N'act')
|
||||
go
|
||||
|
||||
commit transaction
|
||||
go
|
||||
|
||||
|
||||
set xact_abort on
|
||||
go
|
||||
|
||||
begin transaction
|
||||
go
|
||||
|
||||
INSERT INTO dbo.TraEv2Stati
|
||||
VALUES (N'E_BC', N'BC', N'05', N'07', N'*', N'07', N'sendMail', N'Invia Email')
|
||||
go
|
||||
|
||||
commit transaction
|
||||
go
|
||||
|
||||
|
||||
set xact_abort on;
|
||||
go
|
||||
|
||||
begin transaction;
|
||||
go
|
||||
|
||||
set ANSI_NULLS on;
|
||||
go
|
||||
|
||||
/***************************************
|
||||
* STORED stp_AnagCliGetByKey
|
||||
*
|
||||
* ottiene record anagrafica clienti da chiave
|
||||
*
|
||||
* Steamware, S.E.L.
|
||||
* mod: 2012.07.12
|
||||
*
|
||||
****************************************/
|
||||
create PROCEDURE stp_AnagCliGetByKey
|
||||
(
|
||||
@CodCliente NVARCHAR(50)
|
||||
)
|
||||
AS
|
||||
|
||||
SELECT *
|
||||
FROM AnagClienti
|
||||
WHERE CodCliente = @CodCliente
|
||||
|
||||
RETURN
|
||||
go
|
||||
|
||||
commit;
|
||||
go
|
||||
|
||||
|
||||
set xact_abort on;
|
||||
go
|
||||
|
||||
begin transaction;
|
||||
go
|
||||
|
||||
set ANSI_NULLS on;
|
||||
go
|
||||
|
||||
/***************************************
|
||||
* STORED stp_IstObj_updateEmailSent
|
||||
*
|
||||
* aggiorna email sent con data/ora correnti
|
||||
*
|
||||
* Steamware, S.E.L.
|
||||
* mod: 2011.10.27
|
||||
*
|
||||
****************************************/
|
||||
create PROCEDURE stp_IstObj_updateEmailSent
|
||||
(
|
||||
@IdxObj NVARCHAR(50)
|
||||
)
|
||||
AS
|
||||
|
||||
UPDATE IstObj
|
||||
SET emailsent = GETDATE()
|
||||
WHERE IdxObj = @IdxObj
|
||||
|
||||
RETURN
|
||||
go
|
||||
|
||||
commit;
|
||||
go
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
-- update email a Vuota!
|
||||
update AnagClienti set email=''
|
||||
where email is null
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
-- registro versione...
|
||||
INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(150, GETDATE())
|
||||
GO
|
||||
Reference in New Issue
Block a user