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.
130 lines
15 KiB
130 lines
15 KiB
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
|