112 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			112 lines
		
	
	
		
			3.5 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
 | 
						|
  ,@teremNev nvarchar(200)=(SELECT C_NEV FROM T_TEREM_OSSZES WHERE ID = @teremId)
 | 
						|
  
 | 
						|
	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 EXISTS(SELECT 1 FROM T_TEREM_OSSZES WHERE C_NEV=@teremNev AND C_TANEVID=@kovetkezoTanevId AND TOROLT='F' AND ISNULL(ELOZOTANEVIREKORDID,0)<>@teremId) BEGIN
 | 
						|
    UPDATE T_TEREM_OSSZES SET ELOZOTANEVIREKORDID=NULL WHERE ELOZOTANEVIREKORDID=@teremId
 | 
						|
    UPDATE T_TEREM_OSSZES SET ELOZOTANEVIREKORDID=@teremId WHERE C_NEV=@teremNev AND TOROLT='F' AND C_TANEVID=@kovetkezoTanevId
 | 
						|
  END
 | 
						|
 | 
						|
  SELECT @kovTeremId=ID FROM T_TEREM_OSSZES WHERE ELOZOTANEVIREKORDID = @teremId AND TOROLT='F' AND C_TANEVID=@kovetkezoTanevId
 | 
						|
  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
 | 
						|
 | 
						|
IF (@kovTeremId IS NULL) 
 | 
						|
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_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
 | 
						|
	    ,@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
 | 
						|
		,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 |