21.07v
This commit is contained in:
57
populate_fuel_data.py
Normal file
57
populate_fuel_data.py
Normal file
@@ -0,0 +1,57 @@
|
||||
import random
|
||||
from datetime import timedelta, date
|
||||
|
||||
env = env(su=True)
|
||||
company = env.company
|
||||
if company.currency_id and getattr(company.currency_id, 'rounding', 0.0) == 0.0:
|
||||
company.currency_id.write({'rounding': 0.01})
|
||||
|
||||
try_currency = env.ref('base.TRY', raise_if_not_found=False)
|
||||
if try_currency:
|
||||
try_currency.write({'active': True})
|
||||
if getattr(try_currency, 'rounding', 0.0) == 0.0:
|
||||
try_currency.write({'rounding': 0.01})
|
||||
|
||||
currency = try_currency or company.currency_id
|
||||
|
||||
product = env['product.template'].search([('type', '=', 'service')], limit=1)
|
||||
if not product:
|
||||
product = env['product.template'].create({'name': 'Akaryakıt (Litre)', 'type': 'service', 'list_price': 42.5})
|
||||
|
||||
vehicles = env['fleet.vehicle'].search([], limit=2)
|
||||
if not vehicles:
|
||||
print("Sistemde araç bulunamadı.")
|
||||
else:
|
||||
today = date.today()
|
||||
for v in vehicles:
|
||||
print(f"Araç {v.license_plate} için KM ve Yakıt verileri oluşturuluyor...")
|
||||
base_km = v.odometer if v.odometer > 1000 else 45000
|
||||
|
||||
for i in range(30, -1, -2):
|
||||
record_date = today - timedelta(days=i)
|
||||
|
||||
increment = random.randint(50, 150)
|
||||
base_km += increment
|
||||
env['fleet.vehicle.odometer'].create({
|
||||
'vehicle_id': v.id,
|
||||
'date': record_date,
|
||||
'value': base_km
|
||||
})
|
||||
|
||||
liters = random.uniform(20.0, 50.0)
|
||||
price_per_liter = 42.5
|
||||
total_cost = liters * price_per_liter
|
||||
|
||||
env['mymach.fleet.maintenance.cost'].create({
|
||||
'vehicle_id': v.id,
|
||||
'date': record_date,
|
||||
'name': f"Akaryakıt Alımı ({liters:.1f} L)",
|
||||
'amount': total_cost,
|
||||
'currency_id': currency.id,
|
||||
'product_id': product.id
|
||||
})
|
||||
|
||||
print(f"Araç {v.license_plate} için son değer KM: {base_km}, başarıyla tamamlandı.")
|
||||
|
||||
env.cr.commit()
|
||||
print("Tüm örnek KM ve Yakıt verileri sisteme başarıyla yüklendi!")
|
||||
Reference in New Issue
Block a user