feat(inventory): implement inter-project material transfer backend

- Add ProjectTransfer database model and migration
- Implement project transfer service with immediate stock deduction on creation
- Support 100% full delivery receipt logic across destination warehouses
- Enforce canonical_specs_hash matching for cross-project stock merge
- Add RBAC guards and status lock on received transfers (409 Conflict)
- Register API router for transfers with on-the-way integration
This commit is contained in:
2026-09-23 22:30:31 +03:30
parent da883a28c0
commit b326cf64bf
9 changed files with 868 additions and 0 deletions
+3
View File
@@ -32,6 +32,8 @@ from app.models.procurement import (
TermsheetScheduleStep,
)
from app.models.project_transfer import ProjectTransfer
__all__ = [
"Base",
"Unit",
@@ -60,4 +62,5 @@ __all__ = [
"ItemDecision",
"ItemReceipt",
"QuoteAttachment",
"ProjectTransfer",
]