kreta/Kreta.DataAccess.Migrations/Scripts/Archive/20190613163921_DB_781/sp_FollowUpMukodesiHely.sql
2024-03-13 00:33:46 +01:00

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