PDC_REPORT_CreazioneDB/sql/Collaudo bfdskrepsei02c/procedure/dbo_sp_insertNewReportModelNew.sql
2025-06-26 18:47:11 +02:00

81 lines
2.2 KiB
Transact-SQL

CREATE PROCEDURE [dbo].[sp_insertNewReportModelNew]
@nome as varchar(70),
@descrizione as varchar(250),
@flgModello as bit,
@IdReportModello as int,
@tpReport as smallint,
@utente as varchar(13),
@idCliente as int = null,
@Privacy as tinyint
AS
BEGIN
SET NOCOUNT ON;
DECLARE @found as int
DECLARE @idReport as int
--esiste gia?
--step 1
SELECT @idReport=IdReport FROM [dbo].[Report] WHERE Nome = @nome and Utente = @utente and IdReportModello = @IdReportModello
IF(@idReport > 0)
BEGIN
UPDATE Report SET Descrizione = @Descrizione , DtCreazione = getDate(), Privacy = @Privacy WHERE idReport = @idReport
--step 2
DELETE FROM [dbo].[ReportSezionePers]
WHERE IdReport = @idReport and Utente = @utente
--step 3
select @found = count(*) from [dbo].[ReportPerCliente] where IdCliente = @idCliente and IdReport = @idReport
if(@found > 0)
UPDATE [dbo].[ReportPerCliente]
SET DtAssociazione = getdate()
WHERE IdCliente = @idCliente and IdReport = @idReport
else
INSERT INTO [dbo].[ReportPerCliente]
([DtAssociazione]
,[IdReport]
,[IdCliente])
VALUES
(getdate()
,@idReport
,@idCliente)
END
ELSE
BEGIN
INSERT INTO [dbo].[Report]
([Nome]
,[Descrizione]
,[DtCreazione]
,[FlgModello]
,[IdReportModello]
,[TpReport]
,[Utente]
,[Privacy])
VALUES
(@nome
,@descrizione
,getDate()
,@flgModello
,@IdReportModello
,@tpReport
,@utente
,@Privacy)
SELECT @idReport = @@identity
--step 2
--DELETE FROM [dbo].[ReportSezionePers]
-- WHERE IdReport = @idReport and Utente = @utente
--step 3
--select @found = count(*) from [dbo].[ReportPerCliente] where IdCliente = @idCliente and IdReport = @idReport
--if(@found > 0)
--UPDATE [dbo].[ReportPerCliente]
--SET DtAssociazione = getdate()
--WHERE IdCliente = @idCliente and IdReport = @idReport
--else
INSERT INTO [dbo].[ReportPerCliente]
([DtAssociazione]
,[IdReport]
,[IdCliente])
VALUES
(getdate()
,@idReport
,@idCliente)
END
return @idReport
END