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.

172 lines
21 KiB

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

USE [Vertragsverwaltung_20160404]
GO
/****** Object: StoredProcedure [dbo].[sp_vertragsuebersicht_get_TreeRoot] Script Date: 02.12.2016 09:08:53 ******/
DROP PROCEDURE [dbo].[sp_vertragsuebersicht_get_TreeRoot]
GO
/****** Object: StoredProcedure [dbo].[sp_vertragsuebersicht_get_TreeRoot] 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]
@mitarbeiternr int,
@selectiontype int=0,
@aktiv int=0,
@suchtype int=0,
@suchstring varchar(255)='',
@partnernr int
AS
---------------------------------------------------------------------------------------------------------------------------------------------------
-- Direkte Angabe eines Partner
---------------------------------------------------------------------------------------------------------------------------------------------------
if @partnernr<>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 vertragspartnernr=@partnernr
order by dbo.vertragspartner.namez1, dbo.vertragspartner.namez2, dbo.vertragspartner.ort
return
end
---------------------------------------------------------------------------------------------------------------------------------------------------
-- Tree-Aufbau ohne Suche / Vertragspartner
---------------------------------------------------------------------------------------------------------------------------------------------------
if @suchtype=0 and @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
---------------------------------------------------------------------------------------------------------------------------------------------------
-- Tree-Aufbau ohne Suche / Vertragspartner
---------------------------------------------------------------------------------------------------------------------------------------------------
if @suchtype = 0 and @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
---------------------------------------------------------------------------------------------------------------------------------------------------
-- Tree-Aufbau ohne Suche / 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 OR dbo.Vertragspartner.PLZ like @suchstring or
dbo.Vertragspartner.Bemerkung like @suchstring or dbo.Vertragspartner.Suchbegriffe 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 OR dbo.Vertragspartner.PLZ like @suchstring or
dbo.Vertragspartner.Bemerkung like @suchstring or dbo.Vertragspartner.Suchbegriffe 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 OR dbo.Vertragspartner.PLZ like @suchstring or
dbo.Vertragspartner.Bemerkung like @suchstring or dbo.Vertragspartner.Suchbegriffe like @suchstring)
-- (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 OR dbo.Vertragspartner.PLZ like @suchstring or
dbo.Vertragspartner.Bemerkung like @suchstring or dbo.Vertragspartner.Suchbegriffe like @suchstring)
-- (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
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 and dbo.vertragspartner.aktiv=1
ORDER BY Description
end
end
GO