procurement modülü tedarikçileri, ikame gruplarını, kritik malzemeleri, satın alma taleplerini, tedarikçi portalıyla satın alma teklif taleplerini, mal girişiyle satın alma siparişlerini, satın alma sözleşmelerini, satın alma bilgi kayıtlarını ve MRP'yi sunar. 155 uç noktanın tamamı /api/v1/procurement altındadır. İş anlamı için Procurement modülü sayfasına bakın. Tam tablo sayfa uzunluğu sınırını aştığı için her alt modülün kendi sayfası vardır.
Grup olguları¶
| Öğe | Değer | Kaynak |
|---|---|---|
| Temel yol | /api/v1/procurement |
src/cluster_erp/core/module_base.py:37-38, src/cluster_erp/modules/procurement/module.py:70 |
| Yönlendiriciler | 10 dosyada 10 yönlendirici nesnesi; Uç nokta özeti bölümünde listelenir | src/cluster_erp/modules/procurement/module.py:35 |
| Uç noktalar | 155; register_routes ile bağlanan yönlendiricilerin yol dekoratörleri ve add_api_route çağrılarından sayıldı |
src/cluster_erp/modules/procurement/critical_materials/routes.py, src/cluster_erp/modules/procurement/info_records/routes.py, src/cluster_erp/modules/procurement/mrp/routes.py ... |
| Kimlik doğrulama | Bearer başlığı veya oturum çerezi, get_current_user ile çözülür; bkz. Kimlik doğrulama ve başlıklar |
src/cluster_erp/modules/auth/guards.py:85-167 |
| Yetki koruması | 155 yolun 152 tanesi require_permission bildirir; diğer yollar korumalarını tablolarda gösterir |
src/cluster_erp/modules/auth/guards.py:205-240 |
| Uygulama yetkilendirme kapısı | bağlanan her yönlendiricide require_app("procurement") |
src/cluster_erp/modules/procurement/module.py:82 |
| Hata biçimi | JSON gövdesi {"error": {...}}; bkz. Hatalar |
src/cluster_erp/server/error_handler.py:33-46 |
Uç nokta özeti¶
Alt modül klasörü başına bir satır. Yönlendirici öneki temel yola eklenir. Sayfa sütunu uç nokta tablosuna bağlanır.
| Alt modül | Yönlendiriciler | Uç noktalar | Yönlendirici kaynağı | Sayfa |
|---|---|---|---|---|
suppliers |
router |
6 | src/cluster_erp/modules/procurement/suppliers/routes.py:28 |
Tedarikçiler |
substitution_groups |
router (/substitution-groups) |
10 | src/cluster_erp/modules/procurement/substitution_groups/routes.py:27 |
İkame grupları |
critical_materials |
router (/critical-materials) |
6 | src/cluster_erp/modules/procurement/critical_materials/routes.py:24 |
Kritik malzemeler |
purchase_requests |
router (/purchase-requests) |
12 | src/cluster_erp/modules/procurement/purchase_requests/routes.py:33 |
Satın alma talepleri |
purchase_rfqs |
router, router |
35 | src/cluster_erp/modules/procurement/purchase_rfqs/routes.py:44, src/cluster_erp/modules/procurement/purchase_rfqs/portal_routes.py:26 |
Satın alma teklif talepleri |
purchase_orders |
router (/purchase-orders) |
18 | src/cluster_erp/modules/procurement/purchase_orders/routes.py:35 |
Satın alma siparişleri |
purchase_contracts |
router |
16 | src/cluster_erp/modules/procurement/purchase_contracts/routes.py:33 |
Satın alma sözleşmeleri |
info_records |
router |
8 | src/cluster_erp/modules/procurement/info_records/routes.py:24 |
Satın alma bilgi kayıtları |
mrp |
router (/mrp) |
44 | src/cluster_erp/modules/procurement/mrp/routes.py:54 |
MRP |
Hata kodları¶
Tablo, src/cluster_erp/modules/procurement/ altındaki kodun attığı hata kodlarını listeler. Kodlar, AppError(...) çağrıları, src/cluster_erp/core/errors.py içindeki fabrikalar (not_found, conflict, protected, permission_denied, privilege_escalation, check_version) ve HTTPException(...) için yapılan bir sözdizimi ağacı taramasıyla bulundu. 400 durumu AppError varsayılanıdır (src/cluster_erp/core/errors.py:23). Koruma hataları (401, 403), yetkilendirme kodları ve doğrulama hataları (422) her yol için geçerlidir ve Hatalar sayfasında listelenir.
| Kod | HTTP durumu | Atıldığı yer | İlk konum |
|---|---|---|---|
CONCURRENCY_VERSION_CONFLICT |
409 |
critical_materials, info_records, mrp, purchase_contracts, purchase_orders, purchase_requests, purchase_rfqs, substitution_groups, suppliers |
src/cluster_erp/modules/procurement/critical_materials/services.py:127 |
CRITICAL_MATERIAL_ALREADY_EXISTS |
409 |
critical_materials |
src/cluster_erp/modules/procurement/critical_materials/services.py:86 |
DELIVERY_ADDRESS_INVALID |
422 |
delivery_address |
src/cluster_erp/modules/procurement/delivery_address.py:97 |
INFO_RECORD_EXISTS |
409 |
info_records |
src/cluster_erp/modules/procurement/info_records/services.py:169 |
MRP_ITEMS_ALREADY_ACTIONED |
409 |
mrp |
src/cluster_erp/modules/procurement/mrp/services.py:370 |
MRP_ITEMS_ALREADY_FIRMED |
409 |
mrp |
src/cluster_erp/modules/procurement/mrp/services.py:1314 |
MRP_ITEM_OUTSIDE_OPENING_PERIOD |
422 |
mrp |
src/cluster_erp/modules/procurement/mrp/routes.py:399 |
MRP_RUN_FAILED |
400, 500 |
mrp |
src/cluster_erp/modules/procurement/mrp/engine.py:3931 |
MRP_RUN_IN_PROGRESS |
409 |
mrp |
src/cluster_erp/modules/procurement/mrp/services.py:172 |
MRP_RUN_NOT_COMPLETED |
409 |
mrp |
src/cluster_erp/modules/procurement/mrp/services.py:341 |
MRP_RUN_STALE |
409 |
mrp |
src/cluster_erp/modules/procurement/mrp/services.py:347 |
PCON_INCOMPLETE |
409 |
purchase_contracts |
src/cluster_erp/modules/procurement/purchase_contracts/services.py:246 |
PCON_INVALID_STATUS |
409 |
purchase_contracts |
src/cluster_erp/modules/procurement/purchase_contracts/services.py:203 |
PO_GOODS_RECEIPT_FAILED |
400 |
purchase_orders |
src/cluster_erp/modules/procurement/purchase_orders/services.py:821 |
PO_INVALID_STATUS |
400, 409 |
purchase_orders |
src/cluster_erp/modules/procurement/purchase_orders/services.py:86 |
PO_ITEM_ALREADY_RECEIVED |
400 |
purchase_orders |
src/cluster_erp/modules/procurement/purchase_orders/services.py:735 |
PO_NO_ORDER_DATE |
400 |
purchase_orders |
src/cluster_erp/modules/procurement/purchase_orders/services.py:630 |
PO_NO_TECHNICAL_ATTACHMENT |
400 |
purchase_orders |
src/cluster_erp/modules/procurement/purchase_orders/services.py:637 |
PO_RECEIVE_QTY_EXCEEDS |
400 |
purchase_orders |
src/cluster_erp/modules/procurement/purchase_orders/services.py:743 |
PO_VENDOR_BLACKLISTED |
400 |
purchase_orders |
src/cluster_erp/modules/procurement/purchase_orders/services.py:233 |
PRFQ_AWARD_INVALID |
422 |
purchase_rfqs |
src/cluster_erp/modules/procurement/purchase_rfqs/services.py:778 |
PRFQ_INCOMPLETE |
409 |
purchase_rfqs |
src/cluster_erp/modules/procurement/purchase_rfqs/services.py:299 |
PRFQ_INVALID_STATUS |
409 |
purchase_rfqs |
src/cluster_erp/modules/procurement/purchase_rfqs/services.py:188 |
PR_INVALID_STATUS |
400 |
purchase_requests |
src/cluster_erp/modules/procurement/purchase_requests/services.py:115 |
PR_NO_ITEMS |
400 |
purchase_requests |
src/cluster_erp/modules/procurement/purchase_requests/services.py:469 |
RESOURCE_NOT_FOUND |
404 |
critical_materials, info_records, mrp, purchase_contracts, purchase_orders, purchase_requests, purchase_rfqs, substitution_groups, suppliers |
src/cluster_erp/modules/procurement/critical_materials/routes.py:75 |
SUBSTITUTION_GROUP_DUPLICATE_PRODUCT |
409 |
substitution_groups |
src/cluster_erp/modules/procurement/substitution_groups/services.py:221 |
SUBSTITUTION_GROUP_SINGLE_MEMBER |
400 |
substitution_groups |
src/cluster_erp/modules/procurement/substitution_groups/services.py:317 |
VALIDATION_ERROR |
409, 422 |
mrp, suppliers |
src/cluster_erp/modules/procurement/mrp/routes.py:386 |
Yayımlanan olaylar¶
Tablo, src/cluster_erp/modules/procurement/ altındaki kodun EventBus.emit çağrısına doğrudan verdiği sözleşme sınıflarını listeler; sözdizimi ağacı taramasıyla bulundu. Önce bir değişkene kurulan olaylar sayılmaz. Sözleşmeler Sözleşmeler başvurusu sayfasında anlatılır.
| Sözleşme | Konum sayısı | İlk konum |
|---|---|---|
CriticalMaterialAlert |
1 | src/cluster_erp/modules/procurement/mrp/engine.py:4105 |
MrpRunCompleted |
1 | src/cluster_erp/modules/procurement/mrp/engine.py:4072 |
MrpRunFailed |
1 | src/cluster_erp/modules/procurement/mrp/services.py:283 |
PartyRoleSet |
3 | src/cluster_erp/modules/procurement/suppliers/services.py:138 |
PoAcknowledged |
1 | src/cluster_erp/modules/procurement/purchase_orders/services.py:673 |
PoCancelled |
1 | src/cluster_erp/modules/procurement/purchase_orders/services.py:922 |
PoCreated |
1 | src/cluster_erp/modules/procurement/purchase_orders/services.py:339 |
PoReceivedFull |
1 | src/cluster_erp/modules/procurement/purchase_orders/services.py:780 |
PoReceivedPartial |
1 | src/cluster_erp/modules/procurement/purchase_orders/services.py:789 |
PoSent |
1 | src/cluster_erp/modules/procurement/purchase_orders/services.py:649 |
PrApproved |
1 | src/cluster_erp/modules/procurement/purchase_requests/services.py:522 |
PrCancelled |
1 | src/cluster_erp/modules/procurement/purchase_requests/services.py:547 |
PrCreated |
3 | src/cluster_erp/modules/procurement/mrp/services.py:445 |
İlgili sayfalar¶
- Tedarikçiler
- İkame grupları
- Kritik malzemeler
- Satın alma talepleri
- Satın alma teklif talepleri
- Satın alma siparişleri
- Satın alma sözleşmeleri
- Satın alma bilgi kayıtları
- MRP
- API başvurusu
- Procurement modülü
- API kuralları
- Hatalar
- Kimlik doğrulama ve başlıklar
92f8051 numaralı commit ile 2026-11-13 tarihinde doğrulandı.