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`; пункт «Оприходования»
|
✅ Контроллер `api/inventory/enters`; миграция `Phase6a_Enters`; пункт «Оприходования»
|
||||||
в сайдбаре Admin/Storekeeper. Тесты: 4 интеграционных (post raise stock, unpost
|
в сайдбаре Admin/Storekeeper. Тесты: 4 интеграционных (post raise stock, unpost
|
||||||
откатывает, double post→409, tenant-изоляция, блокировка 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,
|
(Defect/Expired/Damage/Shortage/Other). EF, миграция, контроллер, Web,
|
||||||
`StockMovement` тип `WriteOff`.
|
`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`
|
3. [ ] **P1-3 Перемещение (Transfer)** — Domain `Transfer`+`TransferLine`
|
||||||
(FromStoreId → ToStoreId, обязательны и различны). Атомарная транзакция:
|
(FromStoreId → ToStoreId, обязательны и различны). Атомарная транзакция:
|
||||||
`TransferOut` из From + `TransferIn` в To. EF, миграция, контроллер + Post/Unpost,
|
`TransferOut` из From + `TransferIn` в To. EF, миграция, контроллер + Post/Unpost,
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue