Çok Parametreli Nöbet Programı

1 2
31/03/2020, 22:32

lemoncher2

Merhaba iyi günler bir nöbet programı yapmak istiyorum ama Excel bilgim var excelde yapamadım(döngüsel başvuru vermesinden dolayı) accessde mümkün olacağını düşünüyorum yardımcı olabilirmisin biraz açıklamaya çalışayım mantığını

Öncelikle personelleri bizim eklememiz gerekiyor kaç kişi nöbet tutacak bunu bizim eklediğimiz personele göre sayısı belirlenecek örneğin 10 kişi eklendiyse 10 kişi

Şimdi bu eklediğim kişilerin hali hazırda başka bir birim tarafından yaxılmış nöbetleri bulunmakta bizde bu nöbetlerin dışında kalan günlere ve bu personelin mazeretli olduğu günler (diyelim ki ayın ilk 5 günü izinli gibi) dışında kalan günlere nöbet yazacağız

Diyelim ki

Ahmet kişisine bir ay içinde diğer birim 3–17-28
Şeklinde nöbet yazmış
Biz nöbet yazarken nöbet tarihinden sonraki günde istirahatli olduğu için 4-18-29 a da nöbet yazamıyoruz.

Nöbet yazarken bir personelin daha önceden tutmuş olduğu nöbet sayılarıma göre öncelik verip nöbet yazıyoruz yani cuma- cumartesi -pazar - normal(cuma cumartesi pazar dışında kalan günlerin toplamı)
Şeklinde tutmuş oldğu günlerin satısına göre öncelik verip nöbetlerini yazıyoruz
İcap-1
İcap-2
İcap-3
Şeklinde 3 tane nöbet yazıyoruz her nöbeti yazarken yazılacak günler azalmakta oluyor haliyle yani şöyle
Diyelim ki 
Ahmete icap-1 yazarken 3-17-28-4-18-29 günleri dışında kalan günlere
5-9-23 yazdım istirahaide 6-10-24 olduğundan
İcap 2 yazarken 3-17-28-4-18-29-5-9-23-6-10-24 bu günlerin haricinde kalan günlere yazılacak aynı işlem icap 3 içinde geçerli
Birde şöyle bir problem var her ay daha önce nöbet tutan personeller dışında ilk defa nöbet tutacak personel ekleniyor haliyle bunların daha önce nöbet tutmadıkları için nöbet yazarken en düşük değer bunlarda olacağından bütün cuma cumartesi ve pazar nöbetlerini bunlara yazmaması gerekmete birden fazla parametre var ben işin işinden çıkamadım yardımcı olurmusun mümkünmüdür
01/04/2020, 07:12

accessman

iyi günler sn. @lemoncher2 tekil hitap edince çok üzerime alınmadım çünkü burada çok fazla üye var ve hangisine
"yardımcı olur musun" demiş olabirsin bilmiyorum. Heralde muhatap belli ve muhtemelen ben o değilim diye düşündüm
yine anladığım kadarıyla anlatayım
sizin aradığınız 2 türlü sonuç olabilir 
birincisi işin mantık yönü yani algoritmasını kurmak
ikincisi manuel olarak yapılabilen tabloyu Access kodları ile yazmak 
eğer birinci durum ise parametreleri maddeler halinde daha anlaşılır şekilde kısaca yazmalısınız. mesela
1-blok nöbet tutulmaz
2-diğer nöbetler ile çakışmaz
2-yeniler ve eskiler sayısı eşit olur
3-cuma cmt pzr ayrı hesaplanır
4-cuma tutan pzr tutamaz
5-önceki ay eksik tutan bir fazla tutar
6-resmi tatiller ne olacak
7-altı kişi nöbet tutsa 31-(5*6)=1 fazla günü bunu kim tutacak
.........vs gibi 

eğer ikinci durum ise yapacağınız şu
matematikte bazen bilinmeyenlere değer vererek çözüme gidilir. sizde farazi bir sanaryo hayal edip 
şartları sağlayan en az kişi sayısı 
izinli olduğu günler vs paremetreleri içeren bir kurgu oluştup
bunu manuel olarak Excel tablosu halinde ekleyin 
yardım etmek isteyen olursa en azından ne yapması gerektiğini bilip doğru sonuca ulaşıp ulaşmadığını kontrol edebilir

bence yapabildiğiniz kadarıyla bir farazi sanaryoyu manuel Excel tablosu haline getirip ekleyin
mesela 7 kişinin 3 yeni 4 ü eski olsun
her birinin varsa diğer nöbet günlerini 
cuma,cmt,pzr ve normal günleri vs ekleyin 
bizde eksik kalanları tamamlayalım
02/04/2020, 17:36

lemoncher2

@accessman hocam kusura bakmayın aktarımda topluma konuşur şekilde konuşmadığımı farketmemişim. Dilim döndüğünce linkteki Excel kitabında ki örnekte açıklamaya çalıştım şimdiden teşekkürler.
02/04/2020, 19:35

accessman

anladığım kadarı ile sizin nöbet listesi sudoku gibi bir şey olacak yani bir rakam  kademe kademe  hiç bir bölümde iki kez tekrarlanmayacak daha anlaşılır söylemek gerekirse
bir sayıyı elimize aldığımızda o sayının dokuzlu bölümde satır ve sutunda kullanılmamış olması gerekiyor
bunun neresi benziyor diyebilirsiniz  şöyleki sudoku da hersayıyı istediğiniz hücreye koyabilirsiniz ama bazı şartları sağlaması lazım
sizin nöbet listesine gelirsek yapılması gereken bence şu
elimizde 31 hücresi olan (Tarihler) bir sudoku  ve bunlara konulacak  9 adet sayı (nöbetçi) var  
birinci sayıyı elimize aldık birinci hücreye koymak istedik ama baktık ki orada bu sayı kullanılmış yani başka bölümde nöbetçi  veya nöbet ertesi veya hafta sonu tutmaması lazım vs
böylece her nöbetçi ve her hücre için olabilir ve olamaz diye değerlendirip nöbet listesini tamamlayacağız
anlatmak istediğim bunu otomatik olarak her sayıyı hücrelere dağıtabilirsiniz  ama bence zor olur ve de her zaman istediğiniz gibi olmaz
ama şöyle yaparsanız daha kolay olmasa bile daha isabetli bir nöbet listesi hazırlanmış olur
bir kişiyi listeden seçince bir onun ile ilgili tüm bilgileri görebilsek hatta bu bilgilere göre hücreler renk değiştirse olabilecekler yeşil olamayacaklar kırmızı
veya gün hücresi seçildiğinde nöbet tutabilecek kişiler yeşil tutamayacaklar kırmızı  gözükse
Her halukarda her nöbetçi için diğer nöbetlerini ,izin günlerini vs. manuel gireceksiniz  
program size o hücre için o sayı uygun mu diye bakacak daha doğrusu yanlış yapmayın diye kontrol edecek
zamanla geçmiş nöbet toplamlarını falan da girince toplam hafta sonu kaç cuma kaç cmt kaç pzr  olmuş onu da gösterecek
bütün bunlar düşünüldüğünde benim şahsi fikrim Access bu iş için hiç uygun değil Excel bunun için biçilmiş kaftan
02/04/2020, 19:45

lemoncher2

evet haklısınız bir nevi sudoku bahsettiğiniz şeyi excelde biçimlendirme ile yapabiliyorum uygun günleri rahatlıkla görebiliyorum. Bahsettiğim gibi otomatik günleri dağıtacak bir sistem yapmak mümkün değil midir.
02/04/2020, 20:06

accessman

excelden çok anlamıyorum ama ben olsam şöyle bir şey yapar 
diğer nöbetler kriterler vs her nöbetçi için bu tabloya olabilecek ve olamayacaklar için kırmızı yeşil kalemle işaret koyardım
tabiki  toplamları Excel yapıp sizi uyaracak



1 2