Haftalık çalışma çizelgesi giriş ve aylık döküm hakkında yrd

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
tatu
Üye
Mesajlar: 25
Kayıt: 09 Nis 2005 06:13

Haftalık çalışma çizelgesi giriş ve aylık döküm hakkında yrd

Mesaj gönderen tatu »

Merhabalar.

Her Departman için Haftalık çalışma çizelgesi hazırlanıyor.

Örn.
NAME MON TUE WED THU FRI SAT SUN
Tatu --3-- --3-- OFF --3-- --3-- --3-- --3--
Ayla --1-- --1-- OFF --1-- --1-- --1-- --1--


Bu şekilde haftalık olarak hazırlanıp Departmanlar için çıktı alınıyor. Bu Çizelgede İzinler, Raporlar, Cezalandırmalar işleniyor ve her ay aylık Puantaj olarak ayrıca her ayın çıktısı alınıyor. (Kaç Gün Çalıştı, Kaç Gün Kesintisi var, Kaç Gün Raporlu)

Rakamlar çalışma saatlerinin kodları (1=08:00-16:00 vs.)

Aylık dökümde de haftalık döküm gibi gün gün görünüm ve aylık toplamlar alınıyor.

Örn.

NAME --1-- --2-- --3-- --4-- --5-- ..... --30-- --31--

Tatu --3-- --3-- OFF --3-- --3-- ..... --3-- --3--
Ayla --1-- --1-- OFF --1-- --1-- ..... --1-- --1--

Tüm bunlar Excel'de tutuluyor ve manual olarak işlendiği için çok sorunlu

Benim derdim bunu Delphi ile çözümlemek. Database olarak SQL Server 2000 kullanıyorum. Ama bir türlü kafamda bir Tablolama ve Sorgulama mantığı kuramadım..

Yardımcı olursanız sevinirim.
mkysoft
Kıdemli Üye
Mesajlar: 3110
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Mesaj gönderen mkysoft »

kayıtları tutarken haftalık yerine günük tutman daha iyi olacaktır. raporlama esnasında istersen haftalık yapabilirsin.
adı gün başlama saati bitiş saati açıklama
--- ---- --------------- ------------ --------------
ayşe 17.01.2005 08:30 16:30
fatma 12.06.2005 izinli

istersen saat kısmını bütün yapıp daha önce kullandığın kodlama kısmınıda girebilirsin. benim önerdipim yöntemde fazla mesaileride geliştirebilirsin. birde barcodlu sistem yapıp girişe koyarsan giriş-çıkışları elle takip etmenede gerek kalmaz.
tatu
Üye
Mesajlar: 25
Kayıt: 09 Nis 2005 06:13

Mesaj gönderen tatu »

Cevap için teşekkürler.

Olması gereken ve doğru çözüm sizinki. Ancak benim temel sorunum yaklaşık 20 departman ve Her departmanda 5 ila 50 arası personel mevcut.
Her departman sorumlusu Haftalık çizelgesini kendisi çıkarıyor. Ve excel alışkanlığından kesinlikle vaz geçmiyorlar. Talepleri Kendi departmanlarındaki tüm isimlerin görünmesi,Pazartesi-Pazar arası 7 günlük bir giriş bölümü ve o bölümlere mesai kodlarını girebilmeleri.

Öbür türlü Excel'den vazgeçmiyorlar ki bu benim manual olarak excelden teekrar programa işlemem olacak ki bu da çok külfetli ve Hatalı giriş şansı yüksek. En önemlisi hiç pratik bir çözüm değil.

Amacım
Departman,İsim,Tarih1(Pazartesi),Tatrih2(Salı),Tarih3(Çar),Tarih4(Per),Tar5(Cuma),Tarih6(CTesi),Tarih7(Pazar)
kolonlarının bulunduğu ve Bu kolonlara Mesai kodlarının girilebildiği bir veri giriş yöntemi oluştutmak.

Buraya girilecek verilerin daha sonra Departman,İsim,Tarih,Mesai_Kodu olarak bir tabloya işletebilirsem benim için mükemmel olacak. Ama Nasıl???





Saygılar.
oguzozturk74
Kıdemli Üye
Mesajlar: 574
Kayıt: 01 Şub 2004 12:29
Konum: Erdemli - MERSİN

Mesaj gönderen oguzozturk74 »

Kod: Tümünü seç

/* Table: DEPARTMAN                                             */

create table DEPARTMAN (
DEPARTMAN_NO         INTEGER                        not null,
DEPARTMAN_ADI        VARCHAR(20),
constraint PK_DEPARTMAN primary key (DEPARTMAN_NO)
);

/* Table: PERSONEL                                              */

create table PERSONEL (
DEPARTMAN_NO         INTEGER                        not null,
PERSONEL_NO          INTEGER                        not null,
PERSONEL_ADI         VARCHAR(20),
constraint PK_PERSONEL primary key (DEPARTMAN_NO, PERSONEL_NO)
);


/* Table: PERSONEL_HAREKET                                      */

create table PERSONEL_HAREKET (
DEPARTMAN_NO         INTEGER                        not null,
PERSONEL_NO          INTEGER                        not null,
PERSONEL_HAREKET_NO  INTEGER                        not null,
TARIH                DATE,
MESAJ_KODU           CHAR(10),
constraint PK_PERSONEL_HAREKET primary key (DEPARTMAN_NO, PERSONEL_NO, PERSONEL_HAREKET_NO)
);

alter table PERSONEL
   add constraint FK_PERSONEL_REFERENCE_DEPARTMA foreign key (DEPARTMAN_NO)
      references DEPARTMAN (DEPARTMAN_NO);

alter table PERSONEL_HAREKET
   add constraint FK_PERSONEL_REFERENCE_PERSONEL foreign key (DEPARTMAN_NO, PERSONEL_NO)
      references PERSONEL (DEPARTMAN_NO, PERSONEL_NO);
Şeklinde bir yapı olabilir..[/img]
tatu
Üye
Mesajlar: 25
Kayıt: 09 Nis 2005 06:13

Mesaj gönderen tatu »

Hocam Cevap için teşekkürler ama bu da benim işimi görmüyor.

Nedeni şu.

Bir Otelde çalışıyorum. Çalıştığım otelde departman sayısı ve departmanlara bağlı personel sayısı haliyle çok ve Sezonluk olarak değişken. Ve mesai saatleri 24 Saate yayılmış durumda.
Bu nedenle Her hafta bu departmanlar için haftalık çalışma çizelgesi hazırlanıyor ve hazırlayanlar Departman sorumluları. Sürekli olarak ta bu çizelgeler üzerinde oynama yapıyorlar. Dolayısı ile onlardan alömış olduğum haftalık çizelgeleri programa işlesem de yapılan değişiklikler nedeniyle çok yoğun zaman harcamak gerekiyor.

Departman sorumlularının derdi Kendi deparmanlarındaki Personeli ve Pazartesi- Pazar bir bütün olarak görmek ve bunun üzerinden giriş yapmak ve Gün içerisinde ve Hafta içerisinde herhangi bir mesai diliminde eksik eleman kalmamak.
(Excel'de İsim, P.tesi-Salı-Çar-Per-Cuma-Ctesi-Paz olarak bir sayfaya giriş yapıyorlar.)


Benim derdim de Excel'de oluşturdukları sayfayı bir veri giriş formu haline getirmek ve bu verileri daha sonra daha mantıklı derleyebilmek.

Gün bazında veri girişini kabul ettiremiyorum. :(
oguzozturk74
Kıdemli Üye
Mesajlar: 574
Kayıt: 01 Şub 2004 12:29
Konum: Erdemli - MERSİN

Mesaj gönderen oguzozturk74 »

Yukarı da belirttiğim gibi ;
Bir tane Departman adlı bir tablonuz olur ve
buna bağlı (detayında) ise Personel tablonuz olur ve
en sonda da Personel tablosuna bağlı Hareket tablonuz olur .
Hareket tablosuna ek olarak söylediğiniz alanları (P.tesi-Salı-Çar-Per-Cuma-Ctesi-Paz ) eklersiniz .

Delphi tarafında önce Departman ları tanımlatırsınız sonra herbir Departman a ait Personeller tanımlanır . Her bir Personele ait hareketler girilir .

Sorunuzdan anladığım kadarı ile , böyle birşey yapabilirsiniz..
tatu
Üye
Mesajlar: 25
Kayıt: 09 Nis 2005 06:13

Mesaj gönderen tatu »

Bu mantıkta olmuyor. Çünkü Haftalık olarak işlenecek o kodlar bir table'da İsim,Tarih,Kod olarak işlenmeli ki (benim işime yarasın.)

Master/Detail mantığında biraz kurcalayınca işe yarar bir sonuca vardım.

Yönlendirmeniz ve İlginiz için Teşekkürler.
Cevapla