Bu sayfa fleet modülünün iki alt modülünü anlatır. src/cluster_erp/modules/fleet/maintenance/ içindeki maintenance alt modülü bakım planlarını ve motorun bunlardan hesapladığı hatırlatmaları tutar. src/cluster_erp/modules/fleet/workorders/ içindeki workorders alt modülü iş emirlerini, kalemlerini ve yedek parça satırlarını tutar. Modülün genel bakışı ve uçtan uca bakım diyagramı fleet modülü sayfasındadır.
Kapsam ve kaynak¶
- Tanımlandığı yer:
src/cluster_erp/modules/fleet/models.py(FleetMaintenancePlan,FleetMaintenanceReminder,FleetWorkOrder,FleetWorkOrderItem,FleetWorkOrderPart),maintenance/services.py(FleetPlanService,FleetReminderService),workorders/services.py(FleetWorkOrderService) ve iki klasörünroutes.pyilemetadata.pydosyaları. - Sayım: 5 tablo, 23 uç (
maintenance/routes.pyiçinde 9,workorders/routes.pyiçinde 14), 9ActionMetagirdisi (maintenance/metadata.pyiçinde 4,workorders/metadata.pyiçinde 5).
Plan alanları¶
| Ad | Anlam | Kaynak |
|---|---|---|
name, task |
Plan adı ve yapılacak iş | src/cluster_erp/modules/fleet/models.py:321-322 |
asset_id, class_id |
Hedef: tam olarak bir araç veya bir sınıf | src/cluster_erp/modules/fleet/models.py:323-328, src/cluster_erp/modules/fleet/maintenance/services.py:99-106 |
interval_days |
Takvim aralığı | src/cluster_erp/modules/fleet/models.py:329 |
meter_kind, meter_interval |
Bir sayaç türündeki sayaç aralığı | src/cluster_erp/modules/fleet/models.py:330-331 |
threshold_value, threshold_direction |
Gösterilen sayaç değerin above (üstünde) veya below (altında) olduğunda vade |
src/cluster_erp/modules/fleet/models.py:332-333 |
calculate_from, start_date |
schedule (başlangıç tarihinden sabit ritim) veya last_completion (varsayılan) |
src/cluster_erp/modules/fleet/models.py:334-337, src/cluster_erp/modules/fleet/models.py:67 |
lead_days, tolerance_days |
Vadeden önce yakın sayılan günler (varsayılan 14), gecikmiş sayılmadan önceki tolerans günleri (varsayılan 0) | src/cluster_erp/modules/fleet/models.py:338-339 |
season_from, season_to |
MM-DD biçiminde sezon penceresi |
src/cluster_erp/modules/fleet/models.py:340-341 |
suppressed_by_plan_id |
Vadesi geldiğinde bu planın hatırlatmasını susturan kapsayıcı plan | src/cluster_erp/modules/fleet/models.py:342-344 |
Hatırlatma motoru¶
Hatırlatma (FleetMaintenanceReminder) motor çıktısıdır; plan ve araç başına bir canlı satır vardır. Durumu hesaplanır ve hiçbir zaman düzenlenmez (src/cluster_erp/modules/fleet/maintenance/services.py:17-19).
- Planın en az bir kuralı olmalıdır: gün aralığı, sayaç aralığı veya sayaç eşiği. Eşik bir yön ister; sezon
MM-DDbiçiminde iki sınırı da ister (src/cluster_erp/modules/fleet/maintenance/services.py:99-143). - Takvim kuralı
schedulekipinde başlangıç tarihinden adım adım ilerler, aksi halde aralığı son tamamlanmaya ekler (src/cluster_erp/modules/fleet/maintenance/services.py:508-518). - Sayaç kuralı kalan kullanımı, sayacın son beş geçerli okumasındaki günlük hız üzerinden güne çevirir (
src/cluster_erp/modules/fleet/maintenance/services.py:48,src/cluster_erp/modules/fleet/maintenance/services.py:520-546). - Hem takvim hem sayaç tarihi varsa erken olan kazanır. Sezon dışındaki tarih bir sonraki sezon başına kayar (
src/cluster_erp/modules/fleet/maintenance/services.py:273-288,src/cluster_erp/modules/fleet/maintenance/services.py:578-586). - Eşiğe ulaşılması hatırlatmanın vadesini bugüne çeker ve bu durum ulaşmadan sonraki bir tamamlanmaya kadar kilitli kalır (
src/cluster_erp/modules/fleet/maintenance/services.py:548-577). - Durum, ileri bir erteleme tarihi varken
snoozed, vade artı tolerans geçtiğindeoverdue, vade eksi öncü günlerden itibarendue_soon, aksi haldeokolur (src/cluster_erp/modules/fleet/maintenance/services.py:588-597). suppressed_by_plan_idtaşıyan plan, kapsayıcı hatırlatmanın vadesi gelmişkenis_suppressedalır (src/cluster_erp/modules/fleet/maintenance/services.py:438-461).- Plan düzenlemek hatırlatmalarını yeniden hesaplar ve artık eşleşmeyenleri emekliye ayırır. Plan silmek tüm hatırlatmalarını emekliye ayırır (
src/cluster_erp/modules/fleet/maintenance/services.py:175-254).
Motor bir okuma kaydedildiğinde, bir araç oluşturulduğunda, bir plan değiştiğinde, bir hatırlatma aksiyonu çalıştığında veya bir iş emri tamamlandığında çalışır (src/cluster_erp/modules/fleet/meters/services.py:311, src/cluster_erp/modules/fleet/assets/services.py:244-248, src/cluster_erp/modules/fleet/maintenance/services.py:403). POST /maintenance/reminders/recompute motoru tek bir araç için veya elden çıkarılmamış tüm araçlar için çalıştırır (src/cluster_erp/modules/fleet/maintenance/routes.py:141-153, src/cluster_erp/modules/fleet/maintenance/services.py:409-416). src/, deploy/, webapp/ ve gated_apps/ içinde recompute_all için zamanlanmış bir çağrı bulunamadı.
| Aksiyon | Etiket | Koşul | Uç | Kaynak |
|---|---|---|---|---|
create_work_order |
İş Emri Oluştur | yok | POST /maintenance/reminders/{id}/actions/create_work_order |
src/cluster_erp/modules/fleet/maintenance/metadata.py:318-326 |
complete |
Tamamlandı Kaydet | yok | POST /maintenance/reminders/{id}/actions/complete |
src/cluster_erp/modules/fleet/maintenance/metadata.py:327-343 |
snooze |
Ertele | status = ok, due_soon veya overdue |
POST /maintenance/reminders/{id}/actions/snooze |
src/cluster_erp/modules/fleet/maintenance/metadata.py:344-363 |
unsnooze |
Ertelemeyi Kaldır | status = snoozed |
POST /maintenance/reminders/{id}/actions/unsnooze |
src/cluster_erp/modules/fleet/maintenance/metadata.py:364-373 |
Erteleme ileri bir tarih ister. Tamamlama ileri tarihi reddeder, planın sayacındaki güncel ömür boyu değeri kaydeder ve ertelemeyi temizler (src/cluster_erp/modules/fleet/maintenance/services.py:340-389).
İş emri alanları¶
| Ad | Anlam | Kaynak |
|---|---|---|
code |
fleet_work_order dizisinden gelen iş anahtarı |
src/cluster_erp/modules/fleet/models.py:391, src/cluster_erp/modules/fleet/workorders/services.py:108 |
asset_id, title, description |
Araç ve iş tanımı | src/cluster_erp/modules/fleet/models.py:393-395 |
status, priority |
Varsayılan draft ve normal |
src/cluster_erp/modules/fleet/models.py:396-397, src/cluster_erp/modules/fleet/models.py:70-71 |
planned_date, started_at, completed_at |
Tarihler | src/cluster_erp/modules/fleet/models.py:398-400 |
is_external, vendor_party_id, purchase_request_id |
Dış servis, tedarikçi taraf, bağlı satın alma talebi | src/cluster_erp/modules/fleet/models.py:404-406 |
reminder_id |
Emri açan hatırlatma | src/cluster_erp/modules/fleet/models.py:408 |
currency, labor_cost, external_cost, parts_cost, total_cost |
Numeric(18, 2) maliyetler; parça ve toplam hesaplanır |
src/cluster_erp/modules/fleet/models.py:409-413 |
completion_odometer |
Tamamlamada kaydedilen kilometre | src/cluster_erp/modules/fleet/models.py:414 |
Kalemin (FleetWorkOrderItem) tipli bir source değeri vardır: scheduled_maintenance, fault, inspection_defect, form, issue veya manual (src/cluster_erp/modules/fleet/models.py:71-78, src/cluster_erp/modules/fleet/models.py:418-433). Parça satırı (FleetWorkOrderPart) zorunlu ürün, model ve versiyonu, bir depoyu, bir miktarı, bir birim maliyeti ve planned veya issued durumunu taşır (src/cluster_erp/modules/fleet/models.py:436-452).
İş emri durumları ve aksiyonları¶
stateDiagram-v2 [*] --> draft draft --> open: release open --> in_progress: start open --> completed: complete in_progress --> completed: complete draft --> cancelled: cancel open --> cancelled: cancel
Düz anlatımla: emir draft olarak başlar, open durumuna serbest bırakılır, başlatılabilir ve open ya da in_progress durumundan tamamlanır. draft veya open durumundan iptal edilebilir (src/cluster_erp/modules/fleet/workorders/services.py:47-53).
| Aksiyon | Etiket | Koşul | Uç | Kaynak |
|---|---|---|---|---|
release |
Serbest Bırak | status = draft |
POST /work-orders/{id}/actions/release |
src/cluster_erp/modules/fleet/workorders/metadata.py:82-90 |
start |
İşe Başla | status = open |
POST /work-orders/{id}/actions/start |
src/cluster_erp/modules/fleet/workorders/metadata.py:91-97 |
complete |
Tamamla | status = open veya in_progress |
POST /work-orders/{id}/actions/complete |
src/cluster_erp/modules/fleet/workorders/metadata.py:98-122 |
cancel |
İptal Et | status = draft veya open |
POST /work-orders/{id}/actions/cancel |
src/cluster_erp/modules/fleet/workorders/metadata.py:123-131 |
issue |
Stoktan Düş | parça status = planned |
POST /work-order-parts/{id}/actions/issue |
src/cluster_erp/modules/fleet/workorders/metadata.py:448-456 |
İş emri kuralları¶
- Yeni emir aracı ve, verilmişse, satın alma talebini
GetPurchaseRequestByIdile denetler. Bir hatırlatmadan açılan emir, kaynağıscheduled_maintenanceolan bir ilk kalem alır (src/cluster_erp/modules/fleet/workorders/services.py:103-121,src/cluster_erp/modules/fleet/workorders/services.py:367-396). - Kalemler ve parçalar yalnızca emir
draft,openveyain_progressdurumundayken değişebilir (src/cluster_erp/modules/fleet/workorders/services.py:55,src/cluster_erp/modules/fleet/workorders/services.py:544-550). - Parça satırı ürün kırılımını
ensure_product_breakdownile denetler ve pozitif miktar ister. Toplamı, miktar çarpı birim maliyettir veROUND_HALF_EVENile iki ondalığa yuvarlanır (src/cluster_erp/modules/fleet/workorders/services.py:412-446). - Parça çıkışı satırı kilitler, serbest bırakılmış bir emir ister ve emri referans alarak envantere
PostGoodsIssuegönderir. Envanterin reddi aksiyonu başarısız kılar (src/cluster_erp/modules/fleet/workorders/services.py:464-514). - Çıkışı yapılmış parça satırı kaldırılamaz; çıkışı yapılmış parçası olan emir iptal edilemez (
src/cluster_erp/modules/fleet/workorders/services.py:448-462,src/cluster_erp/modules/fleet/workorders/services.py:158-166). parts_costparça toplamlarının toplamıdır;total_cost, herhangi biri girilmişse işçilik, dış servis ve parça maliyetlerini toplar (src/cluster_erp/modules/fleet/workorders/services.py:528-542).- Tamamlama, planlanan her parçanın çıkışının yapılmasını veya kaldırılmasını ve ileri olmayan bir tarih ister. Kaynağı
work_orderolan bir kilometre okuması kaydedebilir, bağlı her hatırlatmayı tamamlar ve açık başka emir yoksa aracı servise döndürür (src/cluster_erp/modules/fleet/workorders/services.py:191-295). - Yalnızca
draftveyacancelledemir silinebilir; silmedeleted_atalanını doldurur (src/cluster_erp/modules/fleet/workorders/services.py:177-189).
Uçlar¶
| Yönlendirici | Yollar | Kaynak |
|---|---|---|
plan_router |
/maintenance/plans listeleme, oluşturma, okuma, güncelleme, silme |
src/cluster_erp/modules/fleet/maintenance/routes.py:25, src/cluster_erp/modules/fleet/maintenance/routes.py:31-86 |
reminder_router |
/maintenance/reminders listeleme, okuma, aksiyon, POST /recompute |
src/cluster_erp/modules/fleet/maintenance/routes.py:26-28, src/cluster_erp/modules/fleet/maintenance/routes.py:89-153 |
wo_router |
/work-orders listeleme, oluşturma, okuma, güncelleme, aksiyon, silme |
src/cluster_erp/modules/fleet/workorders/routes.py:27, src/cluster_erp/modules/fleet/workorders/routes.py:32-120 |
wo_item_router |
/work-order-items listeleme, oluşturma, güncelleme, silme |
src/cluster_erp/modules/fleet/workorders/routes.py:28, src/cluster_erp/modules/fleet/workorders/routes.py:123-170 |
wo_part_router |
/work-order-parts listeleme, oluşturma, çıkış, silme |
src/cluster_erp/modules/fleet/workorders/routes.py:29, src/cluster_erp/modules/fleet/workorders/routes.py:173-217 |
Kalem ve parça silme uçları satırda deleted_at alanını doldurur (src/cluster_erp/modules/fleet/workorders/services.py:349-355, src/cluster_erp/modules/fleet/workorders/services.py:448-462).
Tanıtılan terimler¶
| Terim | Kod tanımlayıcısı | Tanım | Türkçe terim | Kaynak |
|---|---|---|---|---|
| maintenance plan | FleetMaintenancePlan |
Bir aracın veya sınıfın ne zaman bakım işine ihtiyaç duyduğuna dair kuruluş kuralı. | Bakım planı | src/cluster_erp/modules/fleet/models.py:314 |
| maintenance reminder | FleetMaintenanceReminder |
Bir planın bir araç için hesaplanmış vade durumu. | Bakım hatırlatması | src/cluster_erp/modules/fleet/models.py:348 |
| part line | FleetWorkOrderPart |
Bir iş emrinde planlanan ve stoktan düşülen yedek parça. | Parça satırı | src/cluster_erp/modules/fleet/models.py:436 |
İlgili sayfalar¶
92f8051 numaralı commit ile 2026-11-13 tarihinde doğrulandı.