[Fix] Wrong batch showing in the popup (#12421)

diff --git a/erpnext/accounts/doctype/pos_profile/pos_profile.py b/erpnext/accounts/doctype/pos_profile/pos_profile.py
index 846d79d..0bce49c 100644
--- a/erpnext/accounts/doctype/pos_profile/pos_profile.py
+++ b/erpnext/accounts/doctype/pos_profile/pos_profile.py
@@ -25,7 +25,7 @@
 					`tabPOS Profile User` pfu, `tabPOS Profile` pf
 				where
 					pf.name = pfu.parent and pfu.user = %s and pf.name != %s and pf.company = %s
-					and pfu.default=1""", (row.user, self.name, self.company))
+					and pfu.default=1 and pf.disabled = 0""", (row.user, self.name, self.company))
 
 			if row.default and res:
 				msgprint(_("Already set default in pos profile {0} for user {1}, kindly disabled default")
diff --git a/erpnext/controllers/queries.py b/erpnext/controllers/queries.py
index a71a08e..cd74fb5 100644
--- a/erpnext/controllers/queries.py
+++ b/erpnext/controllers/queries.py
@@ -414,10 +414,11 @@
 
 @frappe.whitelist()
 def get_batch_numbers(doctype, txt, searchfield, start, page_len, filters):
-	query = 'select batch_id from `tabBatch` ' \
-			'where (`tabBatch`.expiry_date >= CURDATE() or `tabBatch`.expiry_date IS NULL)'
+	query = """select batch_id from `tabBatch`
+			where (expiry_date >= CURDATE() or expiry_date IS NULL)
+			and name like '{txt}'""".format(txt = frappe.db.escape('%{0}%'.format(txt)))
 
-	if filters and filters.get('item_code'):
-		query += 'where item = %(item_code)s' % filters
+	if filters and filters.get('item'):
+		query += " and item = '{item}'".format(item = frappe.db.escape(filters.get('item')))
 
 	return frappe.db.sql(query)