Parametry wejciowe funcji
Sprawdzamy pracownika o identyfikatorze: 3
check_user
Sprawdzamy datę do porównania:
check_day jeśli nie podano wstawiamy check_start
Sprawdzamy datę zakres OD: 2026-11-08
check_start
Sprawdzamy datę zakres DO: 2026-11-08
check_end
Obsługa formularza Logowania czasu pracy.
Wynik działania funkcji
checkUserAbsenceInPeriodNOTSet (3, 2026-11-08, 2026-11-08)=1
Pracownik 3 może rozpocząć pracę w terminie od 2026-11-08 do 2026-11-08 brak wniosków w tym czasie. TAK może rozpocząć pracę.
Obsługa formularza Wniosku o Urlop lub Pracę zdalną.
Wynik działania koniunkcji dwóch funkcji logicznych
checkUserNOTLogedInPeriod (3, 2026-11-08, 2026-11-08)=1
checkUserAbsenceInPeriodNOTSet (3, 2026-11-08, 2026-11-08)=1
Pracownik 3 może złozyć wniosek w terminie od 2026-11-08 do 2026-11-08 brak logowań i wniosków w tym czasie.
Funkcja sprawdzająca czy w zakresie dat OD ... DO Użytkownik NIE miał ustawionej nieobecności
checkUserAbsenceInPeriodNOTSet ($worker_id, $fromDate, $toDate) = FALSE
W terminie od 2026-11-08 -> 2026-11-08 użytkownik nie miał ustawionej nieobecności
Funkcja sprawdzająca czy w zakresie dat OD ... DO Użytkownik NIE logował się w ewidencji czasu pracy
checkUserNOTLogedInPeriod ($worker_id, $fromDate, $toDate) = FALSE
W terminie od 2026-11-08 -> 2026-11-08 użytkownik nie logował się ani razu.
AD 1) Podczas rozpoczęcia czasu pracy w module Rejestracja Czasu Pracy (kliknięcie w zegar w kolorze czerwonym), należy sprawdzić czy w dniu rozpoczęcia pracy nie istnieje ustawiona wcześniej jakakolwiek nieobecność (Urlop, Praca Zdalna, Kodeks Pracy, Opieka, Wyjazd etc. )
Wykorzytujemy funkcję checkUserAbsenceInPeriodNOTSet ($worker_id, $fromDate, $toDate), gdzie $worker_id=identyfikator zalogowanego użytkownika fromDate=$toDate i podstawiamy aktualną datę w momencie logowania -> date("Y-m-d"),
Uniknamy dublowania wpisów (czas pracy / nieobecność w biurze) tzn, Użytkownik złożył wcześniej wniosek o urlop lub pracę zdalną, a następnie w dniu objętym wnioskiem rozpoczął pracę po zalogowaniu do NetTeam.
Jeśli checkUserAbsenceInPeriodNOTSet ($worker_id, $fromDate, $toDate) == FALSE w zaksiesie dat OD-DO we wniosku nie istnieje ustawiona nieobecność w biurze -> TAK można rozpocząć czasu pracy w tym dniu.
Wynik działania funkcji checkUserAbsenceInPeriodNOTSet (3, 2026-11-08, 2026-11-08)=1
AD 2)Podczas składania wniosku o urlop lub pracę zdalną (dwa odrębne formularze ze wskazaniem zakresu dat), należy sprawdzić - dla podanego w formularzu zakresu dat czy:
a) w zakresie dat “Od date_from Do date_to” nie istnieje ustawiona wcześniej jakakolwiek nieobecność (Urlop, Praca Zdalna, Kodeks Pracy, Opieka, Wyjazd etc. )
b) w zakresie dat “Od date_from Do date_to” nie pojawił się w bazie danych wpis rozpoczynający pracę w ewidencji czasu pracy
Wykorzytujemy funkcję checkUserAbsenceInPeriodNOTSet ($worker_id, $fromDate, $toDate), gdzie $worker_id=identyfikator zalogowanego użytkownika, $fromDate=data_OD_DNIA_forularza, $toDate=data_DO_DNIA_forularza
ad a) Unikamy złożenia wniosku o pracę zdalną / urlop jeśli wniosek swoim zakresem obejmuje co najmniej 1 dzień dla którego został zatwierdzony wniosek urlopowy lub pracę zdalną tzn. użytkownik ma już status “poza biurem” lub użytkownik rozpoczął pracę w ewidencji czasu pracy
Jeśli checkUserAbsenceInPeriodNOTSet ($worker_id, $fromDate, $toDate) == FALSE w zaksiesie dat OD-DO we wniosku nie istnieje ustawiona nieobecność w biurze ->TAK można złożyć wniosek o pracę zdalną lub urlop na podany zakres.
Wynik działania funkcji checkUserAbsenceInPeriodNOTSet (3, 2026-11-08, 2026-11-08)=1
ad b) Unikamy złożenia wniosku o pracę zdalną / urlop jeśli wniosek swoim zakresem obejmuje co najmniej 1 dzień dla którego użytkownik rozpoczął pracę w ewidencji czasu pracy
Jeśli checkUserNOTLogedInPeriod ($worker_id, $fromDate, $toDate) == FALSE w zaksiesie dat OD-DO we wniosku nie istnieje ustawiona nieobecność w biurze -> TAK można złożyć wniosku o pracę zdalną lub urlop.
Wynik działania funkcji checkUserNOTLogedInPeriod (3, 2026-11-08, 2026-11-08)=1