Veritabanı oluşturma ve arama mantığını nasıl kuracağım

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
zaxacm
Üye
Mesajlar: 129
Kayıt: 05 Ara 2005 05:48

Veritabanı oluşturma ve arama mantığını nasıl kuracağım

Mesaj gönderen zaxacm »

merhabalar
Karışık birşey olacak ama eminim ustalar için kolaydır.Veritabanı oluşturma ve arama mantığını nasıl kuracağım acaba.
Şimdi bir işyerinde değişik vardiyada çalışan elemanlar var.

Bazı elemanlar 8/12 çalışıyor.
12:00-20:00 arası ve pazar günü izinli olduğu için off.

Bazı elemanlar 12/24 çalışıyor.
12:00-24:00 arası ve izin günü yok ama sonuçta 12 saat çalışıp 24 saat izinli olduğu için 2 günde bir off..

Bazı elemanlar 12/36 çalışıyor.
12:00-24:00 arası ve izin günü yok ama sonuçta 12 saat çalışıp 36 saat izinli olduğu için 2,5 günde bir off..

Yapmak istediğim belli bir tarih ve saat arasında boş olanları bulmak.Örneğin;
bir edite mesela 17.02.2006 12:00-24:00 yazıp boş olanları bu zamanda çalışmayanları bulmak istiyorum.

Çalışma saatleri sabit yani vtnına girerken sabit aralıklar girilecek mesela 12:00-20:00 12:00-24:00 gibi.
Veritabanı oluşturma ve arama mantığını nasıl kuracağım acaba.
zaxacm
Üye
Mesajlar: 129
Kayıt: 05 Ara 2005 05:48

Mesaj gönderen zaxacm »

vt yi şöyle oluşturdum:

pid (personel id)
pad(personel adı)
ptarih(personel işe başlama tarihi)
saat(vardiya saatleri sabit.12:00-20:00 ve 12:00-24:00 şeklinde comboboxdan seçtiriyorum)
off(çalışmadığı günü yazdırıyorum comboboxdan pazartesi salı ...gibi)

Amacım ekstra bir parttime iş çıktığı zaman personel içinden o gün çalışmayan personeli bulup ona işi teklif etmek.
Burada önemli olan 2 nokta var biri personelin off olduğu gün ve çalıştığı gün ona iş veremem.

şimdi öyle bir kod yazmam lazım ki ilk önce pesonelin işe başlama tarihini başlangıç alarak ileri doğru hesaplama yapacak ancak burada bir sınırlama koyabiliriz mesela 6 ay gibi.pesonelin işe başlama tarihininden sonraki 6 ay içinden tatil gününü ve çalıştığı günü çıkartarak kalan günleri bana gösterecek.
örnek:
adı ali
işe başlama tarihi 01.10.2006
12:00-20:00
off pazar

02.10.2006 den itibaren 6 ay içindeki günlerden pazar günlerini çıkaracak.Mesela 10.12.2006 günü 12:00-18:00 arası müsait mi dediğimde sonucu döndürecek.
Yukarıdaki örnekte iş biraz kolay ancak vardiya 12:00-24:00 olduğunda iş karışıyor bu sefer hem pazar gününü çıkaracak hem de 12 saatlik çalışma dilimlerini de çıkarması lazım.Ufff çok karışık işin işinden nasıl çıkacağım bilmiyorum
Cevapla