Перейти к содержанию

070-planogram

Description

Размещение товара и планирование перемещения. Модель зала c подключением статистики. planogram

перейти на страницу проекта в git

Documentation troisjs flask python3.11 docker kubernetes

Бек хранит оборудование и магазины. Номенклатура подгружается на фронт отдельно из любого источника. Основная логика на фронте.

  • справочник коллекций забирать из api
  • план и размещение коллекций независимо от остатков номенклатуры
  • остатки номенклатуры подгружать на страницу при открытии
  • переложить справочник box в api

Из api берутся чистые коллекции. Если коллекции не хватает, ее можно по быстрому создать и привязать к оборудованию. Но привязка будет не по id а в виде dict Остатки артикулов будем загружать из СУПа с помощью специального метода

Справочники

  • box - оборудование

        {
            name: "стеллаж 600мм",
            vendor: "Victoria Stenova",
            x: 610,
            y: 320,
            z: 600,
            h: 0,                                // высота
            shelf: 1,                            // кол-во слотов продукции
            volume: 1,                           // вместимость
        }
    

  • collection - коллекции товара

        {
            name: "Paris",
            vendor: "Victoria Stenova",
            articles: ["999888", ],
        }
    

Структура DB

  • domain контроль доступа

    shops
        {
            shopID: "371",
            name: "Наименование магазина",
            x: 19000,
            y: 6000,
        }
    

    boxes
        {
            index: 1,
            shopID: "371",
            boxID: "id_box",
            x: 610,                              // позиция на плане
            y: 320,
            h: 0,                                // высота на плане
            r: 0,                                // поворот
            collections:          ["id_collection", ] || articles: ["str",], 
            add:    {collections: ["id_collection", ] || articles: ["str",]}
            delete: {collections: ["id_collection", ] || articles: ["str",]}
        }
    
    log_shopID
        лог добавления товара в оборудование
    
        {
            date: "ISO date",
            collection: "id_collection",
            article: "article",             // if collection doesn't exist
            box: "box _id",
            user: "user name",
        }