Контекст:
Я создаю систему бронирования для бизнеса (например, парикмахерской). Мне нужно вернуть массив всех доступных временных интервалов для заданного дня или недели.
Настройка:
Часы работы: с 08:00 до 18:00.
Продолжительность обслуживания: 50 минут.
У меня есть запрос PostgreSQL, который успешно возвращает список недоступных (уже забронированных) встреч для определенного работник.
Пример забронированных встреч из БД: [05/03-10:00, 05/03-10:50, 05/03-12:00]
Ожидаемый результат:
Мне нужно вернуть доступные места на основе рабочих часов и промежутков между забронированными встречами: [05/03-08:00, 03.05-08:50, 03.05-12:50...]
Мой текущий подход (и проблема):
Прямо сейчас моя логика пытается перебрать забронированные встречи и вычислить доступные промежутки между ними.
Однако это превращается во «Франкенштейна» крайних случаев. Например:
Пустые списки: если в день нет встреч, мне нужно написать отдельную логику, чтобы заполнить весь день.
Разнесенные дни: если пользователь выполняет поиск по всей неделе, а БД возвращает встречи только на понедельник и четверг, мой цикл изо всех сил пытается беспрепятственно заполнить полностью открытые дни между ними (вторник и среда), потому что он смотрит только на arr и arr[i+1].
Мой вопрос:
Расчет доступности путем поиска пробелов между существующими записями кажется невероятно хрупким. Существует ли стандартный алгоритм или шаблон проектирования интервального планирования, который более аккуратно обрабатывает такие крайние случаи (например, пустые дни и перекрывающуюся продолжительность)?
Подробнее здесь: https://stackoverflow.com/questions/799 ... n-existing
Название: Алгоритм/Схема расчета доступных временных интервалов на основе существующих встреч? ⇐ JAVA
Программисты JAVA общаются здесь
1772759871
Anonymous
Контекст:
Я создаю систему бронирования для бизнеса (например, парикмахерской). Мне нужно вернуть массив всех доступных временных интервалов для заданного дня или недели.
Настройка:
Часы работы: с 08:00 до 18:00.
Продолжительность обслуживания: 50 минут.
У меня есть запрос PostgreSQL, который успешно возвращает список недоступных (уже забронированных) встреч для определенного работник.
Пример забронированных встреч из БД: [05/03-10:00, 05/03-10:50, 05/03-12:00]
Ожидаемый результат:
Мне нужно вернуть доступные места на основе рабочих часов и промежутков между забронированными встречами: [05/03-08:00, 03.05-08:50, 03.05-12:50...]
Мой текущий подход (и проблема):
Прямо сейчас моя логика пытается перебрать забронированные встречи и вычислить доступные промежутки между ними.
Однако это превращается во «Франкенштейна» крайних случаев. Например:
Пустые списки: если в день нет встреч, мне нужно написать отдельную логику, чтобы заполнить весь день.
Разнесенные дни: если пользователь выполняет поиск по всей неделе, а БД возвращает встречи только на понедельник и четверг, мой цикл изо всех сил пытается беспрепятственно заполнить полностью открытые дни между ними (вторник и среда), потому что он смотрит только на arr[i] и arr[i+1].
Мой вопрос:
Расчет доступности путем поиска пробелов между существующими записями кажется невероятно хрупким. Существует ли стандартный алгоритм или шаблон проектирования интервального планирования, который более аккуратно обрабатывает такие крайние случаи (например, пустые дни и перекрывающуюся продолжительность)?
Подробнее здесь: [url]https://stackoverflow.com/questions/79901939/title-algorithm-pattern-for-calculating-available-time-slots-based-on-existing[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия