64574af7bb
Script di aggiornamento del DB - schema e dati
2265 lines
65 KiB
Transact-SQL
2265 lines
65 KiB
Transact-SQL
/*
|
|
Modifiche SQL CMS_SC 3.1 -> SCHEMA
|
|
|
|
ATTENZIONE SONO DUE SCRIPT SEPARATI
|
|
*/
|
|
SET NUMERIC_ROUNDABORT OFF
|
|
GO
|
|
SET ANSI_PADDING, ANSI_WARNINGS, CONCAT_NULL_YIELDS_NULL, ARITHABORT, QUOTED_IDENTIFIER, ANSI_NULLS ON
|
|
GO
|
|
SET XACT_ABORT ON
|
|
GO
|
|
SET TRANSACTION ISOLATION LEVEL Serializable
|
|
GO
|
|
BEGIN TRANSACTION
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Dropping extended properties'
|
|
GO
|
|
EXEC sp_dropextendedproperty N'MS_Description', 'SCHEMA', N'dbo', 'TABLE', N'ElencoDossier', 'COLUMN', N'Note'
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
EXEC sp_dropextendedproperty N'MS_Description', 'SCHEMA', N'dbo', 'TABLE', N'ElencoDossier', 'COLUMN', N'Stato'
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
EXEC sp_dropextendedproperty N'MS_Description', 'SCHEMA', N'dbo', 'TABLE', N'Misure', 'COLUMN', N'CodDeroga'
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
EXEC sp_dropextendedproperty N'MS_Description', 'SCHEMA', N'dbo', 'TABLE', N'Misure', 'COLUMN', N'CodVisib'
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
EXEC sp_dropextendedproperty N'MS_Description', 'SCHEMA', N'dbo', 'TABLE', N'Misure', 'COLUMN', N'OkValMis'
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
EXEC sp_dropextendedproperty N'MS_Description', 'SCHEMA', N'dbo', 'TABLE', N'Misure', 'COLUMN', N'Ordinale'
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
EXEC sp_dropextendedproperty N'MS_Description', 'SCHEMA', N'dbo', 'TABLE', N'Misure', 'COLUMN', N'ValoreMis'
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
EXEC sp_dropextendedproperty N'MS_Description', 'SCHEMA', N'dbo', 'TABLE', N'Misure', 'COLUMN', N'ValorePar'
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
EXEC sp_dropextendedproperty N'MS_DiagramPane1', 'SCHEMA', N'dbo', 'VIEW', N'v_ElencoDossier', NULL, NULL
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
EXEC sp_dropextendedproperty N'MS_DiagramPaneCount', 'SCHEMA', N'dbo', 'VIEW', N'v_ElencoDossier', NULL, NULL
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Dropping foreign keys from [dbo].[ElencoDossier]'
|
|
GO
|
|
ALTER TABLE [dbo].[ElencoDossier] DROP CONSTRAINT [FK_ElencoDossier_ElencoMacchineCN]
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Dropping foreign keys from [dbo].[SchemaCollMacc]'
|
|
GO
|
|
ALTER TABLE [dbo].[SchemaCollMacc] DROP CONSTRAINT [FK_SchemaCollMacc_ElencoDossier]
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Dropping foreign keys from [dbo].[Misure]'
|
|
GO
|
|
ALTER TABLE [dbo].[Misure] DROP CONSTRAINT [FK_IstanzeMisura_AnagFasi]
|
|
GO
|
|
ALTER TABLE [dbo].[Misure] DROP CONSTRAINT [FK_Misure_SchemaCollMacc]
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Dropping constraints from [dbo].[ElencoDossier]'
|
|
GO
|
|
ALTER TABLE [dbo].[ElencoDossier] DROP CONSTRAINT [PK_ElencoDossier]
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Dropping constraints from [dbo].[ElencoDossier]'
|
|
GO
|
|
ALTER TABLE [dbo].[ElencoDossier] DROP CONSTRAINT [DF_ElencoDossier_Stato]
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Dropping constraints from [dbo].[ElencoDossier]'
|
|
GO
|
|
ALTER TABLE [dbo].[ElencoDossier] DROP CONSTRAINT [DF__ElencoDoss__Note__54968AE5]
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Dropping constraints from [dbo].[Misure]'
|
|
GO
|
|
ALTER TABLE [dbo].[Misure] DROP CONSTRAINT [PK_Misure_1]
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Dropping constraints from [dbo].[Misure]'
|
|
GO
|
|
ALTER TABLE [dbo].[Misure] DROP CONSTRAINT [DF_Misure_Vers]
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Dropping constraints from [dbo].[Misure]'
|
|
GO
|
|
ALTER TABLE [dbo].[Misure] DROP CONSTRAINT [DF_Misure_NumScheda]
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Dropping constraints from [dbo].[Misure]'
|
|
GO
|
|
ALTER TABLE [dbo].[Misure] DROP CONSTRAINT [DF_IstanzeMisura_Operatore]
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Dropping constraints from [dbo].[Misure]'
|
|
GO
|
|
ALTER TABLE [dbo].[Misure] DROP CONSTRAINT [DF_IstanzeMisura_DataOra]
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Dropping constraints from [dbo].[Misure]'
|
|
GO
|
|
ALTER TABLE [dbo].[Misure] DROP CONSTRAINT [DF_Misure_ValorePar]
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Dropping constraints from [dbo].[Misure]'
|
|
GO
|
|
ALTER TABLE [dbo].[Misure] DROP CONSTRAINT [DF_Misure_ValoreMis]
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Dropping constraints from [dbo].[Misure]'
|
|
GO
|
|
ALTER TABLE [dbo].[Misure] DROP CONSTRAINT [DF_Misure_OkMis]
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Dropping constraints from [dbo].[Misure]'
|
|
GO
|
|
ALTER TABLE [dbo].[Misure] DROP CONSTRAINT [DF_Misure_CodDeroga]
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Dropping constraints from [dbo].[Misure]'
|
|
GO
|
|
ALTER TABLE [dbo].[Misure] DROP CONSTRAINT [DF_Misure_CodVisib]
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Dropping constraints from [dbo].[Misure]'
|
|
GO
|
|
ALTER TABLE [dbo].[Misure] DROP CONSTRAINT [DF_Misure_Ordinale]
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Rebuilding [dbo].[Misure]'
|
|
GO
|
|
CREATE TABLE [dbo].[RG_Recovery_1_Misure]
|
|
(
|
|
[IdxDossier] [int] NOT NULL,
|
|
[CodScheda] [nvarchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
|
|
[Vers] [int] NOT NULL CONSTRAINT [DF_Misure_Vers] DEFAULT ((0)),
|
|
[NumScheda] [int] NOT NULL CONSTRAINT [DF_Misure_NumScheda] DEFAULT ((1)),
|
|
[CodMisura] [nvarchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
|
|
[Fase] [nvarchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
|
|
[Rev] [int] NOT NULL CONSTRAINT [DF_Misure_Vers1] DEFAULT ((0)),
|
|
[Operatore] [nvarchar] (250) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL CONSTRAINT [DF_IstanzeMisura_Operatore] DEFAULT (''),
|
|
[DataOra] [datetime] NOT NULL CONSTRAINT [DF_IstanzeMisura_DataOra] DEFAULT (getdate()),
|
|
[ValorePar] [float] NOT NULL CONSTRAINT [DF_Misure_ValorePar] DEFAULT ((0)),
|
|
[ValoreMis] [nvarchar] (4000) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL CONSTRAINT [DF_Misure_ValoreMis] DEFAULT (''),
|
|
[OkValMis] [bit] NOT NULL CONSTRAINT [DF_Misure_OkMis] DEFAULT ((0)),
|
|
[CodDeroga] [nvarchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL CONSTRAINT [DF_Misure_CodDeroga] DEFAULT (''),
|
|
[CodVisib] [nvarchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL CONSTRAINT [DF_Misure_CodVisib] DEFAULT ('FCS'),
|
|
[Ordinale] [int] NOT NULL CONSTRAINT [DF_Misure_Ordinale] DEFAULT ((0))
|
|
) ON [PRIMARY]
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
INSERT INTO [dbo].[RG_Recovery_1_Misure]([IdxDossier], [CodScheda], [Vers], [NumScheda], [CodMisura], [Fase], [Operatore], [DataOra], [ValorePar], [ValoreMis], [OkValMis], [CodDeroga], [CodVisib], [Ordinale]) SELECT [IdxDossier], [CodScheda], [Vers], [NumScheda], [CodMisura], [Fase], [Operatore], [DataOra], [ValorePar], [ValoreMis], [OkValMis], [CodDeroga], [CodVisib], [Ordinale] FROM [dbo].[Misure]
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
DROP TABLE [dbo].[Misure]
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
EXEC sp_rename N'[dbo].[RG_Recovery_1_Misure]', N'Misure', N'OBJECT'
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Creating primary key [PK_Misure_1] on [dbo].[Misure]'
|
|
GO
|
|
ALTER TABLE [dbo].[Misure] ADD CONSTRAINT [PK_Misure_1] PRIMARY KEY CLUSTERED ([IdxDossier], [CodScheda], [Vers], [NumScheda], [CodMisura], [Fase], [Rev]) ON [PRIMARY]
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Creating [dbo].[v_DFR_all]'
|
|
GO
|
|
CREATE VIEW [dbo].[v_DFR_all]
|
|
AS
|
|
SELECT DISTINCT IdxDossier, Fase, Rev
|
|
FROM dbo.Misure
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Creating [dbo].[v_DFR_last]'
|
|
GO
|
|
|
|
CREATE VIEW [dbo].[v_DFR_last]
|
|
AS
|
|
-- ultima revisione per ogni fase dei Dossier
|
|
SELECT idxDossier, Fase, MAX(Rev) as Rev
|
|
FROM dbo.v_DFR_all
|
|
GROUP BY IdxDossier, Fase
|
|
|
|
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Creating [dbo].[stp_DFR_getByD]'
|
|
GO
|
|
|
|
|
|
|
|
-- =============================================
|
|
-- Author: S.E. Locatelli
|
|
-- Create date: 2018.02.20
|
|
-- Description: Recupera per un dossier elenco fasi/rev attive
|
|
-- =============================================
|
|
CREATE PROCEDURE [dbo].[stp_DFR_getByD]
|
|
(
|
|
@IdxDossier INT
|
|
)
|
|
AS
|
|
|
|
|
|
SELECT *
|
|
FROM v_dfr_last
|
|
WHERE idxdossier = @IdxDossier
|
|
|
|
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Rebuilding [dbo].[ElencoDossier]'
|
|
GO
|
|
CREATE TABLE [dbo].[RG_Recovery_2_ElencoDossier]
|
|
(
|
|
[IdxDossier] [int] NOT NULL IDENTITY(1, 1),
|
|
[Matricola] [nvarchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
|
|
[DataCreazione] [datetime] NOT NULL CONSTRAINT [DF_ElencoDossier_DataCreazione] DEFAULT (getdate()),
|
|
[UserCreazione] [nvarchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL CONSTRAINT [DF_ElencoDossier_UserCreazione] DEFAULT (''),
|
|
[FaseAct] [nvarchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL CONSTRAINT [DF_ElencoDossier_Stato] DEFAULT ('001'),
|
|
[RevAct] [int] NOT NULL CONSTRAINT [DF_ElencoDossier_Stato1] DEFAULT ((0)),
|
|
[Note] [nvarchar] (max) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL CONSTRAINT [DF__ElencoDoss__Note__54968AE5] DEFAULT ('')
|
|
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
SET IDENTITY_INSERT [dbo].[RG_Recovery_2_ElencoDossier] ON
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
INSERT INTO [dbo].[RG_Recovery_2_ElencoDossier]([IdxDossier], [Matricola], [DataCreazione], [UserCreazione], [Note]) SELECT [IdxDossier], [Matricola], ISNULL([DataCreazione], (getdate())), ISNULL([UserCreazione], ('')), ISNULL([Note], ('')) FROM [dbo].[ElencoDossier]
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
SET IDENTITY_INSERT [dbo].[RG_Recovery_2_ElencoDossier] OFF
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
DECLARE @idVal BIGINT
|
|
SELECT @idVal = IDENT_CURRENT(N'[dbo].[ElencoDossier]')
|
|
IF @idVal IS NOT NULL
|
|
DBCC CHECKIDENT(N'[dbo].[RG_Recovery_2_ElencoDossier]', RESEED, @idVal)
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
DROP TABLE [dbo].[ElencoDossier]
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
EXEC sp_rename N'[dbo].[RG_Recovery_2_ElencoDossier]', N'ElencoDossier', N'OBJECT'
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Creating primary key [PK_ElencoDossier] on [dbo].[ElencoDossier]'
|
|
GO
|
|
ALTER TABLE [dbo].[ElencoDossier] ADD CONSTRAINT [PK_ElencoDossier] PRIMARY KEY CLUSTERED ([IdxDossier]) ON [PRIMARY]
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Altering [dbo].[v_ElencoDossier]'
|
|
GO
|
|
|
|
|
|
ALTER VIEW [dbo].[v_ElencoDossier]
|
|
AS
|
|
|
|
WITH cteNumSchede AS
|
|
(
|
|
SELECT IdxDossier, COUNT(*) as Num
|
|
FROM SchemaCollMacc
|
|
GROUP BY IdxDossier
|
|
)
|
|
, cteAnagSchede AS
|
|
(
|
|
SELECT scm.IdxDossier, COUNT(ds.CodMisura) as Num
|
|
FROM SchemaCollMacc scm
|
|
LEFT OUTER JOIN DettScheda ds ON scm.CodScheda = ds.CodScheda AND scm.Vers = ds.Vers
|
|
GROUP BY scm.IdxDossier
|
|
)
|
|
, cteMisure AS
|
|
(
|
|
-- conteggio misure x Dossier solo per revisione attiva x ogni fase
|
|
SELECT mi.IdxDossier, COUNT(*) AS Num
|
|
FROM dbo.Misure AS mi
|
|
INNER JOIN dbo.v_DFR_last AS dfr -- vista ultima rev. per ogni fase
|
|
ON mi.IdxDossier = dfr.idxDossier AND mi.Fase = dfr.Fase AND mi.Rev = dfr.Rev
|
|
GROUP BY mi.IdxDossier
|
|
)
|
|
|
|
SELECT ed.IdxDossier
|
|
, ed.Matricola
|
|
, em.Descrizione + ' - ' + em.Cliente as DescrMacchina
|
|
, ed.DataCreazione
|
|
, ed.UserCreazione
|
|
, ISNULL(scm.num, 0) AS NumSchede
|
|
, ISNULL(cas.num, 0) AS NumMisReq
|
|
, ISNULL(mis.num, 0) AS NumMisEff
|
|
, ed.FaseAct
|
|
, ed.RevAct
|
|
, ISNULL(ed.Note, '') AS Note
|
|
FROM dbo.ElencoDossier ed
|
|
INNER JOIN ElencoMacchineCN em ON ed.Matricola = em.Matricola
|
|
LEFT OUTER JOIN cteNumSchede scm ON ed.IdxDossier = scm.IdxDossier
|
|
LEFT OUTER JOIN cteAnagSchede cas ON ed.IdxDossier = cas.IdxDossier
|
|
LEFT OUTER JOIN cteMisure mis ON ed.IdxDossier = mis.IdxDossier
|
|
|
|
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Altering [dbo].[v_selElencoDossier]'
|
|
GO
|
|
|
|
ALTER VIEW [dbo].[v_selElencoDossier]
|
|
AS
|
|
SELECT IdxDossier AS value, Matricola + ' - ' + DescrMacchina AS label, FaseAct AS conditio
|
|
FROM dbo.v_ElencoDossier
|
|
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Creating [dbo].[stp_DFR_getByDF]'
|
|
GO
|
|
|
|
|
|
|
|
-- =============================================
|
|
-- Author: S.E. Locatelli
|
|
-- Create date: 2018.02.20
|
|
-- Description: Recupera per un dossier+fase elenco rev attiva
|
|
-- =============================================
|
|
CREATE PROCEDURE [dbo].[stp_DFR_getByDF]
|
|
(
|
|
@IdxDossier INT
|
|
,@Fase NVARCHAR(50)
|
|
)
|
|
AS
|
|
|
|
|
|
SELECT *
|
|
FROM v_dfr_last
|
|
WHERE idxdossier = @IdxDossier
|
|
AND Fase = @Fase
|
|
|
|
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Refreshing [dbo].[v_selSchedaIst]'
|
|
GO
|
|
EXEC sp_refreshview N'[dbo].[v_selSchedaIst]'
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Altering [dbo].[stp_VSS_getByConditio]'
|
|
GO
|
|
ALTER PROCEDURE [dbo].[stp_VSS_getByConditio]
|
|
(
|
|
@conditio int
|
|
)
|
|
AS
|
|
SET NOCOUNT ON;
|
|
|
|
SELECT '0.0' AS value, '--Selezionare Scheda--' as label, 0 as Ordinale
|
|
UNION
|
|
SELECT value, label, Ordinale
|
|
FROM v_selSchedaIst
|
|
WHERE (conditio = @conditio)
|
|
ORDER BY Ordinale
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Refreshing [dbo].[v_ElencoMacchine]'
|
|
GO
|
|
EXEC sp_refreshview N'[dbo].[v_ElencoMacchine]'
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Creating [dbo].[f_getStringLang]'
|
|
GO
|
|
|
|
-- ================================================================
|
|
-- Author : Steamware
|
|
-- Create date: 2018-02-22
|
|
--
|
|
-- Description: Data una Lingua estraggo la parte tra i TAG di inizio e fine richiesti
|
|
--
|
|
-- esempio :
|
|
-- SELECT dbo.[f_getStingLang]( '[EN]Good Day[/EN][IT]Buon Giorno[/IT]','IT')
|
|
--
|
|
-- SELECT IDX, dbo.[f_getStingLang]( Descrizione, 'IT') FROM Table
|
|
--
|
|
--
|
|
-- ================================================================
|
|
CREATE FUNCTION [dbo].[f_getStringLang]
|
|
(
|
|
@String NVARCHAR(MAX),
|
|
@Lang CHAR(2) = 'IT',
|
|
@ifBlank AS BIT = 0 -- Se non trovo Tag iniziale se 0 -> blank 1 -> intera stringa
|
|
)
|
|
RETURNS NVARCHAR(4000)
|
|
AS
|
|
BEGIN
|
|
|
|
-- DECLARE @String AS NVARCHAR(MAX) = '[EN]Good Day[/EN][IT]Buon Giorno[/IT]'
|
|
-- DECLARE @Lang AS NVARCHAR(2) = 'IT' ,
|
|
|
|
-- creo i tag di ricerca Inizio e Fine
|
|
DECLARE @SearchIni AS NVARCHAR(20) = '[' + @Lang + ']' -- es. [EN]
|
|
DECLARE @SearchEnd AS NVARCHAR(20) = '[/' + @Lang + ']' -- es. [/EN]
|
|
|
|
DECLARE @LenIni AS INT = DATALENGTH(@SearchIni)/2
|
|
DECLARE @LenEnd AS INT = DATALENGTH(@SearchEnd)/2
|
|
|
|
DECLARE @StringOut AS NVARCHAR(MAX) = ''
|
|
|
|
-- SELECT @String, CHARINDEX(@SearchIni, @String) AS Inizio, CHARINDEX(@SearchEnd, @String, CHARINDEX(@SearchIni, @String)) + @LenEnd AS Fine
|
|
|
|
-- estraggo stringa tra i TAG ( expression, start, length )
|
|
SET @StringOut = SUBSTRING ( @String,
|
|
( CHARINDEX( @SearchIni, @String )), -- posizione TAG Iniziale
|
|
( CASE ( CHARINDEX( @SearchIni, @String )) WHEN 0 -- se non trovo TAG iniziale ritorno Stringa vuota
|
|
THEN 0
|
|
ELSE CHARINDEX( @SearchEnd, @String, ( CHARINDEX(@SearchIni, @String)) ) + @LenEnd - ( CHARINDEX( @SearchIni, @String ))
|
|
END
|
|
) )
|
|
|
|
-- se vuota passo Blank o l'intera stringa
|
|
IF (@StringOut = '' AND @ifBlank = 1)
|
|
SET @StringOut = @String
|
|
ELSE
|
|
-- tolgo anche tag di ricerca
|
|
SET @StringOut = REPLACE(REPLACE( @StringOut, @SearchEnd,''), @SearchIni,'')
|
|
|
|
RETURN @StringOut
|
|
|
|
END
|
|
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Creating [dbo].[f_getStingLangInLine]'
|
|
GO
|
|
|
|
-- ================================================================
|
|
-- Author : Steamware
|
|
-- Create date: 2018-02-22
|
|
--
|
|
-- Description: Estrae in forma tabella una o più lingue dalla stringa passata
|
|
--
|
|
-- esempio :
|
|
--
|
|
-- SELECT [IdxDossier]
|
|
-- ,[CodScheda]
|
|
-- ,[Vers]
|
|
-- ,ln.*
|
|
-- FROM dbo.SchemaCollMacc
|
|
-- CROSS APPLY f_getStingLangInLine( [Descrizione] ,'IT,EN') AS ln
|
|
--
|
|
-- ================================================================
|
|
CREATE FUNCTION [dbo].[f_getStingLangInLine]
|
|
(
|
|
@String NVARCHAR(MAX), @Languages VARCHAR(20)= 'IT,EN'
|
|
)
|
|
RETURNS @values TABLE ( Lang VARCHAR(20), StringOut NVARCHAR(4000))
|
|
AS
|
|
BEGIN
|
|
|
|
INSERT @values
|
|
SELECT [param] AS Lang
|
|
,dbo.[f_getStringLang] ( @String, [param], 0 ) AS StringOut
|
|
FROM [dbo].[fn_MVParam] (@Languages, ',')
|
|
WHERE dbo.[f_getStringLang] ( @String, [param], 0 ) <> ''
|
|
|
|
-- DELETE FROM @values WHERE ISNULL(StringOut,'') = ''
|
|
|
|
RETURN
|
|
|
|
END
|
|
|
|
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Refreshing [dbo].[v_selFasi]'
|
|
GO
|
|
EXEC sp_refreshview N'[dbo].[v_selFasi]'
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Altering [dbo].[stp_Mis_getNum2Ins]'
|
|
GO
|
|
-- =============================================
|
|
-- Author: S.E. Locatelli
|
|
-- Create date: 2015.06.17
|
|
-- Description: conta recorda da inserire
|
|
-- =============================================
|
|
ALTER PROCEDURE [dbo].[stp_Mis_getNum2Ins]
|
|
(
|
|
@IdxDossier INT
|
|
,@CodSchedaVers NVARCHAR(100) -- formato CodScheda.Vers.Num --> da splittare
|
|
,@Fase NVARCHAR(50)
|
|
,@Rev INT
|
|
)
|
|
AS
|
|
|
|
DECLARE @CodScheda NVARCHAR(50) = '',
|
|
@Vers INT = 0,
|
|
@NumScheda INT = 0
|
|
|
|
-- splitto e recupero dati...
|
|
SELECT @CodScheda = SUBSTRING ( @CodSchedaVers, 0, CHARINDEX ( '.', @CodSchedaVers ) )
|
|
SELECT @CodSchedaVers = REPLACE ( @CodSchedaVers, @CodScheda+'.', '' )
|
|
SELECT @Vers = SUBSTRING ( @CodSchedaVers, 0, CHARINDEX ( '.', @CodSchedaVers ) )
|
|
SELECT @NumScheda = REPLACE ( @CodSchedaVers, CAST(@Vers AS NVARCHAR(10))+'.', '' )
|
|
|
|
;WITH cteSchema AS
|
|
(
|
|
SELECT scm.IdxDossier
|
|
, scm.CodScheda
|
|
, scm.Vers
|
|
, scm.NumScheda
|
|
, ds.CodMisura
|
|
, @Fase AS Fase
|
|
, @Rev AS Rev
|
|
, '' as Operatore
|
|
, GETDATE() as DataOra
|
|
, 0 as ValorePar
|
|
, '' as ValoreMis
|
|
, 0 as OkValMis
|
|
, '' as CodDeroga
|
|
, '' as NomeMisura
|
|
, '' as TipoValMisura
|
|
, '' as NomePar
|
|
, 0 as MinPar
|
|
, 0 as MaxPar
|
|
, 0 as LIVal
|
|
, 0 as LSVal
|
|
, '' as CodSchedaVersNum
|
|
, '' as CodVisib
|
|
|
|
FROM SchemaCollMacc AS scm
|
|
INNER JOIN DettScheda AS ds
|
|
ON scm.CodScheda = ds.CodScheda
|
|
AND scm.Vers = ds.Vers
|
|
WHERE scm.IdxDossier = @IdxDossier
|
|
AND scm.CodScheda = @CodScheda
|
|
AND scm.Vers = @Vers
|
|
AND scm.NumScheda = @NumScheda
|
|
)
|
|
|
|
SELECT cte.*
|
|
FROM cteSchema cte
|
|
WHERE CodMisura NOT IN
|
|
(
|
|
SELECT CodMisura
|
|
FROM Misure m
|
|
WHERE IdxDossier = @IdxDossier
|
|
AND CodScheda = @CodScheda
|
|
AND Vers = @Vers
|
|
AND NumScheda = @NumScheda
|
|
AND Fase = @Fase
|
|
AND Rev = @Rev
|
|
)
|
|
|
|
RETURN
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Creating [dbo].[f_getStingLangInLine_2]'
|
|
GO
|
|
|
|
-- ================================================================
|
|
-- Author : Steamware
|
|
-- Create date: 2018-02-22
|
|
--
|
|
-- Description: Estrae in forma tabella una o più lingue dalla stringa passata
|
|
--
|
|
-- esempio :
|
|
--
|
|
-- SELECT [IdxDossier]
|
|
-- ,[CodScheda]
|
|
-- ,[Vers]
|
|
-- ,ln.*
|
|
-- FROM dbo.SchemaCollMacc
|
|
-- CROSS APPLY f_getStingLangInLine_2( [Descrizione] ,'IT,EN') AS ln
|
|
--
|
|
-- ================================================================
|
|
CREATE FUNCTION [dbo].[f_getStingLangInLine_2]
|
|
(
|
|
@String NVARCHAR(MAX), @Languages VARCHAR(20) -- es. 'IT,EN'
|
|
)
|
|
RETURNS TABLE -- @values TABLE ( Lang VARCHAR(20), StringOut NVARCHAR(4000))
|
|
AS
|
|
|
|
RETURN
|
|
(
|
|
SELECT [param] AS Lang
|
|
,dbo.[f_getStringLang] ( @String, [param], 0 ) AS StringOut
|
|
FROM [dbo].[fn_MVParam] (@Languages, ',')
|
|
WHERE dbo.[f_getStringLang] ( @String, [param], 0 ) <> ''
|
|
)
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Creating [dbo].[stp_VSS_getByLang]'
|
|
GO
|
|
CREATE PROCEDURE [dbo].[stp_VSS_getByLang]
|
|
(
|
|
@lang NVARCHAR(2)
|
|
)
|
|
AS
|
|
SET NOCOUNT ON;
|
|
|
|
SELECT '0.0' AS value, '--Selezionare Scheda--' as label
|
|
UNION
|
|
SELECT CodScheda + '.' + CAST(Vers AS NVARCHAR(50)) AS value, CodScheda + ' - ' + dbo.f_getStringLang(Descrizione, @Lang,1) as label
|
|
FROM AnagSchede
|
|
ORDER BY Value
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Altering [dbo].[v_statoMisure]'
|
|
GO
|
|
|
|
|
|
ALTER VIEW [dbo].[v_statoMisure]
|
|
AS
|
|
SELECT IdxDossier,
|
|
CodScheda,
|
|
Vers,
|
|
NumScheda,
|
|
Fase,
|
|
Rev,
|
|
COUNT(CodMisura) AS TotMisure,
|
|
SUM(CASE
|
|
WHEN Operatore <> ''
|
|
THEN 1
|
|
ELSE 0
|
|
END) AS MisEffettuate,
|
|
SUM(CASE
|
|
WHEN OkValMis = 1
|
|
THEN 1
|
|
ELSE 0
|
|
END) AS MisOk,
|
|
SUM(CASE
|
|
WHEN OkValMis = 1
|
|
OR CodDeroga <> ''
|
|
THEN 1
|
|
ELSE 0
|
|
END) AS MisOkDerog
|
|
FROM dbo.Misure
|
|
GROUP BY IdxDossier,
|
|
CodScheda,
|
|
Vers,
|
|
NumScheda,
|
|
Fase,
|
|
Rev;
|
|
|
|
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Altering [dbo].[stp_Mis_insMissing]'
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Author: S.E. Locatelli
|
|
-- Create date: 2015.06.17
|
|
-- Description: inserisce record missing (da inserire)
|
|
-- =============================================
|
|
ALTER PROCEDURE [dbo].[stp_Mis_insMissing]
|
|
(
|
|
@IdxDossier INT
|
|
,@CodSchedaVersNum NVARCHAR(100) -- formato CodScheda.Vers.Num --> da splittare
|
|
,@Fase NVARCHAR(50)
|
|
,@Rev INT
|
|
)
|
|
AS
|
|
|
|
DECLARE @CodScheda NVARCHAR(50) = '',
|
|
@CodSchedaVers NVARCHAR(50) = '',
|
|
@Vers INT = 0,
|
|
@NumScheda INT = 0
|
|
|
|
-- splitto e recupero dati...
|
|
SELECT @CodSchedaVers = @CodSchedaVersNum
|
|
SELECT @CodScheda = SUBSTRING ( @CodSchedaVers, 0, CHARINDEX ( '.', @CodSchedaVers ) )
|
|
SELECT @CodSchedaVers = REPLACE ( @CodSchedaVers, @CodScheda+'.', '' )
|
|
SELECT @Vers = SUBSTRING ( @CodSchedaVers, 0, CHARINDEX ( '.', @CodSchedaVers ) )
|
|
SELECT @NumScheda = REPLACE ( @CodSchedaVers, CAST(@Vers AS NVARCHAR(10))+'.', '' )
|
|
|
|
;WITH cteSchema AS
|
|
(
|
|
SELECT scm.IdxDossier
|
|
, scm.CodScheda
|
|
, scm.Vers
|
|
, scm.NumScheda
|
|
, ds.CodMisura
|
|
, @Fase AS Fase
|
|
, @Rev AS Rev
|
|
, CASE WHEN ds.TipoValMisura='FILE' THEN CAST(@IdxDossier AS NVARCHAR(50)) + '.' + @CodSchedaVersNum + '.' + ds.CodMisura + '.' + @Fase ELSE ISNULL(ds.ValMisuraDef,'') END AS ValoreMis
|
|
-- , '' as Operatore
|
|
-- , '' as DataOra
|
|
-- , 0 as ValorePar
|
|
-- , '' as ValoreMis
|
|
-- , 0 as OkValMis
|
|
-- , '' as CodDeroga
|
|
, scm.Ordinale
|
|
|
|
FROM SchemaCollMacc AS scm
|
|
INNER JOIN DettScheda AS ds
|
|
ON scm.CodScheda = ds.CodScheda
|
|
AND scm.Vers = ds.Vers
|
|
WHERE scm.IdxDossier = @IdxDossier
|
|
AND scm.CodScheda = @CodScheda
|
|
AND scm.Vers = @Vers
|
|
AND scm.NumScheda = @NumScheda
|
|
)
|
|
|
|
INSERT INTO Misure (IdxDossier, CodScheda, Vers, NumScheda, CodMisura, Fase, Rev, ValoreMis, Ordinale)
|
|
SELECT cte.*
|
|
FROM cteSchema cte
|
|
WHERE CodMisura NOT IN
|
|
(
|
|
SELECT CodMisura
|
|
FROM Misure m
|
|
WHERE IdxDossier = @IdxDossier
|
|
AND CodScheda = @CodScheda
|
|
AND Vers = @Vers
|
|
AND NumScheda = @NumScheda
|
|
AND Fase = @Fase
|
|
AND Rev = @Rev
|
|
)
|
|
|
|
|
|
RETURN
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Altering [dbo].[v_Misure]'
|
|
GO
|
|
ALTER VIEW [dbo].[v_Misure]
|
|
AS
|
|
SELECT mi.IdxDossier, mi.CodScheda + '.' + CAST(mi.Vers AS NVARCHAR(50)) + '.' + CAST(mi.NumScheda AS NVARCHAR(50)) AS CodSchedaVersNum, mi.CodScheda, mi.Vers, mi.NumScheda, mi.CodMisura, mi.Fase, mi.Rev, mi.Operatore,
|
|
mi.DataOra, mi.ValorePar, mi.ValoreMis, mi.OkValMis, mi.CodDeroga, ds.NomeMisura, ds.TipoValMisura, ds.NomePar, vv.MinPar, vv.MaxPar, vv.LIVal, vv.LSVal, mi.CodVisib, mi.Ordinale
|
|
FROM dbo.Misure AS mi INNER JOIN
|
|
dbo.DettScheda AS ds ON mi.CodScheda = ds.CodScheda AND mi.Vers = ds.Vers AND mi.CodMisura = ds.CodMisura LEFT OUTER JOIN
|
|
dbo.v_ValidVal AS vv ON ds.CodScheda = vv.CodScheda AND ds.Vers = vv.Vers AND ds.CodMisura = vv.CodMisura AND mi.ValorePar >= ISNULL(vv.MinPar, 0)
|
|
WHERE (ISNULL(vv.MaxPar, 999999999) > mi.ValorePar)
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Altering [dbo].[stp_Mis_getDataFilt]'
|
|
GO
|
|
-- =============================================
|
|
-- Author: S.E. Locatelli
|
|
-- Create date: 2015.06.17
|
|
-- Description: elenco records filtrati
|
|
-- =============================================
|
|
ALTER PROCEDURE [dbo].[stp_Mis_getDataFilt]
|
|
(
|
|
@IdxDossier INT
|
|
,@CodSchedaVers NVARCHAR(100) -- formato CodScheda.Vers.Num --> da splittare
|
|
,@Fase NVARCHAR(50)
|
|
,@Rev INT
|
|
)
|
|
AS
|
|
|
|
DECLARE @CodScheda NVARCHAR(50) = '',
|
|
@Vers INT = 0,
|
|
@NumScheda INT = 0
|
|
|
|
-- solo se HO dei dati da splittare..
|
|
IF @CodSchedaVers <> ''
|
|
BEGIN
|
|
-- splitto e recupero dati...
|
|
SELECT @CodScheda = SUBSTRING ( @CodSchedaVers, 0, CHARINDEX ( '.', @CodSchedaVers ) )
|
|
SELECT @CodSchedaVers = REPLACE ( @CodSchedaVers, @CodScheda+'.', '' )
|
|
SELECT @Vers = SUBSTRING ( @CodSchedaVers, 0, CHARINDEX ( '.', @CodSchedaVers ) )
|
|
SELECT @NumScheda = REPLACE ( @CodSchedaVers, CAST(@Vers AS NVARCHAR(10))+'.', '' )
|
|
END
|
|
|
|
SELECT *
|
|
FROM v_Misure
|
|
WHERE IdxDossier = CASE WHEN @IdxDossier <> 0 THEN @IdxDossier ELSE IdxDossier END
|
|
AND CodScheda = CASE WHEN @CodScheda <> '' THEN @CodScheda ELSE CodScheda END
|
|
AND Vers = CASE WHEN @Vers <> 0 THEN @Vers ELSE Vers END
|
|
AND NumScheda = CASE WHEN @NumScheda <> 0 THEN @NumScheda ELSE NumScheda END
|
|
AND Fase = CASE WHEN @Fase <> '' THEN @Fase ELSE Fase END
|
|
AND Rev = CASE WHEN @Rev <> 0 THEN @Rev ELSE Rev END
|
|
ORDER BY Ordinale, CodScheda, Vers, NumScheda, CodMisura, NomeMisura
|
|
|
|
RETURN
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Altering [dbo].[v_statoCollaudi]'
|
|
GO
|
|
|
|
ALTER VIEW [dbo].[v_statoCollaudi]
|
|
AS
|
|
SELECT scm.IdxDossier,
|
|
scm.CodScheda,
|
|
scm.Vers,
|
|
scm.NumScheda,
|
|
scm.Descrizione,
|
|
scm.opz,
|
|
scm.FasiEnab,
|
|
scm.Ordinale,
|
|
sm.Fase,
|
|
sm.Rev,
|
|
sm.TotMisure,
|
|
sm.MisEffettuate,
|
|
sm.MisOk,
|
|
sm.MisOkDerog,
|
|
dbo.f_calcStato(sm.TotMisure, sm.MisEffettuate, sm.MisOk, sm.MisOkDerog) AS Stato,
|
|
lv.label AS DescrStato
|
|
FROM dbo.SchemaCollMacc AS scm
|
|
INNER JOIN dbo.v_statoMisure AS sm ON scm.IdxDossier = sm.IdxDossier
|
|
AND scm.CodScheda = sm.CodScheda
|
|
AND scm.Vers = sm.Vers
|
|
AND scm.NumScheda = sm.NumScheda
|
|
LEFT OUTER JOIN dbo.ListValues AS lv ON dbo.f_calcStato(sm.TotMisure, sm.MisEffettuate, sm.MisOk, sm.MisOkDerog) = lv.value
|
|
WHERE(lv.TableName = N'v_statoCollaudi')
|
|
AND (lv.FieldName = N'Stato');
|
|
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Altering [dbo].[stp_StatoCollByDossier]'
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Author: S.E.L.
|
|
-- Create date: 2015.12.01
|
|
-- Description: Stato (riassuntivo) delel schede collaudo
|
|
-- =============================================
|
|
ALTER PROCEDURE [dbo].[stp_StatoCollByDossier]
|
|
(
|
|
@idxDossier INT = 0
|
|
,@Fase NVARCHAR(50)
|
|
,@Rev INT = 0
|
|
)
|
|
AS
|
|
BEGIN
|
|
-- SET NOCOUNT ON added to prevent extra result sets from
|
|
-- interfering with SELECT statements.
|
|
SET NOCOUNT ON;
|
|
|
|
-- SELEZIONO!
|
|
SELECT *
|
|
FROM v_statoCollaudi
|
|
WHERE idxDossier = @idxDossier
|
|
AND Fase = CASE WHEN @Fase <> '' THEN @Fase ELSE Fase END
|
|
AND Rev = CASE WHEN @Rev >= 0 THEN @Rev ELSE Rev END
|
|
ORDER BY Ordinale
|
|
|
|
END
|
|
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Altering [dbo].[stp_Mis_updateMis]'
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Author: S.E. Locatelli
|
|
-- Create date: 2015.06.18
|
|
-- Description: update misura (ede eventualmente parametro) con VERIFICA OK
|
|
-- =============================================
|
|
ALTER PROCEDURE [dbo].[stp_Mis_updateMis]
|
|
(
|
|
@Original_IdxDossier INT
|
|
,@Original_CodScheda NVARCHAR(50)
|
|
,@Original_Vers INT
|
|
,@Original_NumScheda INT
|
|
,@Original_CodMisura NVARCHAR(50)
|
|
,@Original_Fase NVARCHAR(50)
|
|
,@Original_Rev INT
|
|
,@Operatore NVARCHAR(50)
|
|
,@ValorePar FLOAT
|
|
,@ValoreMis NVARCHAR(4000)
|
|
,@CodVisib NVARCHAR(50)
|
|
,@CodDeroga NVARCHAR(50)
|
|
)
|
|
AS
|
|
|
|
|
|
UPDATE Misure
|
|
SET Operatore = CASE WHEN @ValoreMis <> '' THEN @Operatore ELSE '' END
|
|
,DataOra = GETDATE()
|
|
,ValorePar = ISNULL(@ValorePar, 0)
|
|
,ValoreMis = @ValoreMis
|
|
,OkValMis = dbo.f_checkVal(CodScheda, Vers, CodMisura, @ValorePar, @ValoreMis)
|
|
,CodVisib = ISNULL(@CodVisib, ISNULL(CodVisib,''))
|
|
,CodDeroga = ISNULL(@CodDeroga, ISNULL(CodDeroga,''))
|
|
WHERE IdxDossier = @Original_IdxDossier
|
|
AND CodScheda = @Original_CodScheda
|
|
AND Vers = @Original_Vers
|
|
AND NumScheda = @Original_NumScheda
|
|
AND CodMisura = @Original_CodMisura
|
|
AND Fase = @Original_Fase
|
|
AND Rev = @Original_Rev
|
|
|
|
RETURN
|
|
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Altering [dbo].[stp_Mis_Deroga]'
|
|
GO
|
|
-- =============================================
|
|
-- Author: S.E. Locatelli
|
|
-- Create date: 2015.06.18
|
|
-- Description: update misura (ede eventualmente parametro) con VERIFICA OK
|
|
-- =============================================
|
|
ALTER PROCEDURE [dbo].[stp_Mis_Deroga]
|
|
(
|
|
@Original_IdxDossier INT
|
|
,@Original_CodScheda NVARCHAR(50)
|
|
,@Original_Vers INT
|
|
,@Original_NumScheda INT
|
|
,@Original_CodMisura NVARCHAR(50)
|
|
,@Original_Fase NVARCHAR(50)
|
|
,@Original_Rev INT
|
|
,@CodDeroga NVARCHAR(50)
|
|
)
|
|
AS
|
|
|
|
|
|
UPDATE Misure
|
|
SET CodDeroga = @CodDeroga
|
|
WHERE IdxDossier = @Original_IdxDossier
|
|
AND CodScheda = @Original_CodScheda
|
|
AND Vers = @Original_Vers
|
|
AND NumScheda = @Original_NumScheda
|
|
AND CodMisura = @Original_CodMisura
|
|
AND Fase = @Original_Fase
|
|
AND Rev = @Original_Rev
|
|
|
|
RETURN
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Refreshing [dbo].[v_misureOrfane]'
|
|
GO
|
|
EXEC sp_refreshview N'[dbo].[v_misureOrfane]'
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Altering [dbo].[stp_DS_updateQuery]'
|
|
GO
|
|
-- =============================================
|
|
-- Author: S.E. Locatelli
|
|
-- Create date: 2015.06.09
|
|
-- Description: update record
|
|
-- =============================================
|
|
ALTER PROCEDURE [dbo].[stp_DS_updateQuery]
|
|
(
|
|
@CodMisura NVARCHAR(50),
|
|
@NomeMisura NVARCHAR(500),
|
|
@TipoValMisura NVARCHAR(50),
|
|
@NomePar NVARCHAR(50),
|
|
@CodVisib NVARCHAR(50),
|
|
@Original_CodScheda NVARCHAR(50),
|
|
@Original_Vers INT,
|
|
@Original_CodMisura NVARCHAR(50)
|
|
)
|
|
AS
|
|
SET NOCOUNT OFF;
|
|
|
|
UPDATE dbo.DettScheda
|
|
SET CodMisura = @CodMisura
|
|
,NomeMisura = ISNULL(@NomeMisura, '')
|
|
,TipoValMisura = ISNULL(@TipoValMisura, '')
|
|
,NomePar = ISNULL(@NomePar, '')
|
|
,CodVisib = ISNULL(@CodVisib, '')
|
|
WHERE
|
|
(CodScheda = @Original_CodScheda)
|
|
AND (Vers = @Original_Vers)
|
|
AND (CodMisura = @Original_CodMisura)
|
|
|
|
SELECT *
|
|
FROM DettScheda
|
|
WHERE CodMisura = @CodMisura
|
|
AND CodScheda = @Original_CodScheda
|
|
AND Vers = @Original_Vers
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Altering [dbo].[stp_SCM_insMisFasiMissing]'
|
|
GO
|
|
|
|
|
|
-- =============================================
|
|
-- Author: S.E. Locatelli
|
|
-- Create date: 2015.06.17
|
|
-- Description: inserisce record missing (da inserire)
|
|
-- =============================================
|
|
ALTER PROCEDURE [dbo].[stp_SCM_insMisFasiMissing]
|
|
(
|
|
@IdxDossier INT
|
|
)
|
|
AS
|
|
|
|
SET NOCOUNT ON;
|
|
SET XACT_ABORT ON;
|
|
|
|
BEGIN TRAN
|
|
|
|
DECLARE @CodSchedaVers NVARCHAR(100)
|
|
DECLARE @Fase NVARCHAR(50)
|
|
DECLARE @Rev INT = 0
|
|
DECLARE @TotRighe AS INT;
|
|
DECLARE @Riga AS INT;
|
|
SET @Riga = 1
|
|
|
|
-- seleziono TUTTE le schede da SchemaCollMacc
|
|
-- ESPLODO tutte le combinazioni di @IdxDossier - @CodSchedaVers - @Fase - @Rev
|
|
|
|
-- VEDI RISULTATO DI QUESTA (che non splitta FasiEnab...)
|
|
--SELECT IdxDossier, CodScheda + '.' + CAST(Vers AS NVARCHAR(50)) + '.' + CAST(NumScheda AS NVARCHAR(50)), FasiEnab -- va splittato per '#', se è '' non serve chiamare
|
|
--FROM SchemaCollMacc
|
|
--WHERE IdxDossier = @IdxDossier
|
|
|
|
SELECT IdxDossier, CodScheda + '.' + CAST(Vers AS NVARCHAR(50)) + '.' + CAST(NumScheda AS NVARCHAR(50)) AS CodSchedaVers, FasiEnab -- va splittato per '#', se è '' non serve chiamare
|
|
, fn.param AS Fase, ROW_NUMBER() OVER (ORDER BY idxDossier) AS riga
|
|
INTO #SchedaList
|
|
FROM dbo.SchemaCollMacc
|
|
CROSS APPLY dbo.[fn_MVParam] (FasiEnab,'#') AS fn
|
|
WHERE IdxDossier = @IdxDossier AND ISNULL(FasiEnab,'') <> ''
|
|
|
|
SET @TotRighe = @@ROWCOUNT
|
|
|
|
-- CHECK dati
|
|
-- SELECT * FROM #SchedaList
|
|
|
|
-- ciclo tra le righe
|
|
WHILE @TotRighe > 0
|
|
BEGIN
|
|
-- leggo parametri stored
|
|
SELECT @CodSchedaVers = CodSchedaVers, @Fase = Fase
|
|
FROM #SchedaList WHERE Riga = @Riga
|
|
|
|
-- ora recupero REVISIONE LAST x la fase del dossier...
|
|
SELECT @Rev = Rev FROM v_DFR_last WHERE idxDossier=@IdxDossier AND Fase = @Fase
|
|
|
|
-- eseguo stored di popolamento dati
|
|
--SELECT @IdxDossier, @CodSchedaVers, @Fase -- x Test
|
|
EXEC dbo.stp_Mis_insMissing @IdxDossier, @CodSchedaVers, @Fase, @Rev
|
|
|
|
-- riga successiva o esco
|
|
IF @Riga = @TotRighe
|
|
SET @TotRighe = 0 -- esco
|
|
ELSE
|
|
SET @Riga = @Riga+1 -- riga successiva
|
|
END
|
|
|
|
COMMIT TRAN
|
|
|
|
RETURN
|
|
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Altering [dbo].[stp_DS_insertNew]'
|
|
GO
|
|
-- =============================================
|
|
-- Author: S.E. Locatelli
|
|
-- Create date: 2015.06.09
|
|
-- Description: inserisce record per scheda al PRIMO posto disponibile...
|
|
-- =============================================
|
|
ALTER PROCEDURE [dbo].[stp_DS_insertNew]
|
|
(
|
|
@CodSchedaVers NVARCHAR(100) -- formato CodScheda.Vers --> da splittare
|
|
,@NomeMisura NVARCHAR(500) = ''
|
|
)
|
|
AS
|
|
SET NOCOUNT ON;
|
|
|
|
DECLARE @CodScheda NVARCHAR(50) = '',
|
|
@Vers INT = 0,
|
|
@LastNum INT = 0,
|
|
@TipoValM NVARCHAR(50) = ''
|
|
|
|
-- splitto e recupero dati...
|
|
SELECT @CodScheda = SUBSTRING ( @CodSchedaVers, 0, CHARINDEX ( '.', @CodSchedaVers ) )
|
|
SELECT @Vers = REPLACE ( @CodSchedaVers, @CodScheda+'.', '' )
|
|
|
|
-- cerco ULTIMO record disponibile...
|
|
SELECT @LastNum = ISNULL(REPLACE(MAX(CodMisura),'M',''),0)
|
|
FROM dbo.DettScheda
|
|
WHERE CodScheda = @CodScheda
|
|
AND Vers = @Vers
|
|
|
|
-- copio altri dati da ultima misura...
|
|
SELECT @NomeMisura = CASE WHEN ISNULL(@NomeMisura,'') <> '' THEN @NomeMisura ELSE NomeMisura END
|
|
,@TipoValM = ISNULL(TipoValMisura, '')
|
|
FROM dbo.DettScheda
|
|
WHERE CodScheda = @CodScheda
|
|
AND Vers = @Vers
|
|
AND CodMisura = 'M'+ dbo.f_padLeft( @LastNum, 4, '0')
|
|
|
|
-- inserisco NUOVO valore al primo posto disponibile...
|
|
INSERT INTO DettScheda(CodScheda, Vers, CodMisura, TipoValMisura, NomeMisura, NomePar)
|
|
VALUES (@CodScheda, @Vers, 'M'+ dbo.f_padLeft( @LastNum + 1, 4, '0'), @TipoValM, @NomeMisura, '')
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Creating [voc].[stp_deleteQuery]'
|
|
GO
|
|
|
|
|
|
CREATE PROCEDURE [voc].[stp_deleteQuery]
|
|
(
|
|
@Original_Lingua nvarchar(3),
|
|
@Original_Lemma nvarchar(50)
|
|
)
|
|
AS
|
|
SET NOCOUNT OFF;
|
|
DELETE FROM [dbo].[Vocabolario] WHERE ([Lingua] = @Original_Lingua) AND ([Lemma] = @Original_Lemma)
|
|
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Altering [dbo].[stp_Mis_getByDossier]'
|
|
GO
|
|
-- =============================================
|
|
-- Author: S.E. Locatelli
|
|
-- Create date: 2015.09.10
|
|
-- Description: elenco record x dossier
|
|
-- =============================================
|
|
ALTER PROCEDURE [dbo].[stp_Mis_getByDossier]
|
|
(
|
|
@IdxDossier int
|
|
)
|
|
AS
|
|
SET NOCOUNT ON;
|
|
SELECT *
|
|
FROM dbo.v_Misure
|
|
WHERE IdxDossier = @IdxDossier
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Altering [dbo].[stp_SCFM_updateQuery]'
|
|
GO
|
|
-- =============================================
|
|
-- Author: S.E. Locatelli
|
|
-- Create date: 2015.06.12
|
|
-- Description: update record
|
|
-- =============================================
|
|
ALTER PROCEDURE [dbo].[stp_SCFM_updateQuery]
|
|
(
|
|
@CodSchedaVers NVARCHAR(100) = '' -- formato CodScheda.Vers --> da splittare
|
|
,@CodFam NVARCHAR(50) = ''
|
|
,@NumSchede INT = 1
|
|
,@opz NVARCHAR(50) = ''
|
|
,@Descrizione NVARCHAR(500) = ''
|
|
,@Original_CodSchedaVers NVARCHAR(100) = '' -- formato CodScheda.Vers --> da splittare
|
|
,@Original_CodFam NVARCHAR(50) = ''
|
|
)
|
|
AS
|
|
SET NOCOUNT ON;
|
|
|
|
|
|
DECLARE @CodScheda NVARCHAR(50) = '',
|
|
@Vers INT = 0,
|
|
@Original_CodScheda NVARCHAR(50) = '',
|
|
@Original_Vers INT = 0
|
|
|
|
-- splitto e recupero dati...
|
|
SELECT @CodScheda = SUBSTRING ( @CodSchedaVers, 0, CHARINDEX ( '.', @CodSchedaVers ) )
|
|
SELECT @Vers = REPLACE ( @CodSchedaVers, @CodScheda+'.', '' )
|
|
SELECT @Original_CodScheda = SUBSTRING ( @Original_CodSchedaVers, 0, CHARINDEX ( '.', @Original_CodSchedaVers ) )
|
|
SELECT @Original_Vers = REPLACE ( @Original_CodSchedaVers, @Original_CodScheda+'.', '' )
|
|
|
|
UPDATE SchemaCollFamMacc
|
|
SET CodScheda = @CodScheda
|
|
,Vers = @Vers
|
|
,CodFam = @CodFam
|
|
,NumSchede = @NumSchede
|
|
,opz = @opz
|
|
,Descrizione = @Descrizione
|
|
|
|
WHERE CodScheda = @Original_CodScheda
|
|
AND Vers = @Original_Vers
|
|
AND CodFam = @Original_CodFam
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Altering [dbo].[stp_ASC_UpdateQuery]'
|
|
GO
|
|
-- =============================================
|
|
-- Author: S.E. Locatelli
|
|
-- Mod date: 2015.09.11
|
|
-- Description: update record
|
|
-- =============================================
|
|
ALTER PROCEDURE [dbo].[stp_ASC_UpdateQuery]
|
|
(
|
|
@CodScheda NVARCHAR(50)
|
|
,@Vers INT
|
|
,@Descrizione NVARCHAR(500)
|
|
,@Path NVARCHAR(MAX)
|
|
,@FasiEnab NVARCHAR(MAX) = ''
|
|
,@CodVisib NVARCHAR(50)
|
|
,@Original_CodScheda NVARCHAR(50)
|
|
,@Original_Vers INT
|
|
)
|
|
AS
|
|
|
|
SET NOCOUNT OFF;
|
|
|
|
BEGIN tran
|
|
|
|
-- aggiorno dett scheda
|
|
UPDATE dbo.DettScheda
|
|
SET CodVisib = @CodVisib
|
|
WHERE CodScheda = @Original_CodScheda
|
|
AND Vers = @Original_Vers;
|
|
|
|
-- aggiorno schede
|
|
UPDATE dbo.AnagSchede
|
|
SET CodScheda = @CodScheda,
|
|
Vers = @Vers,
|
|
Descrizione = @Descrizione,
|
|
FasiEnab = @FasiEnab,
|
|
CodVisib = @CodVisib,
|
|
[Path] = @Path
|
|
WHERE CodScheda = @Original_CodScheda
|
|
AND Vers = @Original_Vers;
|
|
|
|
|
|
SELECT CodScheda, Vers, Descrizione, Path
|
|
FROM AnagSchede
|
|
WHERE CodScheda = @CodScheda
|
|
AND Vers = @Original_Vers;
|
|
|
|
COMMIT tran
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Altering [dbo].[stp_ED_updateNote]'
|
|
GO
|
|
|
|
|
|
-- =============================================
|
|
-- Author: S.E. Locatelli
|
|
-- Create date: 2015.09.10
|
|
-- Description: aggiorna note dossier
|
|
-- =============================================
|
|
ALTER PROCEDURE [dbo].[stp_ED_updateNote]
|
|
(
|
|
@Original_IdxDossier INT
|
|
,@FaseAct NVARCHAR(50)
|
|
,@Note NVARCHAR(MAX)
|
|
)
|
|
AS
|
|
SET NOCOUNT OFF;
|
|
|
|
UPDATE ElencoDossier
|
|
SET Note = @Note
|
|
, FaseAct = @FaseAct
|
|
WHERE IdxDossier = @Original_IdxDossier
|
|
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Altering [dbo].[stp_Mis_RemSetMis]'
|
|
GO
|
|
-- =============================================
|
|
-- Author: S.E. Locatelli
|
|
-- Create date: 2015.09.11
|
|
-- Description: elimina record misure!
|
|
-- =============================================
|
|
ALTER PROCEDURE [dbo].[stp_Mis_RemSetMis]
|
|
(
|
|
@IdxDossier INT
|
|
,@CodSchedaVers NVARCHAR(100) -- formato CodScheda.Vers.Num --> da splittare
|
|
,@Fase NVARCHAR(50)
|
|
,@Rev INT
|
|
)
|
|
AS
|
|
|
|
DECLARE @CodScheda NVARCHAR(50) = '',
|
|
@Vers INT = 0,
|
|
@NumScheda INT = 0
|
|
|
|
-- splitto e recupero dati...
|
|
SELECT @CodScheda = SUBSTRING ( @CodSchedaVers, 0, CHARINDEX ( '.', @CodSchedaVers ) )
|
|
SELECT @CodSchedaVers = REPLACE ( @CodSchedaVers, @CodScheda+'.', '' )
|
|
SELECT @Vers = SUBSTRING ( @CodSchedaVers, 0, CHARINDEX ( '.', @CodSchedaVers ) )
|
|
SELECT @NumScheda = REPLACE ( @CodSchedaVers, CAST(@Vers AS NVARCHAR(10))+'.', '' )
|
|
|
|
DELETE
|
|
FROM Misure
|
|
WHERE IdxDossier = @IdxDossier
|
|
AND CodScheda = @CodScheda
|
|
AND Vers = @Vers
|
|
AND NumScheda = @NumScheda
|
|
AND Fase = @Fase
|
|
AND Rev = @Rev
|
|
|
|
|
|
RETURN
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Altering [dbo].[stp_SCM_updateQuery]'
|
|
GO
|
|
-- =============================================
|
|
-- Author: S.E. Locatelli
|
|
-- Create date: 2015.09.11
|
|
-- Description: update record
|
|
-- =============================================
|
|
ALTER PROCEDURE [dbo].[stp_SCM_updateQuery]
|
|
(
|
|
@Descrizione NVARCHAR(500) = ''
|
|
,@opz NVARCHAR(50) = ''
|
|
,@FasiEnab NVARCHAR(MAX) = ''
|
|
,@Original_IdxDossier INT
|
|
,@Original_CodScheda NVARCHAR(50) = ''
|
|
,@Original_Vers INT = 0
|
|
,@Original_NumScheda INT = 0
|
|
)
|
|
AS
|
|
SET NOCOUNT ON;
|
|
|
|
UPDATE SchemaCollMacc
|
|
SET Descrizione = @Descrizione
|
|
,opz = @opz
|
|
,FasiEnab = @FasiEnab
|
|
WHERE CodScheda = @Original_CodScheda
|
|
AND Vers = @Original_Vers
|
|
AND IdxDossier = @Original_IdxDossier
|
|
AND NumScheda = @Original_NumScheda
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Creating [dbo].[NoteDossier]'
|
|
GO
|
|
CREATE TABLE [dbo].[NoteDossier]
|
|
(
|
|
[IdxDossier] [int] NOT NULL,
|
|
[DataMod] [datetime] NOT NULL CONSTRAINT [DF_DossierHist_DtFreeze] DEFAULT (getdate()),
|
|
[UserMod] [nvarchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL CONSTRAINT [DF_NoteDossier_UserCreazione] DEFAULT (''),
|
|
[Fase] [nvarchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL CONSTRAINT [DF_Table_1_Stato] DEFAULT ('001'),
|
|
[Rev] [int] NOT NULL CONSTRAINT [DF_Table_1_Rev] DEFAULT ((0)),
|
|
[Note] [nvarchar] (max) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL CONSTRAINT [DF_DossierHist_Note] DEFAULT ('')
|
|
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Creating primary key [PK_DossierHist] on [dbo].[NoteDossier]'
|
|
GO
|
|
ALTER TABLE [dbo].[NoteDossier] ADD CONSTRAINT [PK_DossierHist] PRIMARY KEY CLUSTERED ([IdxDossier], [DataMod], [UserMod]) ON [PRIMARY]
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Creating [dbo].[stp_ED_CreateRev]'
|
|
GO
|
|
|
|
|
|
-- =============================================
|
|
-- Author: S.E. Locatelli
|
|
-- Create date: 2018.02.20
|
|
-- Description: REGISTRA la NUOVA rev attiva e duplica il set delle misure...
|
|
-- =============================================
|
|
CREATE PROCEDURE [dbo].[stp_ED_CreateRev]
|
|
(
|
|
@Original_IdxDossier INT
|
|
,@User NVARCHAR(50)
|
|
,@Note NVARCHAR(MAX)
|
|
)
|
|
AS
|
|
SET NOCOUNT OFF;
|
|
SET XACT_ABORT ON;
|
|
|
|
DECLARE @FaseAct nvarchar(50) = ''
|
|
DECLARE @RevAct INT = 0
|
|
|
|
BEGIN tran
|
|
|
|
-- seleziono ultima revisione
|
|
SELECT @RevAct = RevAct, @FaseAct = FaseAct
|
|
FROM ElencoDossier
|
|
WHERE IdxDossier = @Original_IdxDossier
|
|
|
|
-- in primis registro UNA NOTA EXTRA
|
|
INSERT INTO NoteDossier(IdxDossier, DataMod, UserMod, Fase, Rev, Note)
|
|
SELECT IdxDossier, GETDATE() AS DataMod, @User AS UserMod, FaseAct AS Fase, RevAct AS Rev, '[NEW REVISION] ' + @Note AS Note
|
|
FROM ElencoDossier
|
|
WHERE IdxDossier = @Original_IdxDossier
|
|
|
|
|
|
-- ora duplico TUTTE le misure della fase attuale
|
|
INSERT INTO Misure(IdxDossier, CodScheda, Vers, NumScheda, CodMisura, Fase, Rev, Operatore, DataOra, ValorePar, ValoreMis, OkValMis, CodDeroga, CodVisib, Ordinale)
|
|
SELECT IdxDossier,
|
|
CodScheda,
|
|
Vers,
|
|
NumScheda,
|
|
CodMisura,
|
|
Fase,
|
|
Rev + 1 AS Rev,
|
|
Operatore,
|
|
DataOra,
|
|
ValorePar,
|
|
ValoreMis,
|
|
OkValMis,
|
|
CodDeroga,
|
|
CodVisib,
|
|
Ordinale
|
|
FROM Misure
|
|
WHERE IdxDossier = @Original_IdxDossier
|
|
AND Rev = @RevAct
|
|
AND Fase = @FaseAct
|
|
|
|
|
|
|
|
-- aggiorno quindi le note e la NUOVA revisione x fase
|
|
UPDATE ElencoDossier
|
|
SET Note = @Note
|
|
,RevAct = RevAct + 1
|
|
WHERE IdxDossier = @Original_IdxDossier
|
|
|
|
COMMIT tran
|
|
|
|
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Creating [dbo].[stp_VSF_getByDossier]'
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Author: S.E. Locatelli
|
|
-- Create date: 2018.02.20
|
|
-- Description: ELENCO Fasi attive per un dato dossier
|
|
-- =============================================
|
|
CREATE PROCEDURE [dbo].[stp_VSF_getByDossier]
|
|
(
|
|
@IdxDossier INT
|
|
)
|
|
AS
|
|
SET NOCOUNT ON;
|
|
|
|
SELECT vsf.value as value, vsf.label AS label
|
|
FROM dbo.v_selFasi vsf
|
|
INNER JOIN v_DFR_last vl ON vsf.value = vl.Fase
|
|
WHERE vl.idxDossier = @idxDossier
|
|
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Creating [dbo].[v_selRev]'
|
|
GO
|
|
|
|
|
|
|
|
CREATE VIEW [dbo].[v_selRev]
|
|
AS
|
|
SELECT DISTINCT
|
|
Rev AS value,
|
|
Rev AS label,
|
|
CAST(idxDossier AS NVARCHAR(50))+'.'+Fase AS conditio
|
|
FROM dbo.v_DFR_all;
|
|
|
|
|
|
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Creating [dbo].[stp_VSR_getByDF]'
|
|
GO
|
|
|
|
|
|
|
|
-- =============================================
|
|
-- Author: S.E. Locatelli
|
|
-- Create date: 2018.02.20
|
|
-- Description: ELENCO Revisioni attive per un dato dossier + Fase
|
|
-- =============================================
|
|
CREATE PROCEDURE [dbo].[stp_VSR_getByDF]
|
|
(
|
|
@IdxDossier INT
|
|
,@Fase NVARCHAR(50)
|
|
)
|
|
AS
|
|
SET NOCOUNT ON;
|
|
|
|
SELECT vl.value, vl.label, vl.conditio
|
|
FROM v_selRev vl
|
|
WHERE vl.conditio = CAST(@idxDossier as NVARCHAR(50)) + '.' + @Fase
|
|
ORDER BY vl.value DESC
|
|
|
|
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Creating [dbo].[v_ElencoDossier_ALL]'
|
|
GO
|
|
|
|
|
|
|
|
CREATE VIEW [dbo].[v_ElencoDossier_ALL]
|
|
AS
|
|
|
|
-- come la v_ElencoDossier però ritorna il conteggio di tutte le revisioni nelle misure
|
|
-- e non solo l'ultima
|
|
WITH cteNumSchede AS
|
|
(
|
|
SELECT IdxDossier, COUNT(*) as Num
|
|
FROM SchemaCollMacc
|
|
GROUP BY IdxDossier
|
|
)
|
|
, cteAnagSchede AS
|
|
(
|
|
SELECT scm.IdxDossier, COUNT(ds.CodMisura) as Num
|
|
FROM SchemaCollMacc scm
|
|
LEFT OUTER JOIN DettScheda ds ON scm.CodScheda = ds.CodScheda AND scm.Vers = ds.Vers
|
|
GROUP BY scm.IdxDossier
|
|
)
|
|
, cteMisure AS
|
|
(
|
|
SELECT IdxDossier, COUNT(*) as Num
|
|
FROM Misure
|
|
GROUP BY IdxDossier
|
|
)
|
|
|
|
SELECT ed.IdxDossier
|
|
, ed.Matricola
|
|
, em.Descrizione + ' - ' + em.Cliente as DescrMacchina
|
|
, ed.DataCreazione
|
|
, ed.UserCreazione
|
|
, ISNULL(scm.num, 0) AS NumSchede
|
|
, ISNULL(cas.num, 0) AS NumMisReq
|
|
, ISNULL(mis.num, 0) AS NumMisEff
|
|
, ed.FaseAct
|
|
, ed.RevAct
|
|
, ISNULL(ed.Note, '') AS Note
|
|
FROM dbo.ElencoDossier ed
|
|
INNER JOIN ElencoMacchineCN em ON ed.Matricola = em.Matricola
|
|
LEFT OUTER JOIN cteNumSchede scm ON ed.IdxDossier = scm.IdxDossier
|
|
LEFT OUTER JOIN cteAnagSchede cas ON ed.IdxDossier = cas.IdxDossier
|
|
LEFT OUTER JOIN cteMisure mis ON ed.IdxDossier = mis.IdxDossier
|
|
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Adding foreign keys to [dbo].[ElencoDossier]'
|
|
GO
|
|
ALTER TABLE [dbo].[ElencoDossier] ADD CONSTRAINT [FK_ElencoDossier_ElencoMacchineCN] FOREIGN KEY ([Matricola]) REFERENCES [dbo].[ElencoMacchineCN] ([Matricola])
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Adding foreign keys to [dbo].[SchemaCollMacc]'
|
|
GO
|
|
ALTER TABLE [dbo].[SchemaCollMacc] ADD CONSTRAINT [FK_SchemaCollMacc_ElencoDossier] FOREIGN KEY ([IdxDossier]) REFERENCES [dbo].[ElencoDossier] ([IdxDossier]) ON UPDATE CASCADE
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Adding foreign keys to [dbo].[Misure]'
|
|
GO
|
|
ALTER TABLE [dbo].[Misure] ADD CONSTRAINT [FK_IstanzeMisura_AnagFasi] FOREIGN KEY ([Fase]) REFERENCES [dbo].[AnagFasi] ([Fase]) ON UPDATE CASCADE
|
|
GO
|
|
ALTER TABLE [dbo].[Misure] ADD CONSTRAINT [FK_Misure_SchemaCollMacc] FOREIGN KEY ([IdxDossier], [CodScheda], [Vers], [NumScheda]) REFERENCES [dbo].[SchemaCollMacc] ([IdxDossier], [CodScheda], [Vers], [NumScheda]) ON UPDATE CASCADE
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Altering extended properties'
|
|
GO
|
|
EXEC sp_updateextendedproperty N'MS_DiagramPane1', N'[0E232FF0-B466-11cf-A24F-00AA00A3EFFF, 1.00]
|
|
Begin DesignProperties =
|
|
Begin PaneConfigurations =
|
|
Begin PaneConfiguration = 0
|
|
NumPanes = 4
|
|
Configuration = "(H (1[41] 4[20] 2[13] 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 = "mi"
|
|
Begin Extent =
|
|
Top = 15
|
|
Left = 113
|
|
Bottom = 426
|
|
Right = 283
|
|
End
|
|
DisplayFlags = 280
|
|
TopColumn = 0
|
|
End
|
|
Begin Table = "ds"
|
|
Begin Extent =
|
|
Top = 12
|
|
Left = 990
|
|
Bottom = 278
|
|
Right = 1160
|
|
End
|
|
DisplayFlags = 280
|
|
TopColumn = 0
|
|
End
|
|
Begin Table = "vv"
|
|
Begin Extent =
|
|
Top = 196
|
|
Left = 484
|
|
Bottom = 434
|
|
Right = 654
|
|
End
|
|
DisplayFlags = 280
|
|
TopColumn = 0
|
|
End
|
|
End
|
|
End
|
|
Begin SQLPane =
|
|
End
|
|
Begin DataPane =
|
|
Begin ParameterDefaults = ""
|
|
End
|
|
Begin ColumnWidths = 23
|
|
Width = 284
|
|
Width = 1500
|
|
Width = 2628
|
|
Width = 1500
|
|
Width = 1500
|
|
Width = 1500
|
|
Width = 1500
|
|
Width = 1500
|
|
Width = 1500
|
|
Width = 1500
|
|
Width = 1500
|
|
Width = 1500
|
|
Width = 1500
|
|
Width = 3372
|
|
Width = 1500
|
|
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 = 1176
|
|
Output = 720
|
|
Append = 1400
|
|
NewValue = 1170
|
|
SortType = 1356
|
|
SortOrder = 1416
|
|
GroupBy = 1350
|
|
Filter = 1356
|
|
Or = 1350
|
|
', 'SCHEMA', N'dbo', 'VIEW', N'v_Misure', NULL, NULL
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Creating extended properties'
|
|
GO
|
|
EXEC sp_addextendedproperty N'MS_Description', N'stato avanzamento = FASE ATTUALE della scheda...', 'SCHEMA', N'dbo', 'TABLE', N'ElencoDossier', 'COLUMN', N'FaseAct'
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
EXEC sp_addextendedproperty N'MS_Description', N'note sul dossier', 'SCHEMA', N'dbo', 'TABLE', N'ElencoDossier', 'COLUMN', N'Note'
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
EXEC sp_addextendedproperty N'MS_Description', N'Revisione incrementale (ULTIMA) dato lo stato', 'SCHEMA', N'dbo', 'TABLE', N'ElencoDossier', 'COLUMN', N'RevAct'
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
EXEC sp_addextendedproperty N'MS_Description', N'valore dell''eventuale deroga', 'SCHEMA', N'dbo', 'TABLE', N'Misure', 'COLUMN', N'CodDeroga'
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
EXEC sp_addextendedproperty N'MS_Description', N'Codice visibilità tra FCS (uno o tutti in ogni combinazione) per Full Client Short', 'SCHEMA', N'dbo', 'TABLE', N'Misure', 'COLUMN', N'CodVisib'
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
EXEC sp_addextendedproperty N'MS_Description', N'esito del controllo di validità ove definito', 'SCHEMA', N'dbo', 'TABLE', N'Misure', 'COLUMN', N'OkValMis'
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
EXEC sp_addextendedproperty N'MS_Description', N'valore ordinamento default', 'SCHEMA', N'dbo', 'TABLE', N'Misure', 'COLUMN', N'Ordinale'
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
EXEC sp_addextendedproperty N'MS_Description', N'Revisione incrementale dello stato (solo se ultima editing permesso)', 'SCHEMA', N'dbo', 'TABLE', N'Misure', 'COLUMN', N'Rev'
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
EXEC sp_addextendedproperty N'MS_Description', N'valore della misura effettuata (NON ancora convertito per TIPO)', 'SCHEMA', N'dbo', 'TABLE', N'Misure', 'COLUMN', N'ValoreMis'
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
EXEC sp_addextendedproperty N'MS_Description', N'Valore del parametro (opzionale) di validazione', 'SCHEMA', N'dbo', 'TABLE', N'Misure', 'COLUMN', N'ValorePar'
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
EXEC sp_addextendedproperty N'MS_Description', N'stato avanzamento = FASE ATTUALE della scheda...', 'SCHEMA', N'dbo', 'TABLE', N'NoteDossier', 'COLUMN', N'Fase'
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
EXEC sp_addextendedproperty N'MS_Description', N'note sul dossier', 'SCHEMA', N'dbo', 'TABLE', N'NoteDossier', 'COLUMN', N'Note'
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
EXEC sp_addextendedproperty N'MS_Description', N'Revisione incrementale (ULTIMA) dato lo stato', 'SCHEMA', N'dbo', 'TABLE', N'NoteDossier', 'COLUMN', N'Rev'
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
EXEC sp_addextendedproperty N'MS_DiagramPane1', N'[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 = "Misure"
|
|
Begin Extent =
|
|
Top = 7
|
|
Left = 48
|
|
Bottom = 303
|
|
Right = 242
|
|
End
|
|
DisplayFlags = 280
|
|
TopColumn = 0
|
|
End
|
|
End
|
|
End
|
|
Begin SQLPane =
|
|
End
|
|
Begin DataPane =
|
|
Begin ParameterDefaults = ""
|
|
End
|
|
Begin ColumnWidths = 9
|
|
Width = 284
|
|
Width = 1200
|
|
Width = 1200
|
|
Width = 1200
|
|
Width = 1200
|
|
Width = 1200
|
|
Width = 1200
|
|
Width = 1200
|
|
Width = 1200
|
|
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', N'dbo', 'VIEW', N'v_DFR_all', NULL, NULL
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
DECLARE @xp int
|
|
SELECT @xp=1
|
|
EXEC sp_addextendedproperty N'MS_DiagramPaneCount', @xp, 'SCHEMA', N'dbo', 'VIEW', N'v_DFR_all', NULL, NULL
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
EXEC sp_addextendedproperty N'MS_DiagramPane1', N'[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 = "Misure"
|
|
Begin Extent =
|
|
Top = 7
|
|
Left = 48
|
|
Bottom = 170
|
|
Right = 242
|
|
End
|
|
DisplayFlags = 280
|
|
TopColumn = 0
|
|
End
|
|
End
|
|
End
|
|
Begin SQLPane =
|
|
End
|
|
Begin DataPane =
|
|
Begin ParameterDefaults = ""
|
|
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', N'dbo', 'VIEW', N'v_DFR_last', NULL, NULL
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
DECLARE @xp int
|
|
SELECT @xp=1
|
|
EXEC sp_addextendedproperty N'MS_DiagramPaneCount', @xp, 'SCHEMA', N'dbo', 'VIEW', N'v_DFR_last', NULL, NULL
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
EXEC sp_addextendedproperty N'MS_DiagramPane1', N'[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 = "v_DFR_all"
|
|
Begin Extent =
|
|
Top = 7
|
|
Left = 48
|
|
Bottom = 148
|
|
Right = 242
|
|
End
|
|
DisplayFlags = 280
|
|
TopColumn = 0
|
|
End
|
|
End
|
|
End
|
|
Begin SQLPane =
|
|
End
|
|
Begin DataPane =
|
|
Begin ParameterDefaults = ""
|
|
End
|
|
Begin ColumnWidths = 9
|
|
Width = 284
|
|
Width = 1200
|
|
Width = 1200
|
|
Width = 1200
|
|
Width = 1200
|
|
Width = 1200
|
|
Width = 1200
|
|
Width = 1200
|
|
Width = 1200
|
|
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', N'dbo', 'VIEW', N'v_selRev', NULL, NULL
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
DECLARE @xp int
|
|
SELECT @xp=1
|
|
EXEC sp_addextendedproperty N'MS_DiagramPaneCount', @xp, 'SCHEMA', N'dbo', 'VIEW', N'v_selRev', NULL, NULL
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
COMMIT TRANSACTION
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
DECLARE @Success AS BIT
|
|
SET @Success = 1
|
|
SET NOEXEC OFF
|
|
IF (@Success = 1) PRINT 'The database update succeeded'
|
|
ELSE BEGIN
|
|
IF @@TRANCOUNT > 0 ROLLBACK TRANSACTION
|
|
PRINT 'The database update failed'
|
|
END
|
|
GO
|
|
|
|
|
|
-- BIS sono solo Contrain
|
|
|
|
SET NUMERIC_ROUNDABORT OFF
|
|
GO
|
|
SET ANSI_PADDING, ANSI_WARNINGS, CONCAT_NULL_YIELDS_NULL, ARITHABORT, QUOTED_IDENTIFIER, ANSI_NULLS ON
|
|
GO
|
|
SET XACT_ABORT ON
|
|
GO
|
|
SET TRANSACTION ISOLATION LEVEL Serializable
|
|
GO
|
|
BEGIN TRANSACTION
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Dropping constraints from [dbo].[ElencoDossier]'
|
|
GO
|
|
ALTER TABLE [dbo].[ElencoDossier] DROP CONSTRAINT [DF_ElencoDossier_Stato]
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Dropping constraints from [dbo].[ElencoDossier]'
|
|
GO
|
|
ALTER TABLE [dbo].[ElencoDossier] DROP CONSTRAINT [DF_ElencoDossier_Stato1]
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Dropping constraints from [dbo].[ElencoDossier]'
|
|
GO
|
|
ALTER TABLE [dbo].[ElencoDossier] DROP CONSTRAINT [DF__ElencoDoss__Note__54968AE5]
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
PRINT N'Adding constraints to [dbo].[ElencoDossier]'
|
|
GO
|
|
ALTER TABLE [dbo].[ElencoDossier] ADD CONSTRAINT [DF_ElencoDossier_FaseAct] DEFAULT ('001') FOR [FaseAct]
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
ALTER TABLE [dbo].[ElencoDossier] ADD CONSTRAINT [DF_ElencoDossier_RevAct] DEFAULT ((0)) FOR [RevAct]
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
ALTER TABLE [dbo].[ElencoDossier] ADD CONSTRAINT [DF__ElencoDossier_Note] DEFAULT ('') FOR [Note]
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
COMMIT TRANSACTION
|
|
GO
|
|
IF @@ERROR <> 0 SET NOEXEC ON
|
|
GO
|
|
DECLARE @Success AS BIT
|
|
SET @Success = 1
|
|
SET NOEXEC OFF
|
|
IF (@Success = 1) PRINT 'The database update succeeded'
|
|
ELSE BEGIN
|
|
IF @@TRANCOUNT > 0 ROLLBACK TRANSACTION
|
|
PRINT 'The database update failed'
|
|
END
|
|
GO
|