﻿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
