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.
ITSM/.svn/pristine/03/03dec4ff6b5036b62f6ea35e127...

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