93 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			93 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
DROP PROCEDURE IF EXISTS sp_FollowUpCsengetesiRendOra
 | 
						|
GO
 | 
						|
 | 
						|
CREATE PROCEDURE sp_FollowUpCsengetesiRendOra
 | 
						|
   @intezmenyId int
 | 
						|
  ,@aktTanevId int
 | 
						|
  ,@kovetkezoTanevId int
 | 
						|
  ,@csengetesiRendOraId int
 | 
						|
  ,@csengetesiRendId int 
 | 
						|
  ,@isVisszaMenoleges bit
 | 
						|
AS
 | 
						|
BEGIN
 | 
						|
  DECLARE @oraSzam int
 | 
						|
         ,@kovCsengrendOraId int
 | 
						|
         ,@kovCsengRendId int
 | 
						|
  
 | 
						|
  SELECT @oraSzam = C_ORASZAM FROM T_CSENGETESIRENDORA_OSSZES WHERE ID = @csengetesiRendOraId
 | 
						|
  SELECT @kovCsengRendId = ID FROM T_CSENGETESIREND_OSSZES WHERE ELOZOTANEVIREKORDID=@csengetesiRendId
 | 
						|
  
 | 
						|
  IF EXISTS (SELECT 1 FROM T_CSENGETESIRENDORA_OSSZES WHERE C_TANEVID=@kovetkezoTanevId AND TOROLT='F' AND C_ORASZAM=@oraSzam AND ISNULL(ELOZOTANEVIREKORDID,0)<>@csengetesiRendOraId AND C_CSENGETESIRENDID=@kovCsengRendId)
 | 
						|
  BEGIN
 | 
						|
    UPDATE T_CSENGETESIRENDORA_OSSZES SET ELOZOTANEVIREKORDID = NULL WHERE ELOZOTANEVIREKORDID=@csengetesiRendOraId
 | 
						|
    UPDATE T_CSENGETESIRENDORA_OSSZES SET ELOZOTANEVIREKORDID = @csengetesiRendOraId WHERE C_TANEVID=@kovetkezoTanevId AND TOROLT='F' AND C_ORASZAM=@oraSzam AND ISNULL(ELOZOTANEVIREKORDID,0)<>@csengetesiRendOraId AND C_CSENGETESIRENDID=@kovCsengRendId
 | 
						|
  END
 | 
						|
 | 
						|
  SELECT @kovCsengrendOraId = ID FROM T_CSENGETESIRENDORA_OSSZES WHERE ELOZOTANEVIREKORDID=@csengetesiRendOraId
 | 
						|
 | 
						|
  IF (SELECT TOROLT FROM T_CSENGETESIRENDORA_OSSZES WHERE ID = @csengetesiRendOraId)='T' OR (SELECT TOROLT FROM T_CSENGETESIRENDORA_OSSZES WHERE ID=@kovCsengrendOraId)='T'
 | 
						|
  BEGIN
 | 
						|
    RETURN
 | 
						|
  END
 | 
						|
 | 
						|
    IF @kovCsengrendOraId IS NULL
 | 
						|
    BEGIN
 | 
						|
      INSERT INTO T_CSENGETESIRENDORA_OSSZES 
 | 
						|
      (
 | 
						|
         C_KEZDETE
 | 
						|
        ,C_ORASZAM
 | 
						|
        ,C_VEGE
 | 
						|
        ,C_CSENGETESIRENDID
 | 
						|
        ,C_INTEZMENYID
 | 
						|
        ,C_TANEVID
 | 
						|
        ,TOROLT
 | 
						|
        ,SERIAL
 | 
						|
        ,LASTCHANGED
 | 
						|
        ,CREATED
 | 
						|
        ,MODIFIER
 | 
						|
        ,CREATOR
 | 
						|
        ,NNID
 | 
						|
        ,ELOZOTANEVIREKORDID
 | 
						|
      ) 
 | 
						|
      SELECT
 | 
						|
         C_KEZDETE
 | 
						|
        ,C_ORASZAM
 | 
						|
        ,C_VEGE
 | 
						|
        ,csr.ID
 | 
						|
        ,csro.C_INTEZMENYID
 | 
						|
        ,@kovetkezoTanevId
 | 
						|
        ,'F'
 | 
						|
        ,0
 | 
						|
        ,GETDATE()
 | 
						|
        ,GETDATE()
 | 
						|
        ,csro.MODIFIER
 | 
						|
        ,csro.MODIFIER
 | 
						|
        ,NULL
 | 
						|
        ,csro.ID
 | 
						|
      FROM T_CSENGETESIRENDORA_OSSZES csro
 | 
						|
        INNER JOIN T_CSENGETESIREND_OSSZES csr ON csr.ELOZOTANEVIREKORDID=csro.C_CSENGETESIRENDID AND csr.TOROLT='F'
 | 
						|
      WHERE csro.C_TANEVID = @aktTanevId AND csro.ID = @csengetesiRendOraId AND csro.TOROLT = 'F'
 | 
						|
    END
 | 
						|
    ELSE
 | 
						|
    BEGIN
 | 
						|
      UPDATE t SET
 | 
						|
         C_KEZDETE = old.C_KEZDETE
 | 
						|
        ,C_ORASZAM = old.C_ORASZAM
 | 
						|
        ,C_VEGE = old.C_VEGE
 | 
						|
        ,SERIAL = t.SERIAL+1
 | 
						|
        ,LASTCHANGED = GETDATE()
 | 
						|
        ,MODIFIER=old.MODIFIER
 | 
						|
      FROM T_CSENGETESIRENDORA_OSSZES t
 | 
						|
        INNER JOIN T_CSENGETESIRENDORA_OSSZES old ON old.ID = t.ELOZOTANEVIREKORDID AND old.C_INTEZMENYID = @intezmenyId AND old.C_TANEVID = @aktTanevId AND old.ID = @csengetesiRendId
 | 
						|
      WHERE t.TOROLT = 'F' AND t.C_INTEZMENYID = @intezmenyId AND t.C_TANEVID = @kovetkezoTanevId AND t.ELOZOTANEVIREKORDID = @csengetesiRendOraId
 | 
						|
    END
 | 
						|
 | 
						|
    SELECT @kovCsengrendOraId= ID FROM T_CSENGETESIRENDORA_OSSZES WHERE ELOZOTANEVIREKORDID=@csengetesiRendOraId AND TOROLT='F'
 | 
						|
 | 
						|
    IF @isVisszaMenoleges=1
 | 
						|
    BEGIN
 | 
						|
      EXEC sp_UpdateOrarendiOraVisszamenolegesen @kovCsengrendOraId
 | 
						|
    END
 | 
						|
 | 
						|
END
 | 
						|
GO |