Files
ETS/ETS_Data/SQL/ETS-DIP/ETS_WS_00120.sql
2013-07-12 17:16:24 +02:00

278 lines
6.4 KiB
Transact-SQL

set ANSI_NULLS on;
go
/***************************************
* FUNCTION f_siglaUtente
*
* calcola la sigla utente dalla vista sulla tab utenti
*
* Steamware, S.E.L.
* mod: 2013.02.20
*
****************************************/
create FUNCTION f_siglaUtente(@utente NVARCHAR(MAX))
RETURNS NVARCHAR(4) AS
BEGIN
----------------------------------------
-- dichiaro le componenti del nome
----------------------------------------
DECLARE @answ NVARCHAR(4)
SELECT @answ = ISNULL(sigla,'-') FROM v_selUtenti WHERE ( Cognome + ' ' + Nome = @utente ) OR ( Nome + ' ' + Cognome = @utente )
-- se fosse nullo provo a prendere le iniziali..
IF(ISNULL(@answ,'-') = '-')
BEGIN
DECLARE @indice INT
SELECT @indice = CHARINDEX(' ', @utente)
SET @answ = LEFT(@utente,1)+SUBSTRING(@utente,@indice+1,1)
END
RETURN UPPER(ISNULL(@answ,'-'))
END
go
set xact_abort on;
go
begin transaction;
go
alter table tbDocumenti alter column
SA nvarchar(4);
go
alter table tbDocumenti alter column
SR nvarchar(4);
go
alter table tbDocumenti add
constraint DF_tbDocumenti_Autore default ('-') for Autore,
constraint DF_tbDocumenti_SA default ('-') for SA,
constraint DF_tbDocumenti_Redattore default ('-') for Redattore,
constraint DF_tbDocumenti_SR default ('-') for SR;
go
set ANSI_NULLS on;
go
/*************************************
* STORED PROCEDURE stp_tbDocs_insert
*
* crea un nuovo doc con i valori minimi x inserimento
*
* mod : 2012.10.04
* aut : S.E. Locatelli
**************************************/
alter PROCEDURE stp_tbDocs_insert
(
@nome NVARCHAR(250),
@fullPath NVARCHAR(500),
@userId NVARCHAR(50),
@isProtocollo BIT, --significa va calcolato NrProtocollo, Numero, Anno (corrente)
@DataRic DATETIME,
@DataDoc DATETIME,
@NumeroCommessa NVARCHAR(4),
@AnnoCommessa NVARCHAR(4),
@Fase NVARCHAR(250),
@Fonte NVARCHAR(100),
@Oggetto NVARCHAR(250),
@InOut NVARCHAR(3),
@Autore NVARCHAR(50),
@Redattore NVARCHAR(50),
@isRed BIT,
@newIdxFile INT OUTPUT
)
AS
BEGIN tran
-- dichiarazioni
DECLARE @Anno INT
DECLARE @Numero INT
DECLARE @NrProtocollo INT
DECLARE @SA NVARCHAR(4)
DECLARE @SR NVARCHAR(4)
--DECLARE @fullName NVARCHAR(250)
-- calcolo valori base
SET @Anno = YEAR(GETDATE())
SET @Numero = ( SELECT CASE WHEN @isProtocollo=1 THEN dbo.f_nextNumeroByAnno(@Anno) ELSE 0 END )
SET @NrProtocollo = ( SELECT CASE WHEN @isProtocollo=1 THEN dbo.f_nextNrProtocollo() ELSE 0 END )
-- calcolo sigla autore e redattore...
SELECT @SR = dbo.f_siglaUtente(@Redattore)
SELECT @SA = dbo.f_siglaUtente(@Autore)
-- vero insert
INSERT INTO tbDocumenti(NomeFile,fullPath,userId,isRed,NrProtocollo,Numero,Anno,DataRic,DataDoc,NumeroCommessa,AnnoCommessa,Fase,Fonte,Oggetto,InOut,Autore,Redattore,SA,SR)
VALUES (@nome,@fullPath,@userId,@isRed,@NrProtocollo,@Numero,@Anno,@DataRic,@DataDoc,@NumeroCommessa ,@AnnoCommessa,@Fase,@Fonte,@Oggetto,@InOut,@Autore,@Redattore,@SA,@SR)
SELECT @newIdxFile = SCOPE_IDENTITY()
COMMIT tran
RETURN @newIdxFile
go
commit;
go
set xact_abort on;
go
begin transaction;
go
set ANSI_NULLS on;
go
create VIEW v_selUtenti
AS
SELECT UtenteAD, Cognome, Nome, email, sigla, attivo
FROM ETS_Anagrafica.dbo.Utenti
go
exec sp_addextendedproperty 'MS_DiagramPane1', '[0E232FF0-B466-11cf-A24F-00AA00A3EFFF, 1.00]
Begin DesignProperties =
Begin PaneConfigurations =
Begin PaneConfiguration = 0
NumPanes = 4
Configuration = "(H (1[40] 4[20] 2[20] 3) )"
End
Begin PaneConfiguration = 1
NumPanes = 3
Configuration = "(H (1 [50] 4 [25] 3))"
End
Begin PaneConfiguration = 2
NumPanes = 3
Configuration = "(H (1 [50] 2 [25] 3))"
End
Begin PaneConfiguration = 3
NumPanes = 3
Configuration = "(H (4 [30] 2 [40] 3))"
End
Begin PaneConfiguration = 4
NumPanes = 2
Configuration = "(H (1 [56] 3))"
End
Begin PaneConfiguration = 5
NumPanes = 2
Configuration = "(H (2 [66] 3))"
End
Begin PaneConfiguration = 6
NumPanes = 2
Configuration = "(H (4 [50] 3))"
End
Begin PaneConfiguration = 7
NumPanes = 1
Configuration = "(V (3))"
End
Begin PaneConfiguration = 8
NumPanes = 3
Configuration = "(H (1[56] 4[18] 2) )"
End
Begin PaneConfiguration = 9
NumPanes = 2
Configuration = "(H (1 [75] 4))"
End
Begin PaneConfiguration = 10
NumPanes = 2
Configuration = "(H (1[66] 2) )"
End
Begin PaneConfiguration = 11
NumPanes = 2
Configuration = "(H (4 [60] 2))"
End
Begin PaneConfiguration = 12
NumPanes = 1
Configuration = "(H (1) )"
End
Begin PaneConfiguration = 13
NumPanes = 1
Configuration = "(V (4))"
End
Begin PaneConfiguration = 14
NumPanes = 1
Configuration = "(V (2))"
End
ActivePaneConfig = 0
End
Begin DiagramPane =
Begin Origin =
Top = 0
Left = 0
End
Begin Tables =
Begin Table = "Utenti (ETS_Anagrafica.dbo)"
Begin Extent =
Top = 6
Left = 38
Bottom = 291
Right = 208
End
DisplayFlags = 280
TopColumn = 0
End
End
End
Begin SQLPane =
End
Begin DataPane =
Begin ParameterDefaults = ""
End
Begin ColumnWidths = 9
Width = 284
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
End
End
Begin CriteriaPane =
Begin ColumnWidths = 11
Column = 1440
Alias = 900
Table = 1170
Output = 720
Append = 1400
NewValue = 1170
SortType = 1350
SortOrder = 1410
GroupBy = 1350
Filter = 1350
Or = 1350
Or = 1350
Or = 1350
End
End
End
', 'SCHEMA', 'dbo', 'VIEW', 'v_selUtenti';
go
exec sp_addextendedproperty 'MS_DiagramPaneCount', 1, 'SCHEMA', 'dbo', 'VIEW', 'v_selUtenti';
go
commit;
go
-- registro versione...
INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(120, GETDATE())
GO
SELECT TOP 10 * FROM LogUpdateDb ORDER BY Versione DESC
GO