[fix] Vehicle expense report not working
diff --git a/erpnext/hr/report/vehicle_expenses/vehicle_expenses.js b/erpnext/hr/report/vehicle_expenses/vehicle_expenses.js
index 8a05c81..486d259 100644
--- a/erpnext/hr/report/vehicle_expenses/vehicle_expenses.js
+++ b/erpnext/hr/report/vehicle_expenses/vehicle_expenses.js
@@ -22,18 +22,6 @@
query_report.trigger_refresh();
});
}
- },
- {
- "fieldname": "from_date",
- "label": __("From Date"),
- "fieldtype": "Date",
- "default": frappe.defaults.get_user_default("year_start_date"),
- },
- {
- "fieldname": "to_date",
- "label": __("To Date"),
- "fieldtype": "Date",
- "default": frappe.defaults.get_user_default("year_end_date"),
}
]
}
diff --git a/erpnext/hr/report/vehicle_expenses/vehicle_expenses.py b/erpnext/hr/report/vehicle_expenses/vehicle_expenses.py
index a03b7f3..63e5f3c 100644
--- a/erpnext/hr/report/vehicle_expenses/vehicle_expenses.py
+++ b/erpnext/hr/report/vehicle_expenses/vehicle_expenses.py
@@ -3,41 +3,41 @@
from __future__ import unicode_literals
import frappe
+import erpnext
from frappe import _
from frappe.utils import flt,cstr
from erpnext.accounts.report.financial_statements import get_period_list
def execute(filters=None):
- period_list = get_period_list(2016, 2016,"Monthly")
- for period in period_list:
- pass
columns, data = [], []
- columns=get_columns()
- data=get_log_data(filters)
- chart=get_chart_data(data,period_list)
+ if filters.get('fiscal_year'):
+ company = erpnext.get_default_company()
+ period_list = get_period_list(filters.get('fiscal_year'), filters.get('fiscal_year'),"Monthly", company)
+ columns=get_columns()
+ data=get_log_data(filters)
+ chart=get_chart_data(data,period_list)
return columns, data, None, chart
-
+
def get_columns():
columns = [_("License") + ":Link/Vehicle:100", _("Make") + ":data:50",
- _("Model") + ":data:50", _("Location") + ":data:100",
- _("Log") + ":Link/Vehicle Log:100", _("Odometer") + ":Int:80",
- _("Date") + ":Date:100", _("Fuel Qty") + ":Float:80",
- _("Fuel Price") + ":Float:100",_("Service Expense") + ":Float:100"
+ _("Model") + ":data:50", _("Location") + ":data:100",
+ _("Log") + ":Link/Vehicle Log:100", _("Odometer") + ":Int:80",
+ _("Date") + ":Date:100", _("Fuel Qty") + ":Float:80",
+ _("Fuel Price") + ":Float:100",_("Service Expense") + ":Float:100"
]
return columns
def get_log_data(filters):
- conditions=""
- if filters.from_date:
- conditions += " and date >= %(from_date)s"
- if filters.to_date:
- conditions += " and date <= %(to_date)s"
- data = frappe.db.sql("""select vhcl.license_plate as "License",vhcl.make as "Make",vhcl.model as "Model",
- vhcl.location as "Location",log.name as "Log",log.odometer as "Odometer",log.date as "Date",
- log.fuel_qty as "Fuel Qty",log.price as "Fuel Price"
- from `tabVehicle` vhcl,`tabVehicle Log` log
- where vhcl.license_plate = log.license_plate and log.docstatus = 1 %s
- order by date""" % (conditions,),filters, as_dict=1)
+ fy = frappe.db.get_value('Fiscal Year', filters.get('fiscal_year'), ['year_start_date', 'year_end_date'], as_dict=True)
+ data = frappe.db.sql("""select
+ vhcl.license_plate as "License", vhcl.make as "Make", vhcl.model as "Model",
+ vhcl.location as "Location", log.name as "Log", log.odometer as "Odometer",
+ log.date as "Date", log.fuel_qty as "Fuel Qty", log.price as "Fuel Price"
+ from
+ `tabVehicle` vhcl,`tabVehicle Log` log
+ where
+ vhcl.license_plate = log.license_plate and log.docstatus = 1 and date between %s and %s
+ order by date""" ,(fy.year_start_date, fy.year_end_date), as_dict=1)
dl=list(data)
for row in dl:
row["Service Expense"]= get_service_expense(row["Log"])
@@ -45,8 +45,8 @@
def get_service_expense(logname):
expense_amount = frappe.db.sql("""select sum(expense_amount)
- from `tabVehicle Log` log,`tabVehicle Service` ser
- where ser.parent=log.name and log.name=%s""",logname)
+ from `tabVehicle Log` log,`tabVehicle Service` ser
+ where ser.parent=log.name and log.name=%s""",logname)
return flt(expense_amount[0][0]) if expense_amount else 0
def get_chart_data(data,period_list):