1196 lines
73 KiB
Transact-SQL
1196 lines
73 KiB
Transact-SQL
USE [master]
|
|
GO
|
|
/****** Object: Database [CMS-OMR] Script Date: 11/12/2018 18:21:48 ******/
|
|
CREATE DATABASE [CMS-OMR]
|
|
CONTAINMENT = NONE
|
|
ON PRIMARY
|
|
( NAME = N'CMS-OMR', FILENAME = N'G:\SQL2016Data\CMS-OMR.mdf' , SIZE = 8192KB , MAXSIZE = UNLIMITED, FILEGROWTH = 65536KB )
|
|
LOG ON
|
|
( NAME = N'CMS-OMR_log', FILENAME = N'F:\SQL2016Log\CMS-OMR_log.ldf' , SIZE = 73728KB , MAXSIZE = 2048GB , FILEGROWTH = 65536KB )
|
|
GO
|
|
ALTER DATABASE [CMS-OMR] SET COMPATIBILITY_LEVEL = 110
|
|
GO
|
|
IF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))
|
|
begin
|
|
EXEC [CMS-OMR].[dbo].[sp_fulltext_database] @action = 'enable'
|
|
end
|
|
GO
|
|
ALTER DATABASE [CMS-OMR] SET ANSI_NULL_DEFAULT OFF
|
|
GO
|
|
ALTER DATABASE [CMS-OMR] SET ANSI_NULLS OFF
|
|
GO
|
|
ALTER DATABASE [CMS-OMR] SET ANSI_PADDING OFF
|
|
GO
|
|
ALTER DATABASE [CMS-OMR] SET ANSI_WARNINGS OFF
|
|
GO
|
|
ALTER DATABASE [CMS-OMR] SET ARITHABORT OFF
|
|
GO
|
|
ALTER DATABASE [CMS-OMR] SET AUTO_CLOSE OFF
|
|
GO
|
|
ALTER DATABASE [CMS-OMR] SET AUTO_SHRINK OFF
|
|
GO
|
|
ALTER DATABASE [CMS-OMR] SET AUTO_UPDATE_STATISTICS ON
|
|
GO
|
|
ALTER DATABASE [CMS-OMR] SET CURSOR_CLOSE_ON_COMMIT OFF
|
|
GO
|
|
ALTER DATABASE [CMS-OMR] SET CURSOR_DEFAULT GLOBAL
|
|
GO
|
|
ALTER DATABASE [CMS-OMR] SET CONCAT_NULL_YIELDS_NULL OFF
|
|
GO
|
|
ALTER DATABASE [CMS-OMR] SET NUMERIC_ROUNDABORT OFF
|
|
GO
|
|
ALTER DATABASE [CMS-OMR] SET QUOTED_IDENTIFIER OFF
|
|
GO
|
|
ALTER DATABASE [CMS-OMR] SET RECURSIVE_TRIGGERS OFF
|
|
GO
|
|
ALTER DATABASE [CMS-OMR] SET DISABLE_BROKER
|
|
GO
|
|
ALTER DATABASE [CMS-OMR] SET AUTO_UPDATE_STATISTICS_ASYNC OFF
|
|
GO
|
|
ALTER DATABASE [CMS-OMR] SET DATE_CORRELATION_OPTIMIZATION OFF
|
|
GO
|
|
ALTER DATABASE [CMS-OMR] SET TRUSTWORTHY OFF
|
|
GO
|
|
ALTER DATABASE [CMS-OMR] SET ALLOW_SNAPSHOT_ISOLATION OFF
|
|
GO
|
|
ALTER DATABASE [CMS-OMR] SET PARAMETERIZATION SIMPLE
|
|
GO
|
|
ALTER DATABASE [CMS-OMR] SET READ_COMMITTED_SNAPSHOT OFF
|
|
GO
|
|
ALTER DATABASE [CMS-OMR] SET HONOR_BROKER_PRIORITY OFF
|
|
GO
|
|
ALTER DATABASE [CMS-OMR] SET RECOVERY FULL
|
|
GO
|
|
ALTER DATABASE [CMS-OMR] SET MULTI_USER
|
|
GO
|
|
ALTER DATABASE [CMS-OMR] SET PAGE_VERIFY CHECKSUM
|
|
GO
|
|
ALTER DATABASE [CMS-OMR] SET DB_CHAINING OFF
|
|
GO
|
|
ALTER DATABASE [CMS-OMR] SET FILESTREAM( NON_TRANSACTED_ACCESS = OFF )
|
|
GO
|
|
ALTER DATABASE [CMS-OMR] SET TARGET_RECOVERY_TIME = 60 SECONDS
|
|
GO
|
|
ALTER DATABASE [CMS-OMR] SET DELAYED_DURABILITY = DISABLED
|
|
GO
|
|
EXEC sys.sp_db_vardecimal_storage_format N'CMS-OMR', N'ON'
|
|
GO
|
|
ALTER DATABASE [CMS-OMR] SET QUERY_STORE = OFF
|
|
GO
|
|
USE [CMS-OMR]
|
|
GO
|
|
ALTER DATABASE SCOPED CONFIGURATION SET LEGACY_CARDINALITY_ESTIMATION = OFF;
|
|
GO
|
|
ALTER DATABASE SCOPED CONFIGURATION FOR SECONDARY SET LEGACY_CARDINALITY_ESTIMATION = PRIMARY;
|
|
GO
|
|
ALTER DATABASE SCOPED CONFIGURATION SET MAXDOP = 0;
|
|
GO
|
|
ALTER DATABASE SCOPED CONFIGURATION FOR SECONDARY SET MAXDOP = PRIMARY;
|
|
GO
|
|
ALTER DATABASE SCOPED CONFIGURATION SET PARAMETER_SNIFFING = ON;
|
|
GO
|
|
ALTER DATABASE SCOPED CONFIGURATION FOR SECONDARY SET PARAMETER_SNIFFING = PRIMARY;
|
|
GO
|
|
ALTER DATABASE SCOPED CONFIGURATION SET QUERY_OPTIMIZER_HOTFIXES = OFF;
|
|
GO
|
|
ALTER DATABASE SCOPED CONFIGURATION FOR SECONDARY SET QUERY_OPTIMIZER_HOTFIXES = PRIMARY;
|
|
GO
|
|
USE [CMS-OMR]
|
|
GO
|
|
/****** Object: User [conn_CMS] Script Date: 11/12/2018 18:21:48 ******/
|
|
CREATE USER [conn_CMS] FOR LOGIN [conn_CMS] WITH DEFAULT_SCHEMA=[dbo]
|
|
GO
|
|
ALTER ROLE [db_owner] ADD MEMBER [conn_CMS]
|
|
GO
|
|
ALTER ROLE [db_accessadmin] ADD MEMBER [conn_CMS]
|
|
GO
|
|
ALTER ROLE [db_ddladmin] ADD MEMBER [conn_CMS]
|
|
GO
|
|
ALTER ROLE [db_datareader] ADD MEMBER [conn_CMS]
|
|
GO
|
|
ALTER ROLE [db_datawriter] ADD MEMBER [conn_CMS]
|
|
GO
|
|
/****** Object: UserDefinedFunction [dbo].[f_padLeft] Script Date: 11/12/2018 18:21:48 ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
/***************************************
|
|
* FUNCTION f_padLeft
|
|
*
|
|
* fornisce una stringa della lunghezza desiderata aggiungendo a sx il carattere richiesto alla @string originale
|
|
*
|
|
* Steamware, S.E.L.
|
|
* mod: 2010.03.19
|
|
*
|
|
****************************************/
|
|
CREATE FUNCTION [dbo].[f_padLeft] (@string VARCHAR(255), @desired_length INTEGER, @pad_character CHAR(1))
|
|
RETURNS VARCHAR(255) AS
|
|
BEGIN
|
|
|
|
-- Prefix the required number of spaces to bulk up the string and then replace the spaces with the desired character
|
|
RETURN CASE
|
|
WHEN LEN(@string) < @desired_length
|
|
THEN REPLACE(SPACE(@desired_length - LEN(@string)), ' ', @pad_character) + @string
|
|
ELSE @string
|
|
END
|
|
|
|
END
|
|
GO
|
|
/****** Object: Table [dbo].[AnagAllarmi] Script Date: 11/12/2018 18:21:48 ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
CREATE TABLE [dbo].[AnagAllarmi](
|
|
[CodAllarme] [nvarchar](50) NOT NULL,
|
|
[Descrizione] [nvarchar](250) NOT NULL,
|
|
[ReportAttivo] [bit] NOT NULL,
|
|
[LastStart] [datetime] NOT NULL,
|
|
[LastEnd] [datetime] NOT NULL,
|
|
[CurrStatus] [bit] NOT NULL,
|
|
CONSTRAINT [PK_AnagAllarmi] PRIMARY KEY CLUSTERED
|
|
(
|
|
[CodAllarme] ASC
|
|
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
|
|
) ON [PRIMARY]
|
|
GO
|
|
/****** Object: Table [dbo].[StoricoAllarmi] Script Date: 11/12/2018 18:21:49 ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
CREATE TABLE [dbo].[StoricoAllarmi](
|
|
[DtEvento] [datetime] NOT NULL,
|
|
[CodAllarme] [nvarchar](50) NOT NULL,
|
|
[Attivo] [bit] NOT NULL,
|
|
CONSTRAINT [PK_StoricoAllarmi] PRIMARY KEY CLUSTERED
|
|
(
|
|
[DtEvento] ASC,
|
|
[CodAllarme] ASC
|
|
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
|
|
) ON [PRIMARY]
|
|
GO
|
|
/****** Object: View [dbo].[vStoricoAllarmiExp] Script Date: 11/12/2018 18:21:49 ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
CREATE VIEW [dbo].[vStoricoAllarmiExp]
|
|
AS
|
|
SELECT dbo.StoricoAllarmi.*, dbo.AnagAllarmi.Descrizione
|
|
FROM dbo.AnagAllarmi INNER JOIN
|
|
dbo.StoricoAllarmi ON dbo.AnagAllarmi.CodAllarme = dbo.StoricoAllarmi.CodAllarme
|
|
GO
|
|
/****** Object: UserDefinedFunction [dbo].[SplitStrings] Script Date: 11/12/2018 18:21:49 ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
-- =============================================
|
|
-- Author: S.E.Locatelli
|
|
-- Create date: 2018.11.09
|
|
-- Description: Splitter stringhe
|
|
-- rif https://sqlperformance.com/2012/07/t-sql-queries/split-strings
|
|
-- =============================================
|
|
CREATE FUNCTION [dbo].[SplitStrings]
|
|
(
|
|
@List NVARCHAR(MAX),
|
|
@Delimiter NVARCHAR(255)
|
|
)
|
|
RETURNS TABLE
|
|
WITH SCHEMABINDING AS
|
|
RETURN
|
|
WITH E1(N) AS ( SELECT 1 UNION ALL SELECT 1 UNION ALL SELECT 1 UNION ALL SELECT 1
|
|
UNION ALL SELECT 1 UNION ALL SELECT 1 UNION ALL SELECT 1
|
|
UNION ALL SELECT 1 UNION ALL SELECT 1 UNION ALL SELECT 1),
|
|
E2(N) AS (SELECT 1 FROM E1 a, E1 b),
|
|
E4(N) AS (SELECT 1 FROM E2 a, E2 b),
|
|
E42(N) AS (SELECT 1 FROM E4 a, E2 b),
|
|
cteTally(N) AS (SELECT 0 UNION ALL SELECT TOP (DATALENGTH(ISNULL(@List,1)))
|
|
ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) FROM E42),
|
|
cteStart(N1) AS (SELECT t.N+1 FROM cteTally t
|
|
WHERE (SUBSTRING(@List,t.N,1) = @Delimiter OR t.N = 0))
|
|
SELECT Item = SUBSTRING(@List, s.N1, ISNULL(NULLIF(CHARINDEX(@Delimiter,@List,s.N1),0)-s.N1,8000))
|
|
FROM cteStart s;
|
|
GO
|
|
/****** Object: Table [dbo].[AnagArticoli] Script Date: 11/12/2018 18:21:49 ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
CREATE TABLE [dbo].[AnagArticoli](
|
|
[CodArt] [nvarchar](50) NOT NULL,
|
|
[Descrizione] [nvarchar](250) NOT NULL,
|
|
CONSTRAINT [PK_AnagArticoli] PRIMARY KEY CLUSTERED
|
|
(
|
|
[CodArt] ASC
|
|
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
|
|
) ON [PRIMARY]
|
|
GO
|
|
/****** Object: Table [dbo].[AnagOperatori] Script Date: 11/12/2018 18:21:49 ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
CREATE TABLE [dbo].[AnagOperatori](
|
|
[Barcode] [nvarchar](50) NOT NULL,
|
|
[Cognome] [nvarchar](50) NOT NULL,
|
|
[Nome] [nvarchar](50) NOT NULL,
|
|
[Password] [nvarchar](50) NOT NULL,
|
|
[Livello] [nvarchar](50) NOT NULL,
|
|
CONSTRAINT [PK_AnagOperatori] PRIMARY KEY CLUSTERED
|
|
(
|
|
[Barcode] ASC
|
|
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
|
|
) ON [PRIMARY]
|
|
GO
|
|
/****** Object: Table [dbo].[TabAttrezzature] Script Date: 11/12/2018 18:21:49 ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
CREATE TABLE [dbo].[TabAttrezzature](
|
|
[CodAttr] [nvarchar](50) NOT NULL,
|
|
[CodArt_A] [nvarchar](50) NOT NULL,
|
|
[CodArt_B] [nvarchar](50) NOT NULL,
|
|
[PartProgMain] [nvarchar](250) NOT NULL,
|
|
[PartProgAux] [nvarchar](250) NOT NULL,
|
|
CONSTRAINT [PK_TabAttrezzature] PRIMARY KEY CLUSTERED
|
|
(
|
|
[CodAttr] ASC,
|
|
[CodArt_A] ASC,
|
|
[CodArt_B] ASC
|
|
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
|
|
) ON [PRIMARY]
|
|
GO
|
|
/****** Object: Table [dbo].[TabOperazioni] Script Date: 11/12/2018 18:21:49 ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
CREATE TABLE [dbo].[TabOperazioni](
|
|
[IdxRec] [int] IDENTITY(1,1) NOT NULL,
|
|
[DtEvento] [datetime] NOT NULL,
|
|
[CodStazione] [nvarchar](50) NOT NULL,
|
|
[CodSottostaz] [nvarchar](50) NOT NULL,
|
|
[CodOperaz] [nvarchar](50) NOT NULL,
|
|
[CodStato] [nvarchar](50) NOT NULL,
|
|
[Datamatrix] [nvarchar](50) NOT NULL,
|
|
CONSTRAINT [PK_TabOperazioni] PRIMARY KEY CLUSTERED
|
|
(
|
|
[IdxRec] ASC
|
|
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
|
|
) ON [PRIMARY]
|
|
GO
|
|
/****** Object: Table [dbo].[TabPezzi] Script Date: 11/12/2018 18:21:49 ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
CREATE TABLE [dbo].[TabPezzi](
|
|
[Datamatrix] [nvarchar](50) NOT NULL,
|
|
[CodArt] [nvarchar](50) NOT NULL,
|
|
[CodStazione] [nvarchar](50) NOT NULL,
|
|
[CodStato] [nvarchar](50) NOT NULL,
|
|
[CodOperazDone] [nvarchar](50) NOT NULL,
|
|
[CodOperazCurr] [nvarchar](50) NOT NULL,
|
|
CONSTRAINT [PK_TabPezzi] PRIMARY KEY CLUSTERED
|
|
(
|
|
[Datamatrix] ASC
|
|
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
|
|
) ON [PRIMARY]
|
|
GO
|
|
ALTER TABLE [dbo].[AnagAllarmi] ADD CONSTRAINT [DF_AnagAllarmi_Descrizione] DEFAULT ('') FOR [Descrizione]
|
|
GO
|
|
ALTER TABLE [dbo].[AnagAllarmi] ADD CONSTRAINT [DF_AnagAllarmi_Attivo] DEFAULT ((1)) FOR [ReportAttivo]
|
|
GO
|
|
ALTER TABLE [dbo].[AnagAllarmi] ADD CONSTRAINT [DF_AnagAllarmi_LastStart] DEFAULT (getdate()) FOR [LastStart]
|
|
GO
|
|
ALTER TABLE [dbo].[AnagAllarmi] ADD CONSTRAINT [DF_AnagAllarmi_LastEnd] DEFAULT (getdate()) FOR [LastEnd]
|
|
GO
|
|
ALTER TABLE [dbo].[AnagAllarmi] ADD CONSTRAINT [DF_AnagAllarmi_CurrStatus] DEFAULT ((0)) FOR [CurrStatus]
|
|
GO
|
|
ALTER TABLE [dbo].[AnagArticoli] ADD CONSTRAINT [DF_AnagArticoli_CodPartProgram] DEFAULT ('') FOR [Descrizione]
|
|
GO
|
|
ALTER TABLE [dbo].[AnagOperatori] ADD CONSTRAINT [DF_AnagOperatori_Cognome] DEFAULT (N'Cognome') FOR [Cognome]
|
|
GO
|
|
ALTER TABLE [dbo].[AnagOperatori] ADD CONSTRAINT [DF_AnagOperatori_Nome] DEFAULT (N'Nome') FOR [Nome]
|
|
GO
|
|
ALTER TABLE [dbo].[AnagOperatori] ADD CONSTRAINT [DF_AnagOperatori_Nome1] DEFAULT (N'------') FOR [Password]
|
|
GO
|
|
ALTER TABLE [dbo].[AnagOperatori] ADD CONSTRAINT [DF_AnagOperatori_Nome1_1] DEFAULT (N'Base') FOR [Livello]
|
|
GO
|
|
ALTER TABLE [dbo].[StoricoAllarmi] ADD CONSTRAINT [DF_StoricoAllarmi_Attivo] DEFAULT ((1)) FOR [Attivo]
|
|
GO
|
|
ALTER TABLE [dbo].[TabAttrezzature] ADD CONSTRAINT [DF_TabAttrezzature_CodArt_A1_1] DEFAULT (N'ND') FOR [CodAttr]
|
|
GO
|
|
ALTER TABLE [dbo].[TabAttrezzature] ADD CONSTRAINT [DF_TabAttrezzature_CodArt_A] DEFAULT (N'ONLY') FOR [CodArt_A]
|
|
GO
|
|
ALTER TABLE [dbo].[TabAttrezzature] ADD CONSTRAINT [DF_TabAttrezzature_CodArt_A1] DEFAULT (N'ONLY') FOR [CodArt_B]
|
|
GO
|
|
ALTER TABLE [dbo].[TabAttrezzature] ADD CONSTRAINT [DF_TabAttrezzature_PartProgMain] DEFAULT ('') FOR [PartProgMain]
|
|
GO
|
|
ALTER TABLE [dbo].[TabAttrezzature] ADD CONSTRAINT [DF_TabAttrezzature_PartProgAux] DEFAULT ('') FOR [PartProgAux]
|
|
GO
|
|
ALTER TABLE [dbo].[TabOperazioni] ADD CONSTRAINT [DF_TabOperazioni_DtOpr] DEFAULT (getdate()) FOR [DtEvento]
|
|
GO
|
|
ALTER TABLE [dbo].[TabOperazioni] ADD CONSTRAINT [DF_TabOperazioni_CodStazione] DEFAULT ('') FOR [CodStazione]
|
|
GO
|
|
ALTER TABLE [dbo].[TabOperazioni] ADD CONSTRAINT [DF_TabOperazioni_CodSottostaz] DEFAULT ('') FOR [CodSottostaz]
|
|
GO
|
|
ALTER TABLE [dbo].[TabOperazioni] ADD CONSTRAINT [DF_TabOperazioni_CodOperaz] DEFAULT ('') FOR [CodOperaz]
|
|
GO
|
|
ALTER TABLE [dbo].[TabOperazioni] ADD CONSTRAINT [DF_TabOperazioni_IdxStato] DEFAULT ('') FOR [CodStato]
|
|
GO
|
|
ALTER TABLE [dbo].[TabOperazioni] ADD CONSTRAINT [DF_TabOperazioni_Datamatrix] DEFAULT ('') FOR [Datamatrix]
|
|
GO
|
|
ALTER TABLE [dbo].[TabPezzi] ADD CONSTRAINT [DF_TabPezzi_Datamatrix] DEFAULT ('') FOR [Datamatrix]
|
|
GO
|
|
ALTER TABLE [dbo].[TabPezzi] ADD CONSTRAINT [DF_TabPezzi_CodArt] DEFAULT ('') FOR [CodArt]
|
|
GO
|
|
ALTER TABLE [dbo].[TabPezzi] ADD CONSTRAINT [DF_TabPezzi_CodStazione] DEFAULT ('') FOR [CodStazione]
|
|
GO
|
|
ALTER TABLE [dbo].[TabPezzi] ADD CONSTRAINT [DF_TabPezzi_CodStato] DEFAULT ('') FOR [CodStato]
|
|
GO
|
|
ALTER TABLE [dbo].[TabPezzi] ADD CONSTRAINT [DF_TabPezzi_CodOperazDone] DEFAULT ('') FOR [CodOperazDone]
|
|
GO
|
|
ALTER TABLE [dbo].[TabPezzi] ADD CONSTRAINT [DF_TabPezzi_CodOperazCurr] DEFAULT ('') FOR [CodOperazCurr]
|
|
GO
|
|
ALTER TABLE [dbo].[StoricoAllarmi] WITH CHECK ADD CONSTRAINT [FK_StoricoAllarmi_AnagAllarmi] FOREIGN KEY([CodAllarme])
|
|
REFERENCES [dbo].[AnagAllarmi] ([CodAllarme])
|
|
ON UPDATE CASCADE
|
|
GO
|
|
ALTER TABLE [dbo].[StoricoAllarmi] CHECK CONSTRAINT [FK_StoricoAllarmi_AnagAllarmi]
|
|
GO
|
|
ALTER TABLE [dbo].[TabOperazioni] WITH CHECK ADD CONSTRAINT [FK_TabOperazioni_TabPezzi1] FOREIGN KEY([Datamatrix])
|
|
REFERENCES [dbo].[TabPezzi] ([Datamatrix])
|
|
ON UPDATE CASCADE
|
|
GO
|
|
ALTER TABLE [dbo].[TabOperazioni] CHECK CONSTRAINT [FK_TabOperazioni_TabPezzi1]
|
|
GO
|
|
ALTER TABLE [dbo].[TabPezzi] WITH CHECK ADD CONSTRAINT [FK_TabPezzi_AnagArticoli] FOREIGN KEY([CodArt])
|
|
REFERENCES [dbo].[AnagArticoli] ([CodArt])
|
|
ON UPDATE CASCADE
|
|
GO
|
|
ALTER TABLE [dbo].[TabPezzi] CHECK CONSTRAINT [FK_TabPezzi_AnagArticoli]
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[stp_Allarmi_checkStatus] Script Date: 11/12/2018 18:21:49 ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
|
|
|
|
-- =============================================
|
|
-- Author: S.E.Locatelli
|
|
-- Create date: 2018.10.15
|
|
-- Description: Verifica stringa Allarmi attivi (delta)
|
|
-- e processa di conseguenza registrando history
|
|
-- =============================================
|
|
CREATE PROCEDURE [dbo].[stp_Allarmi_checkStatus]
|
|
(
|
|
@charSep CHAR(1) -- separatore elenco, default è ","
|
|
,@alarmList NVARCHAR(MAX) -- elenco allarmi attivi con separatore indicato
|
|
)
|
|
AS
|
|
BEGIN
|
|
|
|
BEGIN tran
|
|
SET NOCOUNT ON;
|
|
|
|
DECLARE @adesso DATETIME = GETDATE()
|
|
|
|
-- splitta elenco allarmi da stringa + separatore e salva in temp table...
|
|
SELECT *
|
|
INTO #CurrAlarm
|
|
FROM
|
|
(
|
|
SELECT * FROM dbo.SplitStrings(@alarmList,@charSep)
|
|
---- vers sql2016
|
|
--SELECT value FROM STRING_SPLIT(@alarmList, @charSep)
|
|
) as tblStatus
|
|
|
|
--SELECT * from #CurrAlarm
|
|
|
|
-- per PRIMA COSA inserisco EVENTUALI NUOVI allarmi mai visti...
|
|
;WITH cte2Ins AS
|
|
(
|
|
-- allarmi padded a 8 char
|
|
SELECT dbo.f_padLeft(CAl.Item, 9, '0') AS CodAllarme, 'ND' AS Descrizione, 1 as ReportAttivo, '1900-01-01' AS LastStart, '1900-01-01' AS LastEnd, 0 CurrStatus
|
|
FROM AnagAllarmi AS AAl
|
|
RIGHT OUTER JOIN #CurrAlarm CAl ON dbo.f_padLeft(AAl.CodAllarme, 9, '0') = dbo.f_padLeft(CAl.Item, 9, '0')
|
|
WHERE AAl.CodAllarme IS NULL
|
|
)
|
|
INSERT INTO AnagAllarmi
|
|
SELECT * FROM cte2Ins
|
|
|
|
-- effettua check tra allarmi attivi e nuova lista, --> registro allarmi cessati
|
|
SELECT *
|
|
INTO #NewAlarms
|
|
FROM
|
|
(
|
|
-- allarmi padded a 8 char
|
|
SELECT *, 'NEW' as stato
|
|
FROM AnagAllarmi AAl
|
|
--INNER JOIN #CurrAlarm CAl ON AAl.CodAllarme = CAl.value
|
|
INNER JOIN #CurrAlarm CAl ON dbo.f_padLeft(AAl.CodAllarme, 9, '0') = dbo.f_padLeft(CAl.Item, 9, '0')
|
|
WHERE AAl.ReportAttivo = 1
|
|
AND AAl.CurrStatus = 0
|
|
) as tblNewAarms
|
|
|
|
-- effettua check tra allarmi attivi e nuova lista, --> registro allarmi NUOVI
|
|
SELECT *
|
|
INTO #CeasedAlarms
|
|
FROM
|
|
(
|
|
SELECT *, 'CEASED' as stato
|
|
FROM AnagAllarmi AAl
|
|
--LEFT OUTER JOIN #CurrAlarm CAl ON AAl.CodAllarme = CAl.value
|
|
LEFT OUTER JOIN #CurrAlarm CAl ON dbo.f_padLeft(AAl.CodAllarme, 9, '0') = dbo.f_padLeft(CAl.Item, 9, '0')
|
|
WHERE AAl.ReportAttivo = 1
|
|
AND AAl.CurrStatus = 1
|
|
--AND CAl.value IS NULL
|
|
AND CAl.Item IS NULL
|
|
) as tblCeasedAlarms
|
|
|
|
----------------------------------
|
|
-- processo allarmi NUOVI
|
|
----------------------------------
|
|
-- ora aggiorno in anagrafica
|
|
UPDATE AnagAllarmi
|
|
SET CurrStatus = 1
|
|
,LastStart = @adesso
|
|
from AnagAllarmi AAl
|
|
INNER JOIN #NewAlarms nAl ON dbo.f_padLeft(AAl.CodAllarme, 9, '0') = dbo.f_padLeft(nAl.CodAllarme, 9, '0')
|
|
-- riporto in history...
|
|
INSERT INTO StoricoAllarmi(DtEvento, CodAllarme, Attivo)
|
|
SELECT @adesso, CodAllarme, 1
|
|
FROM #NewAlarms
|
|
|
|
|
|
|
|
----------------------------------
|
|
-- processo allarmi CESSATI
|
|
----------------------------------
|
|
-- ora aggiorno in anagrafica
|
|
UPDATE AnagAllarmi
|
|
SET CurrStatus = 0
|
|
,LastEnd = @adesso
|
|
from AnagAllarmi AAl
|
|
INNER JOIN #CeasedAlarms nAl ON dbo.f_padLeft(AAl.CodAllarme, 9, '0') = dbo.f_padLeft(nAl.CodAllarme, 9, '0')
|
|
-- riporto in history...
|
|
INSERT INTO StoricoAllarmi(DtEvento, CodAllarme, Attivo)
|
|
SELECT @adesso, CodAllarme, 0
|
|
FROM #CeasedAlarms
|
|
|
|
COMMIT tran
|
|
END
|
|
|
|
|
|
|
|
-- UPDATE
|
|
update AnagAllarmi set CodAllarme = dbo.f_padLeft(CodAllarme, 9, '0')
|
|
|
|
select * from AnagAllarmi
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[stp_Allarmi_getLast] Script Date: 11/12/2018 18:21:49 ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Author: S.E.Locatelli
|
|
-- Create date: 2018.10.15
|
|
-- Description: Recupera ultimi record dallo storico allarmi
|
|
-- =============================================
|
|
CREATE PROCEDURE [dbo].[stp_Allarmi_getLast]
|
|
(
|
|
@maxNum INT = 100 -- default mostra 100 records
|
|
)
|
|
AS
|
|
BEGIN
|
|
|
|
SET NOCOUNT ON;
|
|
|
|
SELECT TOP (@maxNum) *
|
|
FROM vStoricoAllarmiExp
|
|
ORDER BY DtEvento DESC
|
|
|
|
END
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[stp_AnagArt_deleteQuery] Script Date: 11/12/2018 18:21:49 ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Author: S.E.Locatelli
|
|
-- Create date: 2018.11.05
|
|
-- Description: elimina articolo (e programmi)
|
|
-- =============================================
|
|
create PROCEDURE [dbo].[stp_AnagArt_deleteQuery]
|
|
(
|
|
@CodArt NVARCHAR(50) = '' -- Codice Articolo
|
|
)
|
|
AS
|
|
BEGIN
|
|
|
|
SET NOCOUNT ON;
|
|
|
|
DELETE
|
|
FROM AnagArticoli
|
|
WHERE CodArt = @CodArt
|
|
|
|
END
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[stp_AnagArt_insertQuery] Script Date: 11/12/2018 18:21:49 ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Author: S.E.Locatelli
|
|
-- Create date: 2018.11.05
|
|
-- Description: inserisce articolo (e programmi)
|
|
-- =============================================
|
|
CREATE PROCEDURE [dbo].[stp_AnagArt_insertQuery]
|
|
(
|
|
@CodArt NVARCHAR(50) = '' -- Codice Articolo
|
|
,@Descrizione NVARCHAR(250) = ''
|
|
)
|
|
AS
|
|
BEGIN
|
|
|
|
SET NOCOUNT ON;
|
|
|
|
INSERT INTO AnagArticoli(CodArt, Descrizione)
|
|
VALUES(@CodArt, @Descrizione)
|
|
|
|
END
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[stp_AnagArt_search] Script Date: 11/12/2018 18:21:49 ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Author: S.E.Locatelli
|
|
-- Create date: 2018.11.05
|
|
-- Description: cerca articolo (e programmi)
|
|
-- =============================================
|
|
CREATE PROCEDURE [dbo].[stp_AnagArt_search]
|
|
(
|
|
@CodArt NVARCHAR(50) = '' -- Codice Articolo
|
|
)
|
|
AS
|
|
BEGIN
|
|
|
|
SET NOCOUNT ON;
|
|
|
|
SELECT *
|
|
FROM AnagArticoli
|
|
WHERE CodArt = @CodArt
|
|
|
|
END
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[stp_AnagArt_updateQuery] Script Date: 11/12/2018 18:21:49 ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Author: S.E.Locatelli
|
|
-- Create date: 2018.11.05
|
|
-- Description: update articolo (e programmi)
|
|
-- =============================================
|
|
CREATE PROCEDURE [dbo].[stp_AnagArt_updateQuery]
|
|
(
|
|
@Original_CodArt NVARCHAR(50) = ''
|
|
,@CodArt NVARCHAR(50) = ''
|
|
,@Descrizione NVARCHAR(250) = ''
|
|
)
|
|
AS
|
|
BEGIN
|
|
|
|
SET NOCOUNT ON;
|
|
|
|
UPDATE AnagArticoli
|
|
SET CodArt = @CodArt
|
|
,Descrizione = @Descrizione
|
|
WHERE CodArt = @Original_CodArt
|
|
|
|
END
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[stp_AnagOpr_deleteQuery] Script Date: 11/12/2018 18:21:49 ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Author: S.E.Locatelli
|
|
-- Create date: 2018.11.05
|
|
-- Description: delete operatore
|
|
-- =============================================
|
|
create PROCEDURE [dbo].[stp_AnagOpr_deleteQuery]
|
|
(
|
|
@Barcode NVARCHAR(50) = ''
|
|
)
|
|
AS
|
|
BEGIN
|
|
|
|
SET NOCOUNT ON;
|
|
|
|
DELETE FROM AnagOperatori
|
|
WHERE Barcode = @Barcode
|
|
|
|
END
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[stp_AnagOpr_insertQuery] Script Date: 11/12/2018 18:21:49 ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Author: S.E.Locatelli
|
|
-- Create date: 2018.11.05
|
|
-- Description: insert operatore
|
|
-- =============================================
|
|
CREATE PROCEDURE [dbo].[stp_AnagOpr_insertQuery]
|
|
(
|
|
@Barcode NVARCHAR(50) = ''
|
|
,@Cognome NVARCHAR(50) = ''
|
|
,@Nome NVARCHAR(50) = ''
|
|
,@Password NVARCHAR(50) = ''
|
|
,@Livello NVARCHAR(50) = ''
|
|
)
|
|
AS
|
|
BEGIN
|
|
|
|
SET NOCOUNT ON;
|
|
INSERT INTO AnagOperatori(Barcode, Cognome, Nome, [Password], Livello)
|
|
VALUES (@Barcode, @Cognome, @Nome, @Password, @Livello)
|
|
|
|
END
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[stp_AnagOpr_search] Script Date: 11/12/2018 18:21:49 ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Author: S.E.Locatelli
|
|
-- Create date: 2018.11.05
|
|
-- Description: cerca operatore
|
|
-- =============================================
|
|
create PROCEDURE [dbo].[stp_AnagOpr_search]
|
|
(
|
|
@Barcode NVARCHAR(50) = ''
|
|
)
|
|
AS
|
|
BEGIN
|
|
|
|
SET NOCOUNT ON;
|
|
|
|
SELECT *
|
|
FROM AnagOperatori
|
|
WHERE Barcode = @Barcode
|
|
|
|
END
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[stp_AnagOpr_updateQuery] Script Date: 11/12/2018 18:21:49 ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Author: S.E.Locatelli
|
|
-- Create date: 2018.11.05
|
|
-- Description: update operatore
|
|
-- =============================================
|
|
CREATE PROCEDURE [dbo].[stp_AnagOpr_updateQuery]
|
|
(
|
|
@Original_Barcode NVARCHAR(50) = ''
|
|
,@Barcode NVARCHAR(50) = ''
|
|
,@Cognome NVARCHAR(50) = ''
|
|
,@Nome NVARCHAR(50) = ''
|
|
,@Password NVARCHAR(50) = ''
|
|
,@Livello NVARCHAR(50) = ''
|
|
)
|
|
AS
|
|
BEGIN
|
|
|
|
SET NOCOUNT ON;
|
|
|
|
UPDATE AnagOperatori
|
|
SET Barcode = @Barcode
|
|
,Cognome = @Cognome
|
|
,Nome = @Nome
|
|
,[Password] = @Password
|
|
,Livello = @Livello
|
|
WHERE Barcode = @Original_Barcode
|
|
|
|
END
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[stp_TabAttr_deleteQuery] Script Date: 11/12/2018 18:21:49 ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Author: S.E.Locatelli
|
|
-- Create date: 2018.12.11
|
|
-- Description: elimino riga tabella attrezzature (e programmi)
|
|
-- =============================================
|
|
create PROCEDURE [dbo].[stp_TabAttr_deleteQuery]
|
|
(
|
|
@CodAttr NVARCHAR(50) = '' -- Codice Attrezzatura
|
|
,@CodArt_A NVARCHAR(50) = '' -- Codice Articolo A ('*' per tutti, ONLY per "solo altro")
|
|
,@CodArt_B NVARCHAR(50) = '' -- Codice Articolo B ('*' per tutti, ONLY per "solo altro")
|
|
)
|
|
AS
|
|
BEGIN
|
|
|
|
SET NOCOUNT ON;
|
|
|
|
DELETE
|
|
FROM TabAttrezzature
|
|
WHERE CodAttr = @CodAttr
|
|
AND CodArt_A = @CodArt_A
|
|
AND CodArt_B = @CodArt_B
|
|
|
|
END
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[stp_TabAttr_insertQuery] Script Date: 11/12/2018 18:21:49 ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Author: S.E.Locatelli
|
|
-- Create date: 2018.12.11
|
|
-- Description: insert riga tabella attrezzature (e programmi)
|
|
-- =============================================
|
|
create PROCEDURE [dbo].[stp_TabAttr_insertQuery]
|
|
(
|
|
@CodAttr NVARCHAR(50) = '' -- Codice Attrezzatura
|
|
,@CodArt_A NVARCHAR(50) = '' -- Codice Articolo A
|
|
,@CodArt_B NVARCHAR(50) = '' -- Codice Articolo B
|
|
,@PartProgMain NVARCHAR(250) = '' -- PartProgram principale
|
|
,@PartProgAux NVARCHAR(250) = '' -- PartProgram ausiliario
|
|
)
|
|
AS
|
|
BEGIN
|
|
|
|
SET NOCOUNT ON;
|
|
INSERT INTO TabAttrezzature(CodAttr, CodArt_A, CodArt_B, PartProgMain, PartProgAux)
|
|
VALUES(@CodAttr, @CodArt_A, @CodArt_B, @PartProgMain, @PartProgAux)
|
|
|
|
END
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[stp_TabAttr_search] Script Date: 11/12/2018 18:21:49 ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Author: S.E.Locatelli
|
|
-- Create date: 2018.12.11
|
|
-- Description: cerca tabella attrezzature (e programmi)
|
|
-- =============================================
|
|
create PROCEDURE [dbo].[stp_TabAttr_search]
|
|
(
|
|
@CodAttr NVARCHAR(50) = '' -- Codice Attrezzatura
|
|
,@CodArt_A NVARCHAR(50) = '' -- Codice Articolo A ('*' per tutti, ONLY per "solo altro")
|
|
,@CodArt_B NVARCHAR(50) = '' -- Codice Articolo B ('*' per tutti, ONLY per "solo altro")
|
|
)
|
|
AS
|
|
BEGIN
|
|
|
|
SET NOCOUNT ON;
|
|
|
|
SELECT *
|
|
FROM TabAttrezzature
|
|
WHERE CodAttr = @CodAttr
|
|
AND ((CodArt_A = @CodArt_A) OR @CodArt_A = '*')
|
|
AND ((CodArt_B = @CodArt_B) OR @CodArt_B = '*')
|
|
|
|
END
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[stp_TabAttr_updateQuery] Script Date: 11/12/2018 18:21:49 ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Author: S.E.Locatelli
|
|
-- Create date: 2018.12.11
|
|
-- Description: insert riga tabella attrezzature (e programmi)
|
|
-- =============================================
|
|
create PROCEDURE [dbo].[stp_TabAttr_updateQuery]
|
|
(
|
|
@Original_CodAttr NVARCHAR(50) = ''
|
|
,@CodAttr NVARCHAR(50) = '' -- Codice Attrezzatura
|
|
,@CodArt_A NVARCHAR(50) = '' -- Codice Articolo A
|
|
,@CodArt_B NVARCHAR(50) = '' -- Codice Articolo B
|
|
,@PartProgMain NVARCHAR(250) = '' -- PartProgram principale
|
|
,@PartProgAux NVARCHAR(250) = '' -- PartProgram ausiliario
|
|
)
|
|
AS
|
|
BEGIN
|
|
|
|
SET NOCOUNT ON;
|
|
|
|
|
|
UPDATE TabAttrezzature
|
|
SET CodAttr = @CodAttr
|
|
,CodArt_A = @CodArt_A
|
|
,CodArt_B = @CodArt_B
|
|
,PartProgMain = @PartProgMain
|
|
,PartProgAux = @PartProgAux
|
|
WHERE CodAttr = @Original_CodAttr
|
|
|
|
END
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[stp_TabOpr_deleteAll] Script Date: 11/12/2018 18:21:49 ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Author: S.E.Locatelli
|
|
-- Create date: 2018.10.15
|
|
-- Description: Effettua uno svuotamento completo della tab operazioni
|
|
-- =============================================
|
|
CREATE PROCEDURE [dbo].[stp_TabOpr_deleteAll]
|
|
(
|
|
@authKey NVARCHAR(50) = '' -- chiave x verifica auth a cancellare...
|
|
)
|
|
AS
|
|
BEGIN
|
|
BEGIN tran
|
|
SET NOCOUNT ON;
|
|
|
|
-- verifico comando
|
|
IF(@authKey ='digheDelBu')
|
|
BEGIN
|
|
TRUNCATE TABLE TabOperazioni
|
|
TRUNCATE TABLE StoricoAllarmi
|
|
DELETE FROM TabPezzi
|
|
--TRUNCATE TABLE TabPezzi
|
|
END
|
|
COMMIT tran
|
|
END
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[stp_TabOpr_getLast] Script Date: 11/12/2018 18:21:49 ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Author: S.E.Locatelli
|
|
-- Create date: 2018.10.15
|
|
-- Description: Recupera elenco ultimi record inseriti in TabOperazioni
|
|
-- =============================================
|
|
CREATE PROCEDURE [dbo].[stp_TabOpr_getLast]
|
|
(
|
|
@maxNum INT = 100 -- default mostra 100 records
|
|
)
|
|
AS
|
|
BEGIN
|
|
|
|
SET NOCOUNT ON;
|
|
|
|
SELECT TOP (@maxNum) *
|
|
FROM TabOperazioni
|
|
ORDER BY DtEvento DESC
|
|
|
|
END
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[stp_TabOpr_insertQuery] Script Date: 11/12/2018 18:21:49 ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Author: S.E.Locatelli
|
|
-- Create date: 2018.10.15
|
|
-- Description: Effettua registrazione di un operazione su un pezzo:
|
|
-- - SE NON CI FOSSE CREA nuovo pezzo
|
|
-- - registra nuova riga operazione
|
|
-- - effettua eventuale update riga PEZZO
|
|
-- =============================================
|
|
CREATE PROCEDURE [dbo].[stp_TabOpr_insertQuery]
|
|
(
|
|
@Datamatrix NVARCHAR(50) = '' -- identificativo telaio letto
|
|
,@CodArt NVARCHAR(50) = '' -- Codice Articolo
|
|
,@CodStazione NVARCHAR(50) = '' -- codice della stazione
|
|
,@CodSottostaz NVARCHAR(50) = '' -- codice della sottostazione
|
|
,@CodOperaz NVARCHAR(50) = '' -- codice dell'operazione
|
|
,@CodStato NVARCHAR(50) = '' -- codice dello stato dell'attivita
|
|
)
|
|
AS
|
|
BEGIN
|
|
BEGIN tran
|
|
SET NOCOUNT ON;
|
|
|
|
-- variabili
|
|
DECLARE @Fatto INT = 0
|
|
DECLARE @Trovati INT = 0
|
|
DECLARE @IdxPezzo INT = 0
|
|
DECLARE @CodOperazDone NVARCHAR(50) = ''
|
|
|
|
-- verifico se ci sia articolo (sennò MI FERMO...)
|
|
SELECT @Trovati = COUNT(*)
|
|
FROM AnagArticoli
|
|
WHERE CodArt = @CodArt
|
|
|
|
IF(@Trovati = 1)
|
|
BEGIN
|
|
-- verifico se ci sia già il pezzo
|
|
SELECT @Trovati = COUNT(*)
|
|
FROM TabPezzi
|
|
WHERE Datamatrix = @Datamatrix
|
|
-- recupero ULTIMA operazione (se c'è)
|
|
SELECT @CodOperazDone = ISNULL(CodOperazCurr,'')
|
|
FROM TabPezzi
|
|
WHERE Datamatrix = @Datamatrix
|
|
|
|
-- verifico IN PRIMIS se va creato nuovo record con quel datamatrix
|
|
IF(@Trovati = 0)
|
|
BEGIN
|
|
INSERT INTO TabPezzi (Datamatrix, CodArt, CodStazione, CodStato)
|
|
VALUES (@Datamatrix, @CodArt, @CodStazione, @CodStato)
|
|
END
|
|
|
|
-- registro operazione
|
|
INSERT INTO TabOperazioni (CodStazione, CodSottostaz, CodOperaz, CodStato, Datamatrix)
|
|
VALUES (@CodStazione, @CodSottostaz, @CodOperaz, @CodStato, @Datamatrix)
|
|
|
|
-- aggiorno record pezzo
|
|
UPDATE TabPezzi
|
|
SET CodStazione = @CodStazione
|
|
,CodStato = @CodStato
|
|
,CodOperazDone = @CodOperazDone
|
|
,CodOperazCurr = @CodOperaz
|
|
WHERE Datamatrix = @Datamatrix
|
|
|
|
-- indico che ho fatto (>0)
|
|
SELECT @Fatto = 1
|
|
END
|
|
|
|
-- retitusico risultato
|
|
SELECT @Fatto as fatto
|
|
|
|
COMMIT tran
|
|
END
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[stp_TabOpr_purgeOld] Script Date: 11/12/2018 18:21:49 ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Author: S.E.Locatelli
|
|
-- Create date: 2018.10.15
|
|
-- Description: Effettua uno svecchiamento della tab operazioni
|
|
-- =============================================
|
|
create PROCEDURE [dbo].[stp_TabOpr_purgeOld]
|
|
(
|
|
@days2keep INT = 365 -- default tiene ultimi 365gg
|
|
)
|
|
AS
|
|
BEGIN
|
|
BEGIN tran
|
|
SET NOCOUNT ON;
|
|
|
|
-- variabili
|
|
DECLARE @Fatto INT = 0
|
|
-- normalizzo valore come > 0
|
|
IF(@days2keep < 0)
|
|
SELECT @days2keep = -@days2keep
|
|
|
|
-- elimina dati OPR piu vecchi dei gg indicati
|
|
DELETE
|
|
FROM TabOperazioni
|
|
WHERE DtEvento < DATEADD(DAY, -@days2keep, GETDATE())
|
|
|
|
-- indico che ho fatto (>0)
|
|
SELECT @Fatto = 1
|
|
|
|
-- retitusico risultato
|
|
SELECT @Fatto as fatto
|
|
|
|
COMMIT tran
|
|
END
|
|
GO
|
|
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Attivo per reporting in storico' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'AnagAllarmi', @level2type=N'COLUMN',@level2name=N'ReportAttivo'
|
|
GO
|
|
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Codice Datamatrix' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TabOperazioni', @level2type=N'COLUMN',@level2name=N'Datamatrix'
|
|
GO
|
|
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Codice Datamatrix' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TabPezzi', @level2type=N'COLUMN',@level2name=N'Datamatrix'
|
|
GO
|
|
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Cod Articolo (prime 11 cifre del datamatrix, numDisegno)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TabPezzi', @level2type=N'COLUMN',@level2name=N'CodArt'
|
|
GO
|
|
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Stazione ultimo aggiornamento' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TabPezzi', @level2type=N'COLUMN',@level2name=N'CodStazione'
|
|
GO
|
|
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Ultima fase eseguita' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TabPezzi', @level2type=N'COLUMN',@level2name=N'CodOperazDone'
|
|
GO
|
|
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Fase in esecuzione' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TabPezzi', @level2type=N'COLUMN',@level2name=N'CodOperazCurr'
|
|
GO
|
|
EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPane1', @value=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 = "AnagAllarmi"
|
|
Begin Extent =
|
|
Top = 6
|
|
Left = 38
|
|
Bottom = 178
|
|
Right = 208
|
|
End
|
|
DisplayFlags = 280
|
|
TopColumn = 0
|
|
End
|
|
Begin Table = "StoricoAllarmi"
|
|
Begin Extent =
|
|
Top = 5
|
|
Left = 295
|
|
Bottom = 123
|
|
Right = 465
|
|
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
|
|
' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'VIEW',@level1name=N'vStoricoAllarmiExp'
|
|
GO
|
|
EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPaneCount', @value=1 , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'VIEW',@level1name=N'vStoricoAllarmiExp'
|
|
GO
|
|
USE [master]
|
|
GO
|
|
ALTER DATABASE [CMS-OMR] SET READ_WRITE
|
|
GO
|