You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
142 lines
14 KiB
142 lines
14 KiB
USE [Vertragsverwaltung_20160404]
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[sp_vertragsuebersicht_get_details] Script Date: 02.12.2016 09:08:53 ******/
|
|
DROP PROCEDURE [dbo].[sp_vertragsuebersicht_get_details]
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[sp_vertragsuebersicht_get_details] Script Date: 02.12.2016 09:08:55 ******/
|
|
SET ANSI_NULLS OFF
|
|
GO
|
|
SET QUOTED_IDENTIFIER OFF
|
|
GO
|
|
|
|
CREATE proc [dbo].[sp_vertragsuebersicht_get_details] @Elementtyp varchar(255),
|
|
@EntryRoot int,
|
|
@Vertragspartnernr int,
|
|
@mitarbeiternr int,
|
|
@suchstring varchar(255)
|
|
as
|
|
CREATE TABLE #tmpd(
|
|
[vertragselementnr] [int] ,
|
|
[bezeichnung] [varchar] (255) null,
|
|
[parentid] [int] null,
|
|
[vertragstypnr] [int],
|
|
[aktiv] [bit] null,
|
|
[vertragselementnrursprung] [int] null ,
|
|
[basevertragstypnr] [int] null,
|
|
[key] [int] IDENTITY(1,1) NOT NULL,
|
|
[level] int null,
|
|
[loopcnt] int null,
|
|
|
|
) ON [DEFAULT]
|
|
|
|
declare @tmp int
|
|
|
|
-- Alle untergeordneten Elemente eines Vertragselementes
|
|
if @Elementtyp = "Vertragselement" begin
|
|
declare xc cursor for
|
|
select Vertragselementnr from vertragselement
|
|
where
|
|
(vertragselementnr=@EntryRoot
|
|
and securitylevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr))
|
|
and dbo.search_vertragselement(vertragselementnr, @suchstring)=1 )
|
|
-- 2009-06-26 - Erweiterung, dass auch das angewählte Element mit den Details angezeigt wird
|
|
or
|
|
vertragselementnr=@EntryRoot
|
|
|
|
open xc
|
|
fetch next from xc into @tmp
|
|
while @@fetch_status=0 begin
|
|
execute dbo.sp_vertragsuebersicht_get_struktur_down @tmp,1, 0, 0,0
|
|
fetch next from xc into @tmp
|
|
end
|
|
close xc
|
|
deallocate xc
|
|
end
|
|
|
|
if @Elementtyp="Vertragstyp" begin
|
|
-- Elemente eines ausgew„hlten Partner
|
|
if @Vertragspartnernr<>0 begin
|
|
declare xctyp cursor for
|
|
select Vertragselementnr from vertragselement
|
|
where vertragstypnr=@entryroot and vertragspartnernr=@vertragspartnernr
|
|
and securitylevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr))
|
|
and dbo.search_vertragselement(vertragselementnr, @suchstring)=1
|
|
open xctyp
|
|
fetch next from xctyp into @tmp
|
|
while @@fetch_status=0 begin
|
|
execute dbo.sp_vertragsuebersicht_get_struktur_down @tmp,1, 0, 0,0
|
|
fetch next from xctyp into @tmp
|
|
end
|
|
close xctyp
|
|
deallocate xctyp
|
|
end else begin
|
|
-- Elemente aller Partner
|
|
declare xctyp1 cursor for
|
|
select Vertragselementnr from vertragselement
|
|
where vertragstypnr=@entryroot
|
|
and securitylevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr))
|
|
and dbo.search_vertragselement(vertragselementnr, @suchstring)=1
|
|
open xctyp1
|
|
fetch next from xctyp1 into @tmp
|
|
while @@fetch_status=0 begin
|
|
execute dbo.sp_vertragsuebersicht_get_struktur_down @tmp,1, 0, 0,0
|
|
fetch next from xctyp1 into @tmp
|
|
end
|
|
close xctyp1
|
|
deallocate xctyp1
|
|
end
|
|
end
|
|
|
|
if @elementtyp="Vertragspartner" begin
|
|
insert #tmpd (vertragselementnr, bezeichnung, parentid, vertragstypnr)
|
|
select Vertragselementnr, '',0,0 from
|
|
vertragselement
|
|
where dbo.vertragselement.vertragspartnernr=@vertragspartnernr
|
|
and securitylevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr))
|
|
and dbo.search_vertragselement(vertragselementnr, @suchstring)=1
|
|
end
|
|
|
|
|
|
if @suchstring='' begin
|
|
SELECT distinct dbo.Vertragspartner.NameZ1 + ' ' + dbo.Vertragspartner.NameZ2 + ', ' + dbo.Vertragspartner.PLZ + ' ' + dbo.Vertragspartner.Ort AS Partner,
|
|
dbo.Vertragstyp.Vertragstyp, dbo.view_vertragselement.*, dbo.view_vertragselement.Mutierer AS Expr1,
|
|
dbo.mitarbeiter.name + ' ' + dbo.mitarbeiter.vorname + ', ' + dbo.mitarbeiter.tgnummer AS Mutierername
|
|
FROM #tmpd INNER JOIN
|
|
dbo.view_vertragselement INNER JOIN
|
|
dbo.Vertragspartner ON dbo.view_vertragselement.VertragspartnerNr = dbo.Vertragspartner.VertragspartnerNr INNER JOIN
|
|
dbo.Vertragstyp ON dbo.view_vertragselement.VertragstypNr = dbo.Vertragstyp.Vertragstypnr ON
|
|
#tmpd.vertragselementnr = dbo.view_vertragselement.Vertragselementnr INNER JOIN
|
|
dbo.mitarbeiter ON dbo.view_vertragselement.Mutierer = dbo.mitarbeiter.mitarbeiternr
|
|
--20091008 - nur berechtigte Objekte zurückgeben
|
|
and dbo.view_vertragselement.securitylevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr))
|
|
|
|
-- SELECT distinct dbo.Vertragspartner.NameZ1 + ' ' + dbo.Vertragspartner.NameZ2 + ', ' + dbo.Vertragspartner.PLZ + ' ' + dbo.Vertragspartner.Ort AS Partner,
|
|
-- dbo.Vertragstyp.Vertragstyp, dbo.Vertragselement.*, dbo.Vertragselement.Mutierer AS Expr1,
|
|
-- dbo.mitarbeiter.name + ' ' + dbo.mitarbeiter.vorname + ', ' + dbo.mitarbeiter.tgnummer AS Mutierername
|
|
-- FROM #tmpd INNER JOIN
|
|
-- dbo.Vertragselement INNER JOIN
|
|
-- dbo.Vertragspartner ON dbo.Vertragselement.VertragspartnerNr = dbo.Vertragspartner.VertragspartnerNr INNER JOIN
|
|
-- dbo.Vertragstyp ON dbo.Vertragselement.VertragstypNr = dbo.Vertragstyp.Vertragstypnr ON
|
|
-- #tmpd.vertragselementnr = dbo.Vertragselement.Vertragselementnr INNER JOIN
|
|
-- dbo.mitarbeiter ON dbo.Vertragselement.Mutierer = dbo.mitarbeiter.mitarbeiternr
|
|
end else begin
|
|
SELECT distinct dbo.Vertragspartner.NameZ1 + ' ' + dbo.Vertragspartner.NameZ2 + ', ' + dbo.Vertragspartner.PLZ + ' ' + dbo.Vertragspartner.Ort AS Partner,
|
|
dbo.Vertragstyp.Vertragstyp, dbo.view_vertragselement.*, dbo.view_vertragselement.Mutierer AS Expr1,
|
|
dbo.mitarbeiter.name + ' ' + dbo.mitarbeiter.vorname + ', ' + dbo.mitarbeiter.tgnummer AS Mutierername
|
|
FROM #tmpd INNER JOIN
|
|
dbo.view_vertragselement INNER JOIN
|
|
dbo.Vertragspartner ON dbo.view_vertragselement.VertragspartnerNr = dbo.Vertragspartner.VertragspartnerNr INNER JOIN
|
|
dbo.Vertragstyp ON dbo.view_vertragselement.VertragstypNr = dbo.Vertragstyp.Vertragstypnr ON
|
|
#tmpd.vertragselementnr = dbo.view_vertragselement.Vertragselementnr INNER JOIN
|
|
dbo.mitarbeiter ON dbo.view_vertragselement.Mutierer = dbo.mitarbeiter.mitarbeiternr
|
|
where (dbo.search_vertragselement(dbo.view_vertragselement.vertragselementnr, @suchstring)=1
|
|
-- 2009-06-26 - Erweiterung, dass auch das angewählte Element mit den Details angezeigt wird
|
|
or dbo.view_vertragselement.vertragselementnr = @entryroot)
|
|
--20091008 - nur berechtigte Objekte zurückgeben
|
|
and dbo.view_vertragselement.securitylevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr))
|
|
end
|
|
|
|
|
|
|
|
GO
|