[fix] overlapping dates
diff --git a/erpnext/hr/utils.py b/erpnext/hr/utils.py
index be8c948..686f791 100644
--- a/erpnext/hr/utils.py
+++ b/erpnext/hr/utils.py
@@ -50,8 +50,19 @@
 		setattr(employee, item.fieldname, new_data)
 	return employee
 
-
 def get_leave_period(from_date, to_date, company):
-	return frappe.db.sql("""select name from `tabLeave Period`
-		where is_active=1 and company=%s 
-			and to_date >= %s and from_date <= %s""", (company, to_date, from_date))
+	leave_period = frappe.db.sql("""
+		select name, from_date, to_date
+		from `tabLeave Period`
+		where company=%(company)s and is_active=1
+			and (from_date between %(from_date)s and %(to_date)s
+				or to_date between %(from_date)s and %(to_date)s
+				or (from_date < %(from_date)s and to_date > %(to_date)s))
+	""", {
+		"from_date": from_date,
+		"to_date": to_date,
+		"company": company
+	}, as_dict=1)
+
+	if leave_period:
+		return leave_period