Factorizer/Cluster ERP WikiCluster ERP English
Ana sayfa / İş modülleri

Referans

Filo bakımı ve iş emirleri

fleet içindeki maintenance ve workorders alt modüllerinin başvurusu; planlar, hatırlatma motoru, iş emirleri, kalemler, parçalar ve mal çıkışı.

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ün routes.py ile metadata.py dosyaları.
  • Sayım: 5 tablo, 23 uç (maintenance/routes.py içinde 9, workorders/routes.py içinde 14), 9 ActionMeta girdisi (maintenance/metadata.py içinde 4, workorders/metadata.py iç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-DD biçiminde iki sınırı da ister (src/cluster_erp/modules/fleet/maintenance/services.py:99-143).
  • Takvim kuralı schedule kipinde 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ğinde overdue, vade eksi öncü günlerden itibaren due_soon, aksi halde ok olur (src/cluster_erp/modules/fleet/maintenance/services.py:588-597).
  • suppressed_by_plan_id taşıyan plan, kapsayıcı hatırlatmanın vadesi gelmişken is_suppressed alı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 GetPurchaseRequestById ile denetler. Bir hatırlatmadan açılan emir, kaynağı scheduled_maintenance olan 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, open veya in_progress durumundayken 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_breakdown ile denetler ve pozitif miktar ister. Toplamı, miktar çarpı birim maliyettir ve ROUND_HALF_EVEN ile 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 PostGoodsIssue gö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_cost parç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_order olan 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 draft veya cancelled emir silinebilir; silme deleted_at alanı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ı.

Doğrulanan commit 92f8051 · 2026-11-13