Старею. Время выполнения с графиком работы

Горбушка

Ищу её...
Регистрация
2 Май 2008
Сообщения
3.444
Реакции
2.524
Всем привет.
Есть задача - расчитать дедлайн объекта с привязкой к рабочему расписанию сотрудника...
К примеру, человек работает с 9 до 18 пн-пт. В пятницу в 16:00 ему приходит некое письмо, на которое он должен ответить за 5 часов. Необходимо проставить дедлайн пн 13:00 - 1 час списан зс пятницу - остаётся ещё 4, го работает он только в пн.
Проблема в том, что некоторые работают 24/7, некоторые 5/2 с 9 до 18, кто-то с 10 до 17, а кто-то сутеи/трое... Ну и т.д.

Как реализовать с наименьшей нагрузкой?
 
Здравствуйте, так же интересует данный вопрос. Были сделаны наброски, но не до конца.
Код:
$iHours = 60 * 60 * 10;
echo 'Priority: '.gmdate('H:i:s',$iHours);

$sEventStartTime = '2014-10-06 10:00:00';
echo '<br/>Ticket created at: '.$sEventStartTime;

$sCurrentDate = time();
echo '<br/>Current time: '.date('d-m-y H:i:s',$sCurrentDate);

$startWorkHour = date('d-m-Y').' 8:00:00';
$endWorkHour = date('d-m-Y').' 17:00:00';

$breakStart = date('d-m-Y').' 12:00:00';
$breakEnd = date('d-m-Y').' 13:00:00';

$sEndTime = strtotime($sEventStartTime) + $iHours;
echo '<br/><br/>End time to resolve: '.date('d-m-y H:i:s',$sEndTime);

if($sEndTime > $sCurrentDate) {
$interval =  $sEndTime - $sCurrentDate;
if($sCurrentDate > $breakStart and $sCurrentDate < $breakEnd){
  $interval = $interval * 60;
}
echo '<br/>Remaining: '.gmdate('H:i:s',$interval);
}
 
Назад
Сверху