İlk versiyon: MyMach Fleet Intelligence ve yapılandırmalar
This commit is contained in:
62
test_scenario.py
Normal file
62
test_scenario.py
Normal file
@@ -0,0 +1,62 @@
|
||||
from odoo import fields
|
||||
env = env(user=1)
|
||||
|
||||
print("\n--- [TEST SENARYOSU BASLIYOR] ---")
|
||||
|
||||
# 1. Örnek Personel ve Partner (Sürücü) Yarat
|
||||
partner = env['res.partner'].create({'name': 'Ahmet Yılmaz (Test Sürücüsü)'})
|
||||
employee = env['hr.employee'].create({
|
||||
'name': 'Ahmet Yılmaz'
|
||||
})
|
||||
|
||||
# 2. Araç Yarat (Model yoksa ilk bulduğunu alır)
|
||||
model_id = env['fleet.vehicle.model'].search([], limit=1)
|
||||
vehicle = env['fleet.vehicle'].create({
|
||||
'model_id': model_id.id,
|
||||
'license_plate': '34 YAPAY 2026',
|
||||
'purchase_value': 25000,
|
||||
'depreciation_years': 5,
|
||||
'annual_fixed_cost': 1500,
|
||||
'tank_capacity': 60,
|
||||
'factory_avg_consumption': 6.0,
|
||||
'driver_id': partner.id
|
||||
})
|
||||
|
||||
# 3. Sözleşme Yarat (Sıfır Tolerans: Şahsi Kullanım Yasak)
|
||||
contract = env['mymach.fleet.contract'].create({
|
||||
'name': 'CON-TEST-001',
|
||||
'driver_id': partner.id,
|
||||
'personal_use_policy': 'forbidden',
|
||||
'commute_allowed': 'forbidden'
|
||||
})
|
||||
|
||||
# Ürün (Hizmet/Masraf) bulalım
|
||||
product = env['product.product'].search([], limit=1)
|
||||
if not product:
|
||||
product = env['product.product'].create({'name': 'Genel Bakım/Yakıt', 'type': 'service'})
|
||||
|
||||
# 4. Kestirimci Bakımı Tetikleyecek Veri Girişi (Çok Sayıda Yüksek Masraf)
|
||||
for i in range(3):
|
||||
env['mymach.fleet.maintenance.cost'].create({
|
||||
'vehicle_id': vehicle.id,
|
||||
'product_id': product.id,
|
||||
'amount': 5500.0,
|
||||
'name': f'Yakıt/Bakım Alımı {i+1} (Yüksek Tüketim Simülasyonu)'
|
||||
})
|
||||
|
||||
# 5. Prediktif Bakım AI (Cron Job) Manuel Tetikleme
|
||||
env['mymach.fleet.maintenance.cost'].action_sync_fuel_data_cron()
|
||||
|
||||
# 6. Güvenlik İhlali İçin Personeli Ofiste (İçeride) Gösterme (hr.attendance)
|
||||
env['hr.attendance'].create({
|
||||
'employee_id': employee.id,
|
||||
'check_in': fields.Datetime.now(),
|
||||
})
|
||||
|
||||
env.cr.commit()
|
||||
|
||||
print(f"\n--- [BASARILI] ---")
|
||||
print(f"Araç Plakası: {vehicle.license_plate}")
|
||||
print(f"Araç ID: {vehicle.id}")
|
||||
print(f"Personel: {employee.name}")
|
||||
print("API'den Ping Atmaya Hazır!\n")
|
||||
Reference in New Issue
Block a user