src/cluster_erp/modules/projects/ içindeki projects modülü müşteri projelerini yönetir. Bir proje (Project), bir satış siparişinin PO'su alındığında açılır ve sabit bir yaşam döngüsünü izler. Üretilecek kalemleri, yapılacak fikstürleri, aktiviteli sürümlü bir çizelgeyi, bir başlangıç toplantısını, haftalık toplantıları ve aksiyonları taşır. Salt okunur bir pano ve takvim tüm projeleri üretim gerçekliğiyle gösterir. Bu sayfa genel bakıştır; alt konuların kendi sayfaları vardır.
Bir bakışta¶
| Öğe | Değer | Kaynak |
|---|---|---|
| Paket | src/cluster_erp/modules/projects/ |
klasör |
| Modül sınıfı | Module |
src/cluster_erp/modules/projects/module.py:18 |
name / version |
projects / 0.1.0 |
src/cluster_erp/modules/projects/module.py:20-25 |
| API öneki | /api/v1/projects (ModuleBase.api_prefix) |
src/cluster_erp/core/module_base.py:37-38 |
| Alt modüller | 8: projects, items, fixtures, schedules, activities, kickoffs, meetings, actions; ayrıca board.py ve board_routes.py |
klasör listesi |
| Tablolar | 10 | sekiz models.py dosyasındaki __tablename__ |
| Metadata'daki varlıklar | entities içinde 8 anahtar |
src/cluster_erp/modules/projects/module.py:323-332 |
| Uçlar | Pakette 64 uç dekoratörü | @...router.get/post/put/patch/delete için grep |
| Aksiyonlar | 8 ActionMeta girdisi |
pakette grep "ActionMeta(" |
| Göçler | 14 dosya | metni on tablo adından birini içeren migrations/versions/ dosyaları |
| Web uygulamasında yeri | Katalog uygulaması projects; kapılı bir paketten project_board, project_calendar özel bileşenleri ve home_board, home_calendar ana ekran bileşenleri |
src/cluster_erp/modules/app_store/catalog.json (projects girdisi), gated_apps/projects/app.js:1035 |
| Masaüstünde yeri | yalnızca genel bileşenler | src/cluster_erp/desktop/modules/ içinde projects klasörü yok |
Modül ne yapar¶
- Siparişin PO'su alındığında satış siparişi başına bir proje açar (
src/cluster_erp/modules/projects/module.py:95-130). - Bir projeyi
planningileclosedarasında sabit bir yaşam döngüsünde ilerletir (src/cluster_erp/modules/projects/projects/services.py:32-43). - Ürün kırılımlı proje kalemleri tutar ve bunlar için üretim emirleri oluşturur (
src/cluster_erp/modules/projects/items/models.py:17-80,src/cluster_erp/modules/projects/items/routes.py:88-138). - Fikstür ihtiyaçlarını, aktiviteli ve ilişkili çizelgeleri, başlangıç toplantılarını, haftalık toplantıları ve aksiyonları tutar (
src/cluster_erp/modules/projects/module.py:66-75). productionmodülünden üretim özetini ve saat bazlı kazanılmış değeri okur (src/cluster_erp/modules/projects/projects/routes.py:102-268).- Pano ve takvim okuma modelini sunar (
src/cluster_erp/modules/projects/board.py:1-11).
Alt modüller¶
| Alt modül | Amaç | Ana varlıklar | Yönlendirici | Kaynak |
|---|---|---|---|---|
projects |
Projeler, yaşam döngüsü, özet, EVM | Project |
/projects |
src/cluster_erp/modules/projects/projects/routes.py:28 |
items |
Projenin teslim ettikleri | ProjectItem |
/project-items |
src/cluster_erp/modules/projects/items/routes.py:22 |
fixtures |
Yapılacak fikstür, aparat, takım ve ekipmanlar | FixtureRequirement |
/fixtures |
src/cluster_erp/modules/projects/fixtures/routes.py:21 |
schedules |
Sürümlü proje çizelgeleri | ProjectSchedule |
/schedules |
src/cluster_erp/modules/projects/schedules/routes.py:19 |
activities |
Çizelge aktiviteleri, ilişkileri, malzeme bağları | ProjectActivity, ProjectActivityRelation, ActivityMaterialLink |
/activities |
src/cluster_erp/modules/projects/activities/routes.py:24 |
kickoffs |
Başlangıç toplantısı ve kontrol listesi | KickoffMeeting |
/kickoffs |
src/cluster_erp/modules/projects/kickoffs/routes.py:20 |
meetings |
Haftalık izleme toplantıları | WeeklyFollowupMeeting |
/meetings |
src/cluster_erp/modules/projects/meetings/routes.py:20 |
actions |
Toplantılardan veya doğrudan aksiyonlar | ProjectAction |
/actions |
src/cluster_erp/modules/projects/actions/routes.py:22 |
| pano | Pano ve takvim okuma modeli | yok | /project-board |
src/cluster_erp/modules/projects/board_routes.py:17 |
Tüm yönlendiriciler modül önekinin altına require_app("projects") ile bağlanır (src/cluster_erp/modules/projects/module.py:66-76).
Veri modeli¶
Alanlar projeler, kalemler ve fikstürler, aksiyonlar, aktiviteler ve toplantılar ve çizelgeler sayfalarında listelenir. Proje kalemleri product_id, product_model_id ve product_version_id taşır (src/cluster_erp/modules/projects/items/models.py:42-53). Bir projenin stock_mode değeri common veya project_striped olur; bu, stoğunun inventory modülünde bir proje şeridinde tutulup tutulmayacağını belirler (src/cluster_erp/modules/projects/projects/schemas.py:13). Fikstür maliyet tahminleri Numeric türündedir (src/cluster_erp/modules/projects/fixtures/models.py:47).
Ekranlar ve metadata¶
get_metadata, Projeler listesi ve Pano ile Takvim özel bölümleriyle bir Projeler (İngilizce Projects) kenar çubuğu grubu bildirir (src/cluster_erp/modules/projects/module.py:288-320). Ayrıca iki ana ekran bileşeni bildirir: Proje Panosu ve Proje Takvimi (src/cluster_erp/modules/projects/module.py:266-283). Pano proje panosu, ana ekran bileşenleri ana ekran bileşenleri sayfasında anlatılır.
Durumlar ve aksiyonlar¶
Durum değişiklikleri projelerde, fikstürlerde ve aksiyonlarda Durum Değiştir (transition) aksiyonuyla yapılır; çizelgelerde Yayınla ve Müşteri ile Paylaş, başlangıç toplantılarında Gerçekleşti Olarak İşaretle ve Kontrol Listesini Güncelle, kalemlerde Üretim Emri Oluştur vardır (src/cluster_erp/modules/projects/projects/metadata.py:55-64, src/cluster_erp/modules/projects/schedules/metadata.py:82-101, src/cluster_erp/modules/projects/kickoffs/metadata.py:43-62, src/cluster_erp/modules/projects/items/metadata.py:115-127). Durum makineleri alt konu sayfalarındadır.
İş kuralları¶
Her alt konu sayfası kendi kurallarını listeler. İş anahtarları project, project_item ve fixture_requirement yıllık dizilerinden gelir (src/cluster_erp/modules/projects/projects/services.py:124, src/cluster_erp/modules/projects/items/services.py:59, src/cluster_erp/modules/projects/fixtures/services.py:60).
Olaylar ve sorgular¶
Modül 4 sözleşme tüketir ve 17 sözleşme üretir; sayım parties modülü sayfasındaki gibi yapıldı. Tam liste sözleşmeler başvurusu sayfasındadır.
| Yön | Sözleşme sınıfı | İşleyici veya yayan | Kaynak |
|---|---|---|---|
| yayar | ProjectCreated, ProjectStatusChanged, ProjectKickoffCompleted, ProjectClosed |
ProjectService |
src/cluster_erp/modules/projects/projects/services.py:142-290 |
| yayar | ProjectSchedulePublished, ProjectScheduleShared, ProjectActivityChanged, ProjectActionCreated, ProjectFixtureRequired |
alt modül servisleri | src/cluster_erp/modules/projects/schedules/services.py:139-170, src/cluster_erp/modules/projects/activities/services.py:50, src/cluster_erp/modules/projects/actions/services.py:94, src/cluster_erp/modules/projects/fixtures/services.py:77, src/cluster_erp/modules/projects/kickoffs/services.py:114 |
| sorgular | GetSalesOrderById, GetProjectProductionRollup, GetProjectProductionEvm, GetProjectSalesDelivery, GetProjectProductionSchedule, GetOwnerWorkingDays, GetPartyForEmployee, CreateProductionOrderForProject |
servisler ve uçlar | src/cluster_erp/modules/projects/board.py:162-201, src/cluster_erp/modules/projects/board_routes.py:36-44 |
| sorguyu yanıtlar | GetProjectById, IsKickoffCompleted, GetProjectMemberPartyIds |
module.py içindeki işleyiciler |
src/cluster_erp/modules/projects/module.py:89-93 |
| abone olur | SalesOrderPoReceived |
_on_sales_order_po_received |
src/cluster_erp/modules/projects/module.py:95 |
Yetkiler¶
| İzin anahtarı | Kullanan | Kaynak |
|---|---|---|
project.read, .create, .update, .delete, .bulk_delete |
proje uçları ve tüm alt modüllerin okumaları | src/cluster_erp/modules/projects/projects/routes.py:40-310 |
project.update |
kalem, fikstür, çizelge ve aktivite değişiklikleri | src/cluster_erp/modules/projects/items/routes.py:37-139, src/cluster_erp/modules/projects/activities/routes.py:105-192 |
action.assign |
aksiyon oluşturma ve durumunu değiştirme | src/cluster_erp/modules/projects/actions/routes.py:49, src/cluster_erp/modules/projects/actions/routes.py:88 |
meeting.record |
başlangıç toplantısı ve toplantı değişiklikleri | src/cluster_erp/modules/projects/kickoffs/routes.py:37-101, src/cluster_erp/modules/projects/meetings/routes.py:35-85 |
CreateProductionOrderForProject.REQUIRED_PERMISSION |
kalem üretim emri | src/cluster_erp/modules/projects/items/routes.py:88-100 |
Gizlilik, saklama ve geçmiş¶
Modülün privacy_handlers.py dosyası yoktur. Silmeler, başlangıç toplantıları ve toplantılar dahil deleted_at alanını doldurur (src/cluster_erp/modules/projects/kickoffs/services.py:122-125, src/cluster_erp/modules/projects/meetings/services.py:79-82). Değişiklikler değişiklik geçmişi tarafından kaydedilir.
Analitik olguları¶
Bu modülün analytics_facts.py dosyası yoktur.
Ayarlar ve başvuru verileri¶
Modülün ayarlar bölümü yoktur. Panonun varsayılan aralığı modül sabitleri olarak 7 gün geri ve 56 gün ileridir (src/cluster_erp/modules/projects/board.py:43-45).
Testler¶
tests/ içinde modules.projects için ve web-client/_e2e_*.mjs içinde /projects/ yolu için grep ile bulundu.
| Tür | Dosya | Kapsam |
|---|---|---|
| pytest | tests/test_tenant_field_catalog.py |
projelerdeki kiracı alanları |
| e2e | web-client/_e2e_project_board.mjs, web-client/_e2e_project_calendar.mjs |
pano ve takvim |
| e2e | web-client/_e2e_project_key_phase0.mjs, web-client/_e2e_project_plan_phase1.mjs |
proje anahtarı ve üretim planı |
| e2e | web-client/_e2e_project_stock_phase2a.mjs, web-client/_e2e_project_pegging_phase2b.mjs, web-client/_e2e_project_evm_phase2c.mjs |
proje stoğu, bağlama ve EVM |
| e2e | web-client/_e2e_project_otd.mjs, web-client/_e2e_widget_projects.mjs, web-client/_e2e_widget_scope.mjs |
zamanında teslim ve ana ekran bileşenleri |
Tanıtılan terimler¶
| Terim | Kod tanımlayıcısı | Tanım | Türkçe terim | Kaynak |
|---|---|---|---|---|
| project | Project |
Bir satış siparişinden açılan, sabit yaşam döngülü müşteri projesi. | Proje | src/cluster_erp/modules/projects/projects/models.py:22 |
| stock mode | stock_mode |
Bir projenin ortak stoğu mu yoksa kendi stok şeridini mi kullandığı. | Stok modu | src/cluster_erp/modules/projects/projects/schemas.py:13 |
İlgili sayfalar¶
- Modüller dizini
- Projeler, kalemler ve fikstürler
- Aksiyonlar, aktiviteler ve toplantılar
- Çizelgeler
- Proje panosu
- Production modülü
- Bu modülün API başvurusu
92f8051 numaralı commit ile 2026-11-13 tarihinde doğrulandı.