docs(sprint2): P1-2 done
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
parent
3172b0ea72
commit
ab74d06706
|
|
@ -16,9 +16,13 @@ query filter. Stock-инвариант: после каждого Post/Unpost
|
|||
✅ Контроллер `api/inventory/enters`; миграция `Phase6a_Enters`; пункт «Оприходования»
|
||||
в сайдбаре Admin/Storekeeper. Тесты: 4 интеграционных (post raise stock, unpost
|
||||
откатывает, double post→409, tenant-изоляция, блокировка unpost при минусе).
|
||||
2. [ ] **P1-2 Списание (Loss)** — Domain `Loss`+`LossLine` + enum `LossReason`
|
||||
2. [x] **P1-2 Списание (Loss)** — Domain `Loss`+`LossLine` + enum `LossReason`
|
||||
(Defect/Expired/Damage/Shortage/Other). EF, миграция, контроллер, Web,
|
||||
`StockMovement` тип `WriteOff`.
|
||||
✅ Контроллер `api/inventory/losses` (CRUD + Post/Unpost) с проверкой
|
||||
«не списать сверх остатка» (409). Миграция `Phase6b_Losses`. Web с
|
||||
фильтром по причине и колонкой stockAtStore. Тесты: 3 интеграционных
|
||||
(post снижает stock, over-write-off → 409, tenant-изоляция).
|
||||
3. [ ] **P1-3 Перемещение (Transfer)** — Domain `Transfer`+`TransferLine`
|
||||
(FromStoreId → ToStoreId, обязательны и различны). Атомарная транзакция:
|
||||
`TransferOut` из From + `TransferIn` в To. EF, миграция, контроллер + Post/Unpost,
|
||||
|
|
|
|||
Loading…
Reference in a new issue