Skocz do zawartości

[SQL] Liczba dni absencji

Polecane posty

Przygotowuje dane dla pracowników w formie raportu z ich listą urlopów. Znalazłem tablicę Absencje i powiązaną z nią ZapisyWECP, ale nie mogę Sobie poradzić z jednym problemem - pobranie właściwej ilości dni absencji, a nie dni absencji kalendarzowych (takie są w ZapisyWECP.LiczbaDni). Czy można prosić o podpowiedź, z której tabeli można to wyciągnąć dla konkretnej absencji?

Link to postu

Wyznaczenie planu pracy dla absencji na konkretny dzień wymaga wyznaczenia:
- umowy obowiązującej w konkretnym dniu,
   - planu pracy - kalendarza zdefiniowanego w umowie obowiązującego w danym dniu
      - cyklu planu pracy - kalendarza
  - uwzględnienia wyjątków systemowych
  - uwzględniania zmian w planie pracy

Wyliczenie tego w raporcie SQL'owym byłoby karkołomną  czynnością

Link to postu

Tak jak obiecaliśmy w tym wątku, od wersji 22 w Sferze dostępny jest komponent do pobierania danych o należnym i wykorzystanym urlopie. Są tam także informacje o okresach urlopu danego pracownika. Poniżej przykład jak można się do tych danych dostać.

int idOsoby;
IPodmioty podmioty = sfera.PodajObiektTypu<IPodmioty>();
IMenadzerWymiaruUrlopuPracownika menadzer = sfera.PodajObiektTypu<IMenadzerWymiaruUrlopuPracownika>();
var podmiotPracownika = podmioty.Dane.WszyscyPracownicy().FirstOrDefault(x => x.Osoba.Id == idOsoby);
if (podmiotPracownika != null) 
{
	var pracownikGr = pracownik.Osoba.Pracownik.PracownikGr;
	var daneOUrlopie = menadzer.Pobierz(pracownikGr, 2018);
	foreach (var okresUrlopu in daneOUrlopie.OkresyUrlopuPrzed
  		.Where(x => x.Rodzaj == RodzajOkresuUrlopu.UrlopWypoczynkowy || x.Rodzaj == RodzajOkresuUrlopu.UrlopWypoczynkowyNaZadanie)
  	{
  		var PoczatekUrlopu = okresUrlopu.DataOd.Value;
  		var KoniecUrlopu = okresUrlopu.DataDo.Value;
  		var LiczbaDni = okresUrlopu.Wykorzystany / 480;
  	}
}

 

Edytowane przez Łukasz G.
Link to postu

Czyli pozostaje oranie wpisów po Sferze, ała. No nic, od góry założyłem, że skoro w liście Absencje w Gratyfikancie, taka kolumna jest, także z rozbiciem na godziny, to jest to po prostu jakieś szybkie zapytanie z bazy, a właśnie tą listę chciałbym odwzorować w naszym Portalu Pracownika - niestety, pracownicy marudzą o dni urlopu, podane kalendarzowo, tak jak jest to zapisane w ZapisyWECP.

Link to postu
×
×
  • Dodaj nową pozycję...