mirror of
https://github.com/frappe/erpnext.git
synced 2026-06-01 11:19:09 +00:00
feat: sort timesheets by start time
This commit is contained in:
@@ -216,15 +216,15 @@ class Timesheet(Document):
|
|||||||
|
|
||||||
@frappe.whitelist()
|
@frappe.whitelist()
|
||||||
def get_projectwise_timesheet_data(project=None, parent=None, from_time=None, to_time=None):
|
def get_projectwise_timesheet_data(project=None, parent=None, from_time=None, to_time=None):
|
||||||
condition = ''
|
condition = ""
|
||||||
if project:
|
if project:
|
||||||
condition += "and tsd.project = %(project)s"
|
condition += "AND tsd.project = %(project)s "
|
||||||
if parent:
|
if parent:
|
||||||
condition += "AND tsd.parent = %(parent)s"
|
condition += "AND tsd.parent = %(parent)s "
|
||||||
if from_time and to_time:
|
if from_time and to_time:
|
||||||
condition += "AND CAST(tsd.from_time as DATE) BETWEEN %(from_time)s AND %(to_time)s"
|
condition += "AND CAST(tsd.from_time as DATE) BETWEEN %(from_time)s AND %(to_time)s"
|
||||||
|
|
||||||
return frappe.db.sql("""
|
query = f"""
|
||||||
SELECT
|
SELECT
|
||||||
|
|
||||||
tsd.name as name,
|
tsd.name as name,
|
||||||
@@ -242,16 +242,25 @@ def get_projectwise_timesheet_data(project=None, parent=None, from_time=None, to
|
|||||||
INNER JOIN `tabTimesheet` ts
|
INNER JOIN `tabTimesheet` ts
|
||||||
ON ts.name = tsd.parent
|
ON ts.name = tsd.parent
|
||||||
|
|
||||||
WHERE tsd.parenttype = 'Timesheet'
|
WHERE
|
||||||
AND tsd.docstatus=1 {0}
|
|
||||||
|
tsd.parenttype = 'Timesheet'
|
||||||
|
AND tsd.docstatus = 1
|
||||||
AND tsd.is_billable = 1
|
AND tsd.is_billable = 1
|
||||||
AND tsd.sales_invoice is null
|
AND tsd.sales_invoice is NULL
|
||||||
""".format(condition), {
|
{condition}
|
||||||
'project': project,
|
|
||||||
'parent': parent,
|
ORDER BY tsd.from_time ASC
|
||||||
'from_time': from_time,
|
"""
|
||||||
'to_time': to_time
|
|
||||||
}, as_dict=1)
|
filters = {
|
||||||
|
"project": project,
|
||||||
|
"parent": parent,
|
||||||
|
"from_time": from_time,
|
||||||
|
"to_time": to_time
|
||||||
|
}
|
||||||
|
|
||||||
|
return frappe.db.sql(query, filters, as_dict=1)
|
||||||
|
|
||||||
@frappe.whitelist()
|
@frappe.whitelist()
|
||||||
@frappe.validate_and_sanitize_search_inputs
|
@frappe.validate_and_sanitize_search_inputs
|
||||||
|
|||||||
Reference in New Issue
Block a user