151 lines
No EOL
5.1 KiB
Transact-SQL
151 lines
No EOL
5.1 KiB
Transact-SQL
DROP PROCEDURE IF EXISTS sp_FollowUpMukodesiHely
|
|
GO
|
|
|
|
CREATE PROCEDURE sp_FollowUpMukodesiHely
|
|
@intezmenyId int,
|
|
@aktTanevId int,
|
|
@kovetkezoTanevId int,
|
|
@mukodesiHelyId int
|
|
AS
|
|
BEGIN
|
|
|
|
DECLARE @kovetkezoMukodesiHelyId int
|
|
,@ujKovetkezoMukodesiHelyId int
|
|
,@mukodesiHelyNev nvarchar(100)
|
|
,@isKovItemTorolt char(1)
|
|
,@mukodesiHelyKod nvarchar(3)
|
|
|
|
SELECT
|
|
@kovetkezoMukodesiHelyId = mh.ID
|
|
,@isKovItemTorolt = mh.TOROLT
|
|
FROM T_MUKODESIHELY_OSSZES mh
|
|
WHERE mh.C_INTEZMENYID = @intezmenyId
|
|
AND mh.C_TANEVID = @kovetkezoTanevId
|
|
AND mh.ELOZOTANEVIREKORDID = @mukodesiHelyId
|
|
|
|
SELECT
|
|
@mukodesiHelyNev = C_NEV
|
|
,@mukodesiHelyKod = C_MUKODESIHELYAZONOSITO
|
|
FROM T_MUKODESIHELY_OSSZES WHERE ID = @mukodesiHelyId AND C_TANEVID=@aktTanevId
|
|
|
|
|
|
SELECT @ujKovetkezoMukodesiHelyId=ID from T_MUKODESIHELY_OSSZES WHERE TOROLT='F' AND C_TANEVID=@kovetkezoTanevId AND
|
|
(
|
|
(@mukodesiHelyNev=C_NEV AND ISNULL(@mukodesiHelyKod,0)=ISNULL(C_MUKODESIHELYAZONOSITO,0))
|
|
OR
|
|
(@mukodesiHelyNev=C_NEV AND (@mukodesiHelyKod IS NULL OR NOT EXISTS(SELECT 1 FROM T_MUKODESIHELY_OSSZES WHERE ISNULL(@mukodesiHelyKod,0)=ISNULL(C_MUKODESIHELYAZONOSITO,0) AND ISNULL(ELOZOTANEVIREKORDID,0)<>@mukodesiHelyId AND TOROLT='F' AND C_TANEVID=@kovetkezoTanevId)))
|
|
OR
|
|
(@mukodesiHelyKod=C_MUKODESIHELYAZONOSITO AND NOT EXISTS(SELECT 1 FROM T_MUKODESIHELY_OSSZES WHERE @mukodesiHelyNev=C_NEV AND ISNULL(ELOZOTANEVIREKORDID,0)<>@mukodesiHelyId AND TOROLT='F' AND C_TANEVID=@kovetkezoTanevId))
|
|
)
|
|
AND ISNULL(ELOZOTANEVIREKORDID,0)<>@mukodesiHelyId
|
|
|
|
IF ISNULL(@kovetkezoMukodesiHelyId,0) <> @ujKovetkezoMukodesiHelyId BEGIN
|
|
UPDATE T_MUKODESIHELY_OSSZES SET ELOZOTANEVIREKORDID = NULL WHERE ID = @kovetkezoMukodesiHelyId
|
|
UPDATE T_MUKODESIHELY_OSSZES SET ELOZOTANEVIREKORDID = @mukodesiHelyId WHERE ID = @ujKovetkezoMukodesiHelyId
|
|
SET @kovetkezoMukodesiHelyId=@ujKovetkezoMukodesiHelyId
|
|
END
|
|
|
|
IF (SELECT TOROLT FROM T_MUKODESIHELY_OSSZES WHERE ID = @mukodesiHelyId)='T' OR (SELECT TOROLT FROM T_MUKODESIHELY_OSSZES WHERE ELOZOTANEVIREKORDID = @mukodesiHelyId)='T' OR
|
|
EXISTS (SELECT 1 FROM T_MUKODESIHELY_OSSZES WHERE
|
|
((C_NEV=@mukodesiHelyNev AND (ISNULL(C_MUKODESIHELYAZONOSITO,0)<>@mukodesiHelyKod OR @mukodesiHelyKod IS NULL))
|
|
OR (C_NEV<>@mukodesiHelyNev AND ISNULL(C_MUKODESIHELYAZONOSITO,0) = @mukodesiHelyKod))
|
|
AND TOROLT='F' AND C_TANEVID=@kovetkezoTanevId AND ISNULL(ELOZOTANEVIREKORDID,0)<>@mukodesiHelyId)
|
|
BEGIN
|
|
RETURN
|
|
END
|
|
|
|
IF (@kovetkezoMukodesiHelyId IS NULL)
|
|
BEGIN
|
|
INSERT INTO T_MUKODESIHELY_OSSZES (
|
|
C_AJTO
|
|
,C_EMAILCIM
|
|
,C_EMELET
|
|
,C_FAX
|
|
,C_HAZSZAM
|
|
,C_INTEZMENYADATOKID
|
|
,C_INTEZMENYID
|
|
,C_IRANYITOSZAM
|
|
,C_KOZTERULETJELLEG
|
|
,C_KOZTERULETNEV
|
|
,C_MUKODESIHELYAZONOSITO
|
|
,C_MUKODESIHELYTIPUSA
|
|
,C_NEV
|
|
,C_SZEKHELY
|
|
,C_TAGINTEZMENY
|
|
,C_TAGINTEZMENYIKOD
|
|
,C_TANEVID
|
|
,C_TELEFONSZAM
|
|
,C_VAROS
|
|
,C_VEZETONEVE
|
|
,C_FUNKCIOTERULET
|
|
,SERIAL
|
|
,LASTCHANGED
|
|
,CREATED
|
|
,MODIFIER
|
|
,CREATOR
|
|
,ELOZOTANEVIREKORDID
|
|
)
|
|
SELECT
|
|
t.C_AJTO AS C_AJTO
|
|
,t.C_EMAILCIM AS C_EMAILCIM
|
|
,t.C_EMELET AS C_EMELET
|
|
,C_FAX AS C_FAX
|
|
,t.C_HAZSZAM AS C_HAZSZAM
|
|
,ia.ID AS C_INTEZMENYADATOKID
|
|
,t.C_INTEZMENYID AS C_INTEZMENYID
|
|
,t.C_IRANYITOSZAM AS C_IRANYITOSZAM
|
|
,t.C_KOZTERULETJELLEG AS C_KOZTERULETJELLEG
|
|
,t.C_KOZTERULETNEV AS C_KOZTERULETNEV
|
|
,C_MUKODESIHELYAZONOSITO AS C_MUKODESIHELYAZONOSITO
|
|
,t.C_MUKODESIHELYTIPUSA AS C_MUKODESIHELYTIPUSA
|
|
,t.C_NEV AS C_NEV
|
|
,C_SZEKHELY AS C_SZEKHELY
|
|
,C_TAGINTEZMENY AS C_TAGINTEZMENY
|
|
,C_TAGINTEZMENYIKOD AS C_TAGINTEZMENYIKOD
|
|
,@kovetkezoTanevId AS C_TANEVID
|
|
,t.C_TELEFONSZAM AS C_TELEFONSZAM
|
|
,t.C_VAROS AS C_VAROS
|
|
,C_VEZETONEVE AS C_VEZETONEVE
|
|
,C_FUNKCIOTERULET
|
|
,0 AS SERIAL
|
|
,t.LASTCHANGED AS LASTCHANGED
|
|
,t.LASTCHANGED AS CREATED
|
|
,t.MODIFIER AS MODIFIER
|
|
,t.MODIFIER AS CREATOR
|
|
,t.ID AS ELOZOTANEVIREKORDID
|
|
FROM T_MUKODESIHELY_OSSZES t
|
|
INNER JOIN T_INTEZMENYADATOK_OSSZES ia ON ia.ELOZOTANEVIREKORDID=t.C_INTEZMENYADATOKID AND ia.TOROLT='F'
|
|
WHERE t.ID=@mukodesiHelyId
|
|
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
UPDATE kovetkezo SET
|
|
kovetkezo.C_AJTO = aktiv.C_AJTO
|
|
,kovetkezo.C_EMAILCIM = aktiv.C_EMAILCIM
|
|
,kovetkezo.C_EMELET = aktiv.C_EMELET
|
|
,kovetkezo.C_FAX = aktiv.C_FAX
|
|
,kovetkezo.C_HAZSZAM = aktiv.C_HAZSZAM
|
|
,kovetkezo.C_IRANYITOSZAM = aktiv.C_IRANYITOSZAM
|
|
,kovetkezo.C_KOZTERULETJELLEG = aktiv.C_KOZTERULETJELLEG
|
|
,kovetkezo.C_KOZTERULETNEV = aktiv.C_KOZTERULETNEV
|
|
,kovetkezo.C_MUKODESIHELYAZONOSITO = aktiv.C_MUKODESIHELYAZONOSITO
|
|
,kovetkezo.C_MUKODESIHELYTIPUSA = aktiv.C_MUKODESIHELYTIPUSA
|
|
,kovetkezo.C_NEV = aktiv.C_NEV
|
|
,kovetkezo.C_SZEKHELY = aktiv.C_SZEKHELY
|
|
,kovetkezo.C_TAGINTEZMENY = aktiv.C_TAGINTEZMENY
|
|
,kovetkezo.C_TAGINTEZMENYIKOD = aktiv.C_TAGINTEZMENYIKOD
|
|
,kovetkezo.C_TELEFONSZAM = aktiv.C_TELEFONSZAM
|
|
,kovetkezo.C_VAROS = aktiv.C_VAROS
|
|
,kovetkezo.C_VEZETONEVE = aktiv.C_VEZETONEVE
|
|
,kovetkezo.C_FUNKCIOTERULET = aktiv.C_FUNKCIOTERULET
|
|
,kovetkezo.SERIAL += 1
|
|
,kovetkezo.MODIFIER = aktiv.MODIFIER
|
|
,kovetkezo.LASTCHANGED = aktiv.LASTCHANGED
|
|
FROM T_MUKODESIHELY_OSSZES kovetkezo
|
|
INNER JOIN T_MUKODESIHELY_OSSZES aktiv ON aktiv.ID = @mukodesiHelyId and aktiv.TOROLT='F' AND aktiv.ID=kovetkezo.ELOZOTANEVIREKORDID
|
|
|
|
END
|
|
|
|
END
|
|
GO |