86 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			86 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
DROP PROCEDURE IF EXISTS sp_FollowUpTanuloFelmentes
 | 
						|
GO
 | 
						|
 | 
						|
CREATE PROCEDURE sp_FollowUpTanuloFelmentes
 | 
						|
  @intezmenyId int,
 | 
						|
  @aktTanevId int,
 | 
						|
  @kovTanevId int,
 | 
						|
  @felmentesId int
 | 
						|
AS
 | 
						|
BEGIN
 | 
						|
  DECLARE @kovFelmentesId int = (SELECT ID FROM T_TANULOMENTESSEG_OSSZES WHERE ELOZOTANEVIREKORDID=@felmentesId AND TOROLT='F')
 | 
						|
  DECLARE @elsoNap datetime = (select C_KEZDONAP from T_TANEV_OSSZES WHERE ID = @kovTanevId)
 | 
						|
	
 | 
						|
IF (SELECT TOROLT FROM T_TANULOMENTESSEG_OSSZES WHERE ID = @felmentesId)='T' BEGIN
 | 
						|
	RETURN
 | 
						|
END
 | 
						|
 | 
						|
IF @kovFelmentesId IS NULL
 | 
						|
BEGIN
 | 
						|
    INSERT INTO T_TANULOMENTESSEG_OSSZES (
 | 
						|
       C_ERTEKELESMENTESITES
 | 
						|
      ,C_KEZDETE
 | 
						|
      ,C_MENTESSEGOKA
 | 
						|
      ,C_ORAMENTESITES
 | 
						|
      ,C_VEGE
 | 
						|
      ,C_SZOVEGESENERTEKELHETO
 | 
						|
      ,C_TANTARGYID
 | 
						|
      ,C_TANULOID
 | 
						|
      ,C_INTEZMENYID
 | 
						|
      ,C_TANEVID
 | 
						|
      ,SERIAL
 | 
						|
      ,LASTCHANGED
 | 
						|
      ,CREATED
 | 
						|
      ,MODIFIER
 | 
						|
      ,CREATOR
 | 
						|
      ,ELOZOTANEVIREKORDID
 | 
						|
    ) SELECT
 | 
						|
       C_ERTEKELESMENTESITES
 | 
						|
      ,C_KEZDETE
 | 
						|
      ,C_MENTESSEGOKA
 | 
						|
      ,C_ORAMENTESITES
 | 
						|
      ,C_VEGE
 | 
						|
      ,C_SZOVEGESENERTEKELHETO
 | 
						|
      ,tgy.ID
 | 
						|
      ,tKov.ID
 | 
						|
      ,tm.C_INTEZMENYID
 | 
						|
      ,@kovTanevId
 | 
						|
      ,0
 | 
						|
      ,tm.LASTCHANGED
 | 
						|
      ,tm.LASTCHANGED
 | 
						|
      ,tm.MODIFIER
 | 
						|
      ,tm.MODIFIER
 | 
						|
      ,tm.ID
 | 
						|
    FROM T_TANULOMENTESSEG_OSSZES tm
 | 
						|
		INNER JOIN T_FELHASZNALO_OSSZES t ON t.ID = tm.C_TANULOID
 | 
						|
		INNER JOIN T_FELHASZNALO_OSSZES tKov ON tKov.C_OKTATASIAZONOSITO = t.C_OKTATASIAZONOSITO AND tKov.C_TANEVID = @kovTanevId AND tKov.TOROLT='F'
 | 
						|
		INNER JOIN T_TANTARGY_OSSZES tgy ON tgy.ELOZOTANEVIREKORDID=tm.C_TANTARGYID AND tgy.TOROLT='F'
 | 
						|
    WHERE tm.ID=@felmentesId AND ISNULL(tm.C_VEGE,'2200-01-01')>@elsoNap
 | 
						|
  END
 | 
						|
ELSE
 | 
						|
	BEGIN
 | 
						|
		IF (SELECT C_VEGE FROM T_TANULOMENTESSEG_OSSZES WHERE ID = @felmentesId)<=@elsoNap
 | 
						|
			UPDATE T_TANULOMENTESSEG_OSSZES SET 
 | 
						|
				 TOROLT='T' 
 | 
						|
			WHERE ELOZOTANEVIREKORDID=@felmentesId AND TOROLT='F'
 | 
						|
		ELSE
 | 
						|
		BEGIN
 | 
						|
			UPDATE kovetkezo SET
 | 
						|
			   C_ERTEKELESMENTESITES = regi.C_ERTEKELESMENTESITES
 | 
						|
			  ,C_KEZDETE = regi.C_KEZDETE
 | 
						|
			  ,C_MENTESSEGOKA = regi.C_MENTESSEGOKA
 | 
						|
			  ,C_ORAMENTESITES = regi.C_ORAMENTESITES
 | 
						|
			  ,C_VEGE = regi.C_VEGE
 | 
						|
			  ,C_SZOVEGESENERTEKELHETO = regi.C_SZOVEGESENERTEKELHETO
 | 
						|
			  ,C_TANTARGYID = tgy.ID
 | 
						|
			  ,SERIAL += 1
 | 
						|
			  ,LASTCHANGED = regi.LASTCHANGED
 | 
						|
			  ,MODIFIER = regi.MODIFIER
 | 
						|
			FROM T_TANULOMENTESSEG_OSSZES kovetkezo
 | 
						|
				INNER JOIN T_TANULOMENTESSEG_OSSZES regi ON regi.ID=kovetkezo.ELOZOTANEVIREKORDID AND regi.TOROLT='F' AND regi.ID=@felmentesId
 | 
						|
				INNER JOIN T_TANTARGY_OSSZES tgy ON tgy.ELOZOTANEVIREKORDID=regi.C_TANTARGYID AND tgy.TOROLT='F'
 | 
						|
		END
 | 
						|
	END
 | 
						|
END
 | 
						|
GO
 |