Files
SSC/Release Clienti/Update_CMS-SC_1.9.100.sql
T

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