RusMikle
@RusMikle
Программист

Как организовать структуру таблицы для планирования временных ресурсов?

Доброе время суток!

Следующая задача. Необходимо спланировать встречи работников с клиентами.
Граничные условия определённый работник в одно и то же время не может иметь 2 встречи.
Так же как и клиент не может иметь 2х встреч с другими работниками в то же время.
(задача упрощена но суть примерно такая же)
В голову приходит 2 варианта организации таблицы временных ресурсов.
1. Вариант в таблице 4 поля id работника и клиента и время начала и конца встречи.
2. Вариант в таблице 3 поля id работника и клиента и время начала временного такта например 10 минутного. (если клиент назначил встречу в 15:00 и хочет её продолжать 30 минут то соотв в таблицу запишется 3 записи с временем 15:00, 15:10 и 15:20.
Для чего нужен второй вариант? для того что бы в программе удобно организовать выбор свободных временных интервалов. Например человек входит в маску и отмечает подряд чекбоксами соотв. временные интервалы. А интервалы которые уже заняты не имеют чекбоксов.
В случае первого варианта ограничить визуальный выбор свободными временными интервалами сложнее (на мой взгляд).
Возможно мне не пришла ещё хорошая идея как лучше реализовать подобную задачу. В конечном итоге все упирается в визуальную реализацию свободного и занятого времени и недопущения задания занятых интервалов времени. Не хотелось бы самому полностью реализовывать помпонент диаграммы Ганна с подобными функциями.
Поделитесь идеей если у кого есть. (реализовывать прийдётся в 2х вариантах, один на Delphi XE2 второй на PHP.
Спасибо за ссылки и советы.
  • Вопрос задан
  • 2846 просмотров
Пригласить эксперта
Ответы на вопрос 1
HaJIuBauKa
@HaJIuBauKa
Первый вариант предпочтительней нежели выбор галочек.
В плане реализации и бизнес логики тоже.
А вот прибавление периода встречи можно сделать дискретным (настраиваемым) +10 (15) минут.

В чем проблема реализации алгоритма? Опишите свое видение этого.
https://www.google.com/calendar/ - как пример интерфейса :)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы