Rejestracja czasu pracy

Klient
Globalna korporacja z branży automotive. Produkuje m.in. nowoczesne zespoły mocy do pojazdów hybrydowych i elektrycznych.
Problem
Problemem działu HR był brak kontroli nad rzeczywistym czasem pracy swoich pracowników. Szefostwo nie miało narzędzia, które potrafiłoby odczytać i przetworzyć danych z kilkudziesięciu plików tekstowych. To właśnie one zawierały faktyczne informacje – chronologiczny rejestr odbić kartą. Zapisywały wszystkie wejścia i wejścia pracowników na teren Zakładu. Dodatkowo potrzebna była integracja z systemem ADP, który przechowywał informacje na temat nieobecności pracowników.
Ten brak możliwości wykorzystania dobrych raportów, przełożył się na inny sposób liczenia czasu pracy i wynagrodzeń – nie do końca zgodny z rzeczywistością. Firma musiała więc zdecydować się na automatyzację.
Szczegóły
Problem był klasycznym przykładem aplikacji, w którym mieliśmy trzy etapy pracy na danych: odczyt, obróbkę i zapis. Dodatkowo czwartym punktem była spersonalizowana wysyłka e-maili do Teamleaderów i HR.
Rozwiązanie
Oryginalne dane były zapisywane w plikach tekstowych z rozszerzeniem *.dat. Zawierały one chronologiczny rejestr odbić kartą – wejścia i wyjścia pracowników. Codziennie były generowane trzy takie pliki. Każdy z nich zawierał ok. 300-1000 wierszy. Pierwszym zadaniem było więc odczytanie danych miesięcznych do Excela. Operacja ta działa błyskawicznie (2-3 sekundy).
Zdecydowanie najtrudniejszą częścią aplikacji była obróbka danych. Chodziło o przygotowanie czytelnego raportu dla każdego pracownika. W jednym wierszu miało być zawarte zarówno pojedyncze wejście jak i wyjście. Na pozór to zajęcie nie wyglądało na skomplikowane, ale w trakcie prac pojawiły się dodatkowe utrudnienia. Okazało się mianowicie, że czasami pracownicy … zapominali się odbić, więc patrząc chronologicznie – mieli zarejestrowane np. dwa wejścia z rzędu. Ostatecznie jednak poradziliśmy sobie z tym problemem.
Raportowanie do plików XLSX wykonałem za pomocą filtra zaawansowanego. W sumie generowanych jest ok. 60 plików, bo tyle jest Teamleaderów. Każdy plik zawiera tylko jeden arkusz – kierownik może sobie więc wyfiltrować dowolnego pracownika, który mu podlega.
Program na końcu wyświetla zapytanie dotyczące wysyłki raportów mailem. Jeśli operator potwierdza, każdy kierownik otrzymuje swój plik. Wyznaczone osoby z kadr otrzymują cały raport ze wszystkimi pracownikami.
Screeny
Chronologicznie zapisana historia odbić kartą pracowników. Dane zostały odczytane ze wszystkich plików tekstowych w dedykowanym katalogu, a następnie posortowane według daty akcji.

Docelowy raport dla HR z czytelnym rejestrem godzin roboczych dla każdego pracownika. Oprócz rejestru wejść i wyjść, znajdują się tam informacje zaczytane z systemu ADP i zaokrąglony czas pracy.

Efekty
Cel postawiony na wstępie został osiągnięty.
Gotowiec dla kadr
Osoby z kadr mają znacznie ułatwione zadanie ponieważ dostają dane podane na tacy. Oprócz tego, że mają wyliczony czas pracy dla każdego pracownika, to w przypadku nieobecności – mają zaczytany jej powód. Dzięki temu, znacznie łatwiej im wyliczyć wynagrodzenia.
Wnioski dla kierowników
Każdy kierownik otrzymuje na maila plik XLSX z rejestrem czasu pracy wszystkich swoich podopiecznych. Dzięki temu może sprawdzić jak w poprzednim miesiącu pracowały podległe mu osoby i wyciągnąć z tego odpowiednie wnioski.
Statystyka
- Czas trwania projektu: 2 miesiące
- Rok realizacji: 2011
- Skala trudności: 8/10
- Liczba procedur: 30
- Linie kodu z komentarzami: 1510
