src/cluster_erp/modules/fleet/ içindeki fleet modülü, şirketin işlettiği araçları ve makineleri yönetir. Tek bir araç ana kaydı binek araçları, panelvanları, kamyonları, çekicileri, dorseleri, otobüsleri, forkliftleri ve iş makinelerini kapsar. Modül bu kaydın çevresinde sayaçları ve okumaları, bakım planlarını ve hatırlatmalarını, yedek parçalı iş emirlerini, sürücü atamalarını, denetimleri ve kusurları, rezervasyonları, olayları, yakıtı, uyum yükümlülüklerini, cezaları, lastikleri ve kampanyaları tutar. 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/fleet/ |
klasör |
| Modül sınıfı | Module |
src/cluster_erp/modules/fleet/module.py:136 |
name / version |
fleet / 0.1.0 |
src/cluster_erp/modules/fleet/module.py:140-146 |
| API öneki | /api/v1/fleet |
src/cluster_erp/modules/fleet/module.py:310 |
| Alt modüller | 7: assets, meters, maintenance, workorders, operations, fuel, tco; ayrıca telematics.py, validation.py ve analytics_facts.py |
klasör listesi |
| Tablolar | 23, hepsi tek bir models.py içinde |
src/cluster_erp/modules/fleet/models.py içindeki __tablename__ |
| Metadata'daki varlıklar | entities içinde 24 anahtar |
src/cluster_erp/modules/fleet/module.py:552-577 |
| Uçlar | Pakette 116 uç dekoratörü | @...router.get/post/put/patch/delete için grep |
| Aksiyonlar | 43 ActionMeta girdisi |
pakette grep "ActionMeta(" |
| Göçler | 12 dosya | metni 23 tablo adından birini içeren migrations/versions/ dosyaları |
| Sözleşmeler | 1 tüketir, 6 üretir | "Olaylar ve sorgular" bölümüne bakın |
| Web uygulamasında varlık | Katalog uygulaması fleet (screen module) |
src/cluster_erp/modules/app_store/catalog.json (fleet girdisi) |
| Masaüstünde varlık | yalnızca genel bileşenler | src/cluster_erp/desktop/modules/ içinde fleet klasörü yok |
Modül ne yapar¶
- Birinci sınıf kimlikleri (plaka, VIN, şasi numarası, motor numarası) olan ve taslak olarak başlayan bir yaşam döngüsüne sahip tek bir araç ana kaydı tutar (
src/cluster_erp/modules/fleet/models.py:159-237). - Kuruluşun çalışma anında kiracı alanlarıyla kendi araç alanlarını eklemesine izin verir; modül ağır vasıta için bir başlangıç seti tohumlar (
src/cluster_erp/modules/fleet/module.py:197-265). Bkz. kiracı alanları. - Sayaçları, ömür boyu değerleri olan değiştirilemez bir okuma defteri olarak kaydeder (
src/cluster_erp/modules/fleet/meters/services.py:1-18). - Bakım vade tarihlerini takvim, sayaç ve eşik kurallarından hesaplar (
src/cluster_erp/modules/fleet/maintenance/services.py:1-20). - Her bakım ihtiyacını tek bir iş emrinde toplar ve yedek parçaları EventBus üzerinden envanterden düşer (
src/cluster_erp/modules/fleet/workorders/services.py:1-18). - Aracı kimin tuttuğunu, çekici ve dorse bağlantılarını, denetimleri, kusurları, rezervasyonları ve olayları izler (
src/cluster_erp/modules/fleet/operations/services.py:1-20). - Tüketim uyarılı bir yakıt defteri, yenilenen uyum yükümlülükleri ve cezalar tutar (
src/cluster_erp/modules/fleet/fuel/services.py:1-20). - Toplam sahip olma maliyetini, bir yenileme sıralamasını, lastikleri, kampanyaları ve emisyon katsayılarını raporlar (
src/cluster_erp/modules/fleet/tco/services.py:1-12). - Telematik bağdaştırıcılarından sayaç toplu girdilerini kabul eder (
src/cluster_erp/modules/fleet/telematics.py:1-16).
Alt modüller¶
| Alt modül | Amaç | Ana varlıklar | Yönlendirici | Sayfa |
|---|---|---|---|---|
assets |
Araç ana kaydı ve araç sınıfları | FleetAsset, FleetAssetClass |
/assets, /classes |
Araçlar |
meters |
Sayaçlar ve okuma defteri | FleetMeter, FleetMeterReading |
/meters, /readings |
Sayaçlar ve yakıt |
fuel |
Yakıt girişleri, uyum kalemleri, cezalar, muayene dönemleri | FleetFuelEntry, FleetComplianceItem, FleetPenalty, FleetInspectionPeriod |
/fuel, /compliance, /penalties, /inspection-periods |
Sayaçlar ve yakıt |
maintenance |
Planlar ve hesaplanan hatırlatmalar | FleetMaintenancePlan, FleetMaintenanceReminder |
/maintenance/plans, /maintenance/reminders |
Bakım ve iş emirleri |
workorders |
İş emirleri, kalemler, parçalar | FleetWorkOrder, FleetWorkOrderItem, FleetWorkOrderPart |
/work-orders, /work-order-items, /work-order-parts |
Bakım ve iş emirleri |
operations |
Atamalar, bağlantılar, denetimler, kusurlar, rezervasyonlar, olaylar | FleetAssignment, FleetCoupling, FleetInspection, FleetDefect, FleetReservation, FleetIncident |
/assignments, /couplings, /inspections, /defects, /reservations, /incidents |
Operasyonlar |
tco |
Sahip olma maliyeti, yenileme, lastikler, kampanyalar, emisyon katsayıları | FleetTire, FleetCampaign, FleetCampaignAsset, FleetEmissionFactor |
/tco, /tires, /campaigns, /campaign-assets, /emission-factors |
TCO, telematik ve analitik |
Tüm yönlendiriciler /api/v1/fleet önekli tek bir modül yönlendiricisine eklenir (src/cluster_erp/modules/fleet/module.py:267-336). Her routes.py kendi yollarını tanımlar, örneğin src/cluster_erp/modules/fleet/fuel/routes.py:35-41.
Veri modeli¶
23 tablonun tümü src/cluster_erp/modules/fleet/models.py içinde tanımlıdır. Her alt modül sayfası kendi alanlarını listeler. Ortak özellikler:
- Her model
BaseModelsınıfının denetim ve yumuşak silme sütunlarını devralır (src/cluster_erp/modules/fleet/models.py:42). Bkz. temel model ve kimlikler. - Benzersizlik yalnızca canlı satırlarda geçerlidir; bunu
uq_fleet_assets_plate_livegibi kısmi benzersiz indeksler sağlar (src/cluster_erp/modules/fleet/models.py:168-186). - Para sütunları
Numeric(18, 2)tipindedir ve yanlarında üç harfli ayrı bircurrencysütunu bulunur, örneğinFleetWorkOrder.labor_costveFleetFuelEntry.total_cost(src/cluster_erp/modules/fleet/models.py:409-413,src/cluster_erp/modules/fleet/models.py:621-622). - Sayaç değerleri bir ondalık basamaklı
Numerictipindedir (src/cluster_erp/modules/fleet/models.py:298-301). - Durum sözlükleri dosyanın başında demetler olarak durur, örneğin
FLEET_ASSET_STATUSESveFLEET_WO_STATUSES(src/cluster_erp/modules/fleet/models.py:46-127).
Ekranlar ve metadata¶
get_metadata, 16 bölümlü Filo (İngilizce Fleet) kenar çubuğu grubunu tanımlar (src/cluster_erp/modules/fleet/module.py:403-547). Altı bölüm çubukta görünür: Araçlar, Bakım, İş Emirleri, Rezervasyonlar, Yakıt ve Uyum. Dokuz liste bölümü hidden_from_bar=True taşır: Cezalar, Lastikler, Kampanyalar, Yenileme Analizi, Atamalar, Çekici-Dorse, Denetimler, Kusurlar ve Olaylar. Kod yorumu bu listelerin aranabilir kaldığını ve araç kartının bunlara bağlamsal kapı olduğunu belirtir (src/cluster_erp/modules/fleet/module.py:490-492). Ayarlar dört sekmeli bir ayar görünümüdür: araç sınıfları, bakım planları, muayene dönemleri ve emisyon katsayıları (src/cluster_erp/modules/fleet/module.py:536-547).
Araç kartında Genel sekmesinden Lastikler sekmesine kadar 14 ayrıntı sekmesi vardır (src/cluster_erp/modules/fleet/assets/metadata.py:358-450). Web uygulaması ve masaüstü bunların hepsini genel olarak çizer; bkz. genel liste ve genel ayrıntı.
Durum ve aksiyonlar¶
Her alt modül sayfası kendi aksiyonlarını listeler. Her durum değişikliği POST .../{id}/actions/{action} aksiyon ucundan geçer; araç güncelleme yolu durumu değiştirmez (src/cluster_erp/modules/fleet/assets/services.py:1-11). Diyagram alt modüller arasındaki bakım akışını gösterir.
flowchart TD RD["FleetMeterReading oluşturuldu"] --> RC["FleetReminderService.recompute_for_asset_id"] PL["FleetMaintenancePlan"] --> RC RC --> RM["FleetMaintenanceReminder: ok, due_soon, overdue"] RM -->|create_work_order| WO["FleetWorkOrder taslak"] AS["FleetAsset send_to_maintenance"] --> WO2["FleetWorkOrder serbest bırakılmış"] DF["FleetDefect create_work_order"] --> WO WO -->|release, start| WOP["open, in_progress"] WOP -->|parça çıkışı| GI["envantere PostGoodsIssue"] WOP -->|complete| DONE["completed"] DONE --> RCOMP["bağlı hatırlatmalar tamamlanır"] DONE --> ODO["kilometre okuması, kaynak work_order"] DONE --> BACK["araç yeniden active"]
Düz anlatımla:
- Yeni bir okuma, aracının hatırlatmalarını yeniden hesaplar (
src/cluster_erp/modules/fleet/meters/services.py:308-311,src/cluster_erp/modules/fleet/meters/services.py:363-371). - Hatırlatma motoru her hatırlatmayı
ok,due_soon,overdueveyasnoozedyapar (src/cluster_erp/modules/fleet/maintenance/services.py:588-597). - Bir hatırlatma, kusur, olay veya kampanya kalemi iş emri açabilir. Aracı bakıma almak serbest bırakılmış bir iş emri açar (
src/cluster_erp/modules/fleet/maintenance/services.py:351-366,src/cluster_erp/modules/fleet/assets/services.py:307-338). - Bir parça satırının çıkışı envantere
PostGoodsIssuegönderir (src/cluster_erp/modules/fleet/workorders/services.py:464-514). - Emrin tamamlanması bağlı hatırlatmaları tamamlar, bir kapanış kilometresi kaydedebilir ve açık başka emir yoksa aracı
activedurumuna döndürür (src/cluster_erp/modules/fleet/workorders/services.py:191-265).
İş kuralları¶
Her alt modülün kuralları kendi sayfasındadır. Modülün tamamında geçerli kurallar:
- API'nin kabul ettiği her tarih-saat bir UTC farkı taşımalıdır; saf (naive) bir değer doğrulama hatasıyla reddedilir (
src/cluster_erp/modules/fleet/validation.py:1-21). - Form yükündeki boş bir dize değer yok sayılır (
src/cluster_erp/modules/fleet/validation.py:24-37). - Elden çıkarılmış bir araç yeni operasyon belgesi almaz (
src/cluster_erp/modules/fleet/operations/services.py:80-98). - Araç kodları
fleet_asset, iş emri kodlarıfleet_work_orderdizisinden gelir (src/cluster_erp/modules/fleet/assets/services.py:229,src/cluster_erp/modules/fleet/workorders/services.py:108). - Alt modüller paket içinde birbirlerinin servislerini çağırır. Kod yorumları bunları modüller arası çağrı değil, kardeş içe aktarma olarak işaretler (
src/cluster_erp/modules/fleet/assets/services.py:240-241).
Olaylar ve sorgular¶
Modül 1 sözleşme tüketir ve 6 sözleşme üretir. Tüketilen, pakette subscribe( veya register_query_handler( çağrısına ilk argüman olarak verilen sözleşmedir; üretilen, pakette adının ardından ( gelen sözleşme sınıfıdır. Tam liste sözleşmeler başvurusunda yer alır.
| Yön | Sözleşme sınıfı | İşleyici veya yayıcı | Kaynak |
|---|---|---|---|
| abone olur | DescribeAnalyticsFacts |
describe_analytics_facts |
src/cluster_erp/modules/fleet/module.py:338-346 |
| sorgular | PostGoodsIssue |
FleetWorkOrderService.issue_part |
src/cluster_erp/modules/fleet/workorders/services.py:494-507 |
| sorgular | GetPurchaseRequestById |
FleetWorkOrderService._check_pr_link |
src/cluster_erp/modules/fleet/workorders/services.py:565-578 |
| sorgular | GetPartyById |
_require_party |
src/cluster_erp/modules/fleet/operations/services.py:64-79 |
| oluşturur | AnalyticsFactSet, AnalyticsDimension, AnalyticsMeasure |
analytics_facts.py |
src/cluster_erp/modules/fleet/analytics_facts.py:18-310 |
Bir parça satırının ürün kırılımı, satır kaydedilmeden önce ensure_product_breakdown ile denetlenir (src/cluster_erp/modules/fleet/workorders/services.py:412-424).
İzinler¶
Her uç require_permission ile bir izin denetler. Anahtarlar <entity>.read, .create, .update ve .delete kalıbını izler.
| İzin anahtarı | Kullanan | Kaynak |
|---|---|---|
fleet_asset.read, .create, .update, .delete |
araçlar, TCO ve yenileme okumaları, telematik beslemesi (update) |
src/cluster_erp/modules/fleet/assets/routes.py:62-137, src/cluster_erp/modules/fleet/tco/routes.py:52-62, src/cluster_erp/modules/fleet/telematics.py:55 |
fleet_asset_class.read, .update |
araç sınıfları | src/cluster_erp/modules/fleet/assets/routes.py:149-187 |
fleet_meter.*, fleet_meter_reading.* |
sayaçlar ve okumalar | src/cluster_erp/modules/fleet/meters/routes.py:36-161 |
fleet_maintenance_plan.*, fleet_maintenance_reminder.* |
planlar ve hatırlatmalar | src/cluster_erp/modules/fleet/maintenance/routes.py:33-144 |
fleet_work_order.*, fleet_work_order_item.*, fleet_work_order_part.* |
iş emirleri | src/cluster_erp/modules/fleet/workorders/routes.py:39-214 |
fleet_assignment.*, fleet_coupling.*, fleet_inspection.*, fleet_defect.*, fleet_reservation.*, fleet_incident.* |
operasyonlar | src/cluster_erp/modules/fleet/operations/routes.py:63-453 |
fleet_fuel_entry.*, fleet_compliance_item.*, fleet_penalty.*, fleet_inspection_period.* |
yakıt, uyum, cezalar, dönemler | src/cluster_erp/modules/fleet/fuel/routes.py:52-356 |
fleet_tire.*, fleet_campaign.*, fleet_campaign_asset.*, fleet_emission_factor.* |
lastikler, kampanyalar, katsayılar | src/cluster_erp/modules/fleet/tco/routes.py:78-344 |
Mekanizma roller ve izinler sayfasında anlatılır.
Gizlilik, saklama ve geçmiş¶
Modülde privacy_handlers.py ve retention_handlers.py yoktur (klasör listesi). Bir kaydı silmek deleted_at alanını doldurur. Araç için bu, canlı hatırlatmalarını da emekliye ayırır; okumalar, emirler ve dönemler kalır (src/cluster_erp/modules/fleet/assets/services.py:340-363). Okumalar hiçbir zaman düzenlenmez veya silinmez; hatalı bir okuma incorrect olarak işaretlenir (src/cluster_erp/modules/fleet/meters/services.py:9-12). Değişiklikleri değişiklik geçmişi yakalar; devre dışı bırakma yumuşak silme ve devre dışı bırakma sayfasında anlatılır.
Analitik olgular¶
analytics_facts.py dört olgu kümesi sağlar: fleet_fuel, fleet_work_order, fleet_penalty ve fleet_compliance; hepsi fleet_asset.read izniyle okunur (src/cluster_erp/modules/fleet/analytics_facts.py:35-310). Ayrıntılar TCO, telematik ve analitik sayfasında, toplama yolu analitik olgular sayfasındadır.
Ayarlar ve referans verileri¶
- Araç sınıfları referans verisidir. Modül başlarken eksik olan dokuz sınıfı tohumlar:
car,van,truck,tractor_unit,trailer,bus,forklift,constructionveother; her biri varsayılan sayaçlarıyla gelir (src/cluster_erp/modules/fleet/module.py:27-47,src/cluster_erp/modules/fleet/module.py:159-195). - Modül,
fleet_assetkovasında kiracı alanı olarak dokuz araç alanı tanımı tohumlar, örneğinfuel_tank_lvegvwr_kg. Zaten var olan bir anahtara dokunulmaz (src/cluster_erp/modules/fleet/module.py:49-133,src/cluster_erp/modules/fleet/module.py:197-265). - Muayene dönemleri ve emisyon katsayıları boş başlar; kuruluş bunları doldurur (
src/cluster_erp/modules/fleet/models.py:673-789).
Testler¶
web-client/_e2e_*.mjs içinde /fleet/ ve tests/*.py içinde fleet için grep ile bulundu.
| Tür | Dosya | Kapsar |
|---|---|---|
| e2e | web-client/_e2e_fleet_assets.mjs |
araç ana kaydı, sınıflar, çalışma anı alanları |
| e2e | web-client/_e2e_fleet_meters.mjs |
sayaçlar ve okuma defteri |
| e2e | web-client/_e2e_fleet_maintenance.mjs |
bakım planı motoru |
| e2e | web-client/_e2e_fleet_workorders.mjs |
iş emri hunisi |
| e2e | web-client/_e2e_fleet_operations.mjs |
atamalar, bağlantılar, denetimler, rezervasyonlar, olaylar |
| e2e | web-client/_e2e_fleet_fuel.mjs |
yakıt defteri ve uyum |
| e2e | web-client/_e2e_fleet_analytics.mjs |
olgu kümeleri, TCO, yenileme, lastikler, kampanyalar |
| e2e | web-client/_e2e_fleet_telematics.mjs |
telematik beslemesi |
| e2e | web-client/_e2e_fleet_paranoid.mjs |
alt modüller arası gerileme korumaları |
| e2e | web-client/_e2e_tenant_fields_phase4b.mjs, web-client/_e2e_tenant_fields_phase4c.mjs |
araçlardaki kiracı alanları |
| pytest | tests/test_data_map_package2.py, tests/test_backup_retention.py, tests/test_demo_data_live.py, tests/test_desktop_app_scope.py |
fleet geçen dosyalar |
Tutarsızlıklar¶
Tanıtılan terimler¶
| Terim | Kod tanımlayıcısı | Tanım | Türkçe terim | Kaynak |
|---|---|---|---|---|
| fleet asset | FleetAsset |
Şirketin işlettiği tek bir araç, dorse veya makine. | Araç | src/cluster_erp/modules/fleet/models.py:159 |
| asset class | FleetAssetClass |
Araçları gruplayan, motorlu olup olmadıklarını ve hangi sayaçları alacaklarını belirten referans satırı. | Araç sınıfı | src/cluster_erp/modules/fleet/models.py:130 |
| work order funnel | FleetWorkOrderService |
Bir aracın her bakım ihtiyacının kalem olarak düştüğü tek iş emri. | İş emri hunisi | src/cluster_erp/modules/fleet/workorders/services.py:1-10 |
İlgili sayfalar¶
- Modüller dizini
- Araçlar
- Sayaçlar ve yakıt
- Bakım ve iş emirleri
- Operasyonlar
- TCO, telematik ve analitik
- Inventory modülü
- Bu modülün API başvurusu
92f8051 numaralı commit ile 2026-11-13 tarihinde doğrulandı.