Kod: Tümünü seç
ID PERSONEL_ID GİRİŞ_ZAMANI ÇIKIŞ_ZAMANI
10 1 10.02.2005 05:45:00 10.02.2005 09:00:00
14 1 10.02.2005 12:00:00 10.02.2005 16:15:00
11 1 10.02.2005 18:00:00 11.02.2005 00:15:00
- Adam ilk harekette 15 dak. erken gelmiş, işi çıkmış (izin vs.) 09:00 da çıkmış.
- İşini bitirip 12:00'de geri gelmiş ve 15 dak. geç çıkarak vardiyasını tamamlamış.
- Sonra bunu geri çağırmışlar bir iş var diye. Atlamış gelmiş 18:00'da ve ertesi güne sarkan 00:15 de çıkmış gitmiş. ( Ne bahtsız adammış bu

Uygulamada bu adamın, fazla mesaisini, eksik çalışmasını, normal çalışma saatinin dakika olarak hesaplanması isteniyor.
Yanlız bazı kısıtlar var:
- Eğer işe erken gelmişse 15 dakikaya kadar bu fazla mesai sayılmayacak, 15 dakikadan daha fazla bir erken geliş ise fazla mesai yazılacak. Yani örnekteki 05:45 girişinin fazla mesai sayılmaması gerekir.
- Geç çıkmışsa 30 dakikaya kadar olan sayılmayacak, 30 dakikadan sonrası fazla mesai olarak hesaplanacak. Yani örnekteki 16:15 'in 15 dakikası fazla mesai değildir. Ancak 18:00-00:15 arası fazla mesai sayılmalıdır.
SP'ler ile bir algoritma kurmaya çalışıyorum ancak pek başarılı olduğum söylenemez. Nasıl bir mantık ile fazla çalışma, eksik çalışma, normal çalışma saatlerini bulabilirim. Bu konuda tecrübesi olanlar, görüşlerini paylaşırlarsa çok mutlu olurum.
İyi günler dilerim.