BR 1.9.1 — Warehouse Service

Миграции

  • MTC-WH-01: Таблица modifier_tech_cards

    • Колонки: id, franchise_id, modifier_option_id, modifier_group_version, output_weight, output_unit, cooking_description, status, created_at, updated_at
    • UNIQUE (modifier_option_id, modifier_group_version)
    • Индекс: modifier_option_id
  • MTC-WH-02: Таблица modifier_tech_card_items

    • Колонки: id, modifier_tech_card_id (FK), ingredient_product_id, gross_weight, net_weight, cold_loss_percent, hot_loss_percent, unit_of_measure, sort_order, created_at
    • FK → modifier_tech_cards ON DELETE CASCADE

Entity / Repository

  • MTC-WH-03: Entity ModifierTechCard + ModifierTechCardRepository

    • findByModifierOptionIdAndModifierGroupVersion
    • findByFranchiseId
  • MTC-WH-04: Entity ModifierTechCardItem + ModifierTechCardItemRepository

    • findByModifierTechCardIdOrderBySortOrder

Service

  • MTC-WH-05: ModifierTechCardService — CRUD (зеркало TechCardService)

    • create: unique check (modifier_option_id + version)
    • update/delete: published check (аналог BUG-026, через modifier_group_version)
    • getById: с items, enrich ingredient names (HTTP → Catalog)
    • list: фильтры modifier_option_id, modifier_group_version
  • MTC-WH-06: ModifierRecipeItemService — CRUD строк рецепта

    • add/update/delete: published check
    • Circular reference check

Controller

  • MTC-WH-07: ModifierTechCardController
    • GET /modifier-tech-cards — список
    • GET /modifier-tech-cards/{id} — детали
    • POST /modifier-tech-cards — создание
    • PATCH /modifier-tech-cards/{id} — обновление
    • DELETE /modifier-tech-cards/{id} — удаление
    • POST /modifier-tech-cards/{id}/items — добавить ингредиент
    • PATCH /modifier-tech-cards/{id}/items/{itemId} — обновить
    • DELETE /modifier-tech-cards/{id}/items/{itemId} — удалить

Ссылки