refactor: use `frm.set_query` to add filters
diff --git a/erpnext/support/doctype/warranty_claim/warranty_claim.js b/erpnext/support/doctype/warranty_claim/warranty_claim.js
index a653f84..32494ef 100644
--- a/erpnext/support/doctype/warranty_claim/warranty_claim.js
+++ b/erpnext/support/doctype/warranty_claim/warranty_claim.js
@@ -5,14 +5,34 @@
 
 frappe.ui.form.on("Warranty Claim", {
 	setup: (frm) => {
-		frm.set_query('contact_person', erpnext.queries.contact_query);
-		frm.set_query('customer_address', erpnext.queries.address_query);
-		frm.set_query('customer', erpnext.queries.customer);
+		frm.set_query("contact_person", erpnext.queries.contact_query);
+		frm.set_query("customer_address", erpnext.queries.address_query);
+		frm.set_query("customer", erpnext.queries.customer);
+
+		frm.set_query("serial_no", () => {
+			let filters = {
+				company: frm.doc.company,
+			};
+
+			if (frm.doc.item_code) {
+				filters["item_code"] = frm.doc.item_code;
+			}
+
+			return { filters: filters };
+		});
+
+		frm.set_query("item_code", () => {
+			return {
+				filters: {
+					disabled: 0,
+				},
+			};
+		});
 	},
 
 	onload: (frm) => {
-		if(!frm.doc.status) {
-			frm.set_value('status', 'Open');
+		if (!frm.doc.status) {
+			frm.set_value("status", "Open");
 		}
 	},
 
@@ -26,64 +46,40 @@
 
 	contact_person: (frm) => {
 		erpnext.utils.get_contact_details(frm);
-	}
+	},
 });
 
-erpnext.support.WarrantyClaim = class WarrantyClaim extends frappe.ui.form.Controller {
+erpnext.support.WarrantyClaim = class WarrantyClaim extends (
+	frappe.ui.form.Controller
+) {
 	refresh() {
-		frappe.dynamic_link = {doc: this.frm.doc, fieldname: 'customer', doctype: 'Customer'}
+		frappe.dynamic_link = {
+			doc: this.frm.doc,
+			fieldname: "customer",
+			doctype: "Customer",
+		};
 
-		if(!cur_frm.doc.__islocal &&
-			(cur_frm.doc.status=='Open' || cur_frm.doc.status == 'Work In Progress')) {
-			cur_frm.add_custom_button(__('Maintenance Visit'),
-				this.make_maintenance_visit);
+		if (
+			!cur_frm.doc.__islocal &&
+			(cur_frm.doc.status == "Open" ||
+				cur_frm.doc.status == "Work In Progress")
+		) {
+			cur_frm.add_custom_button(
+				__("Maintenance Visit"),
+				this.make_maintenance_visit
+			);
 		}
 	}
 
 	make_maintenance_visit() {
 		frappe.model.open_mapped_doc({
 			method: "erpnext.support.doctype.warranty_claim.warranty_claim.make_maintenance_visit",
-			frm: cur_frm
-		})
+			frm: cur_frm,
+		});
 	}
 };
 
-extend_cscript(cur_frm.cscript, new erpnext.support.WarrantyClaim({frm: cur_frm}));
-
-cur_frm.fields_dict['serial_no'].get_query = (doc, cdt, cdn) => {
-	var cond = [];
-	var filter = [
-		['Serial No', 'docstatus', '!=', 2]
-	];
-	if(doc.item_code) {
-		cond = ['Serial No', 'item_code', '=', doc.item_code];
-		filter.push(cond);
-	}
-	if(doc.customer) {
-		cond = ['Serial No', 'customer', '=', doc.customer];
-		filter.push(cond);
-	}
-	return{
-		filters:filter
-	}
-}
-
-cur_frm.fields_dict['item_code'].get_query = (doc, cdt, cdn) => {
-	if(doc.serial_no) {
-		return{
-			doctype: "Serial No",
-			fields: "item_code",
-			filters:{
-				name: doc.serial_no
-			}
-		}
-	}
-	else{
-		return{
-			filters:[
-				['Item', 'docstatus', '!=', 2],
-				['Item', 'disabled', '=', 0]
-			]
-		}
-	}
-};
+extend_cscript(
+	cur_frm.cscript,
+	new erpnext.support.WarrantyClaim({ frm: cur_frm })
+);