Kendi yıllardan geri düşerek gelecek ise. Özetle anlatayım ben olsam iki tane tablo oluştururdum.
- İzin Hakkı Tablosu: (Id, Personel_Id, Yil, IzinSuresi ve varsa diğer istediğiniz başka bilgiler.)
- İzin Kullanım Tablosu: (Id, Personel_Id, KullandigiIzinSuresi ve kullandığı tarihler arasına ilişkin diğer detaylar)
Yukarıdaki tablolar ilişkiseldir.
Daha sonra gösterilen ekranlarda IzinHakkı tablosundaki izin hakkı olduğu yıllar group by ile gruplanır.
Ardından personel görüntülendiğinde ilk yıldan düşmeye başlarsınız. Bittikçe diğer yıla geçersiniz.
Örneğin:
Kullandığı izin sayısının toplamını izin kullanım tablosundan toplarsınız. 50 gün diyelim. Bunu bir int değişken içerisinde tutarsınız. Değişken adı: KullanilanIzinToplami
foreach ile ilk iznin tanımlı olduğu yıldan dönmeye başlarsınız.
2016 yılından başladığınızı varsayalım. 2016 yılının izin miktarına bakılır 30 gün. 50 günden 30 gün düşülür. kalan 20 gün yukarıdaki tanımlanan KullanilanIzinToplami adlı değişkenin içine yeniden atılır.
Ardından 2017 yılına geçilir. 2017 hakkına bakılır. 45 gün diyelim. 45'den kalan 20 gün düşür ve böylece döngü devam ederek yazılır. Düşecek birşey kalmadığından zaten izin hakkı tam olarak yazılacaktır.
Metinle anlatmak biraz zor oluyor umarım açıklayıcı olmuştur. İyi çalışmalar.
çok teşekkür ederim Kafamda birşeyler oluştu. En azından nasıl bir tablo yaparım olayını çözecek gibiyim. Eyvallah