sozsoft-platform/configs/seeds/sql/object/Hr_F_TimesheetPeriodClosed.sql

26 lines
842 B
MySQL
Raw Permalink Normal View History

2026-10-04 21:18:13 +00:00
CREATE OR ALTER FUNCTION [dbo].[Hr_F_TimesheetPeriodClosed]
(
@TenantId uniqueidentifier,
@StartDate date,
@EndDate date
)
RETURNS bit
AS
BEGIN
-- Aralığın değdiği aylardan biri kapalı puantaj dönemiyse 1. Puantajı değiştiren kayıtlar
-- (izin, rapor, puantaj günü) kapalı aya yazılamaz; dönemi İK açar, açılış ayı yeniden hesaplar.
IF @StartDate IS NULL OR @EndDate IS NULL
RETURN 0;
IF EXISTS (
SELECT 1 FROM Hr_T_TimesheetPeriod p
WHERE p.IsDeleted = 0 AND p.[Status] = N'Closed'
AND (p.TenantId = @TenantId OR (p.TenantId IS NULL AND @TenantId IS NULL))
AND p.PeriodYear * 100 + p.PeriodMonth
BETWEEN YEAR(@StartDate) * 100 + MONTH(@StartDate) AND YEAR(@EndDate) * 100 + MONTH(@EndDate))
RETURN 1;
RETURN 0;
END
GO