#calendar #logic
#Календарь #Логические
Вопрос:
Я хотел бы получить ваш отзыв о моей текущей стратегии обновления моей системы планирования рабочего времени. Я переписываю его, чтобы избежать трудоемкого ввода, позволяя сотрудникам иметь установленный график, а не вводить рабочие часы по отдельности. Есть ли более простой / обычный способ сделать это, отличный от того, что я планирую ниже?
Я использую простую настройку календаря, которая получает события в виде массива из таблицы событий, а затем отображает их в календаре. Я хочу переработать способ добавления событий в таблицу событий.
В настоящее время: Сотрудники могут выбрать день, а затем добавить отдельные рабочие часы (понедельник 9:00, 10:00, 11:00, 12:00 , 1:00, 2:00, и т.д.)
Цель: Сотрудники выбирают установленное расписание (например, Пн-Ср-Пт, с 8:00 до 5:00 по восточному времени), и система автоматически добавляет будущие даты в таблицу событий для отображения (на месяц вперед).
Текущий план: Добавьте таблицу расписаний с идентификатором сотрудника и полями для понедельника по воскресенье. Ежедневно выполняется задание CRON, которое проверяет, какой день недели наступит через 28 дней. Затем он запрашивает расписания, чтобы найти всех сотрудников, у которых часы расписаны на этот день недели. Добавляет события в таблицу событий на 4 недели вперед.
Является ли это удовлетворительным способом сделать это? Спасибо! Я новичок в программировании, поэтому ваш отзыв, прежде чем тратить много времени на реализацию, полезен!
Ответ №1:
Если их расписания согласованы, имеет смысл, чтобы у каждого сотрудника было расписание по умолчанию. И имеет смысл, чтобы задание cron автоматически обновляло календарь.
Но вы могли бы немного подумать о том, что должно произойти, когда кто-то захочет запланировать отпуск (или внести любое произвольное изменение в свое расписание) более чем на месяц в будущем. Та же проблема, когда владелец хочет узнать, кто должен работать летом, и находит пустой календарь. (Дело в том, что некоторым людям обязательно нужно будет знать что-то, чего календарь еще не охватывает. Вам нужно спланировать это. )
Комментарии:
1. ОК, отличное предложение. Я думаю, мы можем позаботиться об этом, разрешив сотруднику вносить индивидуальные изменения, сохраняя текущую систему добавления / удаления доступной, но планируя будущие даты с использованием автоматического планировщика и заданий CRON.
2. Для наших нужд нам не нужно проверять дальше, чем на 4 недели прямо сейчас, но хорошая идея иметь это в виду (администратор смотрит на летнее расписание и т.д.)