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

418 lines
9.5 KiB
Transact-SQL

set xact_abort on
go
begin transaction
go
set ANSI_NULLS on
go
create VIEW v_ElencoFamMacc
AS
SELECT dbo.ElencoFamMacc.CodFam, dbo.ElencoFamMacc.DescrFam, COUNT(dbo.SchemaCollFamMacc.CodScheda) AS numRowChild
FROM dbo.ElencoFamMacc LEFT OUTER JOIN
dbo.SchemaCollFamMacc ON dbo.ElencoFamMacc.CodFam = dbo.SchemaCollFamMacc.CodFam
GROUP BY dbo.ElencoFamMacc.CodFam, dbo.ElencoFamMacc.DescrFam
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 = "ElencoFamMacc"
Begin Extent =
Top = 6
Left = 38
Bottom = 102
Right = 208
End
DisplayFlags = 280
TopColumn = 0
End
Begin Table = "SchemaCollFamMacc"
Begin Extent =
Top = 8
Left = 338
Bottom = 138
Right = 508
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 = 12
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_ElencoFamMacc'
go
exec sp_addextendedproperty 'MS_DiagramPaneCount', 1, 'SCHEMA', 'dbo', 'VIEW', 'v_ElencoFamMacc'
go
commit
go
set xact_abort on
go
begin transaction
go
set ANSI_NULLS on
go
alter PROCEDURE stp_AFM_deleteQuery (@Original_CodFam NVARCHAR(50))
AS
SET NOCOUNT OFF;
BEGIN TRAN
-- cancello eventuale riga tabellone associazione schede/famiglie
DELETE
FROM SchemaCollFamMacc
WHERE ([CodFam] = @Original_CodFam)
-- cancello vera e propria famiglia
DELETE
FROM [dbo].[ElencoFamMacc]
WHERE ([CodFam] = @Original_CodFam)
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.09
-- Description: delete record
-- =============================================
alter PROCEDURE stp_AM_deleteQuery
(
@Original_Matricola nvarchar(50)
)
AS
BEGIN tran
SET NOCOUNT OFF;
DELETE
FROM Tags2Macchine
WHERE Matricola = @Original_Matricola
DELETE
FROM ElencoMacchineCN
WHERE Matricola = @Original_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.10.19
-- Description: recupero record da matricola
-- =============================================
create PROCEDURE stp_AM_getByMatr
(
@Matricola NVARCHAR(50)
)
AS
SET NOCOUNT OFF;
SELECT *
FROM ElencoMacchineCN
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.10.16
-- Description: clona assegnazioni famiglia
-- =============================================
create PROCEDURE stp_SCFM_clonaFamMacc
(
@CodFamFrom NVARCHAR(50) = '' -- sorgente
,@CodFamTo NVARCHAR(50) = '' -- destinazione
)
AS
BEGIN
-- merge: se manca inserisco, se c'è faccio + 1 ...
MERGE SchemaCollFamMacc AS target
USING (SELECT CodScheda, Vers, @CodFamTo AS CodFam, NumSchede, Descrizione, opz
FROM SchemaCollFamMacc
WHERE CodFam = @CodFamFrom) AS source (CodScheda, Vers, CodFam, NumSchede, Descrizione, opz)
ON (target.CodFam = source.CodFam AND target.CodScheda = source.CodScheda AND target.Vers = source.Vers)
WHEN MATCHED THEN
UPDATE SET NumSchede = target.NumSchede + 1
WHEN NOT MATCHED THEN
INSERT (CodScheda, Vers, CodFam, NumSchede, Descrizione, opz)
VALUES (source.CodScheda, source.Vers, source.CodFam, source.NumSchede, source.Descrizione, source.opz);
--INSERT INTO SchemaCollFamMacc(CodScheda, Vers, CodFam, NumSchede, Descrizione, opz)
--SELECT CodScheda, Vers, @CodFamTo AS CodFam, NumSchede, Descrizione, opz
--FROM SchemaCollFamMacc
--WHERE CodFam = @CodFamFrom
END
go
commit
go
set xact_abort on
go
begin transaction
go
set ANSI_NULLS on
go
-- =============================================
-- Author: S.E. Locatelli
-- Create date: 2015.06.16
-- Description: insert record da scheda
-- =============================================
alter PROCEDURE stp_SCM_insByCodSchedaVers
(
@IdxDossier INT
,@CodSchedaVers NVARCHAR(100) -- formato CodScheda.Vers --> da splittare
)
AS
SET NOCOUNT ON;
DECLARE @CodScheda NVARCHAR(50) = '',
@Vers INT = 0
-- splitto e recupero dati...
SELECT @CodScheda = SUBSTRING ( @CodSchedaVers, 0, CHARINDEX ( '.', @CodSchedaVers ) )
SELECT @Vers = REPLACE ( @CodSchedaVers, @CodScheda+'.', '' )
MERGE SchemaCollMacc AS target
USING (SELECT @IdxDossier as IdxDossier, sc.CodScheda, sc.Vers, MAX(ISNULL(scm.NumScheda, 0)) + 1 as NumScheda, sc.Descrizione, sc.FasiEnab
FROM AnagSchede sc
LEFT OUTER JOIN SchemaCollMacc scm ON sc.CodScheda = scm.CodScheda and sc.Vers = scm.Vers
WHERE sc.CodScheda = @CodScheda
AND sc.Vers = @Vers
AND scm.IdxDossier = @IdxDossier
GROUP BY sc.CodScheda, sc.Vers, sc.Descrizione, sc.FasiEnab) AS source (IdxDossier, CodScheda, Vers, NumScheda, Descrizione, FasiEnab)
-- USING (SELECT @IdxDossier, CodScheda, Vers, 1, Descrizione, FasiEnab
--FROM AnagSchede
--WHERE CodScheda = @CodScheda
-- AND Vers = @Vers) AS source (IdxDossier, CodScheda, Vers, NumScheda, Descrizione, FasiEnab)
ON (target.IdxDossier = source.IdxDossier AND target.CodScheda = source.CodScheda AND target.Vers = source.Vers AND target.NumScheda = source.NumScheda)
-- WHEN MATCHED THEN
-- UPDATE SET Traduzione = source.traduzione
WHEN NOT MATCHED THEN
INSERT (IdxDossier, CodScheda, Vers, NumScheda, Descrizione, opz, FasiEnab)
VALUES (source.IdxDossier, source.CodScheda, source.Vers, source.NumScheda, source.Descrizione, 'M', source.FasiEnab);
go
commit
go