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.
181 lines
12 KiB
181 lines
12 KiB
USE [Vertragsverwaltung_20160404]
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[sp_lc_get_Struktur_Auswahl] Script Date: 02.12.2016 09:08:53 ******/
|
|
DROP PROCEDURE [dbo].[sp_lc_get_Struktur_Auswahl]
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[sp_lc_get_Struktur_Auswahl] Script Date: 02.12.2016 09:08:55 ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
|
|
-- =============================================
|
|
-- Author: <Author,,Name>
|
|
-- Create date: <Create Date,,>
|
|
-- Description: <Description,,>
|
|
-- =============================================
|
|
CREATE PROCEDURE [dbo].[sp_lc_get_Struktur_Auswahl]
|
|
@selectiontype AS integer
|
|
AS
|
|
BEGIN
|
|
DECLARE @tmp1 TABLE
|
|
(
|
|
id INT ,
|
|
parentid INT ,
|
|
bezeichnung VARCHAR(255) ,
|
|
imageindex INT ,
|
|
beschreibung VARCHAR(1024) ,
|
|
IstStruktur BIT ,
|
|
verweisnr INT ,
|
|
copy INT ,
|
|
originalid INT,
|
|
eingesetzt INT,
|
|
sort int
|
|
)
|
|
|
|
SET NOCOUNT ON;
|
|
|
|
|
|
-- Alle Produkte
|
|
|
|
INSERT @tmp1
|
|
SELECT lc_produktnr AS id ,
|
|
lc_produktnr_parent AS parentid ,
|
|
bezeichnung ,
|
|
imageindex AS imageindex ,
|
|
ISNULL(Beschreibung, '') AS Beschreibung ,
|
|
IstStruktur ,
|
|
ISNULL(verweisnr, 0) AS Verweisnr ,
|
|
0 AS copy ,
|
|
LC_ProduktNr,
|
|
ISNULL(StatusNr,0),
|
|
ISNULL(sort,0) AS sort
|
|
FROM dbo.LC_Produkt
|
|
WHERE aktiv = 1
|
|
|
|
INSERT @tmp1
|
|
( id ,
|
|
parentid ,
|
|
bezeichnung ,
|
|
imageindex ,
|
|
beschreibung ,
|
|
IstStruktur ,
|
|
verweisnr ,
|
|
copy,
|
|
eingesetzt,sort
|
|
)
|
|
VALUES ( 0 ,
|
|
NULL ,
|
|
'Root' ,
|
|
1 ,
|
|
'' ,
|
|
1 ,
|
|
0 ,
|
|
0,
|
|
0,
|
|
-1
|
|
)
|
|
|
|
UPDATE @tmp1
|
|
SET imageindex = imageindex + 0
|
|
WHERE id IN ( SELECT lc_produktnr
|
|
FROM lc_produkt
|
|
WHERE IstStruktur = 1 )
|
|
|
|
INSERT @tmp1
|
|
( id ,
|
|
parentid ,
|
|
bezeichnung ,
|
|
imageindex ,
|
|
beschreibung ,
|
|
IstStruktur ,
|
|
verweisnr ,
|
|
copy ,
|
|
Originalid,
|
|
eingesetzt,
|
|
sort
|
|
)
|
|
SELECT dbo.LC_Produkt_Copy.lc_produkt_copynr AS id ,
|
|
dbo.LC_Produkt_Copy.lc_produkt_parentnr AS parentid ,
|
|
dbo.LC_Produkt.Bezeichnung ,
|
|
dbo.LC_Produkt.Imageindex ,
|
|
dbo.LC_Produkt.Beschreibung ,
|
|
0 ,
|
|
0 ,
|
|
1 ,
|
|
lc_produkt.LC_ProduktNr,
|
|
ISNULL(lc_produkt.StatusNr,0), 0
|
|
FROM dbo.LC_Produkt_Copy
|
|
INNER JOIN dbo.LC_Produkt ON dbo.LC_Produkt_Copy.lc_produktnr = dbo.LC_Produkt.LC_ProduktNr
|
|
WHERE ( dbo.LC_Produkt_Copy.aktiv = 1 )
|
|
AND ( dbo.LC_Produkt.Aktiv = 1 )
|
|
|
|
IF @selectiontype=1 BEGIN
|
|
DELETE FROM @tmp1 WHERE IstStruktur=0 AND eingesetzt=0
|
|
INSERT @tmp1
|
|
( id ,
|
|
parentid ,
|
|
bezeichnung ,
|
|
imageindex ,
|
|
beschreibung ,
|
|
IstStruktur ,
|
|
verweisnr ,
|
|
copy ,
|
|
Originalid,
|
|
eingesetzt,sort
|
|
)
|
|
SELECT lc_produktnr AS id ,
|
|
lc_produktnr_parent AS parentid ,
|
|
bezeichnung ,
|
|
imageindex AS imageindex ,
|
|
ISNULL(Beschreibung, '') AS Beschreibung ,
|
|
IstStruktur ,
|
|
ISNULL(verweisnr, 0) AS Verweisnr ,
|
|
0 AS copy ,
|
|
LC_ProduktNr,
|
|
ISNULL(StatusNr,0),
|
|
ISNULL(sort,0)
|
|
FROM dbo.LC_Produkt
|
|
WHERE aktiv = 1 AND lc_produktnr NOT IN (SELECT id FROM @tmp1) AND lc_produktnr IN (SELECT parentid FROM @tmp1)
|
|
|
|
END
|
|
IF @selectiontype=2 BEGIN
|
|
DELETE FROM @tmp1 WHERE IstStruktur=0 AND eingesetzt=1
|
|
INSERT @tmp1
|
|
( id ,
|
|
parentid ,
|
|
bezeichnung ,
|
|
imageindex ,
|
|
beschreibung ,
|
|
IstStruktur ,
|
|
verweisnr ,
|
|
copy ,
|
|
Originalid,
|
|
eingesetzt,
|
|
sort
|
|
)
|
|
SELECT lc_produktnr AS id ,
|
|
lc_produktnr_parent AS parentid ,
|
|
bezeichnung ,
|
|
imageindex AS imageindex ,
|
|
ISNULL(Beschreibung, '') AS Beschreibung ,
|
|
IstStruktur ,
|
|
ISNULL(verweisnr, 0) AS Verweisnr ,
|
|
0 AS copy ,
|
|
LC_ProduktNr,
|
|
ISNULL(StatusNr,0),
|
|
ISNULL(sort,0) AS sort
|
|
FROM dbo.LC_Produkt
|
|
WHERE aktiv = 1 AND lc_produktnr NOT IN (SELECT id FROM @tmp1) AND lc_produktnr IN (SELECT parentid FROM @tmp1)
|
|
end
|
|
|
|
SELECT *
|
|
FROM @tmp1
|
|
ORDER BY sort,bezeichnung
|
|
|
|
end
|
|
|
|
|
|
GO
|