Перейти к содержимому

Загрузка склада

Дашборд для руководителя склада, начальников смен и операционного директора. Он показывает, насколько заполнена каждая зона склада, где скоро не останется места с учётом ожидаемых поступлений и какие зоны простаивают.

Без такого сервиса данные о загрузке живут в складской программе, таблицах и на планшете кладовщика, и ни один источник не совпадает с реальностью. Руководитель ходит по складу, чтобы проверить цифры системы. О переполненной зоне узнают, когда проезд заблокирован или паллету поставили не туда. Решения о перераспределении принимают раз в неделю на совещании, а отчёт собирают часами из свежей выгрузки.

  • Сводит загрузку зон. Вместимость, текущее заполнение и ожидаемые поступления видны по каждой зоне на одном экране.
  • Предупреждает о переполнении. Зона, которая приближается к пределу, помечается до того, как начнутся заторы и задержки сборки.
  • Показывает недогруженные зоны. Пустующие зоны выводятся рядом с переполненными, чтобы перераспределение учитывало всю картину.
  • Создаёт задачи на перераспределение. При переходе порога ответственный за зону получает задачу с конкретной зоной и сроком.
  • Даёт текущий отчёт. Загрузка по зонам и складам за период доступна без выгрузки и ручного оформления.
  • WMS остаётся источником. Размещение, ячейки и движения ведёт складская система или складской модуль 1С. Дашборд забирает данные через API, вебхуки или read-only подключение к базе и ничего не пишет обратно. Если штатные отчёты WMS показывают загрузку в нужном разрезе, отдельное приложение может быть лишним.
  • Реальное время не обязательно. Большинству складов хватает синхронизации раз в час или раз в смену, чтобы увидеть проблему до того, как она разрастётся. Время последней загрузки показывают на экране; ручная выгрузка раз в день — плохой источник правды.
  • Вместимость измеряют по-разному. Паллетоместа, ячейки, квадратные метры — у зон разные единицы. Их приводят к проценту заполнения или хранят как есть с порогом для каждой зоны.
  • Пороги зависят от типа зоны. У холодильной, стеллажной и зоны отбора разная нормальная загрузка, поэтому пороги задают по типу зоны, а не одним числом для всего склада.
  • Сначала два предупреждения. Начинают с переполнения и сильной недогрузки. Остальные сигналы добавляют, когда команда начнёт доверять первым, иначе предупреждения перестанут читать.
  • У каждой зоны есть ответственный. Зоны без ответственного выводят в отдельную очередь, иначе задача на перераспределение никому не придёт. Закрытая задача содержит комментарий о принятых мерах, поэтому видно, помогло ли перемещение или зона снова переполнилась через день.
  • Доступ по ролям. Начальник зоны видит свои зоны, начальник смены — весь склад, директор — сводку по нескольким складам. Ограничение действует на сервере.

Промпты рассчитаны на AI-агента (Claude Code, Cursor и аналоги) в Laravel-проекте с установленным Filament 4.x. Отправляйте их по одному: каждый шаг даёт результат, который можно проверить до перехода к следующему.

Создай модели и миграции для загрузки склада: Warehouse, ZoneType
(название, единица вместимости, порог переполнения, порог недогрузки),
Zone (склад, тип, код, вместимость, ответственный), ZoneSnapshot (зона,
заполнение в единицах и в процентах, ожидаемые поступления, время
данных источника), InboundShipment (склад, зона назначения, объём,
ожидаемая дата), RebalanceTask (зона, исполнитель, причина, срок,
статус). Добавь фабрики с демо-данными для двух складов.

Проверьте, что пороги берутся из типа зоны, а не задаются одним числом.

Сгенерируй Filament-ресурс для Zone. В таблице покажи тип, заполнение
в процентах с цветовой индикацией относительно порогов, прогноз
с учётом ожидаемых поступлений, ответственного и время данных. Добавь
вкладки «Переполнение», «Недогрузка», «Без ответственного», «Данные
устарели» и фильтры по складу и типу зоны.
Сделай фоновую задачу по расписанию раз в час: загружай заполнение
зон и ожидаемые поступления из API складской системы, сохраняй
ZoneSnapshot с временем данных источника, при ошибке пиши журнал
и не перезаписывай прежние цифры пустыми значениями.
При переходе порога переполнения или недогрузки создавай RebalanceTask
ответственному за зону со сроком из конфига и отправляй уведомление.
Не создавай вторую задачу, пока первая открыта. Добавь действие
«Закрыть задачу» с обязательным комментарием о принятых мерах.
Настрой роли: начальник зоны видит свои зоны и задачи, начальник
смены — весь склад, директор — все склады. Добавь виджеты загрузки
по типам зон, динамики за неделю и экспорт отчёта о загрузке
за период.

Войдите под начальником зоны и убедитесь, что в виджетах нет чужих зон.