Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Vardiya Planlama
#11
Üstadım kodlarda sadece vardiya dizisini ayarlaman kafi, kodlar dinamik zaten.


// Vardiya aralıklarını belirledik.
LVardList[0].BasSaat  := EncodeTime(00, 00, 00, 00);
LVardList[0].SureSaat := 9;

LVardList[1].BasSaat  := EncodeTime(09, 00, 00, 00);
LVardList[1].SureSaat := 8;

LVardList[2].BasSaat  := EncodeTime(17, 00, 00, 00);
LVardList[2].SureSaat := 7;


0. başlama saati + süresaat
1. başlama saatine süresaat eklenmiş yeni saat + süresaat
...
...
şeklinde gidecek, en sonunda ilk saate ulaşacağın süre saat vereceksiniz.

00:00:00 + 9 = 09:00:00
09:00:00 + 8 = 17:00:00
17:00:00 + 7 = 00:00:00

döngü tamamlandı.

hepsi bu...

ilk mesajınızda 08 başlıyor diye örneği düzenlemiştim.
Saygılarımla
Muharrem ARMAN

guplouajuixjzfm15eqb.gif
Cevapla
#12
(23-08-2023, Saat: 10:59)mrmarman Adlı Kullanıcıdan Alıntı: Üstadım kodlarda sadece vardiya dizisini ayarlaman kafi, kodlar dinamik zaten.


// Vardiya aralıklarını belirledik.
LVardList[0].BasSaat  := EncodeTime(00, 00, 00, 00);
LVardList[0].SureSaat := 9;

LVardList[1].BasSaat  := EncodeTime(09, 00, 00, 00);
LVardList[1].SureSaat := 8;

LVardList[2].BasSaat  := EncodeTime(17, 00, 00, 00);
LVardList[2].SureSaat := 7;


0. başlama saati + süresaat
1. başlama saatine süresaat eklenmiş yeni saat + süresaat
...
...
şeklinde gidecek, en sonunda ilk saate ulaşacağın süre saat vereceksiniz.

00:00:00 + 9 = 09:00:00
09:00:00 + 8 = 17:00:00
17:00:00 + 7 = 00:00:00

döngü tamamlandı.

hepsi bu...

ilk mesajınızda 08 başlıyor diye örneği düzenlemiştim.

Hayır abi, vardiya dizisi şu şekilde olduğu gibi kalacak. Bu şekilde düzgün çalışıyor

  LVardList[0].BasSaat  := EncodeTime(00, 00, 00, 00);
  LVardList[0].SureSaat := 8;

  LVardList[1].BasSaat  := EncodeTime(08, 00, 00, 00);
  LVardList[1].SureSaat := 8;

  LVardList[2].BasSaat  := EncodeTime(16, 00, 00, 00);
  LVardList[2].SureSaat := 8;

Fakat programda Başlangıç tarihi ve saati, bitiş tarihi ve saati programda farklı tarih ve saatler seçilebilir. Örneğin Başlangıç tarihi ve saati 23.08.2023 09:00:00 bitiş 23.08.2023 17:00:00  seçtiğimizi varsayalım. Sizin verdiğiniz örnekte memo çıktısı şu şekilde oluyor;

Vardiya No. 2 Başlama : 23.08.2023 08.00.00 Bitiş : 23.08.2023 16.00.00
Vardiya No. 3 Başlama : 23.08.2023 16.00.00 Bitiş : 24.08.2023 00.00.00

Ama böyle olmalı;

Vardiya No. 2 Başlama : 23.08.2023 09.00.00 Bitiş : 23.08.2023 16.00.00
Vardiya No. 2 Başlama : 23.08.2023 16.00.00 Bitiş : 23.08.2023 17.00.00

İlk satırdaki başlangıç saatine ve ikinci satırdaki bitiş saatine bakınız. Asıl istediğim buydu, bende sizin verdiğiniz örneği değiştirerek bunu elde edebildim
Cevapla
#13
Girilen saat ile çıkış saatine göre farklı vardiya hatta saat aralıkları olacaktır. Standart bir vardiya aralık yok yani.

Benim anladığım, verilen iş için giriş ve çıkış tarihlerine göre kaç vardiya dilimi hizmet üretilecek kavramı üzerinden idi. Yanlış anlamışım.
Saygılarımla
Muharrem ARMAN

guplouajuixjzfm15eqb.gif
Cevapla
#14
(23-08-2023, Saat: 16:40)mrmarman Adlı Kullanıcıdan Alıntı: Girilen saat ile çıkış saatine göre farklı vardiya hatta saat aralıkları olacaktır. Standart bir vardiya aralık yok yani.

Benim anladığım, verilen iş için giriş ve çıkış tarihlerine göre kaç vardiya dilimi hizmet üretilecek kavramı üzerinden idi. Yanlış anlamışım.

Olsun @mrmarman  hocam. Yanlış anlasanız bile yol gösterdiniz. Teşekkür ederim.
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Üretim planlama hakkında boreas 2 1.936 19-06-2020, Saat: 11:25
Son Yorum: uparlayan



Konuyu Okuyanlar: 1 Ziyaretçi