81 lines
2.2 KiB
Transact-SQL
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 |