declare @c           cursor,
        @intezmenyId int,
        @tanevId     int,
		@startDate   datetime = '2020-09-01',
		@endDate     datetime = '2021-08-31',
		@ABHet       bit = 0;

declare @Dates table(Dates date not null primary key clustered);

WITH ctedaterange AS (
    SELECT [Dates] = @startDate, week = 1
    UNION ALL
    SELECT [dates] + 1, week + IIF(DATEPART(dw, dates + 1) = 1, 1, 0) 
    FROM ctedaterange 
    WHERE [dates] + 1 <= @endDate
)
INSERT INTO @Dates(Dates)
SELECT s.Dates
FROM ctedaterange s
OPTION(maxrecursion 1000);


set @c = cursor static for 
    select t.ID, t.C_INTEZMENYID
    from T_TANEV t
    inner join T_INTEZMENY i on t.C_INTEZMENYID = i.ID
    where t.C_NEV = '2020/2021'
    and t.TOROLT = 'F'
    and i.TOROLT = 'F'
    order by t.ID;

open @c;
fetch next from @c into @tanevId, @intezmenyId;
while (@@fetch_status = 0)
    begin

	if exists(
		select *
		from T_DICTIONARYITEMBASE 
		where C_TYPE like 'HetiRendTipus'
		and C_INTEZMENYID = @intezmenyId
		and C_TANEVID = @tanevId
		and ID <> 1554
	)
		set @ABHet = 1
	else 
		set @ABHet = 0;
  
	if exists(
		    select t.ID, T.C_INTEZMENYID, d.Dates, h.C_HETSORSZAMA
			from T_TANEV t
			inner join T_INTEZMENY i on i.ID = t.C_INTEZMENYID
			inner join @Dates d      on d.Dates between t.C_ELSOTANITASINAP and t.C_UTOLSOTANITASINAP
			left join T_NAPTARIHET h on d.Dates between h.C_HETKEZDONAPJA and h.C_HETUTOLSONAPJA and h.C_TANEVID = t.ID
			where t.ID = @tanevId
			and i.ID = @intezmenyId
			and t.TOROLT = 'F'
			and i.TOROLT = 'F'
			and h.C_HETSORSZAMA is null
	)
		exec dbo.sp_GenerateNaptariHetek @intezmenyId = @intezmenyId, 
										 @tanevId = @tanevId,
										 @ABHet = @ABHet;

    exec dbo.sp_GenerateNaptariNapok @intezmenyId = @intezmenyId, 
                                     @tanevId = @tanevId,
                                     @overridedefault = 0;

	print concat('@intezmenyId=', @intezmenyId, ', @tanevId=', @tanevId, ' @ABHet=', @ABHet)
    fetch next from @c into @tanevId, @intezmenyId;

    end

close @c;