diff --git a/smart_service/add_ons/report/feedback_report/feedback_report.py b/smart_service/add_ons/report/feedback_report/feedback_report.py
index 73fbcf9..5436e2f 100644
--- a/smart_service/add_ons/report/feedback_report/feedback_report.py
+++ b/smart_service/add_ons/report/feedback_report/feedback_report.py
@@ -3,46 +3,61 @@
from __future__ import unicode_literals
import frappe
-from frappe.utils import cstr, cint, getdate
from frappe import msgprint, _
import sys
-sys.tracebacklimit=0
+sys.tracebacklimit = 0
def execute(filters=None):
- columns, data = [], []
- columns = get_columns()
- data = get_data(filters)
- return columns, data
+ columns, data = [], []
+ columns = get_columns()
+ data = get_data(filters)
+ return columns, data
+
def get_data(filters):
- current_db_name = frappe.conf.get("db_name")
- data = frappe.db.sql("""select uf.name,uf.date,uf.subject,uf.user_name,uf.status,uf.attachments,uf.closure_date,uf.closed_by,
+ current_db_name = frappe.conf.get("db_name")
+ data = frappe.db.sql("""select uf.name,uf.date,uf.subject,uf.user_name,uf.status,uf.attachments,uf.closure_date,uf.closed_by,
uf.description,uf.feedback_type,dealer.dealer_code,dealer.zone,dealer.dealer_name,uf.closure_date,uf.closed_by,
dealer.area,au.user_id,concat_ws(' ',au.first_name,au.last_name) as user_name from {0}.`tabUser Feedback` uf,{0}.`tabApp Dealer` dealer,{0}.`tabApp Users` au
where uf.user_name = au.name and
- (date(uf.modified) between '{1}' and '{2}') group by uf.name ORDER BY uf.date DESC""".format(current_db_name,filters.get('from_date'), filters.get('to_date')), as_dict=1)
- if data:
- return data
- else:
- frappe.msgprint('No Data for Selected Filters.')
+ (date(uf.modified) between '{1}' and '{2}') group by uf.name ORDER BY uf.date DESC""".format(current_db_name, filters.get('from_date'), filters.get('to_date')), as_dict=1)
+ if data:
+ return data
+ else:
+ frappe.msgprint('No Data for Selected Filters.')
-def get_columns():
- columns = [
- {"label": _("User ID"), "fieldname": "user_id", "fieldtype":"Data","width": 100},
- {"label": _("User Name"), "fieldname": "user_name", "fieldtype": "Data", "width": 150},
- {"label": _("Date"), "fieldname": "date", "fieldtype": "Date", "width": 100},
- {"label": _("Feedback ID"), "fieldname": "name", "fieldtype": "Link", "options":"User Feedback","width": 120},
- {"label": _("Feedback Type"), "fieldname": "feedback_type", "fieldtype": "Data", "width": 120},
- {"label": _("Feedback Title"), "fieldname": "subject", "fieldtype": "Data", "width": 120},
- {"label": _("Feedback Description"), "fieldname": "description", "fieldtype": "Text Editor", "width": 250},
- {"label": _("Attachments"), "fieldname": "attachments", "fieldtype": "Data", "width": 100},
- {"label": _("Feedback Status"), "fieldname": "status", "fieldtype": "Data", "width": 100},
- {"label": _("Zone"), "fieldname": "zone", "fieldtype": "Data", "width": 100},
- {"label": _("Area Office"), "fieldname": "area", "fieldtype": "Data", "width": 140},
- {"label": _("Dealer Code"), "fieldname": "dealer_code", "fieldtype": "Data", "width": 120},
- {"label": _("Dealer Name"), "fieldname": "dealer_name", "fieldtype": "Data", "width": 150},
- {"label": _("Closure Date"), "fieldname": "closure_date", "fieldtype": "Data", "width": 150},
- {"label": _("Closed By"), "fieldname": "closed_by", "fieldtype": "Data", "width": 120}
- ]
- return columns
+def get_columns():
+ columns = [
+ {"label": _("User ID"), "fieldname": "user_id",
+ "fieldtype": "Data", "width": 100},
+ {"label": _("User Name"), "fieldname": "user_name",
+ "fieldtype": "Data", "width": 150},
+ {"label": _("Date"), "fieldname": "date",
+ "fieldtype": "Date", "width": 100},
+ {"label": _("Feedback ID"), "fieldname": "name",
+ "fieldtype": "Link", "options": "User Feedback", "width": 120},
+ {"label": _("Feedback Type"), "fieldname": "feedback_type",
+ "fieldtype": "Data", "width": 120},
+ {"label": _("Feedback Title"), "fieldname": "subject",
+ "fieldtype": "Data", "width": 120},
+ {"label": _("Feedback Description"), "fieldname": "description",
+ "fieldtype": "Text Editor", "width": 250},
+ {"label": _("Attachments"), "fieldname": "attachments",
+ "fieldtype": "Data", "width": 100},
+ {"label": _("Feedback Status"), "fieldname": "status",
+ "fieldtype": "Data", "width": 100},
+ {"label": _("Zone"), "fieldname": "zone",
+ "fieldtype": "Data", "width": 100},
+ {"label": _("Area Office"), "fieldname": "area",
+ "fieldtype": "Data", "width": 140},
+ {"label": _("Dealer Code"), "fieldname": "dealer_code",
+ "fieldtype": "Data", "width": 120},
+ {"label": _("Dealer Name"), "fieldname": "dealer_name",
+ "fieldtype": "Data", "width": 150},
+ {"label": _("Closure Date"), "fieldname": "closure_date",
+ "fieldtype": "Data", "width": 150},
+ {"label": _("Closed By"), "fieldname": "closed_by",
+ "fieldtype": "Data", "width": 120}
+ ]
+ return columns
diff --git a/smart_service/add_ons/report/installation_report/installation_report.py b/smart_service/add_ons/report/installation_report/installation_report.py
index 8ac9576..d49034a 100644
--- a/smart_service/add_ons/report/installation_report/installation_report.py
+++ b/smart_service/add_ons/report/installation_report/installation_report.py
@@ -5,42 +5,54 @@
from __future__ import unicode_literals
import frappe
-from frappe.utils import cstr, cint, getdate
from frappe import msgprint, _
+
def execute(filters=None):
- columns, data = [], []
- columns = get_columns()
- data = get_data(filters)
- return columns, data
+ columns, data = [], []
+ columns = get_columns()
+ data = get_data(filters)
+ return columns, data
+
def get_data(filters):
- current_db_name = frappe.conf.get("db_name")
- data = frappe.db.sql("""select dealer.zone,au.user_id,concat_ws(' ',au.first_name,au.last_name) as user_name,dealer.dealer_code,dealer.dealer_name,dealer.area,ad.os,ad.os_version,
+ current_db_name = frappe.conf.get("db_name")
+ data = frappe.db.sql("""select dealer.zone,au.user_id,concat_ws(' ',au.first_name,au.last_name) as user_name,dealer.dealer_code,dealer.dealer_name,dealer.area,ad.os,ad.os_version,
al.device,ad.device_id,ad.app_current_version,al.type as type,ad.device_type,al.date_time_stamp,al.creation,ad.last_login as date,al.date_time_stamp as time,time(al.date_time_stamp) as last_time
from {0}.`tabApp Log` al, {0}.`tabApp Device` ad, {0}.`tabApp Users` au, {0}.`tabApp Dealer` dealer
where
al.device = ad.name and al.user = au.name and au.dealer = dealer.name and (al.type = 'Installed' or al.type = 'Reinstalled') and
- (date(al.modified) between '{1}' and '{2}') ORDER BY ad.last_login DESC""".format(current_db_name,filters.get('from_date'), filters.get('to_date')), as_dict=1)
+ (date(al.modified) between '{1}' and '{2}') ORDER BY ad.last_login DESC""".format(current_db_name, filters.get('from_date'), filters.get('to_date')), as_dict=1)
+
+ if data:
+ return data
+ else:
+ frappe.msgprint('No Data for Selected Filters.')
- if data:
- return data
- else:
- frappe.msgprint('No Data for Selected Filters.')
-
def get_columns():
- columns = [
- {"label": _("User ID"), "fieldname": "user_id", "fieldtype": "Data", "width": 100},
- {"label": _("User Name"), "fieldname": "user_name", "fieldtype": "Data", "width": 150},
- {"label": _("Installation"), "fieldname": "device", "fieldtype": "Data","width": 100},
- {"label": _("App Version No"), "fieldname": "app_current_version", "fieldtype": "Data", "width": 150},
- {"label": _("Activity Type"), "fieldname": "type", "fieldtype": "Data","width": 150},
- {"label": _("Device"), "fieldname": "device_type", "fieldtype": "Data","width": 100},
- {"label": _("Device ID"), "fieldname": "device_id", "fieldtype": "Data", "width": 150},
- {"label": _("Device OS"), "fieldname": "os", "fieldtype": "Data", "width": 100},
- {"label": _("OS Version"), "fieldname": "os_version", "fieldtype": "Data", "width": 100},
- {"label": _("App Installation Date"), "fieldname": "date_time_stamp", "fieldtype": "DateTime","width": 200},
- {"label": _("App Last Accessed Date"), "fieldname": "date", "fieldtype": "DateTime","width": 200}
- ]
- return columns
+ columns = [
+ {"label": _("User ID"), "fieldname": "user_id",
+ "fieldtype": "Data", "width": 100},
+ {"label": _("User Name"), "fieldname": "user_name",
+ "fieldtype": "Data", "width": 150},
+ {"label": _("Installation"), "fieldname": "device",
+ "fieldtype": "Data", "width": 100},
+ {"label": _("App Version No"), "fieldname": "app_current_version",
+ "fieldtype": "Data", "width": 150},
+ {"label": _("Activity Type"), "fieldname": "type",
+ "fieldtype": "Data", "width": 150},
+ {"label": _("Device"), "fieldname": "device_type",
+ "fieldtype": "Data", "width": 100},
+ {"label": _("Device ID"), "fieldname": "device_id",
+ "fieldtype": "Data", "width": 150},
+ {"label": _("Device OS"), "fieldname": "os",
+ "fieldtype": "Data", "width": 100},
+ {"label": _("OS Version"), "fieldname": "os_version",
+ "fieldtype": "Data", "width": 100},
+ {"label": _("App Installation Date"),
+ "fieldname": "date_time_stamp", "fieldtype": "DateTime", "width": 200},
+ {"label": _("App Last Accessed Date"),
+ "fieldname": "date", "fieldtype": "DateTime", "width": 200}
+ ]
+ return columns
diff --git a/smart_service/add_ons/report/login_report/login_report.py b/smart_service/add_ons/report/login_report/login_report.py
index d803e0f..688007d 100644
--- a/smart_service/add_ons/report/login_report/login_report.py
+++ b/smart_service/add_ons/report/login_report/login_report.py
@@ -3,34 +3,22 @@
from __future__ import unicode_literals
import frappe
-from frappe.utils import cstr, cint, getdate
from frappe import msgprint, _
-from frappe.utils import cstr, flt, cint,TIME_FORMAT,DATE_FORMAT,DATETIME_FORMAT, now_datetime
-from datetime import date, time, datetime, timedelta
-from frappe.utils import now
-import datetime
+
def execute(filters=None):
- columns, data = [], []
- columns = get_columns()
- data = get_data(filters)
- return columns, data
+ columns, data = [], []
+ columns = get_columns()
+ data = get_data(filters)
+ return columns, data
-def get_data(filters):
- current_db_name = frappe.conf.get("db_name")
- from_date = filters.get('from_date')
- to_date = filters.get('to_date')
- data_test = frappe.db.sql("""select count(al.name) as count,dealer.zone,au.user_id,concat_ws(' ',au.first_name,au.last_name) as user_name,
- dealer.dealer_code,dealer.dealer_name,dealer.area,ad.os,ad.os_version,
- ad.device_type,ad.device_id,ad.app_current_version,al.type,al.latitude,al.longitude,al.date_time_stamp,al.creation,
- date(al.date_time_stamp) as date,time(ad.last_login) as time
- from {0}.`tabApp Log` al,{0}.`tabApp Device` ad,{0}.`tabApp Users` au,{0}.`tabApp Dealer` dealer
- where
- al.device = ad.name and al.user = au.name and au.dealer = dealer.name and al.type = 'Logged in' and
- (date(al.modified) between '{1}' and '{2}') group by al.user,ad.device_id,date(al.date_time_stamp)""".format(current_db_name,from_date,to_date), as_dict=1)
+def get_data(filters):
+ current_db_name = frappe.conf.get("db_name")
+ from_date = filters.get('from_date')
+ to_date = filters.get('to_date')
- data = frappe.db.sql("""select dealer.zone,au.user_id,concat_ws(' ',au.first_name,au.last_name) as user_name,
+ data = frappe.db.sql("""select dealer.zone,au.user_id,concat_ws(' ',au.first_name,au.last_name) as user_name,
dealer.dealer_code,dealer.dealer_name,dealer.area,ad.os,ad.os_version,
ad.device_type,ad.device_id,ad.app_current_version,al.type,date(al.date_time_stamp) as date,
al.latitude, al.longitude, au.name, al.device, time(al.date_time_stamp) as last_login_time, mal.count from {current_db_name}.`tabApp Log` al,
@@ -41,41 +29,32 @@ def get_data(filters):
and mal.user=au.name
and au.dealer = dealer.name
and al.device = ad.name
- and mal.date_time_stam=al.date_time_stamp ORDER BY date DESC; """.format(current_db_name = current_db_name,from_date= from_date,to_date=to_date), as_dict=1)
- if data:
- return data
- else:
- frappe.msgprint('No Data for Selected Filters.')
-
-def get_columns():
- columns = [
- {"label": _("User ID"), "fieldname": "user_id", "fieldtype": "Data", "width": 150},
- {"label": _("User Name"), "fieldname": "user_name", "fieldtype": "Data", "width": 150},
- {"label": _("Date"), "fieldname": "date", "fieldtype": "Date", "width": 100},
- {"label": _("Time"), "fieldname": "last_login_time", "fieldtype": "DateTime", "width": 130},
- {"label": _("Count"), "fieldname": "count", "fieldtype": "Data", "width": 100},
- {"label": _("Device ID"), "fieldname": "device_id", "fieldtype": "Data", "width": 100},
- {"label": _("Device"), "fieldname": "device_type", "fieldtype": "Data", "width": 130},
- {"label": _("Latitude"), "fieldname": "latitude", "fieldtype": "Data", "width": 100},
- {"label": _("Longitude"), "fieldname": "longitude", "fieldtype": "Data", "width": 100}
- ]
- return columns
+ and mal.date_time_stam=al.date_time_stamp ORDER BY date DESC; """.format(current_db_name=current_db_name, from_date=from_date, to_date=to_date), as_dict=1)
+ if data:
+ return data
+ else:
+ frappe.msgprint('No Data for Selected Filters.')
-# def get_columns():
-# columns = [
-# {"label": _("Date"), "fieldname": "date", "fieldtype": "Date", "width": 100},
-# {"label": _("Time"), "fieldname": "last_login_time", "fieldtype": "DateTime", "width": 130},
-# {"label": _("Zone"), "fieldname": "zone", "fieldtype": "Data", "width": 100},
-# {"label": _("Area Office"), "fieldname": "area", "fieldtype": "Data", "width": 100},
-# {"label": _("Dealer Code"), "fieldname": "dealer_code", "fieldtype": "Data", "width": 150},
-# {"label": _("Dealer Name"), "fieldname": "dealer_name", "fieldtype":"Data","width": 150},
-# {"label": _("Device"), "fieldname": "device_type", "fieldtype": "Data", "width": 100},
-# {"label": _("Device ID"), "fieldname": "device_id", "fieldtype": "Data", "width": 150},
-# {"label": _("User ID"), "fieldname": "user_id", "fieldtype": "Data", "width": 150},
-# {"label": _("User Name"), "fieldname": "user_name", "fieldtype": "Data", "width": 100},
-# {"label": _("Latitude"), "fieldname": "latitude", "fieldtype": "Data", "width": 100},
-# {"label": _("Longitude"), "fieldname": "longitude", "fieldtype": "Data", "width": 100},
-# {"label": _("Count"), "fieldname": "count", "fieldtype": "Data", "width": 100},
-# ]
-# return columns
+def get_columns():
+ columns = [
+ {"label": _("User ID"), "fieldname": "user_id",
+ "fieldtype": "Data", "width": 150},
+ {"label": _("User Name"), "fieldname": "user_name",
+ "fieldtype": "Data", "width": 150},
+ {"label": _("Date"), "fieldname": "date",
+ "fieldtype": "Date", "width": 100},
+ {"label": _("Time"), "fieldname": "last_login_time",
+ "fieldtype": "DateTime", "width": 130},
+ {"label": _("Count"), "fieldname": "count",
+ "fieldtype": "Data", "width": 100},
+ {"label": _("Device ID"), "fieldname": "device_id",
+ "fieldtype": "Data", "width": 100},
+ {"label": _("Device"), "fieldname": "device_type",
+ "fieldtype": "Data", "width": 130},
+ {"label": _("Latitude"), "fieldname": "latitude",
+ "fieldtype": "Data", "width": 100},
+ {"label": _("Longitude"), "fieldname": "longitude",
+ "fieldtype": "Data", "width": 100}
+ ]
+ return columns
diff --git a/smart_service/add_ons/report/model_download_report/model_download_report.py b/smart_service/add_ons/report/model_download_report/model_download_report.py
index e7652e8..77d85f9 100644
--- a/smart_service/add_ons/report/model_download_report/model_download_report.py
+++ b/smart_service/add_ons/report/model_download_report/model_download_report.py
@@ -3,70 +3,79 @@
from __future__ import unicode_literals
import frappe
-from frappe.utils import cstr, cint, getdate
from frappe import msgprint, _
-import datetime
+
current_db_name = frappe.conf.get("db_name")
+
def execute(filters=None):
- columns, data = [], []
- columns = get_columns()
- data = get_data(filters)
- return columns, data
+ columns, data = [], []
+ columns = get_columns()
+ data = get_data(filters)
+ return columns, data
def get_data(filters):
- if filters.get('model'):
- from_date=filters['from_date']
- to_date=filters['to_date']
- modelfilter=filters['model']
-
- data = frappe.db.sql("""SELECT date(date) as date, device_id, device_type, app_version, download_vehicle_id, download_vehicle_version,
+ if filters.get('model'):
+ from_date = filters['from_date']
+ to_date = filters['to_date']
+ modelfilter = filters['model']
+
+ data = frappe.db.sql("""SELECT date(date) as date, device_id, device_type, app_version, download_vehicle_id, download_vehicle_version,
download_vehicle_date, download_vehicle_language_id, download_vehicle_current_version, mh.user_id,
login_name,concat(first_name,' ',last_name) as user_name
FROM `tabModel Hit` mh
left join `tabApp Users` au on mh.user_id = au.user_id
- WHERE download_vehicle_id='{1}' and (date(date) between '{2}' and '{3}') ORDER BY download_vehicle_id,date DESC;""".format(current_db_name,
- modelfilter, from_date, to_date), as_dict=1)
-
- for d in data:
- d['download_vehicle_id']=modelfilter
- if d['user_id']:
- try:
- dealer_info=frappe.db.sql("""SELECT dealer FROM {0}.`tabApp Users` where user_id='{1}';""".format(current_db_name, d['user_id']), as_dict=1)
- dealer_info=dealer_info[-1]['dealer']
- dealer_details=frappe.db.sql("""SELECT dealer_name,dealer_code,area as location,zone FROM {0}.`tabApp Dealer`
- where name='{1}';""".format(current_db_name, dealer_info), as_dict=1)
- dealer_details=dealer_details[-1]
- d['dealer_code']=dealer_details['dealer_code']
- d['dealer_name']=dealer_details['dealer_name']
- d['area']=dealer_details['location']
- d['zone']=dealer_details['zone']
- except:
- pass
- if data:
- return data
- else:
- frappe.msgprint('No Data for Selected Filters.')
+ WHERE download_vehicle_id='{1}' and (date(date) between '{2}' and '{3}') ORDER BY download_vehicle_id,date DESC;""".format(current_db_name,
+ modelfilter, from_date, to_date), as_dict=1)
+ for d in data:
+ d['download_vehicle_id'] = modelfilter
+ if d['user_id']:
+ try:
+ dealer_info = frappe.db.sql("""SELECT dealer FROM {0}.`tabApp Users` where user_id='{1}';""".format(
+ current_db_name, d['user_id']), as_dict=1)
+ dealer_info = dealer_info[-1]['dealer']
+ dealer_details = frappe.db.sql("""SELECT dealer_name,dealer_code,area as location,zone FROM {0}.`tabApp Dealer`
+ where name='{1}';""".format(current_db_name, dealer_info), as_dict=1)
+ dealer_details = dealer_details[-1]
+ d['dealer_code'] = dealer_details['dealer_code']
+ d['dealer_name'] = dealer_details['dealer_name']
+ d['area'] = dealer_details['location']
+ d['zone'] = dealer_details['zone']
+ except:
+ pass
+ if data:
+ return data
+ else:
+ frappe.msgprint('No Data for Selected Filters.')
def get_columns():
- columns = [
- {"label": _("Date"), "fieldname": "date", "fieldtype": "Date", "width": 150},
- {"label": _("User ID"), "fieldname": "login_name", "fieldtype": "Data", "width": 125},
- {"label": _("User Name"), "fieldname": "user_name", "fieldtype": "Data", "width": 125},
- {"label": _("Downloaded Vehicle"), "fieldname": "download_vehicle_id", "fieldtype": "Data", "width": 150},
- {"label": _("Downloaded Language"), "fieldname": "download_vehicle_language_id", "fieldtype": "Data", "width": 150},
- {"label": _("Downloaded Version"), "fieldname": "download_vehicle_current_version", "fieldtype": "Data", "width": 150},
- {"label": _("App Version"), "fieldname": "app_version", "fieldtype": "Data", "width": 150},
- # {"label": _("Zone"), "fieldname": "zone", "fieldtype": "Data", "width": 100},
- # {"label": _("Area Office"), "fieldname": "area", "fieldtype": "Data", "width": 150},
- # {"label": _("Dealer Code"), "fieldname": "dealer_code", "fieldtype": "Data", "width": 150},
- # {"label": _("Dealer Name"), "fieldname": "dealer_name", "fieldtype": "Data", "width": 150},
- {"label": _("Device"), "fieldname": "device_id", "fieldtype": "Data", "width": 150},
- {"label": _("Device Type"), "fieldname": "device_type", "fieldtype": "Data", "width": 150}
-
- ]
- return columns
\ No newline at end of file
+ columns = [
+ {"label": _("Date"), "fieldname": "date",
+ "fieldtype": "Date", "width": 150},
+ {"label": _("User ID"), "fieldname": "login_name",
+ "fieldtype": "Data", "width": 125},
+ {"label": _("User Name"), "fieldname": "user_name",
+ "fieldtype": "Data", "width": 125},
+ {"label": _("Downloaded Vehicle"),
+ "fieldname": "download_vehicle_id", "fieldtype": "Data", "width": 150},
+ {"label": _("Downloaded Language"),
+ "fieldname": "download_vehicle_language_id", "fieldtype": "Data", "width": 150},
+ {"label": _("Downloaded Version"),
+ "fieldname": "download_vehicle_current_version", "fieldtype": "Data", "width": 150},
+ {"label": _("App Version"), "fieldname": "app_version",
+ "fieldtype": "Data", "width": 150},
+ # {"label": _("Zone"), "fieldname": "zone", "fieldtype": "Data", "width": 100},
+ # {"label": _("Area Office"), "fieldname": "area", "fieldtype": "Data", "width": 150},
+ # {"label": _("Dealer Code"), "fieldname": "dealer_code", "fieldtype": "Data", "width": 150},
+ # {"label": _("Dealer Name"), "fieldname": "dealer_name", "fieldtype": "Data", "width": 150},
+ {"label": _("Device"), "fieldname": "device_id",
+ "fieldtype": "Data", "width": 150},
+ {"label": _("Device Type"), "fieldname": "device_type",
+ "fieldtype": "Data", "width": 150}
+
+ ]
+ return columns
diff --git a/smart_service/add_ons/report/model_hit_report/model_hit_report.py b/smart_service/add_ons/report/model_hit_report/model_hit_report.py
index 23e73d8..b945862 100644
--- a/smart_service/add_ons/report/model_hit_report/model_hit_report.py
+++ b/smart_service/add_ons/report/model_hit_report/model_hit_report.py
@@ -4,92 +4,94 @@
from __future__ import unicode_literals
import frappe
-from frappe.utils import cstr, cint, getdate
from frappe import msgprint, _
import datetime
-
current_db_name = frappe.conf.get("db_name")
+
def execute(filters=None):
- columns, data = [], []
- columns = get_columns()
- data = get_data(filters)
- return columns, data
+ columns, data = [], []
+ columns = get_columns()
+ data = get_data(filters)
+ return columns, data
def get_data(filters):
- if filters.get('variant') and filters.get('model'):
- from_date=filters['from_date']
- to_date=filters['to_date']
- modelfilter=filters['model']
- variantfilter=filters['variant']
- variantfilter=variantfilter.split(".")
-
- data = frappe.db.sql("""SELECT date as date, device_id, device_type, module_id, vehicle_id, variant_id,variant_mapping_id, system_id, sub_system_id, procedure_id, steps_id,
+ if filters.get('variant') and filters.get('model'):
+ from_date = filters['from_date']
+ to_date = filters['to_date']
+ modelfilter = filters['model']
+ variantfilter = filters['variant']
+ variantfilter = variantfilter.split(".")
+
+ data = frappe.db.sql("""SELECT date as date, device_id, device_type, module_id, vehicle_id, variant_id,variant_mapping_id, system_id, sub_system_id, procedure_id, steps_id,
count(*) as count, user_id, language FROM {0}.`tabModel Usage` WHERE vehicle_id='{1}' and variant_id='{2}' and (date(date) between '{3}' and '{4}')
GROUP BY date(date), user_id, module_id, device_id, vehicle_id, variant_id, variant_mapping_id, system_id, sub_system_id, procedure_id, steps_id,
language
order by module_id,vehicle_id, variant_id, variant_mapping_id, system_id, sub_system_id, procedure_id, steps_id,language,date DESC;
- """.format(current_db_name, modelfilter, variantfilter[1], from_date, to_date), as_dict=1)
-
- for d in data:
- if d['user_id']:
- try:
- dealer_info=frappe.db.sql("""SELECT dealer FROM {0}.`tabApp Users` where user_id='{1}';""".format(current_db_name, d['user_id']), as_dict=1)
- dealer_info=dealer_info[-1]['dealer']
- dealer_details=frappe.db.sql("""SELECT dealer_name,dealer_code,area as location,zone FROM {0}.`tabApp Dealer` where name='{1}';""".format(current_db_name, dealer_info), as_dict=1)
- dealer_details=dealer_details[-1]
- d['dealer_code']=dealer_details['dealer_code']
- d['dealer_name']=dealer_details['dealer_name']
- d['area']=dealer_details['location']
- d['zone']=dealer_details['zone']
- except:
- pass
-
- if data:
- return data
- else:
- frappe.msgprint('No Data for Selected Filters.')
-
- elif filters.get('model'):
- from_date=filters['from_date']
- to_date=filters['to_date']
- modelfilter=filters['model']
-
- data = frappe.db.sql("""SELECT date(date) as date, device_id, device_type, module_id, vehicle_id, variant_id,variant_mapping_id, system_id, sub_system_id, procedure_id,
+ """.format(current_db_name, modelfilter, variantfilter[1], from_date, to_date), as_dict=1)
+
+ for d in data:
+ if d['user_id']:
+ try:
+ dealer_info = frappe.db.sql("""SELECT dealer FROM {0}.`tabApp Users` where user_id='{1}';""".format(
+ current_db_name, d['user_id']), as_dict=1)
+ dealer_info = dealer_info[-1]['dealer']
+ dealer_details = frappe.db.sql("""SELECT dealer_name,dealer_code,area as location,zone FROM {0}.`tabApp Dealer` where name='{1}';""".format(
+ current_db_name, dealer_info), as_dict=1)
+ dealer_details = dealer_details[-1]
+ d['dealer_code'] = dealer_details['dealer_code']
+ d['dealer_name'] = dealer_details['dealer_name']
+ d['area'] = dealer_details['location']
+ d['zone'] = dealer_details['zone']
+ except:
+ pass
+
+ if data:
+ return data
+ else:
+ frappe.msgprint('No Data for Selected Filters.')
+
+ elif filters.get('model'):
+ from_date = filters['from_date']
+ to_date = filters['to_date']
+ modelfilter = filters['model']
+
+ data = frappe.db.sql("""SELECT date(date) as date, device_id, device_type, module_id, vehicle_id, variant_id,variant_mapping_id, system_id, sub_system_id, procedure_id,
steps_id, count(*) as count, user_id, language FROM {0}.`tabModel Usage` WHERE vehicle_id='{1}' and (date(date) between '{2}' and '{3}')
GROUP BY date(date), user_id, module_id, device_id, vehicle_id, variant_id, variant_mapping_id, system_id, sub_system_id, procedure_id, steps_id,language
order by module_id,vehicle_id, variant_id, variant_mapping_id, system_id, sub_system_id, procedure_id, steps_id,language;
;""".format(current_db_name, modelfilter, from_date, to_date), as_dict=1)
- for d in data:
- if d['user_id']:
- try:
- dealer_info=frappe.db.sql("""SELECT dealer FROM {0}.`tabApp Users` where user_id='{1}';""".format(current_db_name, d['user_id']), as_dict=1)
- dealer_info=dealer_info[-1]['dealer']
- dealer_details=frappe.db.sql("""SELECT dealer_name,dealer_code,area as location,zone FROM {0}.`tabApp Dealer` where name='{1}';""".format(current_db_name, dealer_info), as_dict=1)
- dealer_details=dealer_details[-1]
- d['dealer_code']=dealer_details['dealer_code']
- d['dealer_name']=dealer_details['dealer_name']
- d['area']=dealer_details['location']
- d['zone']=dealer_details['zone']
- except:
- pass
-
- if data:
- return data
- else:
- frappe.msgprint('No Data for Selected Filters.')
-
-
- elif filters.get('variant'):
- from_date=filters['from_date']
- to_date=filters['to_date']
- variantfilter=filters['variant']
- variantfilter=variantfilter.split(".")
- data = frappe.db.sql("""SELECT date as date, device_id, device_type, module_id, vehicle_id, variant_id,variant_mapping_id, system_id, sub_system_id,
+ for d in data:
+ if d['user_id']:
+ try:
+ dealer_info = frappe.db.sql("""SELECT dealer FROM {0}.`tabApp Users` where user_id='{1}';""".format(
+ current_db_name, d['user_id']), as_dict=1)
+ dealer_info = dealer_info[-1]['dealer']
+ dealer_details = frappe.db.sql("""SELECT dealer_name,dealer_code,area as location,zone FROM {0}.`tabApp Dealer` where name='{1}';""".format(
+ current_db_name, dealer_info), as_dict=1)
+ dealer_details = dealer_details[-1]
+ d['dealer_code'] = dealer_details['dealer_code']
+ d['dealer_name'] = dealer_details['dealer_name']
+ d['area'] = dealer_details['location']
+ d['zone'] = dealer_details['zone']
+ except:
+ pass
+
+ if data:
+ return data
+ else:
+ frappe.msgprint('No Data for Selected Filters.')
+
+ elif filters.get('variant'):
+ from_date = filters['from_date']
+ to_date = filters['to_date']
+ variantfilter = filters['variant']
+ variantfilter = variantfilter.split(".")
+ data = frappe.db.sql("""SELECT date as date, device_id, device_type, module_id, vehicle_id, variant_id,variant_mapping_id, system_id, sub_system_id,
procedure_id, steps_id, count(*) as count, user_id, language,
login_name,concat(first_name,' ',last_name) as user_name
FROM `tabModel Usage` mu left join `tabApp Users` au on mu.user_id = au.user_id
@@ -97,56 +99,72 @@ def get_data(filters):
and (date(date) between '{3}' and '{4}') GROUP BY date(date), user_id, module_id, device_id, vehicle_id, variant_id, variant_mapping_id,
system_id, sub_system_id, procedure_id, steps_id, language
order by module_id,vehicle_id, variant_id, variant_mapping_id, system_id, sub_system_id, procedure_id, steps_id,language;
- ;""".format(current_db_name, variantfilter[0], variantfilter[1], from_date, to_date), as_dict=1)
-
- for d in data:
- if d['user_id']:
- try:
- dealer_info=frappe.db.sql("""SELECT dealer FROM {0}.`tabApp Users` where user_id='{1}';""".format(current_db_name, d['user_id']), as_dict=1)
- dealer_info=dealer_info[-1]['dealer']
- dealer_details=frappe.db.sql("""SELECT dealer_name,dealer_code,area as location,zone FROM {0}.`tabApp Dealer`
+ ;""".format(current_db_name, variantfilter[0], variantfilter[1], from_date, to_date), as_dict=1)
+
+ for d in data:
+ if d['user_id']:
+ try:
+ dealer_info = frappe.db.sql("""SELECT dealer FROM {0}.`tabApp Users` where user_id='{1}';""".format(
+ current_db_name, d['user_id']), as_dict=1)
+ dealer_info = dealer_info[-1]['dealer']
+ dealer_details = frappe.db.sql("""SELECT dealer_name,dealer_code,area as location,zone FROM {0}.`tabApp Dealer`
where name='{1}';""".format(current_db_name, dealer_info), as_dict=1)
- dealer_details=dealer_details[-1]
- d['dealer_code']=dealer_details['dealer_code']
- d['dealer_name']=dealer_details['dealer_name']
- d['area']=dealer_details['location']
- d['zone']=dealer_details['zone']
- except:
- pass
+ dealer_details = dealer_details[-1]
+ d['dealer_code'] = dealer_details['dealer_code']
+ d['dealer_name'] = dealer_details['dealer_name']
+ d['area'] = dealer_details['location']
+ d['zone'] = dealer_details['zone']
+ except:
+ pass
- if data:
- return data
- else:
- frappe.msgprint('No Data for Selected Filters.')
+ if data:
+ return data
+ else:
+ frappe.msgprint('No Data for Selected Filters.')
def get_columns():
- columns = [
- {"label": _("Date"), "fieldname": "date", "fieldtype": "Date", "width": 150},
- # {"label": _("User ID"), "fieldname": "login_name", "fieldtype": "Data", "width": 125},
- # {"label": _("User Name"), "fieldname": "user_name", "fieldtype": "Data", "width": 125},
- {"label": _("Model"), "fieldname": "vehicle_id", "fieldtype": "Data", "width": 150},
- {"label": _("Variant Mapping"), "fieldname": "variant_mapping_id", "fieldtype": "Data", "width": 150},
- {"label": _("Variant"), "fieldname": "variant_id", "fieldtype": "Data", "width": 80},
- {"label": _("Module"), "fieldname": "module_id", "fieldtype": "Data", "width": 150},
- {"label": _("System"), "fieldname": "system_id", "fieldtype": "Data", "width": 150},
- {"label": _("Sub System"), "fieldname": "sub_system_id", "fieldtype": "Data", "width": 150},
- {"label": _("Procedure"), "fieldname": "procedure_id", "fieldtype": "Data", "width": 150},
- {"label": _("Steps"), "fieldname": "steps_id", "fieldtype": "Data", "width": 150},
- {"label": _("Language"), "fieldname": "language", "fieldtype": "Data", "width": 80},
- {"label": _("Count"), "fieldname": "count", "fieldtype": "Data", "width": 80},
-
- # {"label": _("Zone"), "fieldname": "zone", "fieldtype": "Data", "width": 150},
- # {"label": _("Area Office"), "fieldname": "area", "fieldtype": "Data", "width": 150},
- # {"label": _("Dealer Code"), "fieldname": "dealer_code", "fieldtype": "Data", "width": 150},
- # {"label": _("Dealer Name"), "fieldname": "dealer_name", "fieldtype": "Data", "width": 150},
- {"label": _("Device"), "fieldname": "device_id", "fieldtype": "Data", "width": 150},
- {"label": _("Device Type"), "fieldname": "device_type", "fieldtype": "Data", "width": 150}
- ]
- return columns
-
+ columns = [
+ {"label": _("Date"), "fieldname": "date",
+ "fieldtype": "Date", "width": 150},
+ # {"label": _("User ID"), "fieldname": "login_name", "fieldtype": "Data", "width": 125},
+ # {"label": _("User Name"), "fieldname": "user_name", "fieldtype": "Data", "width": 125},
+ {"label": _("Model"), "fieldname": "vehicle_id",
+ "fieldtype": "Data", "width": 150},
+ {"label": _("Variant Mapping"), "fieldname": "variant_mapping_id",
+ "fieldtype": "Data", "width": 150},
+ {"label": _("Variant"), "fieldname": "variant_id",
+ "fieldtype": "Data", "width": 80},
+ {"label": _("Module"), "fieldname": "module_id",
+ "fieldtype": "Data", "width": 150},
+ {"label": _("System"), "fieldname": "system_id",
+ "fieldtype": "Data", "width": 150},
+ {"label": _("Sub System"), "fieldname": "sub_system_id",
+ "fieldtype": "Data", "width": 150},
+ {"label": _("Procedure"), "fieldname": "procedure_id",
+ "fieldtype": "Data", "width": 150},
+ {"label": _("Steps"), "fieldname": "steps_id",
+ "fieldtype": "Data", "width": 150},
+ {"label": _("Language"), "fieldname": "language",
+ "fieldtype": "Data", "width": 80},
+ {"label": _("Count"), "fieldname": "count",
+ "fieldtype": "Data", "width": 80},
+
+ # {"label": _("Zone"), "fieldname": "zone", "fieldtype": "Data", "width": 150},
+ # {"label": _("Area Office"), "fieldname": "area", "fieldtype": "Data", "width": 150},
+ # {"label": _("Dealer Code"), "fieldname": "dealer_code", "fieldtype": "Data", "width": 150},
+ # {"label": _("Dealer Name"), "fieldname": "dealer_name", "fieldtype": "Data", "width": 150},
+ {"label": _("Device"), "fieldname": "device_id",
+ "fieldtype": "Data", "width": 150},
+ {"label": _("Device Type"), "fieldname": "device_type",
+ "fieldtype": "Data", "width": 150}
+ ]
+ return columns
+
+
@frappe.whitelist()
-def variant(doctype,txt,searchfield,start,page_len,filters):
- model = filters.get('name')
- variant = frappe.db.sql("""select name from `tabVariant` where name like %s""",model+'%',as_list=True)
- return variant
\ No newline at end of file
+def variant(doctype, txt, searchfield, start, page_len, filters):
+ model = filters.get('name')
+ variant = frappe.db.sql(
+ """select name from `tabVariant` where name like %s""", model+'%', as_list=True)
+ return variant