28-09-2018, 10:45
Merhaba arkadaşlar. Daha önce de bu konu ile alakalı soruyu Şuradaki Konuda sormuştum, ancak tam olarak sorunu neticelendiremedim.
Ekteki örnek veritabanında görebileceğiniz gibi;
Kriterlere göre kurum çalışanlarına puan verilecek.
Örneğin,
1. Tabloda belirtilen İller ve Zorunlu Hizmet Süreleri 01.01.2005 tarihinden önceki görevler için geçerlidir. Yani bir personel, 01.01.2005 tarihinden önce görev yapmışsa, birinci tablodaki belirtilen katsayıya göre puanı hesaplanacak.
Personel 01.01.2005 ve 01.01.2010 tarihleri arasında görev yapmışsa, ikinci tablodaki belirtilen katsayıya göre puanı hesaplanacak. 01.01.2010 ve sonra görev yapmışsa üçüncü tablodaki belirtilen katsayıya göre puanı hesaplanacak.
Puanı hesaplarken, DateDiff fonksiyonu ile personelin görev yaptığı gün sayısını buluyor ve bunu katsayısı ile çarpıyorum.
Burada şöyle bir sıkıntı var. Örneğin personel 01.01.2003 tarihinde göreve başlamış olsun ve 01.01.2014 tarihinde görevini bitirmiş olsun. Bu da tüm tabloları kapsıyor. Yani şöyle ki;
01.01.2003 - 01.01.2014 tarihleri arasında Adana'da görev yapan personelin 01.01.2005 tarihine kadar alacağı katsayı puanı farklı, 01.01.2005 ve 01.01.2010 tarihleri arasında alacağı katsayı puanı farklı, ve 01.01.2010 tarihinden sonra alacağı katsayı puanı yine farklı olacak.
Ben, form üzerinden personelin göreve başlama tarihini ve görev bitiş tarihini girdikten sonra, bu işlemi arka tarafta otomatik olarak yaptırabilir miyim? Yani 1. tablodaki süreler arasındaki görevlerini, 1. tablodaki katsayıya göre çarpacak, daha sonra 2. tabloya sarkıyorsa görev süresi, yine 2. tabloya sarkan görev süresini 2. tablodaki katsayı ile çarpacak, eğer 3. tabloya da sarkıyorsa aynı şekilde 3. tabloya sarkan görev süresini 3. tablodaki katsayıyla çarpacak.
Böyle bir şey mümkün müdür?
Ufak bir açıklama da eklemek istiyorum. Günlerdir düşünüyorum ancak işin içinden çıkamadım. Aslında olayımızın özeti şu. İllerin belli görev süreleri var. Ve bu görev sürelerine karşılık gelen katsayılar var. Örneğin;
8 yıllık görev süresi olan ilin katsayısı = 10
10 yıllık görev süresi olan ilin katsayısı = 8
14 yıllık görev süresi olan ilin katsayısı = 6
gibi gidiyor.
İllerimizin görev süreleri de tarihsel olarak değişmekte. Örneğin İzmir 01.01.2005 tarihinden önce 8 yıl, 01.01.2005 ve 01.01.2010 tarihleri arasında 10 yıl, 01.01.2010 tarihinden sonra ise 14 yıl diyelim.
Ben programa , Ali isimli personelin 01.01.2001 ve 01.01.2017 yılları arasında İzmir'de görev yaptı dediğim zaman, otomatik olarak 01.01.2005 yılına kadar olan görev süresini çıkarıp o zamanki katsayısı olan 10 ile çarpacak, 01.01.2005 - 01.01.2010 tarihleri arasındaki görev süresini çıkarıp o zamanki katsayısı olan 8 ile çarpacak, 01.01.2010 tarihinden sonraki görev süresini çıkarıp o zamanki katsayısı olan 6 ile çarpacak.
Yani benim söylemek istediğim şu, katsayılar değişmiyor, hep sabit kalıyor. Örneğin 4 yıllık zorunlu hizmet süresinin katsayısı hep sabit. Ancak zorunlu hizmet süreleri değişiyor. Örnekteki gibi, İzmir 01.01.2005 tarihinden önce zorunlu hizmet süresi 8 yıl ve katsayısı 10 iken, 01.01.2005 - 01.01.2010 tarihleri arasında zorunlu hizmet süresi 10 yıla çıkıyor ve katsayısı otomatik olarak değişiyor.
Umarım anlatabilmişimdir, biraz kompleks bir yapıya sahip olduğundan anlatmakta gerçekten güçlük çektim. Yardımcı olabilecek arkadaşlara minnettar olurum..
Saygı ve selamlarımla...
Ekteki örnek veritabanında görebileceğiniz gibi;
Kriterlere göre kurum çalışanlarına puan verilecek.
Örneğin,
1. Tabloda belirtilen İller ve Zorunlu Hizmet Süreleri 01.01.2005 tarihinden önceki görevler için geçerlidir. Yani bir personel, 01.01.2005 tarihinden önce görev yapmışsa, birinci tablodaki belirtilen katsayıya göre puanı hesaplanacak.
Personel 01.01.2005 ve 01.01.2010 tarihleri arasında görev yapmışsa, ikinci tablodaki belirtilen katsayıya göre puanı hesaplanacak. 01.01.2010 ve sonra görev yapmışsa üçüncü tablodaki belirtilen katsayıya göre puanı hesaplanacak.
Puanı hesaplarken, DateDiff fonksiyonu ile personelin görev yaptığı gün sayısını buluyor ve bunu katsayısı ile çarpıyorum.
Burada şöyle bir sıkıntı var. Örneğin personel 01.01.2003 tarihinde göreve başlamış olsun ve 01.01.2014 tarihinde görevini bitirmiş olsun. Bu da tüm tabloları kapsıyor. Yani şöyle ki;
01.01.2003 - 01.01.2014 tarihleri arasında Adana'da görev yapan personelin 01.01.2005 tarihine kadar alacağı katsayı puanı farklı, 01.01.2005 ve 01.01.2010 tarihleri arasında alacağı katsayı puanı farklı, ve 01.01.2010 tarihinden sonra alacağı katsayı puanı yine farklı olacak.
Ben, form üzerinden personelin göreve başlama tarihini ve görev bitiş tarihini girdikten sonra, bu işlemi arka tarafta otomatik olarak yaptırabilir miyim? Yani 1. tablodaki süreler arasındaki görevlerini, 1. tablodaki katsayıya göre çarpacak, daha sonra 2. tabloya sarkıyorsa görev süresi, yine 2. tabloya sarkan görev süresini 2. tablodaki katsayı ile çarpacak, eğer 3. tabloya da sarkıyorsa aynı şekilde 3. tabloya sarkan görev süresini 3. tablodaki katsayıyla çarpacak.
Böyle bir şey mümkün müdür?
Ufak bir açıklama da eklemek istiyorum. Günlerdir düşünüyorum ancak işin içinden çıkamadım. Aslında olayımızın özeti şu. İllerin belli görev süreleri var. Ve bu görev sürelerine karşılık gelen katsayılar var. Örneğin;
8 yıllık görev süresi olan ilin katsayısı = 10
10 yıllık görev süresi olan ilin katsayısı = 8
14 yıllık görev süresi olan ilin katsayısı = 6
gibi gidiyor.
İllerimizin görev süreleri de tarihsel olarak değişmekte. Örneğin İzmir 01.01.2005 tarihinden önce 8 yıl, 01.01.2005 ve 01.01.2010 tarihleri arasında 10 yıl, 01.01.2010 tarihinden sonra ise 14 yıl diyelim.
Ben programa , Ali isimli personelin 01.01.2001 ve 01.01.2017 yılları arasında İzmir'de görev yaptı dediğim zaman, otomatik olarak 01.01.2005 yılına kadar olan görev süresini çıkarıp o zamanki katsayısı olan 10 ile çarpacak, 01.01.2005 - 01.01.2010 tarihleri arasındaki görev süresini çıkarıp o zamanki katsayısı olan 8 ile çarpacak, 01.01.2010 tarihinden sonraki görev süresini çıkarıp o zamanki katsayısı olan 6 ile çarpacak.
Yani benim söylemek istediğim şu, katsayılar değişmiyor, hep sabit kalıyor. Örneğin 4 yıllık zorunlu hizmet süresinin katsayısı hep sabit. Ancak zorunlu hizmet süreleri değişiyor. Örnekteki gibi, İzmir 01.01.2005 tarihinden önce zorunlu hizmet süresi 8 yıl ve katsayısı 10 iken, 01.01.2005 - 01.01.2010 tarihleri arasında zorunlu hizmet süresi 10 yıla çıkıyor ve katsayısı otomatik olarak değişiyor.
Umarım anlatabilmişimdir, biraz kompleks bir yapıya sahip olduğundan anlatmakta gerçekten güçlük çektim. Yardımcı olabilecek arkadaşlara minnettar olurum..
Saygı ve selamlarımla...

