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} — удалить