Bu sayfa src/cluster_erp/modules/projects/ içindeki üç alt modülü anlatır. projects/ proje kaydını ve yaşam döngüsünü tutar. items/ projenin teslim ettiklerini ürün kırılımıyla tutar. fixtures/ projenin ihtiyaç duyduğu fikstür, aparat, takım ve ekipmanları tutar. Çizelgeler çizelgeler, toplantılar ve aksiyonlar aksiyonlar, aktiviteler ve toplantılar sayfasındadır.
Kapsam ve kaynak¶
- Tanımlandığı yer: üç alt modülün
models.py,schemas.py,services.py,routes.pyvemetadata.pydosyaları ilesrc/cluster_erp/modules/projects/module.py:98-150içindeki satış siparişi işleyicisi. - Sayım: 3 tablo; 9 proje ucu, 7 kalem ucu ve 7 fikstür ucu (
@router.dekoratörleri); 3ActionMetagirdisi.
Proje alanları¶
| Ad | Anlam | Kaynak |
|---|---|---|
project_no, name |
project yıllık dizisinden gelen iş anahtarı ve ad |
src/cluster_erp/modules/projects/projects/models.py:38-39, src/cluster_erp/modules/projects/projects/services.py:124 |
status |
Varsayılan planning |
src/cluster_erp/modules/projects/projects/models.py:40-44 |
customer_id, project_manager_id |
Müşteri ve yönetici | src/cluster_erp/modules/projects/projects/models.py:45-46 |
stock_mode |
common (varsayılan) veya project_striped |
src/cluster_erp/modules/projects/projects/models.py:49-53, src/cluster_erp/modules/projects/projects/schemas.py:13 |
sales_order_id |
Projeyi açan satış siparişi | src/cluster_erp/modules/projects/projects/models.py:54 |
kickoff_at, planned_finish_at, actual_finish_at, description |
Tarihler ve açıklama | src/cluster_erp/modules/projects/projects/models.py:55-58 |
Kalem ve fikstür alanları¶
| Varlık | Alanlar | Kaynak |
|---|---|---|
ProjectItem (projects_project_items) |
code (project_item yıllık dizisi), project_id, line_no, product_id, product_model_id, product_version_id, customer_part_id, description, qty, uom, status (varsayılan planned), notes, activity_ref |
src/cluster_erp/modules/projects/items/models.py:17-78, src/cluster_erp/modules/projects/items/services.py:59 |
FixtureRequirement (projects_fixtures) |
code (fixture_requirement yıllık dizisi), project_id, fixture_type, name, qty, need_by_date, status (varsayılan identified), designer_id, manufacturing_method, cost_estimate |
src/cluster_erp/modules/projects/fixtures/models.py:18-52, src/cluster_erp/modules/projects/fixtures/services.py:60 |
Kalem durumları planned, in_progress, completed ve cancelled; fikstür tipleri fixture, jig, tool ve equipment'tır (src/cluster_erp/modules/projects/items/schemas.py:10, src/cluster_erp/modules/projects/fixtures/schemas.py:10).
Yaşam döngüleri ve aksiyonlar¶
Bir proje planning, kickoff_done, in_execution, near_completion, completed ve closed boyunca birer adım ilerler (src/cluster_erp/modules/projects/projects/services.py:32-43). Bir fikstür identified, in_design, in_production, ready ve delivered boyunca ilerler (src/cluster_erp/modules/projects/fixtures/services.py:19-24).
stateDiagram-v2 [*] --> planning planning --> kickoff_done kickoff_done --> in_execution in_execution --> near_completion near_completion --> completed completed --> closed
Düz anlatımla: her proje durumunun tam olarak bir sonraki durumu vardır. kickoff_done, kickoff_at alanını damgalar ve ProjectKickoffCompleted yayar; closed, ProjectClosed yayar; her adım ProjectStatusChanged yayar (src/cluster_erp/modules/projects/projects/services.py:250-300).
| Aksiyon | Etiket | Koşul | Uç | İzin | Kaynak |
|---|---|---|---|---|---|
transition (proje) |
Durum Değiştir | yok; adımı servis denetler | POST /projects/{id}/transition |
project.update |
src/cluster_erp/modules/projects/projects/metadata.py:55-64, src/cluster_erp/modules/projects/projects/routes.py:285 |
transition (fikstür) |
Durum Değiştir | yok; adımı servis denetler | POST /fixtures/{id}/transition |
project.update |
src/cluster_erp/modules/projects/fixtures/metadata.py:64-73, src/cluster_erp/modules/projects/fixtures/routes.py:75 |
create_production_order (kalem) |
Üretim Emri Oluştur | yok | POST /project-items/{id}/create-production-order |
CreateProductionOrderForProject.REQUIRED_PERMISSION |
src/cluster_erp/modules/projects/items/metadata.py:115-127, src/cluster_erp/modules/projects/items/routes.py:88-138 |
Uçlar¶
| Yöntem ve yol | İzin | Kaynak |
|---|---|---|
GET, POST /projects/; GET, PUT, DELETE /projects/{project_id}; POST /projects/bulk-delete |
project.read, .create, .update, .delete, .bulk_delete |
src/cluster_erp/modules/projects/projects/routes.py:40-310 |
GET /projects/{project_id}/production-rollup, GET /projects/{project_id}/evm |
project.read |
src/cluster_erp/modules/projects/projects/routes.py:102, src/cluster_erp/modules/projects/projects/routes.py:125 |
GET /project-items/by-project/{project_id}, GET /project-items/{item_id}; POST, PUT, DELETE, toplu silme |
project.read, project.update |
src/cluster_erp/modules/projects/items/routes.py:25-139 |
GET /fixtures/by-project/{project_id}, GET /fixtures/{fixture_id}; POST, PUT, DELETE, toplu silme |
project.read, project.update |
src/cluster_erp/modules/projects/fixtures/routes.py:24-100 |
Kısıtlar ve doğrulama¶
SalesOrderPoReceivedgeldiğinde modül siparişiGetSalesOrderByIdile okur ve onun için bir proje açar. Ad sipariş numarası veya müşteri PO numarası, planlanan bitiş siparişin teslim tarihidir. Aynı sipariş için ikinci bir olay ikinci bir proje açmaz (src/cluster_erp/modules/projects/module.py:98-150).- Bir kalem için üretim emri oluşturmak modeli ve versiyonu olan bir ürün ister; emir
CreateProductionOrderForProjectsorgusuyla oluşturulur (src/cluster_erp/modules/projects/items/routes.py:100-138). production-rollupveevm,GetProjectProductionRollupveGetProjectProductionEvmokur; EVM saat bazlıdır ve belge dizesi bunun bir para değeri olmadığını belirtir (src/cluster_erp/modules/projects/projects/routes.py:102-268).- Olaylar: oluşturmada
ProjectCreated, fikstür oluşturmadaProjectFixtureRequired(src/cluster_erp/modules/projects/projects/services.py:142-150,src/cluster_erp/modules/projects/fixtures/services.py:77).
Tanıtılan terimler¶
| Terim | Kod tanımlayıcısı | Tanım | Türkçe terim | Kaynak |
|---|---|---|---|---|
| project item | ProjectItem |
Ürün kırılımı ve miktarıyla bir projenin teslim edilecek bir kalemi. | Proje kalemi | src/cluster_erp/modules/projects/items/models.py:17 |
| fixture requirement | FixtureRequirement |
Projenin yapması veya edinmesi gereken fikstür, aparat, takım veya ekipman. | Fikstür ihtiyacı | src/cluster_erp/modules/projects/fixtures/models.py:18 |
İlgili sayfalar¶
92f8051 numaralı commit ile 2026-11-13 tarihinde doğrulandı.