485 lines
14 KiB
Transact-SQL
485 lines
14 KiB
Transact-SQL
set xact_abort on
|
|
go
|
|
|
|
begin transaction
|
|
go
|
|
|
|
set ANSI_NULLS on
|
|
go
|
|
|
|
create VIEW v_ElencoMacchine
|
|
AS
|
|
SELECT dbo.ElencoMacchineCN.Matricola, dbo.ElencoMacchineCN.Descrizione, dbo.ElencoMacchineCN.Cliente, dbo.ElencoMacchineCN.CodFam, dbo.ElencoMacchineCN.CorsaX, dbo.ElencoMacchineCN.CorsaY,
|
|
dbo.ElencoMacchineCN.CorsaZ, ISNULL(dbo.ElencoDossier.IdxDossier, 0) AS IdxDossier
|
|
FROM dbo.ElencoMacchineCN LEFT OUTER JOIN
|
|
dbo.ElencoDossier ON dbo.ElencoMacchineCN.Matricola = dbo.ElencoDossier.Matricola
|
|
go
|
|
|
|
exec sp_addextendedproperty 'MS_DiagramPane1', '[0E232FF0-B466-11cf-A24F-00AA00A3EFFF, 1.00]
|
|
Begin DesignProperties =
|
|
Begin PaneConfigurations =
|
|
Begin PaneConfiguration = 0
|
|
NumPanes = 4
|
|
Configuration = "(H (1[40] 4[20] 2[20] 3) )"
|
|
End
|
|
Begin PaneConfiguration = 1
|
|
NumPanes = 3
|
|
Configuration = "(H (1 [50] 4 [25] 3))"
|
|
End
|
|
Begin PaneConfiguration = 2
|
|
NumPanes = 3
|
|
Configuration = "(H (1 [50] 2 [25] 3))"
|
|
End
|
|
Begin PaneConfiguration = 3
|
|
NumPanes = 3
|
|
Configuration = "(H (4 [30] 2 [40] 3))"
|
|
End
|
|
Begin PaneConfiguration = 4
|
|
NumPanes = 2
|
|
Configuration = "(H (1 [56] 3))"
|
|
End
|
|
Begin PaneConfiguration = 5
|
|
NumPanes = 2
|
|
Configuration = "(H (2 [66] 3))"
|
|
End
|
|
Begin PaneConfiguration = 6
|
|
NumPanes = 2
|
|
Configuration = "(H (4 [50] 3))"
|
|
End
|
|
Begin PaneConfiguration = 7
|
|
NumPanes = 1
|
|
Configuration = "(V (3))"
|
|
End
|
|
Begin PaneConfiguration = 8
|
|
NumPanes = 3
|
|
Configuration = "(H (1[56] 4[18] 2) )"
|
|
End
|
|
Begin PaneConfiguration = 9
|
|
NumPanes = 2
|
|
Configuration = "(H (1 [75] 4))"
|
|
End
|
|
Begin PaneConfiguration = 10
|
|
NumPanes = 2
|
|
Configuration = "(H (1[66] 2) )"
|
|
End
|
|
Begin PaneConfiguration = 11
|
|
NumPanes = 2
|
|
Configuration = "(H (4 [60] 2))"
|
|
End
|
|
Begin PaneConfiguration = 12
|
|
NumPanes = 1
|
|
Configuration = "(H (1) )"
|
|
End
|
|
Begin PaneConfiguration = 13
|
|
NumPanes = 1
|
|
Configuration = "(V (4))"
|
|
End
|
|
Begin PaneConfiguration = 14
|
|
NumPanes = 1
|
|
Configuration = "(V (2))"
|
|
End
|
|
ActivePaneConfig = 0
|
|
End
|
|
Begin DiagramPane =
|
|
Begin Origin =
|
|
Top = 0
|
|
Left = 0
|
|
End
|
|
Begin Tables =
|
|
Begin Table = "ElencoMacchineCN"
|
|
Begin Extent =
|
|
Top = 6
|
|
Left = 38
|
|
Bottom = 265
|
|
Right = 208
|
|
End
|
|
DisplayFlags = 280
|
|
TopColumn = 0
|
|
End
|
|
Begin Table = "ElencoDossier"
|
|
Begin Extent =
|
|
Top = 12
|
|
Left = 410
|
|
Bottom = 142
|
|
Right = 580
|
|
End
|
|
DisplayFlags = 280
|
|
TopColumn = 0
|
|
End
|
|
End
|
|
End
|
|
Begin SQLPane =
|
|
End
|
|
Begin DataPane =
|
|
Begin ParameterDefaults = ""
|
|
End
|
|
Begin ColumnWidths = 9
|
|
Width = 284
|
|
Width = 1500
|
|
Width = 1500
|
|
Width = 1500
|
|
Width = 1500
|
|
Width = 1500
|
|
Width = 1500
|
|
Width = 1500
|
|
Width = 1500
|
|
End
|
|
End
|
|
Begin CriteriaPane =
|
|
Begin ColumnWidths = 11
|
|
Column = 1440
|
|
Alias = 900
|
|
Table = 1170
|
|
Output = 720
|
|
Append = 1400
|
|
NewValue = 1170
|
|
SortType = 1350
|
|
SortOrder = 1410
|
|
GroupBy = 1350
|
|
Filter = 1350
|
|
Or = 1350
|
|
Or = 1350
|
|
Or = 1350
|
|
End
|
|
End
|
|
End
|
|
', 'SCHEMA', 'dbo', 'VIEW', 'v_ElencoMacchine'
|
|
go
|
|
|
|
exec sp_addextendedproperty 'MS_DiagramPaneCount', 1, 'SCHEMA', 'dbo', 'VIEW', 'v_ElencoMacchine'
|
|
go
|
|
|
|
commit
|
|
go
|
|
|
|
|
|
set xact_abort on
|
|
go
|
|
|
|
begin transaction
|
|
go
|
|
|
|
set ANSI_NULLS on
|
|
go
|
|
|
|
-- =============================================
|
|
-- Author: S.E. Locatelli
|
|
-- Create date: 2015.10.19
|
|
-- Description: recupero record da matricola
|
|
-- =============================================
|
|
alter PROCEDURE stp_AM_getByMatr
|
|
(
|
|
@Matricola NVARCHAR(50)
|
|
)
|
|
AS
|
|
SET NOCOUNT OFF;
|
|
|
|
SELECT *
|
|
FROM v_ElencoMacchine
|
|
WHERE Matricola = @Matricola
|
|
go
|
|
|
|
commit
|
|
go
|
|
|
|
|
|
set xact_abort on
|
|
go
|
|
|
|
begin transaction
|
|
go
|
|
|
|
set ANSI_NULLS on
|
|
go
|
|
|
|
-- =============================================
|
|
-- Author: S.E. Locatelli
|
|
-- Create date: 2015.06.09
|
|
-- Description: insert record
|
|
-- =============================================
|
|
alter PROCEDURE stp_AM_insertQuery
|
|
(
|
|
@Matricola NVARCHAR(50),
|
|
@User NVARCHAR(50),
|
|
@Descrizione NVARCHAR(50),
|
|
@Cliente NVARCHAR(50),
|
|
@CodFam NVARCHAR(50),
|
|
@CorsaX INT,
|
|
@CorsaY INT,
|
|
@CorsaZ INT
|
|
)
|
|
AS
|
|
|
|
BEGIN tran
|
|
|
|
SET NOCOUNT OFF;
|
|
|
|
DECLARE @IdxDossier INT = 0
|
|
|
|
-- inserisco macchina
|
|
INSERT INTO ElencoMacchineCN (Matricola, Descrizione, Cliente, CodFam, CorsaX, CorsaY, CorsaZ)
|
|
VALUES (@Matricola, @Descrizione, @Cliente, @CodFam, @CorsaX, @CorsaY, @CorsaZ);
|
|
|
|
-- creo DOSSIER x matricola...
|
|
EXEC stp_ED_InsertQuery @Matricola, @User
|
|
-- leggo numero dossier!
|
|
SELECT @IdxDossier = IdxDossier
|
|
FROM ElencoDossier
|
|
WHERE Matricola = @Matricola
|
|
|
|
-- inserisco schema collaudi da famiglia macchina nel dossier...
|
|
EXEC stp_SCM_insByFamMac @IdxDossier, @CodFam
|
|
|
|
|
|
-- inserisco istanza prove standard x varie fasi...
|
|
EXEC stp_SCM_insMisFasiMissing @IdxDossier
|
|
|
|
SELECT *
|
|
FROM ElencoMacchineCN
|
|
WHERE Matricola = @Matricola
|
|
|
|
COMMIT tran
|
|
go
|
|
|
|
commit
|
|
go
|
|
|
|
set xact_abort on
|
|
go
|
|
|
|
begin transaction
|
|
go
|
|
|
|
set ANSI_NULLS on
|
|
go
|
|
|
|
-- =============================================
|
|
-- Author: S.E. Locatelli
|
|
-- Create date: 2015.06.18
|
|
-- Description: update misura (ede eventualmente parametro) con VERIFICA OK
|
|
-- =============================================
|
|
alter PROCEDURE stp_Mis_updateMis
|
|
(
|
|
@Original_IdxDossier INT
|
|
,@Original_CodScheda NVARCHAR(50)
|
|
,@Original_Vers INT
|
|
,@Original_NumScheda INT
|
|
,@Original_CodMisura NVARCHAR(50)
|
|
,@Original_Fase NVARCHAR(50)
|
|
,@Operatore NVARCHAR(50)
|
|
,@ValorePar FLOAT
|
|
,@ValoreMis NVARCHAR(4000)
|
|
,@CodVisib 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,''))
|
|
WHERE IdxDossier = @Original_IdxDossier
|
|
AND CodScheda = @Original_CodScheda
|
|
AND Vers = @Original_Vers
|
|
AND NumScheda = @Original_NumScheda
|
|
AND CodMisura = @Original_CodMisura
|
|
AND Fase = @Original_Fase
|
|
|
|
RETURN
|
|
go
|
|
|
|
commit
|
|
go
|
|
|
|
|
|
set xact_abort on
|
|
go
|
|
|
|
begin transaction
|
|
go
|
|
|
|
set ANSI_NULLS on
|
|
go
|
|
|
|
-- =============================================
|
|
-- Author: S.E. Locatelli
|
|
-- Create date: 2015.10.20
|
|
-- Description: update misura (ede eventualmente parametro) con VERIFICA OK
|
|
-- =============================================
|
|
alter FUNCTION f_checkVal
|
|
(
|
|
@CodScheda NVARCHAR(50)
|
|
,@Vers INT
|
|
,@CodMisura NVARCHAR(50)
|
|
,@ValorePar FLOAT
|
|
,@ValoreMis NVARCHAR(4000)
|
|
)
|
|
RETURNS BIT
|
|
AS
|
|
BEGIN
|
|
DECLARE @answ BIT = 0
|
|
,@ValFlt FLOAT = 0
|
|
,@TipoValMisura NVARCHAR(50) = ''
|
|
,@NumVal INT = 0
|
|
|
|
DECLARE @delim AS VARCHAR(2)
|
|
DECLARE @chrind INT = 1
|
|
|
|
-- recupero num righe x validazione parametro
|
|
SELECT @NumVal = COUNT(*)
|
|
FROM ValidVal
|
|
WHERE CodScheda = @CodScheda
|
|
AND Vers = @Vers
|
|
AND CodMisura = @CodMisura
|
|
|
|
-- check 1: DEVE ESSERCI ALMENO un valore di validazione da controllare
|
|
IF(@NumVal > 0)
|
|
BEGIN
|
|
-- recupero tipo val misura
|
|
SELECT @TipoValMisura = ISNULL(TipoValMisura,'')
|
|
FROM DettScheda
|
|
WHERE CodScheda = @CodScheda
|
|
AND Vers = @Vers
|
|
AND CodMisura = @CodMisura
|
|
|
|
-- check 2: tipo di valore, se float/int faccio cast e test...
|
|
IF (@TipoValMisura = 'INT' OR @TipoValMisura = 'FLT')
|
|
BEGIN
|
|
|
|
IF LTRIM(RTRIM(ISNULL(@ValoreMis,''))) <> ''
|
|
BEGIN
|
|
-- recupero valore misura come FLOAT
|
|
SELECT @ValFlt = ISNULL(CAST(REPLACE(@ValoreMis,',','.') AS FLOAT), -999999)
|
|
|
|
IF @ValFlt > -999999
|
|
BEGIN
|
|
SELECT @answ = CASE WHEN @ValFlt BETWEEN LIVal AND LSVal THEN 1 ELSE 0 END
|
|
FROM ValidVal
|
|
WHERE CodScheda = @CodScheda
|
|
AND Vers = @Vers
|
|
AND CodMisura = @CodMisura
|
|
AND MinPar <= @ValorePar
|
|
AND MaxPar > @ValorePar
|
|
END
|
|
END
|
|
END
|
|
|
|
-- check 2: se è boolean è test DIRETTO
|
|
ELSE IF (@TipoValMisura = 'BOL')
|
|
BEGIN
|
|
SELECT @answ = ISNULL(CAST(@ValoreMis AS BIT), 0)
|
|
END
|
|
|
|
-- check 3: se è AFLT è test per tutti i valori passati
|
|
ELSE IF (@TipoValMisura = 'AFLT')
|
|
BEGIN
|
|
SET @answ = 0
|
|
-- verifico il formato del delimitatore passato se / o spazio
|
|
IF CHARINDEX('/', @ValoreMis) > 0
|
|
BEGIN
|
|
SET @ValoreMis = REPLACE(@ValoreMis,' ','')
|
|
SET @delim = '/'
|
|
END
|
|
ELSE
|
|
IF CHARINDEX(' ', @ValoreMis) > 0
|
|
BEGIN
|
|
SET @ValoreMis = REPLACE(@ValoreMis,' ',' ') -- se ci sono spazi doppi li riduco cmq a 1
|
|
SET @delim = ' '
|
|
END
|
|
ELSE
|
|
SET @delim = '' -- solo un valore
|
|
|
|
SET @ValoreMis = RTRIM(LTRIM(REPLACE(@ValoreMis,',','.')))
|
|
|
|
WHILE @chrind > 0 AND ISNULL(@ValoreMis,'') <> ''
|
|
BEGIN
|
|
|
|
SELECT @chrind = CHARINDEX(@delim, @ValoreMis)
|
|
|
|
IF @chrind > 0
|
|
SET @ValFlt = CAST(LEFT(@ValoreMis, @chrind - 1) AS FLOAT)
|
|
ELSE
|
|
SELECT @ValFlt = CAST(@ValoreMis AS FLOAT)
|
|
|
|
SELECT @answ = CASE WHEN @ValFlt BETWEEN LIVal AND LSVal THEN 1 ELSE 0 END
|
|
FROM ValidVal
|
|
WHERE CodScheda = @CodScheda
|
|
AND Vers = @Vers
|
|
AND CodMisura = @CodMisura
|
|
AND MinPar <= @ValorePar
|
|
AND MaxPar > @ValorePar
|
|
|
|
SELECT @ValoreMis = RIGHT(@ValoreMis, LEN(@ValoreMis) - @chrind)
|
|
|
|
IF LEN(@ValoreMis) = 0 OR @answ = 0 -- se anche solo un valore KO esco con @answ = 0
|
|
BREAK
|
|
END
|
|
END
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
-- ...(altrimenti è OK per "partito preso" SE HO un valore e KO se non ce l'ho...)
|
|
SELECT @answ = CASE WHEN @ValoreMis <> '' THEN 1 ELSE 0 END
|
|
END
|
|
|
|
RETURN @answ
|
|
END
|
|
go
|
|
|
|
commit
|
|
go
|
|
|
|
|
|
set xact_abort on
|
|
go
|
|
|
|
begin transaction
|
|
go
|
|
|
|
INSERT INTO dbo.Vocabolario
|
|
VALUES (N'EN', N'btnClonaConfFamMacch', N'Clona Famiglia Esistente')
|
|
INSERT INTO dbo.Vocabolario
|
|
VALUES (N'EN', N'insIsEnabled', N'Inserimento Abilitato')
|
|
INSERT INTO dbo.Vocabolario
|
|
VALUES (N'EN', N'insNewMatr', N'Crea Macchina e schede')
|
|
INSERT INTO dbo.Vocabolario
|
|
VALUES (N'EN', N'numMatrExisting', N'Matricola già presente')
|
|
INSERT INTO dbo.Vocabolario
|
|
VALUES (N'EN', N'numMatrIsEmpty', N'Manca Numero Matricola')
|
|
INSERT INTO dbo.Vocabolario
|
|
VALUES (N'EN', N'plsInsNewMatr', N'Nuova Matricola Macchina')
|
|
INSERT INTO dbo.Vocabolario
|
|
VALUES (N'EN', N'selCodFam', N'Selezionare Famiglia')
|
|
INSERT INTO dbo.Vocabolario
|
|
VALUES (N'EN', N'SelectFM_CSV_2ins', N'Selezionare Fam.Macc e Scheda per inserire')
|
|
INSERT INTO dbo.Vocabolario
|
|
VALUES (N'EN', N'warnHasChildRecord', N'Attenzione: record child collegati')
|
|
INSERT INTO dbo.Vocabolario
|
|
VALUES (N'IT', N'btnClonaConfFamMacch', N'Clona Famiglia Esistente')
|
|
INSERT INTO dbo.Vocabolario
|
|
VALUES (N'IT', N'insIsEnabled', N'Inserimento Abilitato')
|
|
INSERT INTO dbo.Vocabolario
|
|
VALUES (N'IT', N'insNewMatr', N'Crea Macchina e schede')
|
|
INSERT INTO dbo.Vocabolario
|
|
VALUES (N'IT', N'numMatrExisting', N'Matricola già presente')
|
|
INSERT INTO dbo.Vocabolario
|
|
VALUES (N'IT', N'numMatrIsEmpty', N'Manca Numero Matricola')
|
|
INSERT INTO dbo.Vocabolario
|
|
VALUES (N'IT', N'plsInsNewMatr', N'Nuova Matricola Macchina')
|
|
INSERT INTO dbo.Vocabolario
|
|
VALUES (N'IT', N'selCodFam', N'Selezionare Famiglia')
|
|
INSERT INTO dbo.Vocabolario
|
|
VALUES (N'IT', N'SelectFM_CSV_2ins', N'Selezionare Fam.Macc e Scheda per inserire')
|
|
INSERT INTO dbo.Vocabolario
|
|
VALUES (N'IT', N'warnHasChildRecord', N'Attenzione: record child collegati')
|
|
go
|
|
|
|
commit transaction
|
|
go
|
|
|
|
|
|
|