USE [Vertragsverwaltung_20160404] GO /****** Object: StoredProcedure [dbo].[sp_vertragsuebersicht_get_TreeRoot_sik] Script Date: 02.12.2016 09:08:53 ******/ DROP PROCEDURE [dbo].[sp_vertragsuebersicht_get_TreeRoot_sik] GO /****** Object: StoredProcedure [dbo].[sp_vertragsuebersicht_get_TreeRoot_sik] Script Date: 02.12.2016 09:08:55 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE proc [dbo].[sp_vertragsuebersicht_get_TreeRoot_sik] @mitarbeiternr int, @selectiontype int=0, @aktiv int=0, @suchtype int=0, @suchstring varchar(255)='' AS --------------------------------------------------------------------------------------------------------------------------------------------------- -- Tree-Aufbau ohne Suche --------------------------------------------------------------------------------------------------------------------------------------------------- if @suchtype=0 begin -- Selektion Vertragspartner if @selectiontype=0 begin if @aktiv=0 begin select dbo.Vertragspartner.VertragspartnerNr as KeyValue, dbo.Vertragspartner.NameZ1 + ' ' + dbo.Vertragspartner.NameZ2 + ', ' + dbo.Vertragspartner.PLZ + ' ' + dbo.Vertragspartner.Ort AS Description, dbo.vertragspartner.aktiv from dbo.Vertragspartner where dbo.vertragspartner.securitylevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) order by dbo.vertragspartner.namez1, dbo.vertragspartner.namez2, dbo.vertragspartner.ort end else begin select dbo.Vertragspartner.VertragspartnerNr as Keyvalue, dbo.Vertragspartner.NameZ1 + ' ' + dbo.Vertragspartner.NameZ2 + ', ' + dbo.Vertragspartner.PLZ + ' ' + dbo.Vertragspartner.Ort AS Description, dbo.vertragspartner.aktiv from dbo.Vertragspartner where dbo.vertragspartner.securitylevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) and dbo.vertragspartner.aktiv=1 order by dbo.vertragspartner.namez1, dbo.vertragspartner.namez2, dbo.vertragspartner.ort end end -- Selektion Vertragstyp if @selectiontype=1 begin if @aktiv=0 begin SELECT DISTINCT dbo.Vertragstyp.Vertragstypnr as Keyvalue , dbo.Vertragstyp.Vertragstyp AS Description FROM dbo.Vertragselement INNER JOIN dbo.Vertragstyp ON dbo.Vertragselement.VertragstypNr = dbo.Vertragstyp.Vertragstypnr order by dbo.vertragstyp.vertragstyp end else begin SELECT DISTINCT dbo.Vertragstyp.Vertragstypnr as Keyvalue , dbo.Vertragstyp.Vertragstyp AS Description FROM dbo.Vertragselement INNER JOIN dbo.Vertragstyp ON dbo.Vertragselement.VertragstypNr = dbo.Vertragstyp.Vertragstypnr where dbo.vertragstyp.aktiv=1 order by dbo.vertragstyp.vertragstyp end end end --------------------------------------------------------------------------------------------------------------------------------------------------- -- Tree-Aufbau Suche nach Vertragspartner --------------------------------------------------------------------------------------------------------------------------------------------------- if @suchtype=1 and @selectiontype=0 begin set @suchstring='%'+@suchstring+'%' if @aktiv=0 begin select dbo.Vertragspartner.VertragspartnerNr as KeyValue, dbo.Vertragspartner.NameZ1 + ' ' + dbo.Vertragspartner.NameZ2 + ', ' + dbo.Vertragspartner.PLZ + ' ' + dbo.Vertragspartner.Ort AS Description, dbo.vertragspartner.aktiv from dbo.Vertragspartner where dbo.vertragspartner.securitylevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) and (dbo.vertragspartner.namez1 like @suchstring or dbo.vertragspartner.namez2 like @suchstring or dbo.vertragspartner.ort like @suchstring) order by dbo.vertragspartner.namez1, dbo.vertragspartner.namez2, dbo.vertragspartner.ort end else begin select dbo.Vertragspartner.VertragspartnerNr as Keyvalue, dbo.Vertragspartner.NameZ1 + ' ' + dbo.Vertragspartner.NameZ2 + ', ' + dbo.Vertragspartner.PLZ + ' ' + dbo.Vertragspartner.Ort AS Description, dbo.vertragspartner.aktiv from dbo.Vertragspartner where dbo.vertragspartner.securitylevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) and dbo.vertragspartner.aktiv=1 and (dbo.vertragspartner.namez1 like @suchstring or dbo.vertragspartner.namez2 like @suchstring or dbo.vertragspartner.ort like @suchstring) order by dbo.vertragspartner.namez1, dbo.vertragspartner.namez2, dbo.vertragspartner.ort end end --------------------------------------------------------------------------------------------------------------------------------------------------- -- Tree-Aufbau Suche nach Vertragstyp --------------------------------------------------------------------------------------------------------------------------------------------------- if @suchtype=1 and @selectiontype=1 begin set @suchstring='%'+@suchstring+'%' if @aktiv=0 begin SELECT DISTINCT dbo.Vertragstyp.Vertragstypnr as Keyvalue , dbo.Vertragstyp.Vertragstyp AS Description FROM dbo.Vertragselement INNER JOIN dbo.Vertragstyp ON dbo.Vertragselement.VertragstypNr = dbo.Vertragstyp.Vertragstypnr INNER JOIN dbo.Vertragspartner ON dbo.Vertragselement.VertragspartnerNr = dbo.Vertragspartner.VertragspartnerNr WHERE (dbo.Vertragspartner.NameZ1 LIKE @suchstring OR dbo.Vertragspartner.NameZ2 LIKE @suchstring OR dbo.Vertragspartner.Ort LIKE @suchstring) and dbo.vertragspartner.securitylevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) order by dbo.vertragstyp.vertragstyp end else begin SELECT DISTINCT dbo.Vertragstyp.Vertragstypnr as Keyvalue , dbo.Vertragstyp.Vertragstyp AS Description FROM dbo.Vertragselement INNER JOIN dbo.Vertragstyp ON dbo.Vertragselement.VertragstypNr = dbo.Vertragstyp.Vertragstypnr INNER JOIN dbo.Vertragspartner ON dbo.Vertragselement.VertragspartnerNr = dbo.Vertragspartner.VertragspartnerNr where dbo.vertragstyp.aktiv=1 and dbo.vertragspartner.securitylevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) and (dbo.Vertragspartner.NameZ1 LIKE @suchstring OR dbo.Vertragspartner.NameZ2 LIKE @suchstring OR dbo.Vertragspartner.Ort LIKE @suchstring) order by dbo.vertragstyp.vertragstyp end end --------------------------------------------------------------------------------------------------------------------------------------------------- -- Tree-Aufbau Suche nach Vertragselement --------------------------------------------------------------------------------------------------------------------------------------------------- if @suchtype=2 and @selectiontype=0 begin set @suchstring='%'+@suchstring+'%' if @aktiv=0 begin SELECT DISTINCT dbo.Vertragspartner.VertragspartnerNr AS KeyValue, dbo.Vertragspartner.NameZ1 + ' ' + dbo.Vertragspartner.NameZ2 + ', ' + dbo.Vertragspartner.PLZ + ' ' + dbo.Vertragspartner.Ort AS Description, dbo.Vertragspartner.Aktiv FROM dbo.Vertragspartner INNER JOIN dbo.Vertragselement ON dbo.Vertragspartner.VertragspartnerNr = dbo.Vertragselement.VertragspartnerNr WHERE dbo.vertragspartner.securitylevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) and dbo.search_vertragselement(dbo.vertragselement.vertragselementnr,@suchstring)=1 ORDER BY Description end else begin set @suchstring='%'+@suchstring+'%' end end GO