v2.5.2
Giriş yap

Üretim Plan

okan
944 defa görüntülendi ve 2 kişi tarafından değerlendirildi

Merhaba arkadaşlar,
Üretimi takip etmek amaçlı birşey yapmak istiyorum ama nasıl yapacağımı bilemiyorum yardımcı olurmusunuz?

7.15 de mesai başlıyor. 17.00 de bitiyor. 9.00 - 09.15 , 12.00 - 12.45 , 15.15 - 15.30 gibi üç molamız bulunuyor.
yapmak istediğim olay şu. zaman = 100 saniye. iş adedi: 130 adet 100x130 = 13000 saniye ediyor. 3saat 36 dakika sonra işi bitirecek yapan kişi.
ama bu süre uzayada bilir yada molaya denk gelebilir molayıda baslagıc saatine göre eklesin süreye istiyorum. işi 3 saatte değilde 12 saattede bitirebilir yani bir gün sonraya sarkacak. 17:00 a kadar olan çıkacak adedi bana bulsun bir sonraki güne aktarsın saat kaçta biteceğini yazdırayım istiyorum..
Umarım açıklayıcı olmuştur yardımlarınızı bekliyorum.

resulevis
1118 gün önce
$birinciMola = '09:00-09:15'; //15 Dakika Mola
$ikinciMola = '12:00-12:75'; // 45 Dakika Mola
$ucuncuMola = '15:15-15:30'; // 15 Dakika Mola

$isbaslangictarih = "18-10-2021";//İş başlangıç tarih
$isbaslangic = '07:15';
$isbitis	 = '17:00';

$toplamcalismadk = strtotime($isbitis) - strtotime($isbaslangic); // İş Başlangıc ve bitiş saati arasıbdaki saniye farkı
$toplamcalismadk = floor($toplamcalismadk/60) - 75; // saniye farkını dakikaya çevirme ve toplam mola saati çıkarıldı.

$ismiktari = 450;
$uretimsuresi = 100; // iş süresi saniye cinsinden hesaplandı

//İş Süresini Saniye Cinsinden hesaplama
$toplamsure_Sn = $ismiktari * $uretimsuresi;
$toplamsure_Dk =floor($toplamsure_Sn/60); // İşin Toplam sürecek zamanı dakika 

$kacgun = floor($toplamsure_Dk / $toplamcalismadk); // İşin Kaç gün süreceğini hesaplamak
$toplamsure_Dk = floor($toplamsure_Dk % $toplamcalismadk); // 

$isbitistarih = date("d-m-Y", strtotime($kacgun.' day', strtotime($isbaslangictarih))); // İş başlangıc tarihine iş sürecek gün sayısı eklendi

if ($toplamsure_Dk <=105) { //İş başlangıcından birinci molaya kadar ise
	$bitis = date('H:i', strtotime('+'.$toplamsure_Dk.' minutes', strtotime($isbaslangic)));

}else if ($toplamsure_Dk > 105 && $toplamsure_Dk <= 270 ) {// İş 2. molaya kadar yapılacaksa
	$toplamsure_Dk = $toplamsure_Dk + 15;
	$bitis = date('H:i', strtotime('+'.$toplamsure_Dk.' minutes', strtotime($isbaslangic)));

}else if ($toplamsure_Dk > 270 && $toplamsure_Dk <= 420 ) { //İş 2. molaya kadar yapılacaksa
	//toplam süreye 60 eklenecek

	$toplamsure_Dk = $toplamsure_Dk + 60;
	$bitis = date('H:i', strtotime('+'.$toplamsure_Dk.' minutes', strtotime($isbaslangic)));

}else if ($toplamsure_Dk > 420 && $toplamsure_Dk <= 510 ) { // İş 3. moladan sonra bitecekse
	//toplam süreye 75 eklenecek
	
	$toplamsure_Dk = $toplamsure_Dk + 75;
	$bitis = date('H:i', strtotime('+'.$toplamsure_Dk.' minutes', strtotime($isbaslangic)));
}

echo 'İş Bitiş Tarihi : '.$isbitistarih.' - '.$bitis;

Daha dinamik hale getirilebilir Mola saatleri farklılık gösterilecekse molalar arası dakika farkı alınır.