Ну, у вас, очевидно, должна быть таблица базы данных, в которой вы храните назначенные вами единицы (и, в идеале, количество времени, которое потребуется им для выполнения операции).У вас также есть таблица или комбинация таблиц, которые содержат расписание каждого подразделения (в какие дни, между какими часами они работают).Это означает, что вы всегда можете получить свободные единицы любыми необходимыми средствами: обычно это правильное сочетание запросов к базе данных и операций с массивами.
Действительно, если у вас есть форма, открытая перед несколькими операторами в течение длительного времени, вы можетеВ конечном итоге получим двойное количество назначенных врачебных единиц - при условии, что формы заполняются доступными единицами в момент их первого открытия.Я предлагаю, чтобы из этой формы вы запускали периодическое (каждые 1 мин?) AJAX-запросы к функции, описанной выше, которая в идеале вернет доступные врачебные единицы и повторно заполнит вашу форму, соответственно, обновленными данными.Вы также должны проверить после отправки формы, является ли выбранная единица действительно свободной, просто чтобы быть уверенным.
Я не уверен, что понял ваш вопрос на 100%, поэтому я надеюсь, что это поможет.