kreta/Kreta.DataAccess.Migrations/Scripts/Archive/20190528112702_DB_619/sp_FollowUpTerem.sql
2024-03-13 00:33:46 +01:00

112 lines
3.3 KiB
Transact-SQL

DROP PROCEDURE IF EXISTS sp_FollowUpTerem
GO
CREATE PROCEDURE sp_FollowUpTerem
@intezmenyId int,
@aktTanevId int,
@kovetkezoTanevId int,
@teremId int
AS
BEGIN
DECLARE
@kovTeremId int = (SELECT TOP 1 ID FROM T_TEREM_OSSZES WHERE ELOZOTANEVIREKORDID = @teremId)
,@teremNev nvarchar(200)=(SELECT C_NEV FROM T_TEREM_OSSZES WHERE ID = @teremId)
IF (SELECT TOROLT FROM T_TEREM_OSSZES WHERE ID = @teremId) = 'T' OR (SELECT TOROLT FROM T_TEREM_OSSZES WHERE ID = @kovTeremId) = 'T'
BEGIN
RETURN
END
DECLARE @felelosId int = (
SELECT fh.ID FROM T_FELHASZNALO_OSSZES fh
INNER JOIN T_TEREM_OSSZES t ON t.C_TEREMFELELOSID=fh.ELOZOTANEVIREKORDID AND t.TOROLT='F' AND t.ID=@teremId
WHERE fh.TOROLT='F')
IF (@kovTeremId IS NULL AND NOT EXISTS(SELECT 1 FROM T_TEREM_OSSZES WHERE C_NEV=@teremNev AND C_TANEVID=@kovetkezoTanevId AND TOROLT='F'))
BEGIN
INSERT INTO T_TEREM_OSSZES (
C_AKTIV
,C_JELLEG
,C_KAPACITAS
,C_MUKODESIHELYID
,C_NEV
,C_TEREMFELELOSID
,C_TERULET
,C_TOBBORATLEHETTARTANI
,C_VIZSGAKAPACITAS
,C_WIFILEFEDETT
,C_AR
,C_BERBEADHATO
,C_FOGLALHATOIDOSZAKKEZDETE
,C_FOGLALHATOIDOSZAKVEGE
,C_LEIRAS
,C_DOKUMENTUMURL
,C_KEPURL
,C_INTEZMENYID
,C_TANEVID
,SERIAL
,LASTCHANGED
,CREATED
,MODIFIER
,CREATOR
,ELOZOTANEVIREKORDID
) SELECT
C_AKTIV AS C_AKTIV
,t.C_JELLEG AS C_JELLEG
,C_KAPACITAS AS C_KAPACITAS
,mh.ID AS C_MUKODESIHELYID
,t.C_NEV AS C_NEV
,@felelosId AS C_TEREMFELELOSID
,C_TERULET AS C_TERULET
,ISNULL(C_TOBBORATLEHETTARTANI,'F') AS C_TOBBORATLEHETTARTANI
,C_VIZSGAKAPACITAS AS C_VIZSGAKAPACITAS
,C_WIFILEFEDETT AS C_WIFILEFEDETT
,C_AR
,C_BERBEADHATO
,C_FOGLALHATOIDOSZAKKEZDETE
,C_FOGLALHATOIDOSZAKVEGE
,t.C_LEIRAS
,t.C_DOKUMENTUMURL
,t.C_KEPURL
,@intezmenyID AS C_INTEZMENYID
,@kovetkezoTanevId AS C_TANEVID
,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_TEREM_OSSZES t
INNER JOIN T_MUKODESIHELY_OSSZES mh ON mh.ELOZOTANEVIREKORDID=t.C_MUKODESIHELYID AND mh.TOROLT='F'
WHERE t.ID=@teremId AND t.TOROLT='F'
END
ELSE
BEGIN
UPDATE kovetkezo SET
kovetkezo.C_AKTIV = aktiv.C_AKTIV
,kovetkezo.C_JELLEG = aktiv.C_JELLEG
,kovetkezo.C_KAPACITAS = aktiv.C_KAPACITAS
,kovetkezo.C_MUKODESIHELYID =mh.ID
,kovetkezo.C_NEV = aktiv.C_NEV
,kovetkezo.C_TEREMFELELOSID = @felelosId
,kovetkezo.C_TERULET = aktiv.C_TERULET
,kovetkezo.C_TOBBORATLEHETTARTANI = ISNULL(aktiv.C_TOBBORATLEHETTARTANI,'F')
,kovetkezo.C_VIZSGAKAPACITAS = aktiv.C_VIZSGAKAPACITAS
,kovetkezo.C_WIFILEFEDETT = aktiv.C_WIFILEFEDETT
,C_BERBEADHATO = aktiv.C_BERBEADHATO
,C_FOGLALHATOIDOSZAKKEZDETE = aktiv.C_FOGLALHATOIDOSZAKKEZDETE
,C_FOGLALHATOIDOSZAKVEGE = aktiv.C_FOGLALHATOIDOSZAKVEGE
,C_LEIRAS = aktiv.C_LEIRAS
,C_DOKUMENTUMURL = aktiv.C_DOKUMENTUMURL
,C_KEPURL = aktiv.C_KEPURL
,kovetkezo.SERIAL += 1
,kovetkezo.LASTCHANGED = aktiv.LASTCHANGED
,kovetkezo.MODIFIER = aktiv.MODIFIER
FROM T_TEREM_OSSZES aktiv
INNER JOIN T_TEREM_OSSZES kovetkezo ON kovetkezo.ELOZOTANEVIREKORDID=aktiv.ID AND kovetkezo.TOROLT='F'
INNER JOIN T_MUKODESIHELY_OSSZES mh ON mh.ELOZOTANEVIREKORDID=aktiv.C_MUKODESIHELYID AND mh.TOROLT='F'
WHERE aktiv.ID=@teremId AND aktiv.TOROLT='F'
END
END
GO