Как мне создать список временных диапазонов? - PullRequest
0 голосов
/ 14 февраля 2019

Я пытаюсь настроить способ сделать шаг назад и вперед через наборы временных диапазонов.

Я создаю простой дисплей для производственного цеха моей работы.Каждый раз, когда пользователь сканирует штрих-код, в нашей системе ERP генерируется серийный номер.Для отслеживания прогресса в течение дня им нужен дисплей, который покажет, сколько сериалов (и из-за этого, сколько виджетов) было обработано в тот день.На дисплее также будут отображаться виджеты предыдущей смены.Поэтому в любой момент, когда вы смотрите на дисплей, вы видите ход текущей смены, а затем итоги предыдущей смены.

Мы выполняем 3 обычных смены в течение недели.1-я смена с 6:00 до 14:00, 2-я смена с 14:00 до 22:00, 3-я смена с 10:00 до 6:00.Затем в оба выходных дня у нас выходная смена, которая работает с 6:00 до 18:00.легче поддерживать в долгосрочной перспективе.

Итак, допустим, в понедельник 1-я смена.Я хочу получить итоги 1-й смены в понедельник, но я также хочу отступить на 1 смену к смене выходного дня и получить эти итоги для отображения.Смена выходных - это то, что бросило это в тупик, потому что теперь я должен знать день недели.Третья смена также немного подозрительна, потому что она пересекается на несколько дат.Есть ли чистый способ установить это?Библиотека, которая позволяет мне легко определять эти вещи?

Надеюсь, это имело смысл.С удовольствием, чтобы уточнить все, что я скучаю.Заранее спасибо за любое руководство!

Ответы [ 2 ]

0 голосов
/ 15 февраля 2019

Вы пробовали использовать CarbonPeriod ?Обратите внимание, что Carbon уже включен в Laravel, поэтому нет необходимости добавлять его в Composer.

0 голосов
/ 14 февраля 2019

Возможно, ресурс shifts будет полезен.

  1. создание таблицы shifts с id, start_date, end_date, shift_type,...

  2. при сканированииштрих-код:

    • , если текущий сдвиг уже создан, присвойте shift_id строке штрих-кода
    • , если нет, создайте строку сдвига и присвойте shift_idстрока штрих-кода

Преимущества:

  • Очень простой и быстрый запрос для получения необходимых результатов

  • Если изменения смены (начальный час, конечный час, ...) все равно будут работать (единственное необходимое изменение - метод создания строки смены)

  • Сравнение результатов смен будет очень просто

...