docs(sprint2): P1-4 done
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
parent
4285bdee91
commit
561291f226
|
|
@ -31,10 +31,16 @@ query filter. Stock-инвариант: после каждого Post/Unpost
|
||||||
в Unpost. Проверка «not short» на FromStore при Post и ToStore при Unpost.
|
в Unpost. Проверка «not short» на FromStore при Post и ToStore при Unpost.
|
||||||
Permission `TransferEdit`. Тесты: 4 интеграционных, ключевой проверяет что
|
Permission `TransferEdit`. Тесты: 4 интеграционных, ключевой проверяет что
|
||||||
движений ровно 2 после Post и ровно 4 после Unpost (никаких orphan).
|
движений ровно 2 после Post и ровно 4 после Unpost (никаких orphan).
|
||||||
4. [ ] **P1-4 Инвентаризация (Inventory)** — Domain `Inventory`+`InventoryLine`
|
4. [x] **P1-4 Инвентаризация (Inventory)** — Domain `Inventory`+`InventoryLine`
|
||||||
(productId, bookQty, actualQty, diff). EF, миграция. Контроллер: создание
|
(productId, bookQty, actualQty, diff). EF, миграция. Контроллер: создание
|
||||||
подгружает текущие остатки; Post создаёт `InventoryAdjustment` на diff. Web:
|
подгружает текущие остатки; Post создаёт `InventoryAdjustment` на diff. Web:
|
||||||
форма со списком товаров склада, импорт CSV факта.
|
форма со списком товаров склада, импорт CSV факта.
|
||||||
|
✅ Доменная сущность `InventoryDoc` (имя чтобы не пересекаться с системным
|
||||||
|
неймспейсом). Create с пустыми lines подтягивает все товары склада;
|
||||||
|
Update пишет actualQty построчно. Post создаёт `InventoryAdjustment`
|
||||||
|
только по строкам с diff != 0 (400 если нет расхождений). Unpost блочит
|
||||||
|
при «излишек уже расходован». Web с CSV-импортом (productId|article;qty).
|
||||||
|
Тесты: 3 интеграционных.
|
||||||
5. [ ] **P1-6 Возврат от покупателя (CustomerReturn)** — расширение `RetailSale`
|
5. [ ] **P1-6 Возврат от покупателя (CustomerReturn)** — расширение `RetailSale`
|
||||||
опцией возврата (referenceSaleId или без). Контроллер: создание возврата из
|
опцией возврата (referenceSaleId или без). Контроллер: создание возврата из
|
||||||
проведённой продажи, `CustomerReturn` тип уже есть. Web: кнопка «Создать возврат».
|
проведённой продажи, `CustomerReturn` тип уже есть. Web: кнопка «Создать возврат».
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue